Linux 開源意味著代碼可審計、漏洞可快速修復,但默認安裝往往為「易用」犧牲「安全」。本文提煉十大硬核加固技巧,構建纵深防禦體系。
/、/boot、/usr、/var、/tmp、/home、/opt 分離 — 防單一分區寫滿拖垮全盤、便於掛載屬性差異化。/usr、/boot、/lib、/sbin 掛載選項 ro,nodev,nosuid — 任何修改即觸發告警 (配合 auditd/fsmonitor)。/var、/tmp、/home、/dev/shm 加 noexec,nosuid,nodev — 防惡意腳本/二進制在數據目錄執行。chattr +i /etc/passwd /etc/shadow /etc/sudoers /bin/ls /bin/ps # 關鍵二進制/配置不可變 (連 root 也不能改)
chattr +a /var/log/messages /var/log/secure /var/log/audit.log # 日誌只能追加,防篡改/刪除
lsattr /etc/passwd # 驗證屬性
原理:內核層面攔截 write/truncate/unlink 系統調用,攻擊者即使獲取 root 也無法修改受保護文件,除非重啟進單用戶模式清除屬性 — 這會觸發啟動告警。
logrotate 腳本中:舊日誌 chattr +i、新日誌 chattr +a,實現「寫時只追加、歷史不可改」。
sha256sum / aide --init / tripwire 生成數據庫,存儲於只讀介質 (光盤/只讀 USB/異地只讀存儲)。aide --check 對比當前狀態,任何未授權變更即時報警。代價:~5-15% 性能損耗、部分舊二進制不兼容 (需重編譯) — **高安全等級系統必上**。
# /etc/sysctl.d/99-hardening.conf
kernel.randomize_va_space = 2 # 完全 ASLR
kernel.exec_shield = 1 # 執行保護 (舊參數)
vm.mmap_rnd_bits = 32 # mmap 基址隨機化位數
vm.mmap_rnd_compat_bits = 16 # 32 位兼容模式
kernel.kptr_restrict = 2 # 內核指針地址隱藏
kernel.dmesg_restrict = 1 # 非 root 禁用 dmesg
kernel.perf_event_paranoid = 3 # 限制 perf 事件
kernel.yama.ptrace_scope = 2 # 僅允許父進程 ptrace
net.core.bpf_jit_harden = 2 # eBPF JIT 硬化
/etc/shadow.fake)、偽造管理後台 — 僅記錄、告警。核心價值:將攻擊者注意力從真實資產轉移、獲取 0-day 樣本/攻擊鏈、賦藍隊反應時間。
iptables -A INPUT -s $ATTACKER -j DROP 或 route add -host $ATTACKER reject。# 內核配置
CONFIG_MODULE_SIG=y
CONFIG_MODULE_SIG_ALL=y
CONFIG_MODULE_SIG_SHA512=y
CONFIG_MODULE_SIG_FORCE=y # 強制只載入簽名模塊
# 運行時鎖定
echo 1 > /proc/sys/kernel/modules_disabled # 禁用後續模塊載入 (不可逆,需重啟恢復)
防止 Rootkit 通過 insmod 載入惡意模塊 (隱藏進程/端口/文件、竊取憑證)。
# 關鍵規則
-a always,exit -F arch=b64 -S execve -k exec_log # 所有命令執行
-w /etc/passwd -p wa -k passwd_change # 關鍵文件讀寫
-w /etc/sudoers -p wa -k sudoers_change
-w /etc/ssh/sshd_config -p wa -k sshd_config_change
-a always,exit -F arch=b64 -S mount -k mount_operations # 掛載操作
# 查詢
ausearch -k exec_log --start today
aureport --summary
-P INPUT DROP、-P FORWARD DROP,僅放行業務端口、管理跳板機 IP、監控探測 IP。Listen 192.168.1.10:22 (SSH 僅聽內網管理 IP),bind-address = 127.0.0.1 (MySQL/Redis 僅本地)。sysctl -w net.ipv6.conf.all.disable_ipv6=1。安全不是產品,是流程。這十大技巧覆蓋存儲完整性、內核防護、訪問控制、主動誘捕、可觀測性、網絡暴露面、供應鏈信任、自動化合規 八大維度。從「安裝即加固」開始,讓每一台 Linux 都成為攻擊者難以逾越的堡壘。