Назад | Перейти на главную страницу

Как отключить баннер самостоятельного введения openssl

У меня opensshd прослушивает нестандартный TCP-порт 2222. В sshd_config У меня есть ...

Banner none
VersionAddendum none

Если с клиентского хоста я делаю telnet ip.of.server 2222 затем я вижу, что служба отображает сообщение, представляющее себя так ...

SSH-2.0-OpenSSH_7.8

Есть ли способ предотвратить это и указать демону openssh не раскрывать себя? Я бы предпочел, если "блуждающий" соединения не смогли узнать, что здесь слушает.

Минимальная строка идентификации для протокола ssh:

SSH-2.0-

однако OpenSSH всегда будет отправлять как минимум OpenSSH_*.*. Если вы хотите более скрытного поведения, у вас есть несколько вариантов:

  1. Вы можете патчить и перекомпилировать openssh так что сервер ожидает строки идентификации клиента перед отправкой своей собственной (см. sshd_exchange_identification функция). Если строка идентификации клиента не начинается с SSH, это поддельный клиент, и вы можете закрыть соединение. Это может сломать некоторых клиентов (если они будут ждать идентификации сервера), но не должно нарушить работу клиента OpenSSH. Сканер портов не сможет определить протокол сервера, если он не отправит действительную строку аутентификации клиента.
  2. Установить и настроить nginx. Обычно это HTTP/HTTPS (прокси) сервер) и имеет модуль предварительного чтения ssl, который используется для применения разных конфигураций к разным TLS клиенты (исходя из их версии и других параметров). Однако если вы подключитесь к nginx используя протокол, который он не понимает, он установит $ssl_preread_protocol в пустую строку, и вы можете перенаправить соединение на SSH-сервер. Если сканер портов пытается использовать TLS, nginx будет обслуживать его веб-страницу. Если он попробует какой-либо другой протокол, он получит OpenSSHСтрока идентификации.
  3. Есть небольшой мультиплексор протоколов (sslh), который угадал протокол клиента и перенаправил его на правильный сервер.

Эти варианты должны ответить на ваш вопрос, но не верю безопасность через безвестность это путь (кроме порта 2222 не очень оригинально). Тебе будет лучше:

  1. отключение входа по паролю,
  2. используя что-то вроде fail2ban чтобы ограничить количество атак грубой силы.