Introduction

Operating System Security

  • 安裝過程中,系統有可能遭到入侵
    • 在安裝最新修補程式 (patches) 之前被入侵
  • 建立與部署系統應該是一個經過規劃的流程
    • 被設計來對抗這種威脅
  • 此流程必須
    • 評估風險並規劃系統部署
    • 先保護底層作業系統,再保護關鍵應用程式
    • 確保任何關鍵內容都受到保護
    • 確保使用適當的網路保護機制
    • 確保使用適當的流程來維持安全性

System Security Planning

  • 部署新系統的第一步是規劃
    • 對整個組織進行廣泛的安全評估
    • 在將成本降到最低的同時,最大化安全性
    • 決定系統、應用程式、資料與使用者的安全需求
    • 找出適合安裝與管理系統的人員與所需訓練

Operating System Hardening

  • 保護系統的第一個關鍵步驟: 保護 base OS
  • Basic steps
    • Install and patch the OS
    • Harden and configure the OS to adequately address the identified security needs of the system by
      • Removing unnecessary services, apps, and protocols
      • Configuring users, groups, and permissions
      • Configuring resource controls
    • Install and configure additional security controls
      • anti-virus, host-based firewalls, and IDS
    • Test the security of the basic OS to ensure that the steps taken adequately address its security needs

Initial Setup and Patching

  • 從安裝作業系統開始
  • 理想情況下,新系統應該在受保護的網路上建置
  • 完整的安裝與強化流程應該在系統部署到其預定位置之前完成
  • 初始安裝: 只安裝該系統所需的最少必要內容
  • 整體 boot 流程也必須被保護
  • 任何額外裝置驅動程式碼的完整性與來源都必須被仔細驗證
  • 系統必須保持最新狀態,並安裝所有關鍵安全相關修補程式
  • 在部署到正式環境之前,應先在測試系統上測試並驗證所有修補程式

Remove Unnecessary Services, Apps, and Protocols

  • 如果可執行的軟體套件越少,風險就越低
    • 任何軟體套件都可能包含軟體漏洞
    • 系統規劃流程應該識別真正需要的是什麼
  • 在進行初始安裝時,不應使用提供的預設設定
    • 預設設定: 為了最大化易用性與功能性,而不是安全性
    • 自訂安裝: 只安裝所需的套件

Configure Users, Groups, and Authentication

  • 並非所有能存取系統的使用者,都會對系統中的所有資料與資源擁有相同的存取權限
  • 提升的權限應該只限制給需要它們的使用者,而且只在執行特定工作時才使用
  • System planning
    • 系統中的使用者類別
    • 他們擁有的權限
    • 他們可以存取的資訊類型
    • 他們如何以及在哪裡被定義與驗證
  • 系統安裝時內建的 Default accounts 應該被妥善保護
    • 不需要的帳號應該被移除或停用
    • 應該設定套用於驗證憑證的政策
      • ex: 密碼長度、複雜度

Configure Resource Controls

  • 一旦使用者與群組被定義完成,就可以對資料與資源設定適當的權限
  • 許多安全強化指南都會提供對預設存取設定的建議修改列表

Install Additional Security Controls

  • 可以透過安裝與設定額外的安全工具來進一步提升安全性
    • Anti-virus software (multi-vendor)
    • Host-based firewalls
    • IDS or IPS software
    • App white-listing

Test the System Security

  • 流程的最後一步: 安全測試
  • Goal:
    • 確保先前的安全設定步驟已被正確實作
    • 識別任何可能存在的漏洞
  • 應該在系統初始強化之後進行
  • 並應定期重複執行,作為安全維護流程的一部分

Application Security

  • Application Configuration (設定)
    • May include
      • 為應用程式建立並指定適當的資料儲存區域
      • 對應用程式或服務的預設設定細節做出適當修改
    • Some apps or services may include
      • 預設資料
      • 腳本 (scripts)
      • 使用者帳號
    • 對於遠端存取服務尤其需要關注
      • Web 服務與檔案傳輸服務
      • 可以透過確保大部分檔案只能被讀取而不能被寫入來降低風險
  • Encryption technology
    • 一種關鍵的基礎技術: 用來保護傳輸中與儲存中的資料
    • 必須進行設定並建立、簽署與保護適當的 cryptographic keys
    • 如果提供安全的網路服務
      • 使用 TLS 或 IPSec 時,必須為它們產生適當的公鑰與私鑰
      • 使用 SSH 時,必須建立適當的伺服器與客戶端金鑰
    • 加密檔案系統是加密技術的另一種應用

Security Maintenance

  • 維持安全性的流程是持續性的
  • NIST SP 800-123 suggests to include
    • 監控並分析日誌 (logging) 資訊
    • 定期執行備份
    • 從安全入侵中復原
    • 定期測試系統安全性
    • 使用適當的軟體維護流程來修補 (patch) 與更新所有關鍵軟體,並在需要時監控與修改設定

Logging

  • NIST SP 800-12: Logging 是健全安全態勢的基石
    • 關鍵在於確保你擷取正確的資料,並適當地監控與分析這些資料
      • 資訊可能由系統、網路與應用程式產生
      • 所蒐集資料的範圍應該在系統規劃階段決定
      • 必須有足夠空間來儲存大量資訊
      • 較建議使用自動化分析
    • 它只能告訴你已經發生的壞事
    • 它可以讓管理員辨識到底發生了什麼事

Data Backup and Archive

  • 定期執行資料備份是一項關鍵的安全控制措施
    • 用來維持系統與使用者資料的完整性
  • Backup: 以固定時間間隔建立資料副本的流程
  • Archive: 長時間保存資料副本,以滿足法律與營運需求,能夠存取過去資料的流程
  • 需求與政策應該在系統規劃階段決定
    • 關鍵決策包括: 線上或離線、儲存在本地或運送到遠端地點

紅字整理

P9: Remove Unnecessary Services, Apps, and Protocols, When performing the initial installation, the supplied defaults should
not be used, Why?

  • 預設設定: 為了最大化易用性與功能性,而不是安全性
  • 自訂安裝: 只安裝所需的套件 (only the required packages are installed)