У меня 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_*.*
. Если вы хотите более скрытного поведения, у вас есть несколько вариантов:
SSH
, это поддельный клиент, и вы можете закрыть соединение. Это может сломать некоторых клиентов (если они будут ждать идентификации сервера), но не должно нарушить работу клиента OpenSSH. Сканер портов не сможет определить протокол сервера, если он не отправит действительную строку аутентификации клиента.HTTP/HTTPS
(прокси) сервер) и имеет модуль предварительного чтения ssl, который используется для применения разных конфигураций к разным TLS
клиенты (исходя из их версии и других параметров). Однако если вы подключитесь к nginx используя протокол, который он не понимает, он установит $ssl_preread_protocol
в пустую строку, и вы можете перенаправить соединение на SSH-сервер. Если сканер портов пытается использовать TLS
, nginx будет обслуживать его веб-страницу. Если он попробует какой-либо другой протокол, он получит OpenSSHСтрока идентификации.Эти варианты должны ответить на ваш вопрос, но не верю безопасность через безвестность это путь (кроме порта 2222
не очень оригинально). Тебе будет лучше: