Linux 雖具備 Unix 穩健架構,但開放原始碼特性使其面臨獨特安全挑戰。無廠商背書,使用者必須自行建構防禦體系。以下十招由淺入深,構建纏繞式防護。
編輯 /etc/inetd.conf,在無需服務前加 # 註解。除 http、smtp、telnet、ftp 外,tftp、imap/ipop、gopher、daytime、time、finger、systat、netstat 等均建議關閉。另檢查 /etc/services 埠口設定,並停用常駐型服務(如 NFS、NNTP),修改 /etc/rc.d/rc[n].d/ 或用 Runlevel 編輯器。
啟用影子密碼檔 /etc/shadow 限制讀取權限,或部署 PAM (Pluggable Authentication Modules) 動態調整驗證機制、支援更強加密、限制資源用量與登入時段地點,無需重編譯程式即可大幅提升安全性。
核心掌控硬體與網路,安全性至關僅啟用必要功能,避免膨脹核心留下攻擊面。訂閱安全郵件列表,第一時間套用修補程式。
使用 crack 等工具主動破解自家密碼檔,發現弱密碼即要求更換,防患未然。
依需求分配權限、分群組;設定 /etc/hosts.allow、/etc/hosts.deny 管控存取;即時刪除離職人員帳號;嚴格限制 root 遠端登入(/etc/securetty 僅允許本地虛擬終端機),遠端需先以一般帳號登入再 su 提權。
.rhosts、hosts.equiv 信任機制極度危險,確保 root 不在其中。PAM 可於 /etc/pam.d/rlogin 強制核准登入,廢除 .rhosts 機制。
SSH 以公開金鑰加密通訊,安全替代 rlogin、rsh、rcp,Windows 端亦可用 SSH 連線 Linux 伺服器。
sudo 讓一般用戶以自身密碼取得特定指令的 root 權限,並完整記錄操作日誌,利於審計。但需謹慎設定 /etc/sudoers,避免簡單指令(如 cat)被濫用竄改關鍵檔案。
定期檢視 /var/log/secure、messages、xferlog 等,關注:半夜登入、日誌中斷/刪除、陌生 IP、連續失敗嘗試、濫用 su、服務重啟記錄等異常徵兆。
單一系統無法達到 100% 安全。結合主機防火牆、網路防火牆、入侵偵測系統 (IDS),必要時尋求專業安全顧問協助,構建多層次防護纏繞。