linux--- firewalld防火墙相关
centos8 防火墙:
--------------------------------------------------
一、防火墙服务
1、启动、关闭、重启防火墙服务。
systemctl start firewalld.service
systemctl stop firewalld.service
systemctl restart firewalld.service
2、显示防火墙的状态。
systemctl status firewalld.service
3、开机启动防火墙。
systemctl enable firewalld.service
4、开机时禁用防火墙。
systemctl disable firewalld.service
5、查看防火墙是否开机启动。
systemctl is-enabled firewalld.service
6、查看已启动的服务列表。
systemctl list-unit-files|grep enabled
7、查看启动失败的服务列表。
systemctl --failed
8、启动、停止、重启httpd服务。
systemctl start httpd
systemctl stop httpd
systemctl restart httpd
--------------------------------------------------
二、防火墙配置
1、查看版本。
firewall-cmd --version
2、查看帮助。
firewall-cmd --help
3、显示防火墙状态。
firewall-cmd --state
4、查看所有打开的端口。
firewall-cmd --zone=public --list-ports
5、查看区域信息
firewall-cmd --get-active-zones
6、查看指定接口所属区域。
firewall-cmd --get-zone-of-interface=eth0
7、拒绝所有包、取消拒绝状态、查看是否拒绝
firewall-cmd --panic-on
firewall-cmd --panic-off
firewall-cmd --query-panic
8、开启3306端口,–permanent永久生效,没有此参数重启后失效。
firewall-cmd --zone=public --add-port=3306/tcp --permanent
9、重新载入,更新防火墙规则。
firewall-cmd --reload
10、查看3306端口是否开放。
firewall-cmd --zone=public --query-port=3306/tcp
11、删除3306端口配置。
firewall-cmd --zone=public --remove-port=3306/tcp --permanent
三、对某端口开放防火墙设置(如mysql3306端口)
1、查看防火墙是否已开放3306端口
firewall-cmd --query-port=3306/tcp
2、设置3306端口为永久开放
firewall-cmd --add-port=3306/tcp --permanent
3、查看firewalld状态,发现当前是dead状态,即防火墙未开启
systemctl status firewalld
(设置了新的端口记得先关闭,再重启)
4、关闭防火墙
systemctl stop firewalld
5、开启防火墙(设置了新的端口记得先关闭,再重启)
systemctl start firewalld
6、查看防火墙
systemctl status firewalld
7、查看已经开启的防火墙端口
firewall-cmd --list-all
四、IP(IP段)的开放
1、 新建永久规则,开放192.168.0.1单个源IP的访问
firewall-cmd --permanent --add-source=192.168.0.1
2、 新建永久规则,开放192.168.1.0/24整个源IP段的访问
firewall-cmd --permanent --add-source=192.168.1.0/24
3、移除上述规则
firewall-cmd --permanent --remove-source=192.168.0.1
五、对指定ip开放端口:
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.1" port protocol="tcp" port="3306" accept'
firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.0.1" port protocol="tcp" port="3306" accept'
对指定ip开放3603端口:
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="10.104.0.69" port protocol="tcp" port="3306" accept"
配置防火墙指定ip访问数据库端口
1、删除原有端口访问规则
firewall-cmd --permanent --zone=public --remove-port=3306/tcp
2、添加规则
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="10.104.0.69" port protocol="tcp" port="3306" accept"
3、生效规则
firewall-cmd --reload
4、查看规则
firewall-cmd --list-all
5、删除规则
firewall-cmd --permanent --zone=public --remove-rich-rule="rule family="ipv4" source address="10.104.0.69" port protocol="tcp" port="3306" accept"
6、添加指定网段,允许访问3306
firewall-cmd --permanent --zone="public" --add-rich-rule="rule family="ipv4" source address="10.104.0.0/24" port="3306" accept"
=====================================================
开放防火墙,及其策略
systemctl status firewalld
systemctl start firewalld
开放常用端口:
firewall-cmd --add-port=22/tcp --permanent
firewall-cmd --add-port=23/tcp --permanent
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --add-port=443/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
开放策略
ICMP时间戳检测( ICMP timestamp请求响应漏洞)、允许Traceroute探测 漏洞修复 添加策略
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p ICMP --icmp-type timestamp-request -m comment --comment "deny ICMP timestamp" -j DROP
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p ICMP --icmp-type timestamp-reply -m comment --comment "deny ICMP timestamp" -j DROP
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p ICMP --icmp-type 11 -m comment --comment "time-exceeded" -j DROP
firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p ICMP --icmp-type 11 -m comment --comment "time-exceeded" -j DROP
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p ICMP --icmp-type 3 -m comment --comment "destination-unreachable" -j DROP
firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p ICMP --icmp-type 3 -m comment --comment "destination-unreachable" -j DROP
firewall-cmd --reload
firewall-cmd --direct --get-all-rules
firewall-cmd --zone=public --list-ports