![防火墙:允许所有通过开放 ssh 连接验证的来源的流量](https://linux22.com/image/661748/%E9%98%B2%E7%81%AB%E5%A2%99%EF%BC%9A%E5%85%81%E8%AE%B8%E6%89%80%E6%9C%89%E9%80%9A%E8%BF%87%E5%BC%80%E6%94%BE%20ssh%20%E8%BF%9E%E6%8E%A5%E9%AA%8C%E8%AF%81%E7%9A%84%E6%9D%A5%E6%BA%90%E7%9A%84%E6%B5%81%E9%87%8F.png)
我正在寻找一种方法来避免在测试和开发服务器上一直编辑防火墙规则。我不想打开所有端口。所以我想也许有一种方法可以自动允许来自已建立 ssh 连接的源的所有流量。(几年前有人告诉我,他们对开发/测试服务器就是这样做的 -> 不需要 root 和防火墙编辑,应用程序也不需要保护)
我知道我可以使用 ssh 隧道,但问题在于动态端口应用程序、多端口应用程序和巨大的工作开销。
IpTables 和其他防火墙可能不知道 ssh 连接是否经过身份验证,但是否有解决方法或替代方案?(例如,建立连接超过 5 秒 -> 失败时自动断开发布/私钥连接)
- 输入下降
- 允许回送
- 允许 SSH
- 允许本地网络
- 允许所有来自已建立 ssh 连接的源的流量。
除了最后一条规则外,其他所有规则都很简单。遗憾的是,我没有曾经与我讨论过此事的人的联系信息,而且我花了整整一个小时研究,也没能找到任何相关/类似的东西。
这样的事真的可能吗?我很感激大家的意见 :)
答案1
你也许可以根据自己的需要改变“fail2ban”的设置,使用自定义过滤器来检测成功的登录,以及自定义操作来为检测到的源 IP 添加 iptables 规则而不是禁止它们。
这有点奇怪,所以你会希望在你的配置中添加一些非常好的评论,以便下一个人能够理解你到底在做什么:)