Iptables实现Linux的防火墙功能_Linux服务器维护_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

Iptables实现Linux的防火墙功能

作者:黑客防线网安网站维护基地 来源:黑客防线网安服务器基地 浏览次数:0

本篇关键词:IptablesLinux
黑客防线网安网讯:一:前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种。无论是在哪个网络中,防火墙工作的地方一定是在 一网络的边缘。而我们的任务就是需要去定义到底防火墙如

                 
      
六:详解-j ACTION
         常用的ACTION:
         DROP:悄悄丢弃
                   一般我们多用DROP来隐藏我们的身份,以及隐藏我们的链表
         REJECT:明示拒绝
        ACCEPT:接受
                   custom_chain:转向一个自定义的链
         DNAT
        SNAT
        MASQUERADE:源地址伪装
        REDIRECT:重定向:主要用于实现端口重定向
        MARK:打防火墙标记的
        RETURN:返回
                   在自定义链执行完毕后使用返回,来返回原规则链。

练习题1:
         只要是来自于172.16.0.0/16网段的都允许访问我本机的172.16.100.1的***D服务
         分析:首先肯定是在允许表中定义的。因为不需要做NAT地址转换之类的,然后查看我们***D服务,在22号端口上,处理机制是接受,对于这个表,需要 有一来一回两个规则,如果我们允许也好,拒绝也好,对于访问本机服务,我们最好是定义在INPUT链上,而OUTPUT再予以定义就好。(会话的初始端先 定义),所以加规则就是:
         定义进来的:         iptables -t filter -A INPUT -s 172.16.0.0/16 -d 172.16.100.1 -p tcp --dport 22 -j ACCEPT
         定义出去的:         iptables -t filter -A OUTPUT -s 172.16.100.1 -d 172.16.0.0/16 -p tcp --dport 22 -j ACCEPT
         将默认策略改成DROP
                   iptables -P INPUT DROP
                   iptables -P OUTPUT DROP
                   iptables -P FORWARD DROP
      

七:状态检测:
是一种显式扩展,用于检测会话之间的连接关系的,有了检测我们可以实现会话间功能的扩展
什么是状态检测?对于整个TCP协议来讲,它是一个有连接的协议,三次握手中,第一次握手,我们就叫NEW连接,而从第二次握手以后的,ack都为1,这 是正常的数据传输,和tcp的第二次第三次握手,叫做已建立的连接(ESTABLISHED),还有一种状态,比较诡异的,比如:SYN=1 ACK=1 RST=1,对于这种我们无法识别的,我们都称之为INVALID无法识别的。还有第四种,FTP这种古老的拥有的特征,每个端口都是独立的,21号和 20号端口都是一去一回,他们之间是有关系的,这种关系我们称之为RELATED。
         所以我们的状态一共有四种:
         NEW
        ESTABLISHED
        RELATED
        INVALID

         所以我们对于刚才的练习题,可以增加状态检测。比如进来的只允许状态为NEW和ESTABLISHED的进来,出去只允许ESTABLISHED的状态出去,这就可以将比较常见的反弹式木马有很好的控制机制。
      
对于练习题的扩展:
                  进来的拒绝出去的允许,进来的只允许ESTABLISHED进来,出去只允许ESTABLISHED出去。默认规则都使用拒绝
                  iptables -L -n --line-number  :查看之前的规则位于第几行
                  改写INPUT
                  iptables -R INPUT 2 -s 172.16.0.0/16 -d 172.16.100.1 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
                  iptables -R OUTPUT 1 -m state --state ESTABLISHED -j ACCEPT

                  此时如果想再放行一个80端口如何放行呢?
                  iptables -A INPUT -d 172.16.100.1 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

                  iptables -R INPUT 1 -d 172.16.100.1 -p udp --dport 53 -j ACCEPT
                  一条规则放行所有

练习题2:
假如我们允许自己ping别人,但是别人ping自己ping不通如何实现呢?
分析:对于ping这个协议,进来的为8(ping),出去的为0(响应).我们为了达到目的,需要8出去,允许0进来

在出去的端口上:iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT
在进来的端口上:iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT


小扩展:对于127.0.0.1比较特殊,我们需要明确定义它
                  iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-16857-1.html
网站维护教程更新时间:2012-04-25 12:31:17  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer