Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

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

harbian-audit

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

リポジトリを見る
470652ヶ月前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コミュニティによるいくつかのチェック項目も追加・実装しました。インフラの監査および適用機能が実装されており、自動修正可能な項目については自動修正機能が実装されています。

root@kitploit:~
# 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 %

クイックスタート

root@kitploit:~
$ 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をインストールする場合、ハードニングツールを使用する前にパッケージをインストールする必要があります。

root@kitploit:~
# apt-get install -y bc net-tools pciutils network-manager 

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

root@kitploit:~
# yum install -y bc net-tools pciutils NetworkManager epel-release 

事前設定

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

root@kitploit:~
 
# passwd 
# passwd test 

設定

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

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

root@kitploit:~
# 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を生成
root@kitploit:~
# bash bin/hardening.sh --audit-all
  1. set-hardening-levelで[script_name].cfgを有効化 以下のコマンドを使用してハードニングレベルを設定し、対応するレベルの監査エントリを有効にします。
root@kitploit:~
# 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をハードニングします:

root@kitploit:~
# bash bin/hardening.sh --apply 

rsyslog設定

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

root@kitploit:~
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に以下の行を挿入してください:

root@kitploit:~
:msg,contains,"FW-"                     -/var/log/firewalllog.log
&                                       stop

修正後(非常に重要)

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

  1. 9.4(suコマンドへのアクセス制限)を適用する場合、通常ユーザーは後続の操作を実行できないため、rootアカウントでOSにログインする必要があります。SSHによるリモートログインのみ可能な場合は、通常ユーザーでログインした後にsuコマンドを使用する必要があります。その後、以下を実行してください:
root@kitploit:~
# 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にアクセスを許可するホストリストを設定する必要があります。例:
root@kitploit:~
# echo "ALL: 192.168.1. 192.168.5." >> /etc/hosts.allow

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

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

Iptables形式のルール:

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

root@kitploit:~
$ 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)):

root@kitploit:~
$ 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を再初期化します。
root@kitploit:~
# bin/hardening.sh --final

特別な注意

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

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

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

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

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

2回修正が必要な項目

4.5

ハッキング

ソースの入手

root@kitploit:~
$ git clone https://github.com/hardenedlinux/harbian-audit.git

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

root@kitploit:~
$ 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

チェック内容を説明するコードを書き、テストしたい場合は以下のコマンドを実行します

root@kitploit:~
$ sed -i "s/status=.+/status=enabled/" etc/conf.d/99.99_custom_script.cfg
$ bash bin/hardening.sh --audit --only 99.99
$ bash bin/hardening.sh --apply --only 99.99

ドキュメント

Debian GNU/Linux 9向けHarbian-auditベンチマーク

このドキュメントは、CISリファレンスドキュメントに含まれていないセクションへの追加説明です。STIGリファレンスドキュメントおよびHardenedLinuxコミュニティ推奨の追加チェックを含みます。

CIS Debian GNU/Linux 8 Benchmark v1.0.0
CIS Debian GNU/Linux 9 Benchmark v1.0.0
harbian audit Debian Linux 9 Benchmark

手動操作ドキュメント

grub2パスワード保護の設定方法
Debian 9でiptablesルールを永続化する方法
監査ログ用のaudisp-remoteのデプロイ方法
Debian 10でiptablesからnftablesに移行する方法
Debian 10でnftルールを永続化する方法
SELinuxアクセス拒否の修正方法

ユースケースドキュメント

Nodejs + redis + mysql デモ
Debian 9へのhyperledger-celloのデプロイ
nginx相互SSLプロキシHTTP
nginx相互SSLプロキシTCP-UDP

harbian-audit準拠イメージ

AMI(Amazonマシンイメージ)公開

ドキュメント

AMIを作成して公開する方法
GNU/Linux Debian 9向けharbian-audit準拠イメージの使用方法

QEMUイメージ

ドキュメント

harbian-audit準拠のDebian GNU/Linux 9 QEMUイメージを作成する方法
harbian-audit準拠のDebian GNU/Linux 9 QEMUイメージの使用方法

harbian-auditライセンス

GPL 3.0

OVH免責事項

このプロジェクトは、ツールのセットです。これらは、システム管理者が安全な環境を構築するための支援を目的としています。OVHではPCI-DSS準拠のインフラをハードニングするためにこれを使用していますが、お客様の環境で動作することを保証するものではありません。任意のホストを自動的にセキュアにすることはありません。

さらに、ライセンスに引用されているとおり:

THIS SOFTWARE IS PROVIDED BY OVH SAS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL OVH SAS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

OVHライセンス

3-Clause BSD

参考

  • Center for Internet Security: https://www.cisecurity.org
  • STIG V1R4: https://iasecontent.disa.mil/stigs/zip/U_Red_Hat_Enterprise_Linux_7_V1R4_STIG.zip
  • ファイアウォールルール: https://github.com/citypw/arsenal-4-sec-testing/blob/master/bt5_firewall/debian_fw
ツールをダウンロード