Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4733276
  • 博文数量: 930
  • 博客积分: 12070
  • 博客等级: 上将
  • 技术积分: 11448
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-15 16:57
文章分类

全部博文(930)

文章存档

2011年(60)

2010年(220)

2009年(371)

2008年(279)

分类: LINUX

2008-08-15 18:34:47

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 



阅读(1428) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~