По умолчанию SSH-сервер открывает для входящих соединений 22 TCP-порт, и тем самым вызывает потенциальную угрозу bruteforce-атак, поскольку злоумышленник обнаружив на сервере такой открытый порт, пытается подобрать пароль к удалённому серверу при помощи специальных средств автоматизации.

В этой статье я опишу, как сконфигурировать SSH-сервер на альтернативном порту.

Особо отмечу, что не стоит воспринимать описанный здесь метод, как панацею. Китайская мудрость гласит — «Security by Obscurity is no Security at all». Не забывайте и про другие методы защиты SSH, такие как правильная настройка межсетевого экрана, разрешение доступа только ограниченному набору IP-адресов, отказ от парольной аутентификации и использование ключей RSA/DSA, и т.п.

Конфиг SSH-сервера обычно располагается в /etc/ssh/sshd_config. Для редактирования этого файла вам потребуются привилегии суперпользователя root, или возможность выполнить sudo для получения таких привилегий текстовым редактором.

nano /etc/ssh/sshd_config

В открывшемся файле найдите следующую строку:

Port 22

Закомментируйте её и добавьте новую строку со случайным номером порта, например 22022. Номер порта не должен превышать 65535. Также удостоверьтесь, что выбранное вами значение не конфликтует с другими сервисами в системе, например mysqld использует порт 3306, httpd — 80, ftpd — 21. Рекомендую выбрать пятизначное значение.

На всякий случай, для просмотра уже открытых в системе портов, выполните следующую команду:

netstat -tupln | grep LISTEN

После модификации, участок файла конфигурации SSH должен выглядеть примерно так:

#Port 22
Port 22022

Что-бы SSH-сервер начал слушать новый порт вместо прежнего, его нужно перезапустить:

/etc/init.d/ssh restart

или

/etc/init.d/sshd restart

Вот и все, порт 22 изменен на 22022 🙂

0 0 votes
Рейтинг статьи