Правильна настройка SSH

Практически сразу после запуска сервера на порту 22 наблюдается бурная активность ботов-брутфорсчиков. Для того чтобы защититься от их атак и снизить нагрузку на сервер первым делом устанавливаем и настраиваем Fail2Ban для SSH
После установки Fail2Ban переходим к настройке конфигурационного файла ssh

Настройка sshd.config

Открываем в терминале конфигурационный файл SSH

sudo nano /etc/ssh/sshd_config

Первое что нужно сделать, так это сменить порт ssh с 22 на любой другой.
Ищем строку Port 22 и заменяем её например на Port 2222

Port 2222

Порты 21, 22, 80, 139, 443, 1194, 3306, 8080 — советую не использовать.

Второе — ограничим тип адресов для подключения (IPv6 либо IPv4). Если у вас на сервере не используется IPv6, то дописываем в файл:

AddressFamily inet

Третье — запретим root авторизацию

PermitRootLogin no

Четвертое — разрешаем подключение только по определенным логинам:

AllowUsers user

где список пользователей пишется через пробел.

Пятое — запрещаем попытку входа с пустым паролем:

PermitEmptyPasswords no

Шестое — настраиваем вход по ключу. Данный пункт выполняется на машине с который будете подключаться к серверу

ssh-keygen
ssh-copy-id user@sshserver

Проверьте, что можете зайти на сервер по ключу, без ввода пароля!!!

Седьмое — запрещаем вход по паролю

PasswordAuthentication no

Не забываем до выполнения этого пункта настроить вход по ключу, иначе можете остаться без сервера!!!

Восьмое — сохраняем правки и перезапускаем ssh демон:

sudo /etc/init.d/ssh restart

Теперь можем перелогиниваться с новыми параметрами

ssh -p 2222 user@sshserver

На всякий случай посмотрим открытые порты:

netstat -tupln | grep LISTEN

Вы должны увидеть порт 2222

В случае ошибок полезно бывает смотреть лог /var/log/secure либо использовать опции -v, -vv или -vvv для вывода детального лога соединения:

ssh -vvv user@sshserver
Если есть вопросы, то пишем в комментариях и не забываем проголосовать за статью.
Правильна настройка SSH
5 (100%) 2 votes

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *