Skip to content

detectviz/twgcb-auto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TWGCB Shell 自動化設定框架

適用於 TWGCB-01-012_Red Hat Enterprise Linux 9政府組態基準說明文件(伺服器)v1.2_1140612

本專案是一個根據政府組態基準 (TWGCB) 自動產生的 Shell Script 自動化設定框架。它可以協助 Linux 系統管理者快速檢查並套用符合 TWGCB 規範的安全設定。

功能

  • 自動化規則生成:從 TWGCB.csv 資料集自動產生對應的 Shell 腳本。
  • 檢查與套用模式:支援 check(檢查)和 apply(套用)兩種操作模式。
  • 日誌記錄:所有執行過程都會被記錄到 /var/log/twgcb-auto.log 中,便於追蹤與稽核。
  • 模組化設計:每條規則都是一個獨立的腳本,易於管理和客製化。
  • 高安全性:主腳本強制要求 root 權限,且規則腳本以獨立的子程序執行,避免環境變數污染。

目錄結構

twgcb-auto/
├── twgcb.sh                  # 主控制程式,可指定 TWGCB-ID 執行
├── rules/                    # 儲存各項設定規則
│   ├── TWGCB-01-012-0001.sh
│   ├── TWGCB-01-012-0002.sh
│   └── …
├── config.list               # 列出預設需執行的規則 ID
└── README.md                 # 專案說明文件

使用方法

重要提示: 在生產環境中使用前,請務必在測試環境中充分驗證所有規則。部分規則(特別是涉及磁碟分割或網路設定的)可能需要手動介入。

先決條件

  • 腳本需要在 bash 環境下執行。
  • 需要 rootsudo 權限。

執行所有預設規則

此命令會讀取 config.list 中定義的所有規則 ID,並逐一執行。

  • 檢查模式

    sudo ./twgcb.sh check
  • 套用模式

    sudo ./twgcb.sh apply

執行單一規則

若要針對特定規則進行操作,可在指令後方加上該規則的 TWGCB-ID。

  • 檢查單一規則

    sudo ./twgcb.sh check TWGCB-01-012-0001
  • 套用單一規則

    sudo ./twgcb.sh apply TWGCB-01-012-0001

擴充與自訂

修改預設規則集

您可以直接編輯 config.list 檔案,加入或移除規則 ID,以自訂預設要執行的規則範圍。

修改單一規則

若要修改特定規則的行為,可以直接編輯位於 rules/ 目錄下的對應 Shell 腳本。每個腳本都包含 checkapply 函式,您可以根據需求修改其內容。

重新產生所有規則

如果您修改了 TWGCB.csv 檔案或 generate_rules.py 生成器腳本,可以透過以下指令重新產生所有規則腳本:

  1. 安裝 Python (如果尚未安裝)。
  2. 執行生成器 (可能需要分批執行以避免系統限制):
    # 產生所有規則
    python3 generate_rules.py
    
    # 產生 config.list
    python3 generate_rules.py --generate-config

注意事項

  • 手動規則:對於無法完全自動化的複雜規則(如磁碟分割),腳本會提示需要手動操作。請仔細閱讀腳本輸出,並遵循其提供的指引。
  • 備份:在執行 apply 模式前,強烈建議您備份重要資料和系統設定。
  • 相容性:此框架設計時已考慮 POSIX 相容性,但主要在現代 Linux 發行版(如 RHEL/CentOS, Ubuntu)上進行概念驗證。在其他系統上使用前,請先進行測試。

About

TWGCB 設定規則的政府組態基準資料集自動生成一套 Shell Script 自動化設定框架

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •