Сегодня в комментарии к одной из записей написали мне о том, что весьма неплохой способ защиты ssh через pam. Теперь вот я решил объединить и дополнить все свои статьи так или иначе связанные с SSH.
Итак начнем. Для начала пройдемся по настройкам самого сервера. Первое, что нужно проверить – это параметр Protocol. Сервер поддерживает все версии протоколов, но рекомендуется использовать только 2-ю, т.к. она самая надежная и не подвержена видам атак, как то man-in-the-midle, TCPHijacking, DNSSpoofing. Да и все нынешние клиенты поддерживают 2-ю версию протокола, а значит поддерживать сервером ранние версии не имеет смысла.
Protocol 2
Дальше смотрим что слушает наш сервер. Если Вам необходим доступ только на определенном адресе, то и прописать надо только этот адрес.
ListenAddress 192.168.0.1
Или же если надо на всех интерфейсах, то указываем:
ListenAddress 0.0.0.0
Дальше отключаем прямой рутовый вход, т.е. чтоб пользователь root не мог зайти через SSH. Этот вход администратору сервера не требуется, т.к. всегда можно выполнить команду su.
PermitRootLogin no
Дальше уменьшаем время простаивания соединения:
LoginGraceTime 60
Теперь разберем как разрешить вход только для определенных пользователей. Самый простой метод – это разрешить доступ с помощью самого sshd. Делается это просто:
AllowUsers admin
Так же можно указать с каких адресов даный пользователь может входить:
AllowUsers admin @ 192.168.0.*
Если у Вас таких пользователей много, то можно присвоить им какую либо общую группу (для примера sshlogin) и разрешить вход этой группе:
AllowGroups sshlogin
Еще один вариант – это
Теперь нам надо бы еще закрыть доступ для всяких ботов-брутфорсеров. Как это сделать я описывал в
Ну и для совсем уж параноидального закрытия можно использовать так называемый PortKnocking. Т.е. для того, чтоб открыть 22-й порт, надо “постучать” телнетом на какой-то другой порт (например, 1500). А чтоб закрыть доступ – в другой порт (например, 1499 или 1501).
Сам по себе конфиг sshd довольно гибко настраивается, так что советую почитать еще и man’ы.
AllowUsers admin @ 192.168.0.*
Разве нужны пробелы возле “собаки”?
Ну думаю и так понятно, что не надо. Не могу ВП отучить ссылки ставить автоматом. Если пробел не поставить, то он сильно коверкает код и половина статьи не видно тогда. 🙁
Реально понимаю, что человек, практически не знакомый с компьютером может просто не разобраться в этих программах. Хорошо было бы опубликовать подробную статью, с пошаговым описанием. Я вот встречала нечто подобное у Небомжа, но вот хоть убейте меня, сейчас не могу вспомнить, где именно. Эх, жаль…
Юлия, А что тут не так?
Это написано на основе личного опыта?
Самый короткий пост, который я встретил в блогах. Но в нем заключена соль – действительно лучше молчать чем писать всякую лажу
Vanyla, именно так. Практически все в моем блоге на основе личного опыта.
Patrick, спасибо.
Спасибочки за написаное! Очень ценно для написание курсовой.
Silver Ghost,
Patrick – это, имхо, спам 😀
А вообще, спасибо за статью! Это азы, но уверен, что очень многим это будет полезно к прочтению.