centos 7.8 防火墻出入規則-設置防止入侵等命令
centos 7.8 防火墻的區域:
drop 任何流入方向都被丟棄,只可以流出
block 流入方向都拒絕,返回icmp-host-prohibited錯誤
public 允許部分服務和選中的服務流入,默認只允許dhcp和ssh
external 用于路由器的偽裝網絡,默認入站只允許
ssh
dmz隔離 限制被外界網絡訪問,需手動開轉發,默認入站只允許
ssh
work 只允許被選中的連接,默認dhcp/ipp和ssh
home 只允許被選中的連接,默認dhcp、dns、ipp、Samba、ssh
internal 和home一樣
trusted 完全允許所有,進出都一樣
Firewall命令
firewall-cmd --list-all-zones 查看所有區域
firewall-cmd --zone=public --list-all 查看public區域
firewall-cmd --get-default-zone 查看默認區域
firewall-cmd --get-active-zones 查看激活區域
firewall-cmd --state 查看防火墻狀態
firewall-cmd --get-services 查看防火墻支持的服務
firewall-cmd --get-zone-of-interface=ens33 查看ens33在哪個區域
firewall-cmd --list-services 查看區域內的所有服務
firewall-cmd --list-ports 查看區域內所有端口
firewall-cmd --set-default-zone=internal 設置默認區域
firewall-cmd --zone=work --add-interface=ens33 添加端口
firewall-cmd --zone=work --add-service=http 添加服務
firewall-cmd --zone=internal --change-interface=ens33 將ens33移動到internal
firewall-cmd --zone=internal --remove-interface=ens33 從internal中將ens33移除
firewall-cmd --zone=internal --query-interface=ens33 返回yes
firewall-cmd --zone=work --remove-service=http
firewall-cmd --zone=work --query-service=http
恐慌模式 panic 切換一切連接
firewall-cmd --query-panic 查詢恐慌模式是否開啟
firewall-cmd --panic-on 開啟恐慌模式
firewall-cmd --panic-off 關閉恐慌模式
firewall-cmd --zone=work --add-port=20-30/tcp
firewall-cmd --zone=work --remove-port=20-30/tcp
firewall-cmd --zone=work --query-port=20-21/tcp
firewall-cmd --zone=work --add-masquerade 相當于做了SNAT work區域可上網
firewall-cmd --zone=work --remove-masquerade work區域不可以上網
firewall-cmd --zone=work --query-masquerade 查詢是否可以上網
firewall-cmd --zone=work --add-icmp-block=echo-reply 阻塞應答包
firewall-cmd --zone=work --add-icmp-block=echo-request 阻塞請求包
數據包轉發語法:
firewall-cmd --zone=work --add-forward-port=port=80:proto=tcp:toport:8080:toaddr=192.168.1.1
可在8080后加tcp 即 toport=8080/tcp 表示到本機80端口的數據會被轉發到192.168.1.1的8080端口,可以不加toaddr,表情本機端口轉發
富策略語法:
rule family 協議簇
source address 源地址
firewall-cmd --permanent --add-rich-rule ‘rule family=ipv4 source address=1.1.1.100/8
forward-port port=8888 protocol=tcp to-port=80’
firewall-cmd --permanent --zone=dmz --add-rich-rule ‘rule famile=ipv4 source address=192.168.1.1 service name=http reject’ 拒絕192.168.1.1的web連接
firewall-cmd --permanent --add-rich-rule ‘rule family=ipv4 source address=192.168.1.100 service name=http log limit value=2/m’ 記錄來自1.100的日志每分鐘2條
firewall-cmd --reload 永久生效的立即生效
阻止某個可疑ip
firewall-cmd --permanent --add-rich-rule ’rule family=ipv4 source address =10.0.0.0/24 drop’
firewall-cmd --permanent --add-rich-rule ‘rule service name=ssh accept limit value=3//m’ 每分鐘連接3個ssh,限流
某個網段可以上網
firewall-cmd --permanent --add-rich-rule ‘rule family=ipv4 source address=192.168.1.0/24 masquerade’
centos 7.8設置防火墻要注意的兩點:
(1)開放端口或權限需要先看默認zone是哪個,然后在對應的zone里添加port或source 這樣才會有用
(2)永久生效盡量使用