linux iptables安全技术与防火墙

目录

一、入侵检测系统

二、防火墙

  1.特点

  2.防火墙分类

  3.按实现方式划分

  4.按网络协议划分

  5.Netfilter

  6.iptables

三、防水墙  

四、tcpdump抓包

五、实验演示

  1.SNAT 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

一、入侵检测系统

  1.特点

    是不阻断任何网络访问,量化、定位来自内外网络的威胁情况,
    主要以提供报警和事后监督为主,提供有针对性的指导措施和安全决策依据,类似于监控系统

 

二、防火墙

   1.特点

      隔离功能,工作在网络或主机边缘

      对进出网络或主机的数据包基于一定的规则检查,并在匹配某规则时由规则定义的行为进行处理的一组功能的组件,

      基本上的实现都是默认情况下关闭所有的通过型访问,只开放允许访问的策略,会将希望外网访问的主机放在网络中。

 

  2.防火墙分类

    主机防火墙:服务范围为当前一台主机

    网络防火墙:服务范围为防火墙一侧的局域网

 

  3.按实现方式划分

    硬件防火墙:在专用硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现

  

   4.按网络协议划分

    网络层防火墙:OSI模型下四层,又称为包过滤防火墙
    应用层防火墙/代理服务器:proxy 代理网关,OSI模型七层

   

  5.Netfilter

    Linux防火墙是由Netfilter组件提供的,Netfilter工作在内核空间,集成在linux内核中

 

  6.iptables

    由软件包iptables提供的命令行工具,工作在用户空间,用来编写规则,写好的规则被送往netfilter,告诉内核如何去处理信息包

    iptables默认安装

    Linux的防火墙体系主要工作在网络层针对数据包实施过滤和限制,属于典型的包过滤防火墙(或称为网络层防火墙)。

    (1)五元素:

        1.源ip地址

        2.目标IP地址

        3.源端口

        4.目标端口

        5.协议

     (2)五种规则链

        1.INPUT:处理入栈数据包

        2.OUTPUT:处理出栈数据包

        3.FORWORD:处理转发数据包

        4.POSTROUTING:处理路由选择后处理数据包

        5.PREROUTING:处理路由选择前数据包

 

     (3)四种规则表

        1.raw表:确定是对数据包进行状态跟踪

        2.mangle表:为数据包设置标记

        3.nat表:修改数据包的源目标IP地址或端口

        4.fileter表:确认是否放行该数据包

 

        四表五链

          规则表的作用:容纳各种规则链
          规则链的作用:容纳各种防火墙规则
          总结:表里有链,链里有规则

        

        注意事项:
          不指定表名时,默认指filter表
          不指定链名时,默认指表内的所有链,一般不这么操作
          除非设置链的默认策略,否则必须指定匹配条件
          选项、链名、控制类型使用大写字母,其余均为小写

 

     (4)内核中数据包的传输过程

        1. 当一个数据包进入网卡时,数据包首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。        

        2. 如果数据包是进入本机的,数据包就会沿着图向下移动,到达INPUT链。数据包到达INPUT链后, 任何进程都会收到它。

          本机上运行的程序可以发送数据包,这些数据包经过OUTPUT链,然后到达        

        3. 如果数据包是要转发出去的,且内核允许转发,数据包就会向右移动,经过FORWARD链,然后到达POSTROUTING链输出

 

     (5)规则内的匹配顺序

        自上向下按顺序依次进行检查,找到相匹配的规则即停止(LOG策略例外,表示记录相关日志)
        若在该链内找不到相匹配的规则,则按该链的默认策略处理(未修改的状况下,默认策略为允许)

     

      (6)数据包的常见控制类型

        ACCEPT:允许数据包通过。

        DROP: 直接丢弃数据包,不给出任何回 应信息。
        REJECT:拒绝数据包通过,必要时会给数据发送端一个响应信息。
        SNAT: 修改数据包的源地址
        DNAT: 修改数据包的目的地址

      

     (7)管理选项   

         -A             在指定链末尾追加一条

         -I             在指定链中插入一条新的,未指定序号默认作为第一条

         -P             指定默认策略

         -D             删除

         -R             修改、替换某一条规则

         -L             查看

         -n             所有字段以数字形式显示

         -v             查看时显示更详细信息,常跟-L一起使用 

         --line-numbers  规则带编号

         -F             清除链中所有规则

         -X             清空自定义链的规则,不影响其他链 

         -Z             清空链的计数器

         -S 看链的所有规则或者某个链的规则/某个具体规则后面跟编号

 

      (8)匹配的条件

       -p              指定要匹配的数据包的协议类型  

       -s         指定要匹配的数据包的源IP地址

       -d     指定要匹配的数据包的目的IP地址

          -i      指定数据包进入本机的网络接口
       -o     指定数据包离开本机做使用的网络接口
         --sport       指定源端口号
         --dport       指定目的端口号

    例子演示:

      (1)粗略查看默认规则

       (2)数字化的形式查看规则

      (3) 指定表查看

       (4)查看指定表中的指定链

       (5) 清空规则(清除前先备份)

       (6)备份iptabs

       (7)还原iptabes

      (8)添加规则,禁止所有主机ping本机   

  可以看到所有网段无法通信

 

     (9)添加所有网段都可以通信

     (10)指定序号插入,插入到第一条

      (11) 添加禁止任何主机tcp

     (12)添加允许任何主机udp

     (13)查看行规则的位置

     (14)添加拒绝某一台主机,其他的可以

     (15) 拒绝多台主机

     (16) 添加指定端口(禁止22端口ssh服务会掉)

     (17)添加指定IP地址的服务端口拒绝

         可以看到IP地址可以登录,但是使用指定端口不可通信

     (18)根据序号删除内容

      (19)内容匹配删除(有两个相同的则作用为去重) 如果有两个重复的规则,则删除序号较小的

       (20)修改默认规则:

       (21)filter三条链的默认值为ACCEPT,修改为DROP

       (22)除了icmp以外,所有的协议都可以进入

       (23)禁止整个网段访问21和80端口 (小的数字写在前面,大的写在后面)

      

    显示匹配      

      (1)-m multiport --sport 源端口列表 -m multiport --dport 目的端口列表

       (2)IP范围匹配

          -m iprange --src-range 源IP范围

          -m iprange --dst-range 目的IP范围

       (3)MAC匹配

          -m mac --mac-source MAC地址

 

       (4) 自定义链使用

           (5)自定义链改名

         (6)创建自定义链规则

         (7)删除自定义规则链:先删除iptables INPUT链中的对应关系,然后删除自定义链中的规则。

 

 

  7.firewalld

    软件包:firewalld、firewalld-config

    管理工具:firewall-cmd 命令行工具、firewall-config 图形工作

  

 

三、防水墙

  特点:广泛意义上的防水墙:防水墙,与防火墙相对,是一种防止内部信息泄漏的安全产品。   

    防水墙针对这四种泄密途径,在事前、事中、事后进行全面防护。

 

四、 tcpdump抓包

    tcpdump抓包工具的运用
    wireshark 抓包工具只在windows中使用。
    tcpdump 可以在Linux系统中使用。

    1.静态抓包

    linux没有查看工具,所有将target.cap导入到外面实验target查看

   2.动态抓包

 

 

 

五、实验演示

  1.在pc1配置内网地址

    重启服务

   2.配置外网地址pc3

3.中转服务器pc2,先配置ens33网关

   重启网卡

   配置ens37网卡作为外网的转发处

    重启网卡  

    4.修改网卡模式

    内网和对应网卡为nat,外网为仅主机  

      网关服务器配置:

  外网网卡配置

 5.启动转发

  进入/etc/sysctl.conf

 6.添加规则,允许访问指定网段端口

 使用pc1向外网通信

 pc3外网访问内网

 
posted @ 2023-06-13 15:32  纸签  阅读(383)  评论(0编辑  收藏  举报