分页: 1 / 2

新手的 iptables 设置

发表于 : 2007-06-29 23:50
zhudachang
使用 ubuntu 已经有两个星期了, 才忽然发现原来一直都没有安装防火墙, 赶紧去找些资料看看, 下面给出我自己的 iptables 设置, 供和我一样新来的兄弟们参考,水平有限,多多指教。(对于防火墙的设置,有两种策略:一种是全部通讯口都允许使用,只是阻止一些我们知道的不安全的或者容易被利用的口;另外一种,则是先屏蔽所有的通讯口,而只是允许我们需要使用的通讯端口。这里使用的是第二种原则,如果你需要开启其他端口,请先参考计算机通讯口说明,然后自己添加。)

代码: 全选

#删除原来 iptables 里面已经有的规则
iptables -F
iptables -X

#抛弃所有不符合三种链规则的数据包
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#设置:本地进程 lo  的 INPUT 和 OUTPUT 链接 ; eth1的 INPUT链
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth1 -m state --state NEW,INVALID -j LOG
iptables -A OUTPUT -o lo -j ACCEPT

#对其他主要允许的端口的 OUTPUT设置:
# DNS
iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 53 -j ACCEPT
iptables -A OUTPUT -o eth1 -p UDP --sport 1024:65535 --dport 53 -j ACCEPT

#HTTP
iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 80 -j ACCEPT

#HTTPS
iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 443 -j ACCEPT

#Email 接受 和发送
iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 110 -j ACCEPT
iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 25 -j ACCEPT

# FTP 数据和控制
iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 20 -j ACCEPT
iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 21 -j ACCEPT

#DHCP
iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 68 -j ACCEPT
iptables -A OUTPUT -o eth1 -p UDP --sport 1024:65535 --dport 68 -j ACCEPT

#POP3S Email安全接收
iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 995 -j ACCEPT

#时间同步服务器 NTP
iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 123 -j ACCEPT

#拒绝 eth1 其他剩下的
iptables -A OUTPUT -o eth1 --match state --state NEW,INVALID -j LOG
最后是有关于iptables存储的命令:

代码: 全选

iptables-save > /etc/iptables.up.rule # 存在你想存的地方

代码: 全选

iptables-restore < /etc/iptables.up.rules #调用
因为iptables 在每次机器重新启动以后,需要再次输入或者调用,为了方便操作,使用

代码: 全选

sudo gedit /etc/network/interfaces

代码: 全选

 auto ath0
       iface ath0 inet dhcp
后面加上

代码: 全选

pre-up iptables-restore < /etc/iptables.up.rules #启动自动调用已存储的iptables

代码: 全选

post-down iptables-save > /etc/iptables.up.rule #关机时,把当前iptables 储存

发表于 : 2007-06-30 19:15
chasye
这个都不是给个人电脑用的
个人用:

iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z

iptables -P INPUT DROP
iptables -P FORWARD DROP

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

这样就可以了

发表于 : 2007-06-30 20:03
zhudachang
经过大半天的努力,总算是了解了一些,呵呵,
首先多谢大大帮助,让我又有了找答案的动力,
现在的总算基本满意了,谢谢

PS: 不过大大给的这个也是太简陋了点,呵呵

Re: 新手的 iptables 设置

发表于 : 2007-07-28 15:00
zhengdsp

代码: 全选

pre-up iptables-restore < /etc/iptables.up.rules #启动自动调用已存储的iptables

~~~~~~~~~~

代码: 全选

post-down iptables-save > /etc/iptables.up.rule #关机时,把当前iptables 储存
[/quote]

刚想让机器重起能自动加载规则,但把"<"抄成">"了,再重起在网络配置那就卡住了,起不来了,请问各位现在我怎样能进去?

发表于 : 2007-08-24 12:53
loosky
支持一个

发表于 : 2007-08-25 19:07
ubuntu289
支持~~

发表于 : 2008-04-10 18:37
XEUY
在学习Iptable.....

发表于 : 2008-04-13 13:51
sancome
楼主总结的不错,iptables的确是很好的东西,就看会不会用了,呵呵

发表于 : 2008-04-13 14:20
hubert_star
我觉得最好的规则如下:

-A INPUT -i eth0 -s 192.168.0.0/16 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j DROP

也就是说除了ssh以外,禁止所有的连接请求,当然lo是全开的

然后就是配置ssh增强安全性了

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT这句在配置文件里可以不要,如果手动给规则的话最好第一个加上这句

发表于 : 2008-04-17 23:16
tigerdoo
在同一条规则里似乎不能同时存在--sport和--dport吧

发表于 : 2008-04-17 23:22
hcym
现在的规则总算基本满意了
:roll:

发表于 : 2008-04-18 11:06
hcym
hubert_star 写了:我觉得最好的规则如下:

-A INPUT -i eth0 -s 192.168.0.0/16 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j DROP

也就是说除了ssh以外,禁止所有的连接请求,当然lo是全开的

然后就是配置ssh增强安全性了

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT这句在配置文件里可以不要,如果手动给规则的话最好第一个加上这句

ssh都不要,又该如何简化规则,强化安全性

:shock:

代码: 全选

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [22:2359]
-A INPUT -i ppp0 -p tcp -m tcp --sport 80 -j ACCEPT 
-A INPUT -i ppp0 -p udp -m udp --sport 53 -j ACCEPT 
-A INPUT -m state --state NEW -j DROP 
-A INPUT -m state --state RELATED,ESTABLISHED -j DROP 
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j DROP 
-A INPUT -j DROP 
-A INPUT -i -s -j DROP 
-A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu 
COMMIT

*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING DROP [34:4158]
:OUTPUT ACCEPT [22:2359]
-A POSTROUTING -o ppp0 -j MASQUERADE 
COMMIT

Re: 新手的 iptables 设置

发表于 : 2009-05-12 9:33
jjh_79
刚刚准备入门iptables 学习中阿。有没有基础的教程。阿

Re: 新手的 iptables 设置

发表于 : 2009-05-12 11:50
taylor
jjh_79 写了:刚刚准备入门iptables 学习中阿。有没有基础的教程。阿
man iptables是最基础的

Re: 新手的 iptables 设置

发表于 : 2009-06-19 11:41
dwl301
收藏。。。