踐:Ensure Broadcast ICMP Requests Are Ignored 修復(fù)指南)
適用環(huán)境企業(yè)業(yè)務(wù)系統(tǒng)生產(chǎn)環(huán)境 Linux 服務(wù)器檢查項(xiàng)來(lái)源企業(yè)安全基線 / CIS Benchmark / 等保 / 漏洞掃描平臺(tái)風(fēng)險(xiǎn)等級(jí)低僅內(nèi)核網(wǎng)絡(luò)參數(shù)不影響單播 Ping 連通性整改方式標(biāo)準(zhǔn)機(jī)對(duì)比 最小變更修復(fù)脫敏說(shuō)明文中192.168.1.255為文檔示例廣播地址非真實(shí)內(nèi)網(wǎng)拓?fù)淠夸浺弧⒈尘岸?、?wèn)題分析三、基線要求四、修復(fù)思路五、修復(fù)前檢查六、配置修復(fù)七、修復(fù)驗(yàn)證八、自動(dòng)化修復(fù)腳本九、回滾方案十、風(fēng)險(xiǎn)評(píng)估十一、整改收益十二、經(jīng)驗(yàn)總結(jié)一、背景在企業(yè) Linux 安全基線檢查過(guò)程中經(jīng)常會(huì)遇到如下檢查項(xiàng)檢查項(xiàng)內(nèi)容類(lèi)別Network Parameters (Host and Router)檢查項(xiàng)Ensure broadcast ICMP requests are ignored該項(xiàng)通常來(lái)源于企業(yè)安全基線、CIS Benchmark、等?;蚵┒磼呙杵脚_(tái)。檢查目標(biāo)是確認(rèn)系統(tǒng)是否忽略廣播地址發(fā)送的 ICMP Echo RequestPing請(qǐng)求從而避免系統(tǒng)成為網(wǎng)絡(luò)放大攻擊的一部分。本次整改針對(duì)某業(yè)務(wù)系統(tǒng)生產(chǎn)環(huán)境中的 Linux 服務(wù)器開(kāi)展采用標(biāo)準(zhǔn)機(jī)對(duì)比 最小變更修復(fù)的方式完成整改。二、問(wèn)題分析什么是廣播 ICMP 請(qǐng)求正常 Ping 通常是Client │ ├── ICMP Echo Request ▼ Server而廣播 Ping 則會(huì)向整個(gè)網(wǎng)段發(fā)送請(qǐng)求192.168.1.255網(wǎng)絡(luò)中的所有主機(jī)都有可能響應(yīng)。例如ping192.168.1.255如果服務(wù)器接受廣播 Ping 并回復(fù)將可能被攻擊者利用實(shí)施Smurf AttackSmurf 攻擊網(wǎng)絡(luò)放大攻擊網(wǎng)絡(luò)掃描DDoS 攻擊輔助三、基線要求系統(tǒng)應(yīng)開(kāi)啟如下內(nèi)核參數(shù)net.ipv4.icmp_echo_ignore_broadcasts 1參數(shù)含義參數(shù)值含義0響應(yīng)廣播 Ping1忽略廣播 Ping安全基線要求配置為1四、修復(fù)思路本次整改遵循統(tǒng)一原則標(biāo)準(zhǔn)機(jī)驗(yàn)證配置差異分析最小變更修復(fù)驗(yàn)證結(jié)果避免直接修改大量系統(tǒng)配置降低生產(chǎn)環(huán)境風(fēng)險(xiǎn)。五、修復(fù)前檢查查看當(dāng)前運(yùn)行參數(shù)sysctlnet.ipv4.icmp_echo_ignore_broadcasts輸出示例net.ipv4.icmp_echo_ignore_broadcasts 0表示系統(tǒng)仍會(huì)響應(yīng)廣播 Ping。六、配置修復(fù)方式一新增獨(dú)立配置文件推薦創(chuàng)建專(zhuān)用配置文件vi/etc/sysctl.d/99-icmp-broadcast.conf寫(xiě)入net.ipv4.icmp_echo_ignore_broadcasts 1加載配置執(zhí)行sysctl--system輸出類(lèi)似* Applying /etc/sysctl.d/99-icmp-broadcast.conf ...說(shuō)明參數(shù)已被系統(tǒng)加載。七、修復(fù)驗(yàn)證再次檢查sysctlnet.ipv4.icmp_echo_ignore_broadcasts返回net.ipv4.icmp_echo_ignore_broadcasts 1說(shuō)明運(yùn)行態(tài)已經(jīng)生效。檢查配置文件確認(rèn)配置已持久化grepicmp_echo_ignore_broadcasts /etc/sysctl.d/*.conf預(yù)期結(jié)果/etc/sysctl.d/99-icmp-broadcast.conf: net.ipv4.icmp_echo_ignore_broadcasts 1八、自動(dòng)化修復(fù)腳本為便于多臺(tái)服務(wù)器統(tǒng)一整改可封裝為標(biāo)準(zhǔn)化 Shell 腳本。文件名fix_icmp_broadcast_ignore.sh腳本內(nèi)容#!/bin/bashset-eechoechoFix: Ignore Broadcast ICMP RequestechoBACKUP_FILE/etc/sysctl.conf.bak.$(date%F-%H%M%S)cp-a/etc/sysctl.conf${BACKUP_FILE}echoBackup Created:echo${BACKUP_FILE}cat/etc/sysctl.d/99-icmp-broadcast.confEOF net.ipv4.icmp_echo_ignore_broadcasts 1 EOFechoApply sysctl...sysctl--system/tmp/sysctl_apply.log21echoVerify...RESULT$(sysctl-nnet.ipv4.icmp_echo_ignore_broadcasts)if[${RESULT}1];thenecho[PASS] net.ipv4.icmp_echo_ignore_broadcasts1elseecho[FAIL] Current value${RESULT}exit1fiechoCompleted.九、回滾方案若需要回退刪除配置文件rm-f/etc/sysctl.d/99-icmp-broadcast.conf重新加載sysctl--system或者恢復(fù)備份文件cp-a/etc/sysctl.conf.bak.YYYY-MM-DD-HHMMSS\/etc/sysctl.confsysctl--system十、風(fēng)險(xiǎn)評(píng)估本項(xiàng)整改屬于低風(fēng)險(xiǎn)配置。項(xiàng)目影響Web 服務(wù)無(wú)影響應(yīng)用服務(wù)無(wú)影響數(shù)據(jù)庫(kù)服務(wù)無(wú)影響SSH 遠(yuǎn)程登錄無(wú)影響SELinux無(wú)影響Firewalld無(wú)影響內(nèi)網(wǎng)業(yè)務(wù)訪問(wèn)無(wú)影響HTTPS 訪問(wèn)無(wú)影響實(shí)際影響僅為服務(wù)器不再響應(yīng)廣播 Ping 請(qǐng)求不影響正常單播 Pingping服務(wù)器IP仍可正常連通。十一、整改收益完成整改后可獲得以下收益滿(mǎn)足企業(yè) Linux 安全基線要求滿(mǎn)足 CIS Benchmark 相關(guān)控制項(xiàng)防止 Smurf Attack 攻擊降低網(wǎng)絡(luò)放大攻擊風(fēng)險(xiǎn)提高服務(wù)器網(wǎng)絡(luò)安全性提升安全掃描通過(guò)率十二、經(jīng)驗(yàn)總結(jié)本次整改屬于典型 Linux 內(nèi)核網(wǎng)絡(luò)參數(shù)加固場(chǎng)景。對(duì)于生產(chǎn)環(huán)境服務(wù)器推薦采用標(biāo)準(zhǔn)機(jī)對(duì)比 獨(dú)立 sysctl 配置文件 最小變更同步的實(shí)施方式而非直接修改大量系統(tǒng)默認(rèn)配置。通過(guò)將安全配置單獨(dú)存放于/etc/sysctl.d/目錄不僅便于后續(xù)審計(jì)和維護(hù)也能夠降低配置沖突風(fēng)險(xiǎn)適合作為企業(yè) Linux 基線整改的標(biāo)準(zhǔn)實(shí)踐。