当前位置:   article > 正文

【银河麒麟V10】【服务器】firewalld使用_linux firewall-cmd 策略优先级

linux firewall-cmd 策略优先级

1、firewalld zone说明

drop (丢弃) 任何接收到的网络数据都被丢弃,没有任何回复,公有发送出去的网络连接
block(限制)任何接收的网络连接都被IPV4 的icmp-host-prohibited信息和IPV6的icmp6-adm-prohibited信息所拒绝
public (公共) 在公共区域内使用,不能相信网络内的其它计算机不会对你的计算机造成危害,只接收经过选取的连接
external (外部)特别是为路由器启用了伪装功能的外部网。你不能信任来自网络的其它计算,不能信任它们不会对你的计算机造成危害,只能接收经过选择的连接。
dmz (非军事区) 用于你的非军事区的电脑 ,此区域内可公开访问,可以有限的进入你的内部网络,仅接收经过选择的连接。
work (工作) 可以基本信任网络内的其它计算机不会危害你的计算机,仅接收经过选择的连接。
home (家庭) 用于家庭网络,可以基本信任网络内的其它计算机不会危害你的计算机,仅接收经过选择的连接。
internal (内部)用于内部网络,可以基本信任网络内的其它计算机不会危害你的计算机,仅接收经过选择的连接
trusted (信任) 可接收所有的网络连接

注:麒麟系统firewalld默认为public zone,其中public zone里默认放行ssh mdns dhcpv6-client cockpit服务,所以即使打开防火墙也能正常访问ssh

2、firewalld关于zone操作:

 # firewall-cmd --set-default-zone=work //设置zone为work

# firewall-cmd --get-zone-of-interface=ens33   //查看ens33网卡属于哪个zone

# firewall-cmd --zone=public --add-interface=ens33  //给ens33网卡的zone设置成pubilc

# firewall-cmd --zone=public --change-interface=ens33   //更改ens33网卡的zone为public

# firewall-cmd --zone=public --remove-interface=ens33   //删除ens33网卡的zone

# firewall-cmd --get-active-zones    //查看系统所有活跃起作用/网卡的zone

3、firewalld关于service的操作

#  firewall-cmd --get-services   //查看所有(可以支持的)service

#  firewall-cmd --list-services    //查看当前zone下有哪些service

# firewall-cmd --zone=public --list-services   //查看指定zone下的service

# firewall-cmd --zone=public --add-service=http --permanent   //将http服务永久添加到public zone里面

4、firewalld关于端口的操作

# firewall-cmd --zone=public --add-port=9001/tcp --permanent   //在public下永久添加9001/tcp端口

# firewall-cmd --zone=public --remove-port=9001/tcp --permanent   //在public下永久移除9001/tcp端口

# firewall-cmd --reload    //刷新防火墙配置

5、firewalld查看操作

# firewall-cmd --zone=public --list-ports    //查询public规则下面的开放的端口

# firewall-cmd --list-all   //查看当前规则下配置规则

# firewall-cmd --get-zones    //查看支持的所有zone

# firewall-cmd --get-default-zone    //查看当前默认zone

6、firewalld常用场景

6.1、限制ip为192.168.137.12的地址禁止访问80端口

# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.137.12" port protocol="tcp" port="80" reject"

6.2、只允许指定ip访问指定或全部端口,拒绝除指定IP外的所有本地端口访问

第一步:

# firewall-cmd --set-default-zone=trusted    //更改防火墙默认区域为trusted,默认放行所有连接请求

第二步:

新建一个zone,将想要访问本机的ip,如:192.168.1.123 ,添加的这个zone中,同时在这个zone中放行所有端口(1-65535),如果不是所有端口也可以指定某一个端口

#  firewall-cmd --permanent --new-zone=newzone

# firewall-cmd --permanent --zone=newzone --add-source=192.168.1.123

# firewall-cmd --permanent --zone=newzone --add-port=1-65535/tcp

第三步:

除192.168.1.123这个ip以外的地址访问本机时会使用当前默认的trusted这个zone里的规则,即禁止访问本机的所有端口(1-65535)

# firewall-cmd --permanent --zone=trusted --add-rich-rule=“rule family=“ipv4” port protocol=“tcp” port=“1-65535” drop”

# firewall-cmd --reload

# systemctl restart firewalld

第四步:

查看配置是否生效

# firewall-cmd --list-all-zone

# firewall-cmd --list-all

第五步:

如果想追加或去掉允许访问的IP:

# firewall-cmd --permanent --zone=newzone --add-source=192.168.1.123

# firewall-cmd --permanent --zone=newzone --remove-source=192.168.1.123

# firewall-cmd --reload

说明:

对于一个请求具体优先使用哪个zone,优先级如下:

我们知道每个zone就是一套规则集,但是有那么多zone,对于一个具体的请求来说应该使用哪个zone(哪套规则)来处理呢?这个问题至关重要,如果这点不弄明白其他的都是空中楼阁,即使规则设置的再好,不知道怎样用、在哪里用也不行。

对于一个接受到的请求具体使用哪个zone,firewalld是通过三种方法来判断的:

1、source,也就是源地址 优先级最高

2、interface,接收请求的网卡 优先级第二

3、firewalld.conf中配置的默认zone 优先级最低

这三个的优先级按顺序依次降低,也就是说如果按照source可以找到就不会再按interface去查找,如果前两个都找不到才会使用第三个,也就是在firewalld.conf中配置的默认zone。
 

7、firewalld配置文件

zone的配制文件模版: /usr/lib/firewalld/zones
services配制模版: usr/lib/firewalld/services
更改配制文件之后,会在/etc/firewalld/zones目录下生成配置文件 :firewall-cmd --zone=work --add-service=http --permanent
查看: cat /etc/firewalld/zones/work.xml

需求:ftp服务自定议端口1121,需要在work zone 下面放行ftp
# cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services  //复制ftp.xml模板到/etc/firewalld/services/目录下

# vi /etc/firewalld/services/ftp.xml  //把21端口改成1121端口
# cp /usr/lib/firewalld/zones/work.xml /etc/firewalld/zones/  //复制work.xml模版到/etc/firewalld/zones/目录下;
# vi /ec/firewalld/zones/work.xml  //编辑work.xml文件 ,增加一行 <service name=“ftp”/>
# firewall-cmd --reload //重新加载firewall
# firewall-cmd --zone=work --list-service // 查看work下面的services

8、firewalld规则优先级

a、source,也就是源地址 优先级最高

b、interface,接收请求的网卡 优先级第二

c、firewalld.conf中配置的默认zone 优先级最低

9、firewalld关于端口转发

# firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080    //将在80端口接收到tcp请求转发到8080端口

10、drop zone和reject zone的区别

防火墙内的策略动作有DROP和REJECT两种,区别如下:
1、DROP动作只是简单的直接丢弃数据,并不反馈任何回应。需要Client等待超时,Client容易发现自己被防火墙所阻挡。
2、REJECT动作则会更为礼貌的返回一个拒绝(终止)数据包(TCP FIN或UDP-ICMP-PORT-UNREACHABLE),明确的拒绝对方的连接动作。连接马上断开,Client会认为访问的主机不存在。REJECT在IPTABLES里面有一些返回参数,参数如下:ICMP port-unreachable、ICMP echo-reply 或是 tcp-reset(这个封包会要求对方关闭联机),进行完此处理动作后,将不再比对其它规则,直接中断过滤程序。
 
至于使用DROP还是REJECT更合适一直未有定论,因为的确二者都有适用的场合。REJECT是一种更符合规范的处理方式,并且在可控的网络环境中,更易于诊断和调试网络/防火墙所产生的问题;而DROP则提供了更高的防火墙安全性和稍许的效率提高,但是由于DROP不很规范(不很符合TCP连接规范)的处理方式,可能会对你的网络造成一些不可预期或难以诊断的问题。因为DROP虽然单方面的中断了连接,但是并不返回任何拒绝信息,因此连接客户端将被动的等到tcp session超时才能判断连接是否成功,这样早企业内部网络中会有一些问题,例如某些客户端程序或应用需要IDENT协议支持(TCP Port 113, RFC 1413),如果防火墙未经通知的应用了DROP规则的话,所有的同类连接都会失败,并且由于超时时间,将导致难以判断是由于防火墙引起的问题还是网络设备/线路 故障。

一点个人经验,在部署防火墙时,如果是面向企业内部(或部分可信任网络),那么最好使用更绅士REJECT方法,对于需要经常变更或调试规则的网络也是如此;而对于面向危险的Internet/Extranet的防火墙,则有必要使用更为粗暴但是安全的DROP方法,可以在一定程度上延缓******的进度(和难度,至少,DROP可以使他们进行TCP-Connect方式端口扫描时间更长)。

11、参数说明

Target目标
icmp-block-inversionICMP协议类型黑白名单开关(yes/no)
Interfaces关联的网卡接口
sources:来源,可以是IP地址,也可以是mac地址
services:允许的服务
ports:允许的目标端口,即本地开放的端口
protocols:允许通过的协议
masquerade:是否允许伪装(yes/no),可改写来源IP地址及mac地址
forward-ports:允许转发的端口
source-ports:允许的来源端口
icmp-blocks:可添加ICMP类型,当icmp-block-inversion为no时,这些ICMP类型被拒绝;当icmp-block-inversion为yes时,这些ICMP类型被允许。
rich rules:富规则,即更细致、更详细的防火墙规则策略,它的优先级在所有的防火墙策略中也是最高的。

-------------------------
麒麟软件以安全可信操作系统技术为核心,旗下拥有“银河麒麟”、“中标麒麟”两大产品品牌,面向通用和专用领域打造安全创新操作系统产品和相应解决方案,现已形成了服务器操作系统、桌面操作系统、嵌入式操作系统、麒麟云等产品。麒麟软件系列产品能同时支持飞腾、鲲鹏、龙芯、申威、海光、兆芯等国产CPU。企业坚持开放合作共建产业生态,为客户提供完整的国产化解决方案。

麒麟软件官网:https://www.kylinos.cn

麒麟生态适配查询:https://eco.kylinos.cn/zoology/commercial.html

优麒麟社区:https://www.ubuntukylin.com/comunity
 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/146552
推荐阅读
相关标签
  

闽ICP备14008679号