我目前正在学习如何安装 Kippo SSH。从教程中,它说我应该将 SSH 端口从 22 重新配置为其他端口(在本例中为 3389)。所以现在每当我尝试从客户端进行 SSH 时,它都会连接到端口 3389。
从教程来看,这样做的原因是“我们不希望 Kippo 拥有 root 权限”。
我的问题是,从端口 22 运行 SSH 与从端口 3389 运行 SSH 有什么区别?
答案1
如果您想打开低于 1024 的端口,大多数服务器都需要 root 访问权限。
低于 1024 的 TCP/IP 端口号比较特殊,普通用户不能在这些端口上运行服务器。这是一项安全功能,如果您连接到这些端口上的服务,您可以确信您使用的是真正的服务,而不是某些黑客为您设置的假服务。
看:https://www.w3.org/Daemon/User/Installation/PrivilegedPorts.html
答案2
从端口 22 运行 SSH 与从端口 3389 运行 SSH 有什么区别?
为了绑定到 1024 以下的端口(特权端口),进程必须具有 root 访问权限。通过将其绑定到 3389,则不需要 root 访问权限。
答案3
我见过这样做的原因之一是减少密码扫描器的日志垃圾邮件。这样如果有人试图暴力破解密码,你就知道这是一次有针对性的尝试,而不是一次驱动。
答案4
一般来说,人们想要运行在高端口上监听的 SSH 主要有两个原因:
- 由于它不是“标准”端口,因此随机入侵(僵尸网络)的可能性较小
- 如果端口号超过 1024,SSH 守护程序将少一个需要信任的“root 权限”
此外,如果 NAT 设备位于运行 SSH 的多台服务器前面,它就无法将端口 22 映射到所有服务器,因此在这种情况下,它可能被配置成将外部端口 10022 重定向到内部服务 192.0.2.10:22,将外部端口 11022 重定向到 192.0.2.11:22。
然而,在 Kippo 的情况下,你安装的是一个“SSH 蜜罐”,这个程序应该看就像可用系统上的 SSH 命令行,但实际上响应缓慢且不执行任何有用的操作。您希望在常规 SSH 端口 (22) 和常用的高端口 (2222) 上运行它;实际上,以高端口上的用户身份运行它,然后使用它将iptables
低端口重定向到同一主机上的高端口会更容易。也可以使用 netcat ( nc
) 或 xinetd 来设置重定向。
为了让 Kippo 监听低端口(直接监听或通过重定向监听),常规系统 SSH 守护进程不能已经在那里监听。此外,为了让您的蜜罐更可信,您不希望系统守护进程监听另一个“公共”开放端口。
从安全角度来看,最有效的方法是掷骰子来选择备用端口,但 RDP 不太可能在典型的 Linux 服务器上监听,因此如果您已经记住了该端口号,那么使用它可能会很有趣。其他“有趣”的选择可能是 5190 (AOL) 或 1214 (KaZAA)。