Linux 預設相對安全,但「預設」不等於「生產環境就緒」。本文整理四大核心強化策略:完整備份與完整性驗證、集中化日誌審計、關鍵分區唯讀掛載、最小權限與攻擊面縮減,並提供具體實作指令與工具鏈,助您構建纵深防禦體系。
dd if=/dev/sda of=/backup/golden.img.zst bs=1M status=progress (離線/單用戶模式)Clonezilla、FOG Project、Veeam Agent 進行映像備份。sha256sum -c golden.sha256、掛載映像比對關鍵檔案 (/bin, /sbin, /lib, /boot, /etc 核心設定)。aideinit 建立資料庫 → aide --check 定期比對 (cron/systemd timer)。/bin /sbin /lib /lib64 /boot /etc /usr/bin /usr/sbin /usr/lib。rpm -Va / dpkg -V:套件管理器自帶驗證功能,定期執行檢查套件檔案是否被竄改。製作包含驗證腳本的唯讀 Live USB (Ventoy + 自定 ISO),開機自動掛載系統分區、比對雜湊、檢查開機載入器 (GRUB/EFI) 完整性、檢測核心模組簽名。若驗證通過才允許進入生產環境。
# 專用機器:僅運行 rsyslog/syslog-ng + logrotate + 儲存 + 告警
# 硬體:大容量 RAID10/Erasure Coding、ECC 記憶體、雙電源
# 網路:隔離管理網段 (VLAN),僅允許 UDP/TCP 514、6514 (TLS)
# 服務:不運行 SSH (僅 Serial Console/Out-of-band)、無 Web 介面、無資料庫
# /etc/rsyslog.d/90-remote.conf
action(type="omfwd"
Target="logserver.internal"
Port="6514"
Protocol="tcp"
StreamDriver="gtls"
StreamDriverMode="1"
StreamDriverAuthMode="x509/name"
queue.type="LinkedList"
queue.size="100000"
queue.saveonshutdown="on"
action.resumeRetryCount="-1")
*.* @@logserver.internal:6514
gpg --sign --armor 或 WORM 儲存。fail2ban、Wazuh、Elastic SIEM、Splunk 規則:連續登入失敗、sudo 提權、核心模組載入、SELinux AVC、掛載/卸載、排程任務異常。| 分區 | 建議掛載選項 | 理由 |
|---|---|---|
| / | ro,relatime (或 rw 但配合 AIDE) | 核心系統檔案極少變動,唯讀防竄改 |
| /boot | ro,relatime,nosuid,nodev,noexec | 核心、initramfs、GRUB 極少更新,防惡意替換核心 |
| /usr | ro,relatime,nosuid,nodev | 所有套件安裝檔案,僅套件管理器更新時需 remount rw |
| /lib, /lib64, /sbin, /bin | ro (通常為 /usr 連結) | 同上 |
| /var | rw,relatime,nosuid,nodev,noexec | 必須可寫,但禁止執行二進制檔、禁止 SUID、禁止裝置節點 |
| /tmp, /var/tmp | rw,nosuid,nodev,noexec,relatime,size=2G (tmpfs) | 記憶體檔案系統,防執行惡意腳本,重啟自動清空 |
| /home | rw,relatime,nosuid,nodev,noexec (可選) | 防使用者執行惡意二進制,視業務需求決定 noexec |
| /srv | rw,relatime,nosuid,nodev,noexec | Web 根目錄等,禁止執行 CGIs/二進制 (除非必要) |
# /etc/fstab 範例
UUID=xxxx /boot ext4 ro,relatime,nosuid,nodev,noexec 0 2
UUID=yyyy /usr ext4 ro,relatime,nosuid,nodev 0 2
UUID=zzzz /var ext4 rw,relatime,nosuid,nodev,noexec 0 2
UUID=aaaa /tmp tmpfs rw,nosuid,nodev,noexec,size=2G 0 0
# 需更新套件時:mount -o remount,rw /usr; dnf update; mount -o remount,ro /usr
dnf remove $(dnf repoquery --unneeded)、apt autoremove --purge、最小化安裝 (Minimal Install)。systemctl disable --now cups bluetooth avahi-daemon ModemManager。ListenAddress 192.168.1.10 (sshd)、bind-address = 127.0.0.1 (MySQL)。setsebool -P httpd_can_network_connect_db=on,拒絕預設拒絕。setcap 'cap_net_bind_service=+ep' /usr/bin/nginx 替代 root 執行綁定 80/443 埠。kernel.kptr_restrict=2, kernel.dmesg_restrict=1, kernel.yama.ptrace_scope=1, net.ipv4.tcp_syncookies=1, fs.suid_dumpable=0, kernel.unprivileged_bpf_disabled=1。lynis audit system, openvas/gvm, rkhunter, chkrootkit。安全無絕對,唯有纵深防禦:備份可驗證、日誌不可竄改、關鍵路徑唯讀、最小權限運行、持續監控審計。將這四大支柱納入基礎設施即代碼、CI/CD 流水線、定期演練,才能在 0-day 漏洞、供應鏈攻擊、內部威脅面前保持韌性。