CentOS防火墻安全設(shè)置
防火墻的作用與重要性
防火墻是服務(wù)器安全的第一道防線,通過過濾網(wǎng)絡(luò)流量阻止未授權(quán)訪問。CentOS默認(rèn)集成firewalld服務(wù),支持動態(tài)規(guī)則管理與區(qū)域劃分,可有效抵御端口掃描、暴力破解等網(wǎng)絡(luò)攻擊。
安裝與啟用firewalld
# 檢查防火墻狀態(tài)
systemctl status firewalld
# 啟用并啟動防火墻
systemctl enable --now firewalld
# 驗證運行狀態(tài)
firewall-cmd --state
基礎(chǔ)配置操作
開放指定端口
# 永久開放HTTP/HTTPS端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
# 重新加載配置
firewall-cmd --reload
拒絕特定IP訪問
# 屏蔽惡意IP地址
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'
服務(wù)管理
# 允許SSH服務(wù)
firewall-cmd --permanent --add-service=ssh
# 禁止FTP服務(wù)
firewall-cmd --permanent --remove-service=ftp
高級安全策略
區(qū)域劃分管理
# 查看默認(rèn)區(qū)域
firewall-cmd --get-default-zone
# 指定網(wǎng)卡使用dmz區(qū)域
firewall-cmd --permanent --zone=dmz --change-interface=eth1
富規(guī)則(rich rules)應(yīng)用
# 允許特定IP訪問MySQL端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.5/32" port protocol="tcp" port="3306" accept'
端口轉(zhuǎn)發(fā)配置
# 將外部8080端口轉(zhuǎn)發(fā)到內(nèi)網(wǎng)80端口
firewall-cmd --permanent --add-forward-port=port=8080:proto=tcp:toport=80:toaddr=192.168.0.10
ICMP協(xié)議控制
# 禁用ping響應(yīng)
firewall-cmd --permanent --add-icmp-block=echo-reply
日志與監(jiān)控
# 啟用防火墻日志記錄
firewall-cmd --set-log-denied=all
# 查看日志路徑
journalctl -u firewalld -f
常見問題處理
- 規(guī)則未生效:確認(rèn)使用
--permanent
參數(shù)后執(zhí)行firewall-cmd --reload
- 端口沖突:通過
netstat -tulnp
檢查端口占用情況 - 配置回滾:使用
firewall-cmd --runtime-to-permanent
保存臨時規(guī)則
最佳實踐建議
- 僅開放必要服務(wù)端口,遵循最小權(quán)限原則
- 定期審查防火墻規(guī)則,使用
firewall-cmd --list-all
查看完整配置 - 結(jié)合fail2ban等工具實現(xiàn)自動封禁異常訪問
- 重要修改前備份規(guī)則文件:
/etc/firewalld/