火墙管理工具iptables ---iptables的用法、火墙策略的修改

    技术2022-07-11  127

    一、常见的两种火墙

    iptables 防火墙:

    iptables service 管理防火墙规则的模式(静态):用户将新的防火墙规则添加进 /etc/sysconfig/iptables 配置文件当中,再执行命令 /etc/init.d/iptables reload 使变更的规则生效。在这整个过程的背后,iptables service 首先对旧的防火墙规则进行了清空,然后重新完整地加载所有新的防火墙规则,如果加载了防火墙的模块,需要在重新加载后进行手动加载防火墙的模块。

    firewalld防火墙:

    使用 python 语言开发,管理防火墙规则的模式(动态):任何规则的变更都不需要对整个防火墙规则列表进行重新加载,只需要将变更部分保存并更新到运行中的 iptables 即可。还有命令行和图形界面配置工具,它仅仅是替代了 iptables service 部分,其底层还是使用 iptables 作为防火墙规则管理入口。

    Filewalld(动态防火墙)作为系统中变更对于netfilter内核模块的管理工具;

    二、火墙管理工具切换

    在rhle8中默认使用firewalld

    1.firewalld----------->iptables

    1.iptables----------->firewalld

    三、iptables

    1.iptables防火墙基础知识

    <1>概述:保护内部主机和内部网络的安全,通过过滤的方式对网络层的ip地址和端口进行处理;

    <2>了解防火墙:

      硬件防火墙:ASA

      软件防火墙:iptables(linux平台)、ISA(windows自带的)

    <3>iptables防火墙结构:

      netfilter内核模块、iptables用户工具、firewall用户工具

    <4>iptables的表:按照不同功能来划分;

      raw(状态跟踪)、mangle(标记)、nat(修改)、filter(过滤)

      raw:主要是为了提高效率使用的,raw本身的含义是指“原生的”、“未经过加工 的”,符合raw表所对应规则的数据包将会跳过一些检查,这样就可以提高效率;

      mangle:mangle表的规则可以对数据包进行修改,比如修改ttl值等;

      nat:进行源地址或目标地址修改转换;

      filter:通过过滤数据包的ip地址、mac地址、协议、端口,对数据包进行控制;

    <5>iptables规则链:根据不同时机来划分链,在链中存放规则;

      INPUT(入站)、OUTPUT(出站)、FORWARD(转发)、PREROUTING(路由前)、POSTROUTING(路由后)

    <6>表中默认包含链:

      raw:PREROUTING、OUTPUT

      mangle:PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING

      nat: PREROUTING、POSTROUTING、OUTPUT

      filter:INPUT、FORWARD、OUTPUT

    2.火墙策略的永久保存

    火墙策略的永久保存 /etc/sysconfig/iptables ##iptables策略记录文件 不保存策略重启服务后自动恢复最初的策略 永久保存策略两种方法 iptables-save > /etc/sysconfig/iptables service iptables save ##常用方法

    3.iptables的命令用法

    ##iptables规则链 INPUT(入站)、OUTPUT(出站)、FORWARD(转发)、PREROUTING(路由前)、POSTROUTING(路由后) ##表中默认包含链  raw: PREROUTING、OUTPUT  mangle:PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING  nat: PREROUTING、POSTROUTING、OUTPUT  filter:INPUT、FORWARD、OUTPUT ##iptables匹配流程 ##(根据数据流的方向确定匹配顺序)    链: 入站数据流向:PREROUTING、INPUT   出站数据流向:OUTPUT、POSTROUTING   转发数据流向:PREROUTING、FORWARD、POSTROUTING    表: raw--mangle--nat--filter 总结:链内规则匹配顺序:从上到下、匹配即停止、未匹配使用默认规则;

    火墙读取的方式有一定问题,一个一个来同意效率慢。

    更改火墙策略,访问过后将被记忆

    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i lo -m state --state NEW -j ACCEPT iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT iptables -A INPUT ! -s 172.25.254.10 -p tcp --dport 22 -m state --state NEW -j ACCEPT iptables -A INPUT -s 172.25.254.10 -p tcp --dport 22 -m state --state NEW -j ACCEPT iptables -A INPUT -j REJECT iptables -nL


    在系统中设定火墙只允许访问dns,httpd服务设定火墙仅允许172.25.254.250链接SSHD服务

     

    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i lo -m state --state NEW -j ACCEPT iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT iptables -A INPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT iptables -A INPUT -s 172.25.254.250 -p tcp --dport 22 -m state --state NEW -j ACCEPT iptables -A INPUT -j REJECT service iptables save

     

    Processed: 0.013, SQL: 9