更改 SSH 端口,但欺骗端口 22

更改 SSH 端口,但欺骗端口 22

我已经更改了 SSH 默认端口(通过更新 /etc/ssh/sshd_config 文件中的 Port 属性)。但我希望当有人尝试通过端口 22 连接到 SSH 时,仍然能够让一切看起来都按预期运行。

目前,更改 SSH 端口并尝试通过端口 22 登录后,SSH 返回:

ssh:连接到主机 server_ip 端口 22:连接被拒绝

有没有办法返回正常输出“输入密码”,但配置 SSH 永远不接受来自端口 22 的登录?

我的想法是,如果有人试图暴力破解我的服务器,他们首先会尝试的端口是 22。但如果我可以欺骗别人,让他们觉得 SSH 在端口 22 上运行正常,那么他们就浪费了时间,而且永远无法获得访问权限。

尝试在线搜索此问题但却得到不想要的结果。

谢谢!

答案1

可以在 2 个不同的端口上运行 2 个不同的 SSH 服务器,一个服务器拒绝所有连接但看起来工作正常,而另一个服务器则运行正常。

但我不明白为什么会有人这么做。如果资金充足,投资于包括 IPS、IDS、防火墙等在内的防御系统似乎是明智之举。

如果您只是想拒绝脚本小子访问,请禁用密码登录并坚持使用公钥登录。

我认为速率限制和 fail2ban 对机器人来说具有足够好的威慑力。

答案2

您还可以运行 Kippohttps://github.com/desaster/kippo作为 SSH 蜜罐,它模拟成功登录,并且您可以记录用户在服务器“中”尝试执行的所有操作。

答案3

听起来你可能想运行 SSH 蜜罐。根据你想要的交互级别,有很多选择。基普很受欢迎。

但除非你有充分的理由这样做,否则我同意 fuero 的观点,你应该使用类似 fail2ban 或拒绝主机

答案4

如果你在端口 22 上运行单独的 SSH 服务器,则可以使用 sshd 配置文件中的选项将其设置为不允许任何用户登录AllowUsers。手册页显示:

        This keyword can be followed by a list of user name patterns,
         separated by spaces.  If specified, login is allowed only for
         user names that match one of the patterns.  Only user names are
         valid; a numerical user ID is not recognized.  By default,
         login is allowed for all users.  If the pattern takes the form
         USER@HOST then USER and HOST are separately checked, restrict-
         ing logins to particular users from particular hosts.

您可以设置一个不存在的用户名,并允许它仅从本地主机连接。SSHD 仍可在端口上使用,但无论攻击者尝试使用什么用户名,都不会被允许登录。

您还可以将其与要求公钥登录和不允许密码相结合,以增强安全性。

然而,正如 kasberd 所说,与有监听的端口相比,封闭的端口总是更难被攻破。尽管采取了这些措施,您仍然容易受到 sshd 服务器软件中漏洞的攻击,这些漏洞可能会允许攻击者进入。

相关内容