溫馨提示×

CentOS防火墻最佳實踐有哪些

小樊
46
2025-10-11 01:31:03
欄目: 智能運維

CentOS防火墻最佳實踐

1. 選擇并配置默認防火墻工具

CentOS 7及以上版本默認使用firewalld(動態防火墻管理工具),相比傳統iptables更易管理(支持動態更新規則、區域劃分等功能)。若未安裝,可通過sudo yum install firewalld安裝;安裝后啟動服務并設置開機自啟:sudo systemctl start firewalld、sudo systemctl enable firewalld。

2. 遵循最小必要端口原則

僅開放業務必需的端口,減少攻擊面。例如:

  • HTTP服務(80端口)、HTTPS服務(443端口)用于網站訪問;
  • SSH服務(22端口)用于遠程管理(需禁用root登錄,使用密鑰認證);
  • 關閉不必要的端口(如9001、3306等非必需端口),通過firewall-cmd --permanent --remove-port=端口號/協議移除。

3. 利用區域策略細化訪問控制

firewalld通過區域(如public、internal、dmz)定義不同網絡環境的訪問規則:

  • public區域(默認):適用于公網接口,僅開放必要端口;
  • internal區域:適用于內部網絡,可信任程度更高(如允許內部設備訪問數據庫端口);
  • dmz區域:用于隔離對外提供服務的服務器(如Web服務器),限制其訪問內部網絡。
    通過firewall-cmd --get-zones查看可用區域,firewall-cmd --set-default-zone=public設置默認區域。

4. 使用Rich Rules實現精細控制

對于復雜需求(如特定IP訪問、時間段限制),可使用rich rules

  • 允許特定IP訪問SSH:firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.100' port protocol='tcp' port='22' accept";
  • 限制時間段訪問HTTP(如僅允許8:00-18:00訪問):firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="0.0.0.0/0" port port="80" protocol="tcp" time start="08:00" end="18:00" accept';
  • 拒絕特定IP段的流量:firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='10.0.0.0/8' reject"。
    修改后需執行firewall-cmd --reload使規則生效。

5. 配置默認拒絕策略

將防火墻默認策略設置為拒絕所有流量,僅允許明確放行的流量,提升安全性:

  • 通過firewall-cmd --set-default-zone=drop將默認區域設為drop(拒絕所有入站、轉發流量,允許所有出站流量);
  • 此策略需配合“開放必要端口”使用,避免誤攔截合法流量。

6. 啟用日志記錄與監控

開啟防火墻日志,便于審計異常行為:

  • 設置日志級別(如firewall-cmd --set-log-denied=xml記錄被拒絕的流量);
  • 日志文件默認位于/var/log/firewalld(或通過journalctl -u firewalld查看實時日志);
  • 定期分析日志(如使用grep、awk提取異常IP、端口),及時發現暴力破解、掃描等攻擊。

7. 定期審查與更新規則

  • 定期檢查規則有效性(如firewall-cmd --list-all查看當前規則),移除不再使用的端口或服務(如舊業務對應的端口);
  • 隨著業務變化(如新增網站、調整服務端口),及時更新防火墻規則;
  • 定期更新firewalld軟件包(sudo yum update firewalld),修補安全漏洞。

8. 強化SSH安全配置

SSH是遠程管理的關鍵服務,需通過防火墻配合強化安全:

  • 限制SSH訪問IP(僅允許管理員IP訪問):firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='管理員IP' port protocol='tcp' port='22' accept";
  • 更改默認SSH端口(如2222),減少自動化工具掃描;
  • 禁用root登錄(sudo vim /etc/ssh/sshd_config修改PermitRootLogin no),使用密鑰認證(PubkeyAuthentication yes)。

9. 備份與恢復配置

修改防火墻規則前,備份當前配置(sudo cp -r /etc/firewalld /etc/firewalld.bak);
若配置錯誤導致無法訪問,可通過備份恢復(sudo cp -r /etc/firewalld.bak/* /etc/firewalld/),或使用firewall-cmd --reload重新加載默認規則。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女