我怎样才能阻止除了1962,999,12020之外的所有端口?
一个用于SSH的端口和两个用于一种脚本的端口。 所以,有必要允许在这些端口上传出,对吧?
我的iptables:
# Generated by iptables-save v1.4.4 on Sat Feb 25 17:25:21 2012 *mangle :PREROUTING ACCEPT [643521:136954367] :INPUT ACCEPT [643521:136954367] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [645723:99904505] :POSTROUTING ACCEPT [645723:99904505] COMMIT # Completed on Sat Feb 25 17:25:21 2012 # Generated by iptables-save v1.4.4 on Sat Feb 25 17:25:21 2012 *filter :INPUT ACCEPT [643490:136950781] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [645723:99904505] -A INPUT -p tcp -m tcp --dport 1962 -j ACCEPT -A INPUT -p tcp -m tcp --dport 999 -j ACCEPT COMMIT # Completed on Sat Feb 25 17:25:21 2012 # Generated by iptables-save v1.4.4 on Sat Feb 25 17:25:21 2012 *nat :PREROUTING ACCEPT [5673:734891] :POSTROUTING ACCEPT [2816:179474] :OUTPUT ACCEPT [2816:179474] COMMIT # Completed on Sat Feb 25 17:25:21 2012
对不起,但是我是一个真正的新手,当涉及到这个东西,我只是想让我的服务器更安全。
起初,你应该总是冲洗,以确保什么已经定义…什么都没有
iptables -F
然后,如果到达末端并且没有规则匹配,则将INPUT链的默认策略设置为DROP:
iptables -P INPUT DROP
为了确保环回不受影响,您应该添加
iptables -A INPUT -i lo -p all -j ACCEPT iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
允许所有stream量都在您build立的连接上传输。 之后,添加您需要的所有规则(如果您需要,请不要忘记打开ssh!否则您不在) :
iptables -A INPUT -p tcp -m tcp --dport 1962 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 999 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 12020 -j ACCEPT
我做了一个小窍门,让自己和其他人不小心钻进安全性中,最后补充道:
iptables -A INPUT -j DROP
该行匹配INPUT链的所有内容,策略不应该得到任何内容。 这样做的好处是,即使你在初始化你的规则集的某个时候添加了一个ACCEPT规则,它将永远不会被检查,因为之前所有的东西都被删除了。 所以它确保你必须把所有东西放在一个地方。
对于你的问题,整个事情总结如下:
iptables -F iptables -P INPUT DROP iptables -A INPUT -i lo -p all -j ACCEPT iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 1962 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 999 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 12020 -j ACCEPT iptables -A INPUT -j DROP
来自新手的回复就像你:-)我需要保护我的Ubuntu服务器,学习iptables是一个我无法解决的痛苦。 UFW(简单防火墙)是一个使防火墙configuration尽可能简单的程序。
安装ufw:
sudo apt-get install ufw
立即禁用它(我不得不抢救启动,因为我被locking了我自己的SSHlogin):
sudo ufw disable
设置“拒绝”作为默认规则(这将阻止所有端口):
sudo ufw default deny
允许你需要的端口:
sudo ufw allow to 1962 sudo ufw allow to 999 sudo ufw allow to 12020 sudo ufw allow from 1962 sudo ufw allow from 999 sudo ufw allow from 12020
如果您确定上述规则不会破坏您的SSH连接,请启用ufw:
sudo ufw enable
文档编写得很好,并提供更多示例: https : //help.ubuntu.com/community/UFW