Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
harbian-audit — 堅牢化されたDebian GNU/Linuxディストリビューションの監査 | Kitploit
ツール/GitHubGitHub/hardenedlinux/harbian-audit
クラウドインフラストラクチャセキュリティ構成監査クラウドセキュリティ
GitHubhardenedlinux/harbian-audit

harbian-audit

堅牢化されたDebian GNU/Linuxディストリビューションの監査

リポジトリを見る
47065534ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

harbian-audit ハードニング

はじめに

ハードニングされたDebian GNU/LinuxおよびCentOS 8ディストリビューションの監査。

主なテスト環境はDebian GNU/Linux 9/10/11/12/13、CentOS 8、Ubuntu 22であり、その他のバージョンは完全にはテストされていません。このリリースではデスクトップ関連の項目は実装されていません。

コードフレームワークはOVH-debian-cisプロジェクトに基づいており、Debian 9/10/11/12/13およびCentOS 8の機能に応じて元の実装の一部を修正し、STIG Red_Hat_Enterprise_Linux_7_V2R5、STIG Ubuntu V1R2、cisecurity.orgの推奨事項に対するチェック項目を追加・実装し、HardenedLinuxコミュニティによるいくつかのチェック項目も追加・実装しました。インフラの監査および適用機能が実装されており、自動修正可能な項目については自動修正機能が実装されています。

# bash bin/hardening.sh --audit-all
[...]
hardening                 [INFO] Treating /home/test/harbian-audit/bin/hardening/13.15_check_duplicate_gid.sh
13.15_check_duplicate_gid [INFO] Working on 13.15_check_duplicate_gid
13.15_check_duplicate_gid [INFO] Checking Configuration
13.15_check_duplicate_gid [INFO] Performing audit
13.15_check_duplicate_gid [ OK ] No duplicate GIDs
13.15_check_duplicate_gid [ OK ] Check Passed

[...]
################### SUMMARY ###################
      Total Available Checks : 271
         Total Checks Run : 271
         Total Passed Checks : [ 226/271 ]
         Total Failed Checks : [  44/271 ]
   Enabled Checks Percentage : 100.00 %
       Conformity Percentage : 83.39 %

クイックスタート

$ git clone https://github.com/hardenedlinux/harbian-audit.git && cd harbian-audit
# cp etc/default.cfg /etc/default/cis-hardening
# sed -i "s#CIS_ROOT_DIR=.*#CIS_ROOT_DIR='$(pwd)'#" /etc/default/cis-hardening
# bin/hardening.sh --init
# bin/hardening.sh --audit-all
hardening                 [INFO] Treating /home/test/harbian-audit/bin/hardening/1.1_install_updates.sh
1.1_install_updates       [INFO] Working on 1.1_install_updates
1.1_install_updates       [INFO] Checking Configuration
1.1_install_updates       [INFO] Performing audit
1.1_install_updates       [INFO] Checking if apt needs an update
1.1_install_updates       [INFO] Fetching upgrades ...
1.1_install_updates       [ OK ] No upgrades available
1.1_install_updates       [ OK ] Check Passed
[...]
################### SUMMARY ###################
      Total Available Checks : 284
         Total Checks Run : 284
         Total Passed Checks : [ 260/284 ]
         Total Failed Checks : [  24/284 ]
   Enabled Checks Percentage : 100.00 %
       Conformity Percentage : 91.55 %
# bin/hardening.sh --set-hardening-level 5
# bin/hardening.sh --apply 
hardening                 [INFO] Treating /home/test/harbian-audit/bin/hardening/1.1_install_updates.sh
1.1_install_updates       [INFO] Working on 1.1_install_updates
1.1_install_updates       [INFO] Checking Configuration
1.1_install_updates       [INFO] Performing audit
1.1_install_updates       [INFO] Checking if apt needs an update
1.1_install_updates       [INFO] Fetching upgrades ...
1.1_install_updates       [ OK ] No upgrades available
1.1_install_updates       [INFO] Applying Hardening
1.1_install_updates       [ OK ] No Upgrades to apply
1.1_install_updates       [ OK ] Check Passed
[...]

使用方法

事前インストール

最小限のCDからネットワークインストールを使用してDebian GNU/Linuxをインストールする場合、ハードニングツールを使用する前にパッケージをインストールする必要があります。

# apt-get install -y bc net-tools pciutils network-manager 

Redhat/CentOSでもハードニングツールを使用する前にパッケージをインストールする必要があります:

# yum install -y bc net-tools pciutils NetworkManager epel-release 

事前設定

ハードニング前にすべてのユーザーのパスワードを設定する必要があります。設定しないと、ハードニング完了後にログインできなくなります。例(OSユーザー:rootおよびtest):

 
# passwd 
# passwd test 

設定

ハードニングスクリプトはbin/hardeningにあります。各スクリプトにはetc/conf.d/[script_name].cfgに対応する設定ファイルがあります。

各ハードニングスクリプトは、設定ファイルから個別に有効化できます。例えば、以下はdisable_system_accountsのデフォルト設定ファイルです:

# Configuration for script of same name
status=disabled
# Put here your exceptions concerning admin accounts shells separated by spaces
EXCEPTIONS=""

statusパラメータは3つの値を取ることができます:

  • disabled(何もしない): スクリプトは実行されません。
  • audit(読み取り専用): スクリプトは変更を適用すべきかどうかをチェックします。
  • enabled(読み書き): スクリプトは変更が必要かどうかをチェックし、可能なものを自動的に適用します。

また、以下のコマンドでレベルを変更して設定項目を有効にすることもできます:

  1. 初回使用時にaudit-allでetc/conf.d/[script_name].cfgを生成
# bash bin/hardening.sh --audit-all
  1. set-hardening-levelで[script_name].cfgを有効化 以下のコマンドを使用してハードニングレベルを設定し、対応するレベルの監査エントリを有効にします。
# bash bin/hardening.sh --set-hardening-level <level>

グローバル設定はetc/hardening.cfgにあります。このファイルはログレベルとバックアップディレクトリを制御します。スクリプトがファイルを編集するように指示されるたびに、このディレクトリにタイムスタンプ付きのバックアップが作成されます。

実行(「ディストリビューションのハードニング」(ハードニング後は「After remediation」セクションを必ず実行してください))

チェックを実行し修正を適用するには、bin/hardening.shを実行します。

このコマンドには2つの主要な操作モードがあります:

  • --audit: 有効なすべてのスクリプトと監査モードのスクリプトでシステムを監査
  • --apply: 有効なすべてのスクリプトと監査モードのスクリプトでシステムを監査し、有効なスクリプトの変更を適用

さらに、--audit-allを使用すると、無効なスクリプトも含めてすべての監査スクリプトを強制的に実行できます。これはシステムを変更しません。

--audit-all-enable-passedは、設定を素早く開始する方法として使用できます。すべてのスクリプトを監査モードで実行します。スクリプトが合格した場合、将来の実行のために自動的に有効になります。すでに設定のカスタマイズを開始している場合は、このオプションを使用しないでください。

以下のコマンドを使用してOSをハードニングします:

# bash bin/hardening.sh --apply 

rsyslog設定

rsyslogを使用していて、harbian-auditのログを別のログファイルに出力したい場合、設定は以下の通りです:

user.info			/var/log/harbian-audit.log
user.*				-/var/log/user.log

ログはファイル/var/log/harbian-audit.logに出力されます。

docs/configurations/etc.iptables.rules.v4.shをファイアウォールルールに適用し、iptablesのログを別のログファイルに出力したい場合は、rsyslog.confに以下の行を挿入してください:

:msg,contains,"FW-"                     -/var/log/firewalllog.log
&                                       stop

修正後(非常に重要)

--applyを実行し、set-hardening-levelが5(最高レベル)に設定されている場合、以下を実行する必要があります:

  1. 9.4(suコマンドへのアクセス制限)を適用する場合、通常ユーザーは後続の操作を実行できないため、rootアカウントでOSにログインする必要があります。SSHによるリモートログインのみ可能な場合は、通常ユーザーでログインした後にsuコマンドを使用する必要があります。その後、以下を実行してください:
# sed -i '/^[^#].*pam_wheel.so.*/s/^/# &/' /etc/pam.d/su 

pam_wheel.soを含む行を一時的にコメントアウトします。suコマンドの使用が終了したら、その行のコメントを解除してください。

  1. 7.4.4_hosts_deny.shを適用すると、SSHサービスを介してOSに接続できなくなるため、/etc/hosts.allowにアクセスを許可するホストリストを設定する必要があります。例:
# echo "ALL: 192.168.1. 192.168.5." >> /etc/hosts.allow

この例では、192.168.1.[1-255]および192.168.5.[1-255]のみがこのシステムにアクセスできます。状況に応じて設定してください。

  1. 通常ユーザーにcapabilityを設定します。例(ユーザー名はtest):
# sed -i "/^root/a\test    ALL=(ALL:ALL) ALL" /etc/sudoers 
  1. 基本的なファイアウォールルールの設定 使用するアプリケーションに応じて、対応するファイアウォールルールを設定します。Debian GNU/Linux向けのHardenedLinuxコミュニティの基本的なファイアウォールルール:

Iptables形式のルール:

etc.iptables.rules.v4.sh まずiptables-persistentパッケージをインストールし、その後以下を実行します:

$ INTERFACENAME="your network interfacename(Example eth0)"
# bash docs/configurations/etc.iptables.rules.v4.sh $INTERFACENAME

# iptables-save > /etc/iptables/rules.v4 
# ip6tables-save > /etc/iptables/rules.v6 

nft形式のルール:

nftables.conf 以下を実行します(ネットワークインターフェース名(例: eth0)):

$ sed -i 's/^define int_if = ens33/define int_if = eth0/g' etc.nftables.conf 
# nft -f ./etc.nftables.conf 
  1. すべての修復が完了したら、--finalメソッドは以下を実行します:
    1. passwdコマンドを使用して通常ユーザーとrootユーザーのパスワードを変更し、pam_cracklibモジュール設定のパスワード複雑性と堅牢性を適用します。
    2. Aideを再初期化します。
# bin/hardening.sh --final

特別な注意

一部のチェック項目はさまざまな状況をチェックし、相互に依存しています。これらは複数回適用(修正)する必要があり、各適用(修正)後にOSを再起動する必要があります。

最初の適用後に適用しなければならない項目(適用後の再起動が望ましい)

8.1.35 この項目が設定されているため、監査ルールは追加されません。

すべての適用が完了した後に適用しなければならない項目

8.4.1
8.4.2
これらはすべてaideに関連しています。システム内のデータベースの整合性を修正するために、すべての項目を修正した後に修正するのが最善です。

2回修正が必要な項目

4.5

ハッキング

ソースの入手

$ git clone https://github.com/hardenedlinux/harbian-audit.git

カスタムハードニングスクリプトの追加

$ cp src/skel bin/hardening/99.99_custom_script.sh
$ chmod +x bin/hardening/99.99_custom_script.sh
$ cp src/skel.cfg etc/conf.d/99.99_custom_script.cfg
ツールをダウンロード