我怎样才能阻止Ubuntu中的所有三个端口?

我怎样才能阻止除了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