Firewalld防火墙-一、firewalld高级配置

1.1 关于iptables的知识

        IP 数据包过滤系统是一种功能强大的工具,可用于添加、编辑和除去规则,这些规则是在做数据包过滤决定时,防火墙所遵循和组成的规则。这些规则存储在专用的数据包过滤表中,而这些表集成在 Linux 内核中。在数据包过滤表中,规则被分组放在我们所谓的链(chain)中。
        虽然 netfilter/iptables IP 数据包过滤系统被称为单个实体,但它实际上由两个组件netfilter 和iptables 组成。
        (1).netfilter 组件也称为内核空间(kernelspace),是内核的一部分,由一些数据包过滤表组成,这些表包含内核用来控制数据包过滤处理的规则集。

        (2).iptables 组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去数据包过滤表中的规则变得容易。
        iptables 包含4个表,5个链。其中表是按照对数据包的操作区分的,链是按照不同的Hook(挂钩)点来区分的,表和链实际上是netfilter 的两个维度。

1.2 firewalld中理解直接规则

        将 iptables 的规则插入到 firewalld 的管理区域中,这种方式写的规则叫直接规则。

        将某个IP 范围列入黑名单在这个例子中首先自定义了一个叫 blacklist 的链,然后将所有来自 192.168.10.0/24 的数据包都指向了这个链,最后定义了这个链的规则:首先进行记录,然后drop,记录的方法是使用“blacklisted:"前缀并且限制 1分钟记录一次。

        (1)创建一个黑名单,并为这个黑名单创建一个链,链名为 blacklist

        (2)将来自 192.168.10.0/24 的数据包指向这个链

      (3)每分钟记录一次日志(-m limit --limit 1/min        每分钟记录一次日志)

        (4)设置这个链的规则为 DROP

        (5)重启 firewalld(重启或重载后生效)

        (6)查看直接规则

注释:

  • Ipv4:这个属性非常简单,表示ip 的版本
  • table:chain 和 rule 节点中的 table 属性就是 iptables/ip6tables 中的 table
  • chain:chain 中的 chain 属性用于指定一个自定义链的名字,注意,不可与己有链重名;rule 中的 chain 属性既可以是内建的(也就是 iptables/ip6tables 中的五条链),也可以是在 direct 中自定义的 chain
  • priority:优先级,用于设置不同rule 的优先级,就像 iptables 中规则的前后顺序,数字越小优先级越高
  • args: rule 和 passthrough 中的 args 就是 iptables/ip6tables 中的一条具体的规则,不过他们可以使用我们自定义的 chain。

        会看到相关的日志条目备注:用其他主机 ping它,然后査看 messages 日志文件条目

1.3 使用富语言

1.什么是富语言

        不需要使用 iptables 语法,而是使用高级语言配置防火墙规则的机制成为富语言。

3.理解富规则命令

4.规则配置举例

(1)为认证报头协议 AH 使用新的 IPv4 和 IPv6 连接(2)允许新的 IPv4 和 IPv6 连接 http,并使用审核每分钟记录一次

(3)允许来自 192.168.0.0/24 地址的 TFTP 协议的IPv4连接,并且使用系统日志每分钟记录一次

(4)为 RADIUS 协议拒绝所有来自 1:2:3:4:6::的新的IPv6 连接,日志前缀为“dns”,级别为info,并每分钟最多记录3次。接受来自其他发起段新的IPv6 连接

(5)将源 192.168.2.2 地址加入白名单,以允许来自这个源地址的所有连接

(6)拒绝(删除)来自 public 区域中IP 地址为 192.168.0.11 的所有流量

(7)丢弃来自默认区域中任何位置的所有传入的ipsecesp 协议包

(8)在 192.168.1.0/24 子网的 dmz 区域中,接收端口 7900--1905 的所有 TCP 包

(9)接受从 work区域到 ssh 的新连接,以 notice 级别且每分钟最多三条信息的方式将新连接记录到 syslog

(10)在接下来的 5min 内,拒绝从默认区域中的子网 192.168.2.0/24 到 DNS 的新连接,并且拒绝的连接将记录到 audit 系统,且每小时最多一条消息

上一篇:kafka 重新分配partition和调整replica的数量