iptables:防火墙以及网络协议基本原理

一、 Linux 网络安全模型 

    1. 防火墙: 工作在主机或者网络边缘,对进出报文使用实现定义的规则进行检测,并且由匹配的规则进行处理的一组硬件或者软件。也可能两者结合。 

        1) 通常使用的防火墙设备         

                硬件防火墙:专门的一台防火墙硬件设备,工作在整个网络入口处。 

                软件防火墙:工作在主机中TCP/IP协议站上面的软件(工作在内核中)。

        2) 防火墙工作位置 

                网络层:工作在网络层,类似路由器,主要拆除物理层和链路层协议,检测IP/TCP/UDP/ICMP网络层协和传输层协议首部,来进行规则定制

                应用层:工作在应用层,拆除网络层和传输层首部,查看应用层内容。

    2. IDS(Intrusion-detection system) 入侵检测系统

            HIDS(主机入侵检测系统):OSSEC

            NISC(网络入侵检测系统):snort(可以作为网络嗅探器) 

            Filesystem: 文件系统级别检测入侵检测

    3. IPS(入侵防御系统): IDS + Firewall两者联动
    4. honeypot:蜜罐系统,用于诱捕黑客,获取证据。 

    5. 系统安全漏洞漏洞扫描工具,进行系统安全评估:Nessus, nmap 等  

    6. rootkit:直接在系统层植入后门,将无法防护,只能重新安装系统 。 

二、 iptables工作机制 

    1. iptables/netfilter:网络层防火墙,可以链接追踪状态(状态检测), 是一个规则编写工具。规则通过内核中netfilter框架产生作用。  

    2. 设置iptables防护的五个位置(hook_function 位置)以及允许规则(五链四表): 

iptables_model.png

            1) PREROUTING: 主机外报文进入位置,允许的表mangle, nat(目标地址转换,把本机地址转换为真正的目标机地址,通常指响应报文) 

            2) INPUT:报文进入本机用户空间位置,允许的表filter, mangle 

            3) OUTPUT:报文从本机用户空间出去的位置,允许filter, mangle, nat

            4) FOWARD:报文经过路由并且发觉不是本机决定转发但还不知道从哪个网卡出去,允许filter, mangle 

            5) POSTROUTING:报文经过路由被转发出去,允许mangle,nat(源地址转换,把原始地址转换为转发主机出口网卡地址)

            四表: filter, nat , mangle, raw 

            五链:PREROUNTING, INPUT, FORWARD, OUTPUT, POSTROUTING 

    3. 表与链的对应关系 

            1) filter: INPUT, FORWARD, OUTPUT 

            2) nat: PREROUTING, OUTPUT, POSTROUTING 

            3) mangle: PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING 

            4) raw: 

iptables_chain_table.png

    4. 规则:匹配到后的处理机制 

            1) 通: 默认为堵, 只对规则匹配到的进行开放 

            2) 堵: 默认为同, 只对规则匹配到的堵

    5. 网络层和传输层协议检查内容

            1) IP: 

                    SIP: 源IP

                    DIP: 目标IP

            2) TCP: 

                    SPORT: 源端口

                    DPORT:目标端口 

                    Flags:标识位

            3) ICMP: ICMP-TYPE (ping 命令)

      6. 关于TCP协议标识位以及有限状态机图解

tcp_stat.png

TCP协议通信时,伴随着标识位的相互传输,以及在各个状态之间的转换。这些标识位将成为规则检测的内容。 

    7. 扩展检测机制: 

        1)time(根据时间), 

        2)应用层协议(如qq)

        3)string  敏感字符

        4)state(connection-tracking) 连接追踪

    8. 匹配到的报文处理机制: 

        1) DROP: 默默的丢弃

        2) REJECT:拒绝,不建议使用,容易拉仇恨 

        3) ACCEPT:接受

        4) SNAT: 源地址转换 

        5) DNAT:目标地址转换

        6) REDIRECT: 端口映射

        7) LOG:日志

        8) RETURN: 返回

具体iptables实现的功能和操作,详见下一篇博客。。。。

        

原创文章,作者:以马内利,如若转载,请注明出处:http://www.178linux.com/6507

(1)
以马内利以马内利
上一篇 2015-07-24
下一篇 2015-07-26

相关推荐

  • 可伸缩的逻辑卷

    什么是逻辑卷? 逻辑卷简称LVM, LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性.   为什么要使用逻辑卷? 逻辑卷相比于一般的磁盘分区, 具有更高的灵活性。可随时伸缩空间的大小.   构建逻辑分区图:   逻辑卷概念: PV(物理卷): 是在…

    Linux干货 2016-09-01
  • linux软件包管理

    linux软件包管理 简介     在Linux系统中,软件包的安装和管理是很重要的知识,而linux/unix一个麻烦的地方就是软件安装程序比较麻烦和复杂,尤其是当所安装的软件包要处理较多的包依赖关系,这就更让人头疼了,最常见linux软件安装方式有三种:     本文主要介绍Linux中RedHat或CentOS发…

    系统运维 2016-05-05
  • 搭建一套LVS-DR模型的高性能集群(LVS-DR+Nginx+Mariadb+Nfs+php-fpm+wordpress)

    架构简介 参加马哥linux培训一周了,自己感觉每天都进步很多,现在来说说这个架构,也是架构师第一周的作业第二题。搭建一套LVS-DR模型的高性能集群,做了两天终于完成并实现了这个架构,我设计的架构图如下所示: 此架构主要是用ipvsadm来实现高性能集群,Realserver(RS1,RS2)安装配置nginx,RS服务器分别配置了一个内网,一个外网。正常…

    Linux干货 2016-12-06
  • 浅谈Linux账号与用户组管理

    在学习linux系统中,最重要的莫过于对系统账户的管理以及如何恰当的分配用户组权限。在我们登陆linux系统的时候,输入的账号,其实并不是linux所能识别的。由于计算机仅能够识别0与1,所以它仅能认识ID(一组号码)用户标示符UID、GID。相应的你所输入的账号与ID的对应关系就保存在/etc/passwd当中。 对于每一个文件来说都具有”所有者与所属用户…

    2017-07-22
  • RAID各级别的特性及使用介绍(8.3博客作业)

    RAID各级别的特性及使用介绍 介绍: 独立硬盘冗余阵列(RAID:Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列,简称磁盘阵列。 组成: 多块磁盘,RAID控制器(硬件RAID、软件RAID)     硬件RAID:自带CPU的RAID卡,不消耗服务器资源,可通过备份…

    Linux干货 2016-07-16

评论列表(2条)

  • transpart
    transpart 2015-09-02 14:02

    说一下个人的读后感:
    1、标题感觉不够准确:网络协议基本原理好像没有怎么解释
    2、Linux的网络安全模型包括honeypot、系统安全漏洞漏洞扫描工具、rootkit吗?
    3、五链四表的图画的很好,以前对iptables了解的很不深入,感觉理解起来有些费劲儿,尤其是五链四表的对应关系,简单明了,赞!对应五链的解释稍显简单,不易理解。
    4、另外规则里面提到的默认规则,其实默认规则时可以设置的。
    5、TCP的三次握手,图画的不是特别清楚
    6、另外可能由于写的比较仓促,一些明显的别字、个别句子不通,无法理解

    • 以马内利
      以马内利 2015-09-03 10:51

      @transpart哈哈,多谢提的意见,很中肯。恩确实,这个只能说是一个学习笔记,谈不上什么正经大作。
      以后多多努力啦。
      居然你能耐心看完还给出建议,让我真的很感激
      三次握手主要是想突出标识位的变化,其他太复杂了就没有画进去。
      没有什么太多时间写,写完也没看直接递交了。错字确实多