小課堂)
一、防火墻基礎防火墻概念防火墻工作在主機/網絡邊緣對進出數(shù)據(jù)包做規(guī)則校驗執(zhí)行放行或丟棄默認一般拒絕所有流量僅開放允許策略。防火墻分類分類維度類型說明按保護范圍主機防火墻保護單臺主機網絡防火墻保護整個局域網按實現(xiàn)方式硬件防火墻華為、華三、天融信等硬件設備軟件防火墻iptables、firewalld運行于普通服務器按 OSI 模型層級網絡層包過濾防火墻四層依據(jù)源目 IP、端口、協(xié)議過濾速度快不能識別應用層內容應用層防火墻 WAF七層防護 Web 攻擊輸入校驗、漏洞防護、防暴力破解缺點處理速度慢Linux 內核過濾子系統(tǒng)子系統(tǒng)說明Netfilter內核態(tài)數(shù)據(jù)包過濾框架iptablesIPv4 數(shù)據(jù)包過濾ip6tablesIPv6 數(shù)據(jù)包過濾arptablesARP 過濾防范 ARP 欺騙ebtables鏈路層過濾多用于橋接、VLAN 場景nftablesNetfilter 增強版處理數(shù)據(jù)包更快規(guī)則更新效率高統(tǒng)一接口管理多協(xié)議靜態(tài)防火墻 vs 動態(tài)防火墻類型特點代表靜態(tài)防火墻修改規(guī)則需要全量重載中斷現(xiàn)有連接傳統(tǒng) iptables 服務動態(tài)防火墻僅更新變更規(guī)則不中斷已有連接firewalld注意firewalld 只是上層管理工具真正執(zhí)行過濾的是內核 Netfilter不要同時開啟 firewalld 和 iptables 服務避免規(guī)則沖突。將網段交給指定 zone 處理firewall-cmd --add-source10.1.1.0/24 --zonehome網卡綁定 zonefirewall-cmd --change-interfaceens33 --zonepublic3. service 服務管理預定義服務命令說明firewall-cmd --add-servicehttp放行 http 服務firewall-cmd --remove-servicehttp刪除放行firewall-cmd --list-services查看放行的服務port 端口管理命令說明firewall-cmd --add-port5900/tcp放行端口firewall-cmd --remove-port5900/tcp刪除放行firewall-cmd --list-ports查看放行的端口地址偽裝 masqueradeSNAT作用內網主機共享公網 IP 訪問外網命令說明firewall-cmd --add-masquerade開啟地址偽裝firewall-cmd --query-masquerade查詢地址偽裝狀態(tài)端口轉發(fā) forward-portDNAT?? 前提當前 zone 必須開啟 masquerade場景命令本機 8000 端口轉發(fā)到本機 80firewall-cmd --add-forward-portport8000:prototcp:toport80本機 1022 轉發(fā)到其他機器 10.1.1.11 的 22 端口firewall-cmd --add-forward-portport1022:prototcp:toport22:toaddr10.1.1.11ICMPping控制場景命令禁止 ping阻止 echo-request 報文firewall-cmd --add-icmp-block echo-requesticmp-block-inversion 反向模式默認全部拒絕 ICMP只放行指定firewall-cmd --add-icmp-block-inversion徹底重載斷開舊連接讓 ICMP 規(guī)則立即生效firewall-cmd --complete-reload富規(guī)則 rich-rule優(yōu)先級高于普通 zone 規(guī)則可以控制源目 IP、日志、審計、速率限制。場景命令允許 10.1.8.10 ping 本機firewall-cmd --add-rich-rule‘rule familyipv4 source address“10.1.8.10” icmp-type name“echo-request” accept’direct 直接規(guī)則語法類似 iptables優(yōu)先級最高盡量優(yōu)先使用 firewalld 原生規(guī)則僅做補充使用。其他實用命令命令說明firewall-cmd --panic-on應急模式丟棄全部流量被攻擊時斷網firewall-cmd --panic-off關閉應急模式firewall-cmd --runtime-to-permanent將運行時規(guī)則保存為永久規(guī)則firewall-cmd --add-servicehttp --timeout30臨時生效 30 秒用于調試本機8000端口轉發(fā)到本機80firewall-cmd --add-forward-portport8000:prototcp:toport80本機 1022 轉發(fā)到其他機器 10.1.1.11 的 22 端口firewall-cmd --add-forward-portport1022:prototcp:toport22:toaddr10.1.1.117. ICMPping控制bash禁止ping阻止echo?request報文firewall-cmd --add-icmp-block echo-requesticmp-block-inversion 反向模式默認全部拒絕 ICMP只放行指定firewall-cmd --add-icmp-block-inversion徹底重載斷開舊連接讓ICMP規(guī)則立即生效firewall-cmd --complete-reload8. 富規(guī)則 rich?rule優(yōu)先級高于普通 zone 規(guī)則可以控制源目 IP、日志、審計、速率限制。bash允許10.1.8.10 ping本機firewall-cmd --add-rich-rule‘rule familyipv4 source address“10.1.8.10” icmp-type name“echo-request” accept’五、實操案例案例場景命令案例 1禁止單個 IP ping 本機firewall-cmd --permanent --add-rich-rule‘rule family“ipv4” source address“10.1.8.10” icmp-type name“echo-request” reject’firewall-cmd --complete-reload案例 2只允許指定 IP ping 本機firewall-cmd --permanent --add-icmp-block-inversionfirewall-cmd --permanent --add-rich-rule‘rule familyipv4 source address“10.1.8.10” icmp-type name“echo-request” accept’firewall-cmd --complete-reload六、圖形工具 firewall-config安裝軟件包后執(zhí)行 firewall-config 打開圖形界面可視化配置 zone、服務、端口、偽裝、端口轉發(fā)、富規(guī)則、網卡、源地址支持重載防火墻、開啟應急 panic 模式。重點總結firewalld 是動態(tài)防火墻底層依靠內核 Netfilter。區(qū)分 runtime 運行時與 permanent 永久配置reload 保留現(xiàn)有連接–complete-reload 斷開現(xiàn)有連接。zone 匹配優(yōu)先級source 源地址 interface 網卡 默認 zone。富規(guī)則優(yōu)先級最高做端口轉發(fā)必須開啟 masquerade。direct 直接規(guī)則優(yōu)先級最高盡量少用。