系統安全無絕對,唯有透過纵深防禦提高攻擊成本。本文以 Red Hat 為例,針對 200-300 人企業桌面環境,從硬體、BIOS、分區、安裝、帳號、啟動載入器、sudo、登入管控等層面建立基線防護。
20-40GB 硬碟採用簡化分區:
/boot 40MB | swap 2x 記憶體 | / 剩餘空間
不獨立劃分 /home、/var,避免單一分區滿載導致系統異常,降低管理複雜度。採用 ext3 日誌檔案系統減少斷電資料損失風險。
su 或 sudo 切換。棄用 LILO 改用 GRUB: LILO 設定檔存明文密碼,GRUB 支援 MD5 雜湊。
/boot/grub/grub.conf 設定:
timeout 0(無其他 OS 時直接啟動)
password --md5 $1$LS8eV/$mdN1bcyLrIZGXfM7CkBvU1(用 grub-md5-crypt 產生)
編輯 /etc/sudoers(需用 visudo),限定可執行指令清單、記錄日誌、密碼驗證有效期 5 分鐘。避免直接給 root 密碼。
啟用 PAM pam_wheel.so 模組:編輯 /etc/pam.d/su,取消註釋:
auth required /lib/security/pam_wheel.so use_uid
僅允許 wheel 群組(GID 10)使用者 su - root。
usermod -G 10 username 將管理帳號加入 wheel 群組。
修改 /etc/login.defs:
PASS_MAX_DAYS 90 # 密碼最長使用 90 天
PASS_MIN_DAYS 0 # 密碼最短變更間隔
PASS_MIN_LEN 8 # 密碼最小長度 8 碼
PASS_WARN_AGE 7 # 過期前 7 天警告
FAIL_DELAY 10 # 登入失敗延遲 10 秒
FAILLOG_ENAB yes # 記錄失敗日誌
SYSLOG_SU_ENAB yes # 記錄 su 至 root 日誌
MD5_CRYPT_ENAB yes # 啟用 MD5 加密
編輯 /etc/securetty,註釋掉 tty1-tty9 等圖形/遠端終端,僅保留 vc/1-vc/11 虛擬主控台。強迫管理員先以一般帳號登入再 su,配合 PAM 輪組限制雙重防護。
修改 /etc/profile:
HISTSIZE=20 # 記憶 20 條指令
HISTFILESIZE=20 # 歷史檔案最大 20 條
TMOUT=600 # 閒置 600 秒自動登出
準備唯讀媒體(光碟/USB/離線儲存)備份核心指令,防範 Rootkit 替換:
/bin/su /bin/ps /bin/rpm /usr/bin/top /sbin/ifconfig /bin/mount
此為基線配置,生產環境仍需依風險評估持續深化。