![iptables 仅允许来自外部世界的 ssh 和 vpn](https://linux22.com/image/91276/iptables%20%E4%BB%85%E5%85%81%E8%AE%B8%E6%9D%A5%E8%87%AA%E5%A4%96%E9%83%A8%E4%B8%96%E7%95%8C%E7%9A%84%20ssh%20%E5%92%8C%20vpn.png)
我有一个带有公共 IP 地址的 VPS (debian 7),我想保护它。我只想访问 SSH(公钥/私钥)、openVPN、VPS 本身请求的服务,例如发送电子邮件、DNS、访问互联网。所有通过 OpenVPN 连接到系统的用户都可以完全访问该系统和互联网。我当前的设置是:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
iptables -X
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT
iptables -P INPUT DROP
iptables -A OUTPUT -p tcp -m tcp --sport 22 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --sport 1194 -j ACCEPT
iptables -P OUTPUT DROP
我想将所有攻击我或尝试扫描我的 IP 列入黑名单。任何 ssh 尝试失败 3 次的人都会被列入黑名单 24 小时。请问可以帮助我吗?
答案1
我建议您购买像 Shorewall 这样的防火墙管理软件并学习如何配置它。除了简单的端口阻塞之外,它还处理许多不那么琐碎的有用规则。