首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用opensshd的自我介绍横幅

如何禁用opensshd的自我介绍横幅
EN

Server Fault用户
提问于 2020-01-01 19:35:03
回答 1查看 1.3K关注 0票数 0

我正在收听非标准的tcp端口2222.在sshd_config我有..。

代码语言:javascript
复制
Banner none
VersionAddendum none

如果我在客户端主机上执行telnet ip.of.server 2222,那么我就会看到该服务显示了一条自我介绍的消息,如.

代码语言:javascript
复制
SSH-2.0-OpenSSH_7.8

是否有办法防止这种情况发生,并指示openssh守护进程不要暴露自己?我宁愿“流浪”的人学不懂这里听的是什么。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2020-01-01 21:45:14

ssh协议的最小标识字符串是:

代码语言:javascript
复制
SSH-2.0-

然而,OpenSSH总是至少发送OpenSSH_*.*。如果你想要一种更隐秘的行为,你有几种选择:

  1. 您可以修补和重新编译openssh,以便服务器在发送自己的(cf )之前等待客户端的标识字符串。sshd_交换_鉴定函数)。如果客户端的标识字符串不以SSH开头,则它是一个伪造的客户端,您可以关闭连接。它可能会破坏一些客户机(如果他们等待服务器的标识),但是它不应该破坏OpenSSH客户端。除非端口扫描器发送有效的客户端身份验证字符串,否则无法推断服务器的协议。
  2. 安装并配置nginx。通常,它是一个HTTP/HTTPS (代理)服务器,它有一个ssl预读模块,用于将不同的配置应用于不同的TLS客户机(根据它们的版本和其他参数)。但是,如果使用它不理解的协议连接到nginx,它会将$ssl_preread_protocol设置为空字符串,并且可以将连接重定向到SSH服务器。如果一个端口扫描器试图使用TLS,nginx将为他提供一个网页。如果他尝试任何其他协议,他将收到OpenSSH的标识字符串。
  3. 有一个小协议复用器(sslh),它猜测客户端的协议并将其重定向到正确的服务器。

这些选项应该可以回答您的问题,但它并不认为通过默默无闻的安全性是可行的(此外,端口2222并不是很原始的)。你会更好:

  1. 禁用密码登录,
  2. 使用像fail2ban这样的工具来限制暴力攻击的数量。
票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/997300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档