Red Hat Enterprise Linux 6 Security Guide@2011

Red Hat Enterprise Linux 6 安全指南主要論點闡述

本文件為 Red Hat Enterprise Linux 6 安全指南的內容摘要及詳盡解釋,旨在協助使用者及管理員學習如何保護工作站及伺服器,防範本地及遠端入侵、惡意利用及非法活動。指南聚焦於 Red Hat Enterprise Linux,但也闡述了適用於所有 Linux 系統的概念和技術。以下將提取並解釋其中的主要論點:

1. 電腦安全的重要性與基本原則

指南開宗明義地強調了電腦安全在現代社會中日益增加的重要性,這源於我們對電腦系統和網路的依賴,無論是商業交易還是個人資訊管理。安全不再是事後才考慮的環節,而應在系統規劃和部署之初就納入考量。

核心的安全目標可以用 CIA 三要素模型來概括:
* 機密性 (Confidentiality):確保敏感資訊僅供授權人員存取,防止未經授權的揭露。
* 完整性 (Integrity):保證資訊的準確性和完整性,防止未經授權的修改或破壞。
* 可用性 (Availability):確保資訊和系統在需要時可供授權人員存取。

達成這些安全目標需要多層次的控制措施,包括實體控制(如監控攝影機)、技術控制(如加密、防火牆、存取控制列表)和管理控制(如人員培訓、安全策略)。

2. 理解威脅與漏洞

要有效防禦,必須像攻擊者一樣思考。指南指出,系統和網路面臨各種威脅,了解攻擊者的工具、心態和動機至關重要。

常見的威脅來源包括:
* 不安全的架構:例如,將信任的本地網路暴露在不信任的網際網路上,或過度依賴單一中央伺服器造成單點故障。
* 伺服器漏洞:包括執行不必要的服務和開放的端口(增加了攻擊面)、使用未修補的服務(已知的漏洞)、管理不當(如使用預設密碼)以及服務本身固有的不安全性(如 Telnet 傳輸明文密碼)。
* 工作站漏洞:如使用弱密碼、存在漏洞的客戶端應用程式。

指南區分了「駭客」(Hacker) 和「破解者」(Cracker) 的概念,並引入了「白帽」、「黑帽」和「灰帽」駭客的分類,以說明不同的意圖。了解這些威脅類型有助於制定針對性的防禦策略。

3. 漏洞評估與安全更新的重要性

指南強調,沒有系統是絕對安全的,因此定期進行漏洞評估至關重要。漏洞評估是對自身系統和網路安全的內部審計,旨在識別潛在弱點,並在攻擊者發現並利用它們之前加以修補。

漏洞評估可以分為「由外向內看」和「由內向外看」兩種。評估工具(如 Nmap 用於掃描主機和開放端口)是此過程中的重要輔助。指南也區分了漏洞評估(找出弱點)與滲透測試(實際利用弱點)的不同。

更關鍵的是,及時應用安全更新是防止已知漏洞被利用的基本且最重要的措施。Red Hat 為其支援的產品版本發布包含安全修補程式的更新包 (Errata)。使用者應定期檢查並安裝這些更新,並驗證更新包的簽名 (GPG 簽名) 以確保其完整性和來源可信。建議配置自動更新或至少定期手動更新,特別是針對核心 (kernel) 和共享庫 (shared libraries) 等關鍵組件。

4. 強化系統安全措施

指南詳細闡述了如何在不同層面強化 Red Hat Enterprise Linux 系統的安全性。

4.1. 工作站安全

  • BIOS 和引導加載器安全:設置 BIOS 密碼和 GRUB 引導加載器密碼,防止未經授權的物理訪問者通過單用戶模式或使用外部媒體繞過系統安全控制。
  • 密碼安全:推廣使用強密碼策略(長度、字符組合、避免常見模式),並考慮實施密碼老化、帳戶鎖定(針對連續登錄失敗)和會話鎖定(屏幕保護)等措施。
  • 存取控制:利用 PAM 模塊(如 pam_accesspam_timepam_limits)細粒度地控制用戶對系統、服務和資源的訪問權限和時間限制。
  • 管理控制:限制直接以 root 用戶登錄(例如,設置 root 的 shell 為 /sbin/nologin,限制控制台登錄,禁用 SSH root 登錄),鼓勵使用 sudo 以可追溯的方式執行管理任務。設置空閒會話自動登出以降低風險。
  • 個人防火牆:使用防火牆配置工具 (system-config-firewall) 或手動配置 iptables 規則,限制對系統開放的網絡端口,僅允許必要的服務通過。

4.2. 伺服器安全

  • 服務最小化與保護:僅運行必需的網絡服務,並使用 netstat 等工具驗證正在監聽的端口。對於必需的服務,應謹慎配置並利用安全工具。
  • TCP Wrappers 與 xinetd:解釋這兩種工具如何在網絡服務接收請求前提供額外的訪問控制、日誌記錄和資源管理功能。推薦將 iptables、TCP Wrappers 和 xinetd 結合使用以構建多層防線。
  • 不安全服務的替代與保護:強調使用 SSH 替代 Telnet 和 RSH 等不安全協議。對於必須使用的不安全服務(如早期版本的 NFS/NIS),應仔細配置並置於防火牆之後。指南提供了保護 Portmap、NIS、NFS、Apache HTTP Server、FTP (vsftpd)、Postfix 和 Sendmail 的具體建議。
  • 網絡配置安全:禁用源路由(Source Routing),配置反向路徑過濾(Reverse Path Filtering)以防範 IP 欺騙。
  • 單點登錄 (SSO) 與 PAM:簡要介紹 SSO 和 PAM 作為底層身份驗證框架的作用。
  • Kerberos:作為一種強身份驗證服務,可以替代 NIS 等傳統的不安全認證機制。
  • 虛擬私人網絡 (VPN):解釋 VPN 如何通過加密隧道保護數據在公共網絡上的傳輸,並介紹了 Openswan 作為 Linux 上的 IPsec 實現。

5. 加密

指南強調了加密對於保護敏感數據的重要性,區分為「靜止數據」(Data at Rest) 和「傳輸中數據」(Data in Motion)。

  • 靜止數據:存儲在磁盤、備份介質上的數據容易受到物理盜竊。LUKS (Linux Unified Key Setup) 提供了全盤或分區加密功能,可保護整個存儲設備的內容,防止離線攻擊。GnuPG (GPG) 可用於加密單個文件,保護文件內容。
  • 傳輸中數據:在網絡上傳輸的數據容易被截獲或篡改。VPN 通過建立加密隧道保護所有網絡流量。SSH (Secure Shell) 提供安全的遠程登錄和文件傳輸,所有通信都是加密的。指南也提及 OpenSSL 的 AES-NI 引擎可以利用特定硬件加速加密/解密。

6. 系統稽核 (Auditing)

Linux 稽核系統 (auditd) 是追蹤系統安全相關事件的關鍵工具。指南闡述了稽核系統的架構(核心組件和用戶空間工具),並詳細解釋了其用途:
* 事件記錄:基於預設或自定義的規則,記錄系統上發生的安全相關事件,如文件訪問、系統調用、帳戶變更、認證嘗試等。
* 規則定義:可以使用 auditctl 命令或編輯 /etc/audit/audit.rules 文件來定義控制規則(影響稽核系統行為)、文件系統規則(監控特定文件/目錄)和系統調用規則(監控特定系統調用)。
* 日誌分析:解釋了稽核日誌文件 (/var/log/audit/audit.log) 的格式和內容,並介紹了 ausearch 工具用於搜索特定事件,aureport 工具用於生成報告和摘要,協助管理員檢測安全策略違規和進行事後取證分析。

稽核系統對於滿足各種安全認證和合規性標準(如 CAPP, LSPP, FISMA, PCI-DSS, STIG)至關重要。

7. 安全安裝與維護

指南強調,安全是一個持續的過程,始於系統安裝。

  • 安全安裝:建議在安裝時採用最小化安裝,僅安裝必需的軟體包以減少攻擊面。在磁盤分區時,建議為 /boot, /home, /tmp, /var/tmp 創建獨立分區,以提高系統穩定性和安全性。強烈推薦在安裝時就為敏感分區(尤其是 /home 和根分區 /)啟用 LUKS 加密。
  • 軟體維護:再次強調定期和及時安裝安全更新的重要性。建議從已知且受信任的軟體倉庫獲取更新包,並驗證其數字簽名,以確保軟體的完整性和真實性。

8. 合規性與漏洞掃描標準

指南簡要介紹了 SCAP (Security Content Automation Protocol) 標準,這是一個由 NIST 管理的標準集合,旨在提供自動化的安全內容(如配置檢查、漏洞評估)和掃描工具。同時提及了與 Red Hat Enterprise Linux 相關的聯邦標準和法規,如 FIPS 140-2(加密模塊認證,包括如何在 RHEL 6 中啟用 FIPS 模式)、NISPOM 和 PCI DSS,這些標準為企業提供了結構化的安全實施框架。

總結而言,Red Hat Enterprise Linux 6 安全指南的主要論點圍繞著構建一個多層次、主動式且持續性的安全體系展開。這包括:從基本原則(CIA)和威脅認知入手;在系統部署的初期階段就納入安全考量(安全安裝、最小化安裝、加密分區);在技術層面利用 RHEL 提供的豐富安全工具(防火牆、訪問控制、身份驗證、加密、SELinux、服務加固工具)加固系統;並通過持續的維護(更新、打補丁)、監控(稽核)和評估(漏洞掃描)來應對動態變化安全環境,最終達到或滿足特定的合規性要求。