Iptables使用
Iptables的基本语法规则参考
1.1 查看现有的iptables规则:
sudo iptables -L
1.2 允许已建立的连接接收数据:
sudo ptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
1.3 开放常见端口22
sudo iptables -A INPUT -p tcp -i eth0 --dport ssh(22) -j ACCEPT
sudo iptables -A INPUT -p tcp -i eth0 --dport telnet(23) -j ACCEPT
sudo iptables -A INPUT -p tcp -i eth0 --dport www(80) -j ACCEPT
1.4 对每一个报文,iptables依次测试每一条规则,看报文于规则是否相匹配。一旦找到一条匹配的规则, 就根据此规则中指定的行动,对报文进行处置,而对后面的规则不再进行测试。因此,如果我们在规则表的 末尾添加一条规则,让iptables丢弃所有报
sudo iptables -A INPUT -j DROP
1.5 仍有一个问题,就是环回接口也被阻断了。刚才添加DROP规则的时候其实就可以使用-i eth0来解决这一
问题。然而我们也可以为环回接口添加一条新规则来解决这个问题。但是不能将新规则追加到末尾,因为前
一条规则已经把所有报文都丢弃了,而应该把它插到DROP规则前面,即规则表中第五行的位置(即DROP之前)
iptables -I INPUT 5 -i lo -j ACCEPT
1.6 sudo iptables -L -v查看详细详细
1.7 iptables-save > /etc/iptables.up.rules(保存当前iptables的设置)
可以vi编辑 /etc/iptables.up.rules
编辑后 iptables-restore < /etc/iptables.up.rules
1.8 这样设置的iptables每次开机后就失效了,开机自动配置
a. iptables-save > /etc/iptables.up.rules
b. vi /etc/network/interfaces(最后-s 手动选择截图区域或者窗口两行为我们自己所加的)
auto eth0
iface eth0 inet dhcp
pre-up iptables-restore < /etc/iptables.up.rules
post-down iptables-restore < /etc/iptables.down.rules
1.9清楚iptables规则
sudo iptables -F
1.10 丢弃所有来自127.0.0.1的ICMP包(eg:ping)
sudo iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP
1.11 有时一个包太大,不可能适合所有线路。这样的话,包会被分成片,然后当作多个包发送。最终重组这些分片来重建整个包
sudo iptables -A OUTPUT -f -d 192.168.1.1 -j DROP(丢弃任何发往192.168.1.1的分片)
1.12 有时只允许单向的TCP连接会很有用。例如,你可能会允许连接到外部WWW服务器,但不会允许来自那个服务器的连接。 最简单的举动可能是阻止来自那个服务器的包,可惜,TCP连接需要包双向传送(才能正常工作)。
解决办法是,只阻挡那些用来请求连接的包。这些包称为SYN包(OK,从技术上说,它们的SYN标志被设置,而没有设置RST和ACK标志,不过我们简单的称为SYN包)。通过只阻止这种包,我们就可以阻止来自那些地方的连接企图。'--syn'标志是这样用的:只对指定了TCP协议的规则有效。例如,指定来自192.168.1.1的连接请求。
sudo iptables -A INPUT -p TCP -s 192.168.1.1 --syn
以下是几种常见的攻击的防御
1.13 Syn-flood protection
(参考)
sudo iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
1.14 Furtive port scanner:
sudo iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
1.15 Ping of death:
sudo iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
阅读(1483) | 评论(0) | 转发(0) |