firewalld中理解直接规则和富语言

  1. firewalld 中理解直接规则
    firewalld提供了‘direct interface” (直接接口), 它允许管理员手动编写的iptables. ip6tables 和ebtables规则插入firewalld管理的区域中,适用于应用程序,而不是用户。如果对iptables不太熟.不建议使用直接接口,可能会无意中导致防火墙被入侵。firewalld 保持对所增加项目的追踪,所以它还能质询firewalld 和发现使用直接端口模式的程序造成的更改。直接端口通过firewall-cmd 命令中的-- -direct选项实现。除非将直接规则显式插入firewalld管理的区域,否则将首先解析直接规则,然后解析其他firewalld规则。执行以下命令即可添加一些直接规则以将某个IP范围列入黑名单。
    firewalld中理解直接规则和富语言_第1张图片
    2.使用富语言
    firewalld的富语言(rich language)提供了一种不需要了解iptables语法的通过高级语言配置复杂IPv4和IPv6防火墙规则的机制,为管理员提供了一种表达性语言.通过这种语言可以表达firewalld的基本语法中未涵盖的自定义防火墙规则。例如,仅允许从单个IP地址(而非通过某个区域路由的所有IP地址)连接到服务。
    富规则可用于表达基本的允许/拒绝规则,也可以用于配置记录(面向syslog 和auditd),以及端口转发、伪装和速率限制。下面是表达富规则的基本语法:
    firewalld中理解直接规则和富语言_第2张图片
    规则的每个单一元素都能够以option=value的形式来采用附加参数。
    1)规则排序
    一旦向某个区域(一 般是指防火墙)中添加了多个规则,规则的排序会在很大程度上影响防火墙的行为。对于所有的区域,区域内的规则的基本排序是相同的。如果区 域中的任何规则与包均不匹配,通常会拒绝该包,但是区域可能具有不同的默认值。例如,可信区域(trusted) 将接收任何不匹配的包。此外,在匹配某个记录规则后,将继续正常处理包。
    直接规则是个例外。大部分直接规则将首先进行解析,然后由firewalld 进行其他处理,但是直接规则语法允许管理员在任何区域中的任何位置插入任何规则。
    2)测试和调试
    为了便于测试和调试,几乎所有规则都可以与超时一起添加到运行时配置。当包含超时的规则添加到防火墙时,计时器便针对该规则开始倒计时,-旦规则的计时器达到0秒,便从运行时配置中删除该规则。
    在使用远程防火墙时,使用超时会是-种极其有用的工具,特别是在测试更复杂的规则集时。如果规则有效,则管理员可以再次添加该规则;如果规则没有按照预期运行,甚至可能将管理员锁定而使其无法进入系统,那么规则将被自动删除,以允许管理员可以继续工作。
    通过在启用规则的firewall-cmd命令的结尾追加选项–timeout= .可向运行时规则中添加超时。
    3.理解富规则命令
    firewall-cmd有四个选项可以用于处理富规则,所有这些选项都可以同常规的–permanent或-- -zone=选项组合使用,具体选项见表3-1.
    firewalld中理解直接规则和富语言_第3张图片
    任何已配置的富规则都会显示在firewall-cmd --list-all和firewall-cmd --list- all _zones的输出结果中。具体语法解释如下所示。
    firewalld中理解直接规则和富语言_第4张图片
    firewalld中理解直接规则和富语言_第5张图片
    firewalld中理解直接规则和富语言_第6张图片
    4.规则配置举例
    (1) 为认证报头协议AH使用新的IPv4和IPv6 连接。
    [root@gateway-server ~]# firewall-cmd --add-rich- rule= ’ rule protocol value=ah accept’
    success
    (2) 允许新的IPv4和IPv6连接FTP, 并使用审核每分钟记录一 次。
    在这里插入图片描述
    (3) 允许来自192.168.0.0/24地址的TFTP协议的IPv4连接,并且使用系统日志每分钟记录一次。
    在这里插入图片描述
    (4) 为RADIUS协议拒绝所有来自1 :2:3:4:6::的新IPv6 连接,日志前缀为 "dns”, 级别为"info”, 并每分钟最多记录3次。接受来自其他发起端新的IPv6连接。
    firewalld中理解直接规则和富语言_第7张图片
    (5) 将源192.168.2.2地址加入白名单,以允许来自这个源地址的所有连接。
    在这里插入图片描述
    (6) 拒绝来自public区域中IP地址192.168.0.11的所有流量,
    [ root@gateway-server ~]# firewall- -cmd --zone public – add-rich- -rule= ’ rule family =ipv4 source address= 192.168.0.11/32 reject’
    success
    (7) 丢弃来自默认区域中任何位置的所有传入的ipsec esp协议包。
    在这里插入图片描述
    (8) 在192.168.1.0/24子网的dmz区域中,接收端口7900~ 7905的所有TCP包。
    在这里插入图片描述
    (9)接收从work区域到SSH的新连接,以notice级别且每分钟最多三条消息的方式将新连接记录到syslog.
    在这里插入图片描述
    (10) 在接下来的5min内,拒绝从默认区域中的子网192.168.2.0/24到DNS的新连接,并且拒绝的连接将记录到audit系统,且每小时最多一条消息。
    在这里插入图片描述

你可能感兴趣的:(Linux系统安全及防火墙配置)