У меня есть Linux-сервер с CentOS. Я изменил конфигурацию SSH, чтобы сделать его немного более безопасным. Сначала я изменил значение с 21 (или 22?) По умолчанию на 34786 Таким образом, если кто-то пытается взломать, по крайней мере, он должен угадать порт?
Но мой вопрос в том, что я слышал, что существуют инструменты, которые могут узнать, на какой порт установлена моя конфигурация SSH? сделать эту меру безопасности бесполезной? Это правда или нет.
С уважением
Да, если кто-то хочет взломать ваш конкретный сервер, он может просто выполнить сканирование портов и найти порт в любом случае. Это не делает это бесполезным, потому что большинство атак на SSH не являются целевыми, они просто пытаются подключиться к порту 22 на всех системах, к которым они могут подключиться, обычно с помощью больших бот-сетей. По моему опыту, переключение портов SSH сократило ежедневные попытки с тысяч до нуля.
Более важной мерой безопасности является отключение корневого доступа и аутентификации по паролю для SSH и использование исключительно auth на основе ключа. Существует множество руководств, как это сделать, как на ServerFault, так и в общем Интернете.
Редактирование:
Добавьте/измените следующее в свой /etc/ssh/sshd_config
:
PermitRootLogin no
RSAAuthentication yes
PubkeyAuthentication yes
Убедитесь, что логин, основанный на ключах, работает перед следующим шагом:
PasswordAuthentication no
да. они могут сделать сканирование портов, чтобы выяснить, это может занять некоторое время, лучшее, что вы можете сделать, это установить Config firewall, настроив его на блокирование атак SSH у ботов. следующее лучшее, что вы можете сделать, это отключить пользователя от соединения по SSH
.Сканирование всех 3700 миллионов маршрутизируемых IPv4-адресов для SSH-серверов на порту 22 выполнимо. Исследователи даже опубликовали анализ защищенности ключей хостов, полученных с помощью этого метода.
Сканирование всех 65535 номеров портов на каждом из 3700 миллионов маршрутизируемых IPv4 адресов вряд ли возможно. И поэтому переход на нестандартный номер порта защитит вас от нецелевых атак.
От целевой атаки, однако, это не принесет пользы. Если злоумышленник нацелился только на один IP-адрес, то сканирование всех номеров портов 65535 может быть выполнено за короткое время. Для защиты от целевой атаки у меня есть две рекомендации:
Настройте сервер так, чтобы он принимал только аутентификацию на основе ключа, как это описано в @SvW. Если вы запустите команду ssh с ssh -v именем хоста
, вы должны увидеть нечто подобное:
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
Убедитесь, что вы устанавливаете обновления безопасности каждый раз, когда они становятся доступными.
.