Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux 系統安全加固實戰指南:從最小化安裝到權限管控

編輯:關於 Linux

沒有絕對安全的系統,只有持續加固的過程。Linux 系統安全加固的核心原則是「最小權限、最小服務、最小暴露面」。本文提供一套可落地的加固框架,涵蓋安裝階段、服務精簡、權限管控、審計與持續維護。

一、加固前的三個關鍵問題

動手前必須明確:

  1. 系統用途:Web 伺服器、資料庫、應用中介層、堡壘機?決定所需服務與開放連接埠。
  2. 必須運行的軟體:僅安裝業務必要套件,拒絕「以防萬一」安裝。
  3. 防護的威脅模型:外部入侵、內部洩露、勒索軟體、供應鏈攻擊?不同威脅對應不同防禦重點。

這三個問題呈因果鏈:用途決定軟體,軟體決定攻擊面,攻擊面決定防禦措施。

二、從「裸機」開始:最小化安裝與分區規劃

1. 磁碟分區隔離

將關鍵目錄掛載到獨立分區/邏輯卷,並設定掛載選項:

2. 最小化套件安裝

  • 安裝時選擇「最小安裝」或「核心套件群」。
  • 安裝後立即執行 yum update / apt update && apt upgrade 修補已知漏洞。
  • 移除無用套件:yum remove $(package-cleanup --leaves -q) (RHEL/CentOS)。

3. BIOS/UEFI 與開機載入器防護

  • 設定 BIOS/UEFI 密碼,禁止從外部媒體開機,僅允許硬碟開機。
  • 為 GRUB 2 設定密碼:grub2-setpassword,防止單用戶模式繞過認證。

4. 自訂核心編譯 (進階)

僅啟用必要的核心模組,禁用未使用的檔案系統、協定、驅動程式。使用 make localmodconfig 根據目前載入模組自動生成精簡配置。自訂核心能顯著減少核心層面的攻擊面,但維護成本較高,建議僅在高安全需求環境採用。

三、服務精簡:關閉不必要的網路服務

1. 盤點啟動服務

systemctl list-unit-files --state=enabled
systemctl list-units --type=service --state=running
ss -tulpn  # 檢查監聽連接埠

2. 常見可停用服務

  • 印表服務:cups
  • 郵件傳輸:postfix / sendmail (非郵件伺服器)
  • 遠端列印:rpcbind、nfs-server (非 NFS 伺服器)
  • 圖形介面:gdm/lightdm (伺服器無需桌面)
  • Avahi (mDNS):avahi-daemon

停用範例:systemctl disable --now cups postfix avahi-daemon

3. 必要服務的隔離運行

對於必須開放的網路服務:

  • 使用 chroot 或容器技術隔離檔案系統視野。
  • 啟用 SELinux/AppArmor 強制存取控制,限制進程存取範圍。
  • 以專用低權限帳號運行 (非 root),如 nginx、mysql、postgres。

四、權限管控與存取控制

1. 檔案系統權限審計

# 尋找全域可寫檔案
find / -type f -perm -o=w ! -path "/proc/*" ! -path "/sys/*" -exec ls -ld {} \;
# 尋找 SUID/SGID 執行檔
find / -type f \( -perm -4000 -o -perm -2000 \) -exec ls -ld {} \;

移除不必要的 SUID/SGID 位元:chmod a-s /path/to/binary

2. 使用者帳號管理

  • 鎖定/移除預設共用帳號 (games, lp, uucp 等)。
  • 強制強密碼策略:/etc/security/pwquality.conf 設定長度、複雜度、歷史記錄。
  • 啟用登入失敗鎖定:pam_faillock.so 或 pam_tally2.so。
  • 定期審計 /etc/passwd、/etc/shadow、/etc/group。

3. sudo 權限最小化

在 /etc/sudoers.d/ 建立專用規則檔,避免使用 ALL=(ALL) ALL。範例:

webadmin ALL=(nginx) NOPASSWD: /bin/systemctl reload nginx
dbadmin ALL=(postgres) /usr/bin/pg_dump

4. 敏感資料加密

  • 磁碟層面:LUKS 全盤加密或資料分區加密。
  • 檔案層面:gpg、age、sops 加密配置檔、備份檔、金鑰檔。
  • 傳輸層面:強制 TLS 1.2+,禁用弱加密套件。

五、網路層面加固

  • 防火牆預設拒絕:iptables -P INPUT DROP,僅開放業務必要連接埠。
  • SSH 強化:修改連接埠、禁用密碼登入、啟用金鑰、限制來源 IP、Fail2ban。
  • 核心網路參數 (/etc/sysctl.d/99-hardening.conf):
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.tcp_syncookies = 1
kernel.exec-shield = 1
kernel.randomize_va_space = 2

六、審計、日誌與入侵偵測

  • auditd:監控關鍵檔案變更、身份認證事件、權限提升。規則範例:-w /etc/passwd -p wa -k identity。
  • 日誌集中化:rsyslog / syslog-ng 轉發至集中日誌伺服器 (ELK, Graylog, Splunk),防止本地日誌被竄改。
  • 檔案完整性監控:AIDE / Tripwire 定期掃描系統關鍵檔案雜湊值。
  • 入侵偵測:Suricata / Zeek (網路層)、Wazuh / OSSEC (主機層)。

七、持續維護流程

  1. 自動化修補:dnf-automatic / unattended-upgrades 配合維護窗口自動套用安全更新。
  2. 漏洞掃描:定期執行 OpenVAS、Nessus、Lynis 掃描。
  3. 配置基線檢查:使用 OpenSCAP 對照 CIS Benchmarks、STIG 基線檢查合規性。
  4. 事件響應演練:每季進行桌面推演或實戰演練,驗證偵測、遏制、根除、恢復流程。

Linux 安全加固不是一次性專案,而是持續的生命週期管理。建立標準化加固基線映像 (Golden Image)、自動化合規檢查、完善的事件響應機制,才能在演進的威脅環境中保持防禦有效性。

Copyright © Windows教程網 All Rights Reserved
目錄建議掛載選項目的
/tmpnodev,nosuid,noexec防止惡意程式在暫存區執行
/varnodev,nosuid隔離日誌、郵件、資料庫檔案
/homenodev,nosuid限制使用者程式執行權限
/bootnodev,nosuid,noexec保護開機載入器