萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

強化 Linux 系統安全的 9 大核心策略

資安無絕對,唯有縱深防禦。本文彙整 9 項經實戰驗證的 Linux 系統安全強化措施,涵蓋核心存取控制、服務收斂、漏洞管理、防火牆、稽核、入侵偵測與加密,適合作為基線核對清單。

1. 啟用 SELinux / AppArmor 強制存取控制 (MAC)

  • 超越傳統 DAC (rwx),提供**標籤型**精細權限:限制程序只能存取特定類型檔案、埠口、能力。
  • 模式:Enforcing (強制) > Permissive (僅記錄) > Disabled。
  • 管理工具:sestatus, getenforce, setenforce, audit2allow (由拒絕日誌產生政策)。

2. 原則最小化:停用/移除非必要服務與套件

systemctl list-unit-files --state=enabled  # 檢視啟動服務
systemctl disable --now unused-service     # 停用並禁用
dnf remove / apt purge unused-package      # 徹底移除套件

減少攻擊面,降低修補負擔。

3. 訂閱漏洞情資與自動化修補

  • 來源:SecurityFocus, NVD, 發行版安全公告 (RHSA, DSA, USN)。
  • 工具:dnf-automatic, unattended-upgrades, yum-cron 自動安裝安全更新。
  • 容器環境:掃描映像漏洞 (trivy, grype, clair),CI/CD 管線整合阻斷高風險映像部署。

4. 建立 iptables/nftables 防火牆預設拒絕規則集

# 預設拒絕所有輸入/轉發,僅允許明確需要的埠
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT   # 或依策略限制輸出

# 允許已建立/相關連線
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# 允許本地回環
iptables -A INPUT -i lo -j ACCEPT
# 允許 SSH (限管理 IP)
iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 22 -j ACCEPT
# 允許 Web
iptables -A INPUT -p tcp --dport 80,443 -j ACCEPT

# 持久化
iptables-save > /etc/iptables/rules.v4

5. 持續監控系統日誌與稽核

  • 集中日誌:rsyslog / syslog-ng → ELK / Loki / Graylog。
  • 關鍵日誌:/var/log/auth.log (登入), /var/log/secure, /var/log/audit/audit.log (SELinux/稽核)。
  • 工具:logwatch, fail2ban (暴力破解封鎖), auditd (檔案/系統呼叫稽核)。

6. 部署 Port Knocking 隱藏服務埠口

# iptables port knocking 範例 (需先敲 7000,8000,9000 才開放 22)
iptables -N KNOCK
iptables -A KNOCK -m recent --name knock1 --rcheck --seconds 10 -j ACCEPT
iptables -A INPUT -p tcp --dport 9000 -m recent --name knock2 --set -j DROP
iptables -A INPUT -p tcp --dport 8000 -m recent --name knock1 --set -j DROP
iptables -A INPUT -p tcp --dport 7000 -m recent --name knock0 --set -j DROP
iptables -A INPUT -p tcp --dport 22 -j KNOCK

客戶端:knock host 7000 8000 9000 && ssh host。

7. 全盤加密 (LUKS) 保護靜態資料

# 安裝時選擇加密分區,或事後加密資料盤
cryptsetup luksFormat /dev/sdb1
cryptsetup open /dev/sdb1 cryptdata
mkfs.ext4 /dev/mapper/cryptdata
mount /dev/mapper/cryptdata /data
# /etc/crypttab 設定開機解密 (需輸入密碼或金鑰檔)

防禦實體竊機、硬碟報廢流出資料。

8. 部署入侵偵測系統 (IDS/IPS)

  • Snort / Suricata:網路層 IDS/IPS,規則庫豐富 (Emerging Threats, Talos)。
  • Wazuh / OSSEC:主機層 HIDS,檔案完整性監控 (FIM)、Rootkit 掃描、日誌分析、主動回應。
  • AIDE / Tripwire:純 FIM 工具,建立資料庫指紋,定期比對異動。

9. 核心參數硬化

/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.conf.all.log_martians = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.tcp_syncookies = 1
kernel.kptr_restrict = 2
kernel.dmesg_restrict = 1
kernel.yama.ptrace_scope = 1
fs.protected_hardlinks = 1
fs.protected_symlinks = 1

Linux 安全強化示意圖

copyright © 萬盛學電腦網 all rights reserved