系统安全

firewalld防火墙

区域的概念

  • firewalld防火墙为了简化管理,将所有网络流量分为多个区域(zone)。然后要所数据包的源IP地址或传入的网络接口条件等将流量传入相应区域。每个区域都定义了自己打开或关闭的端口服务列表。其中默认区域为public区域,trusted区域默认允许所有流量通过,是一个特殊的区域。
  • 用户可以根据具体环境选择使用区域。管理员也可以对这些区域进行自定义,使其具有不同的设置规则。
  • 在流量经过防火墙时,firewalld防火墙会对传入的每个数据包进行检查,如果此数据包的源地址关联到特定的区域,则会应用该区域的规则对此数据包进行处理,如果该源地址没有关联到任何区域,则将使用传入网络接口所在的区域规则进行处理。如果流量与不允许的端口、协议或者服务匹配,则防火墙拒绝传入流量。

系统安全

firewall-cmd字符管理工具

firewall-cmd是firewalld防火墙自带的字符管理工具,可以用来设置firewalld防火墙的各种规则,需要注意的是firewalld防火墙规则分为两种状态,一种是runtime(正在运行生效的状态),在runtime状态添加新的防火墙规则,这些规则会立即生效,但是重新加载防火墙配置或者重启系统后这些规则将会失效;一种是permanent(永久生效的状态),在permanent状态添加新的防火墙规则,这些规则不会马上生效,需要重新加载防火墙配置或者重启系统后生效。

在使用firewall-cmd命令管理防火墙时,需要添加为永久生效的规则需要在配置规则时添加–permanent选项(否则所有命令都是作用于runtime,运行时配置),如果让永久生效规则立即覆盖当前规则生效使用,还需要使用firewall-cmd –reload命令重新加载防火墙配置。常用firewall-cmd命令
系统安全

firewall-cmd –help | wc -l
查看默认区域

firewall-cmd –get-default-zone
列出当前正在使用的区域及其所对应的网卡接口

firewall-cmd –get-active-zones
列出所有可用的区域

firewall-cmd –get-zones

设置默认区域

firewall-cmd –set-default-zone=block

  • 端口转发
    当我们想把某个端口隐藏起来的时候,就可以在防火墙上阻止那个端口访问,然后再开一个不规则的端口,之后配置防火墙的端口转发,将流量转发过去。

  • 端口管理
    允许某一范围的端口,如允许UDP的2048-2050端口到public区域
    firewall-cmd –add-port=2048-2050/udp –zone=public
    使用–list-ports查看加入的端口操作是否成功
    firewall-cmd –list-ports

  • 服务管理
    查看预定义服务
    firewall-cmd –get-services

  • 伪装IP
    通过地址伪装,NAT设备将经过设备的包转发到指定的接收方,同时将通过的数据包
    源地址更改为其NAT设备自己的接口地址。当返回的数据包到达时,会将目的地址修改
    为原始主机的地址并做路由。地址伪装可以实现局域网多个地址共享单一公网地址上网。类似于NAT技术中的端口多路复用(PAT)。IP地址伪装仅支持ipv4,不支持ipv6。

  • 命令

firewall-cmd –query-masquerade # 检查是否允许伪装IP

firewall-cmd –permanent –add-masquerade # 允许防火墙伪装IP

firewall-cmd –permanent –remove-masquerade# 禁止防火墙伪装IP

firewalld富规则

(https://www.cnblogs.com/meizy/p/firewalld.html#fanghuoqiangfuguize)