根据流量来源阻止 SSH 跳跃?

根据流量来源阻止 SSH 跳跃?

有没有办法可以找到 SSH 流量的来源?

我们有两台服务器 A 和 B。A 在私有网络上。B 有 2 个网卡,一个是私有的,一个是公共的。

A 可以通过 SSH 连接到 B,B 也可以通过 SSH 连接到 A,问题是,客户端从外部世界 X 连接到 B,然后通过 SSH 连接到 A。如果 SSH 流量不是来自已知主机,有没有办法让 A 阻止它?

我想要:本地 -> A

A -> B

A -> B -> 本地

本地 -> B

本地 -> B -> A

本地 -> A -> B

B->本地

B -> A -> 本地

公共 -> B

但不公开 -> B -> A

答案1

为什么不直接使用 iptables 或 /etc/hosts.{allow,deny} 来允许服务器 A 上的地址,然后在服务器 B 上只允许服务器 A?为什么不直接将允许的 IP 列入白名单并拒绝所有其余 IP?我发现另一件有用的事情是将 SSH 放在非默认端口上。

另外,您可以查看 /var/log/secure 来查看原始 IP。

答案2

如果用户能够从“外部”通过 SSH 连接到服务器 B,然后设法通过 SSH 连接到 A,则服务器 A 上的日志将显示源 IP 为服务器 B,而不是用户的远程 IP。因此,您无法判断 SSH 会话是来自内部用户还是外部用户。

您需要锁定对服务器 B 的外部访问,以便只有特定的 IP 地址才能连接(例如使用 iptables iptables -I INPUT -p tcp -s YourIP --dport 22 -j ACCEPT使用强密码或 SSH 密钥提高服务器的安全性。

相关内容