系统安全
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)