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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
puppet-os-hardening — このPuppetモジュールは、数多くのセキュリティ関連の設定を提供し、全方位的な基本保護を実現します。 | Kitploit
ツール/GitHubGitHub/dev-sec/puppet-os-hardening
クラウドインフラストラクチャセキュリティ脆弱性スキャナー構成監査ネットワークセキュリティDevSecOps認証
GitHubdev-sec/puppet-os-hardening

puppet-os-hardening

このPuppetモジュールは、数多くのセキュリティ関連の設定を提供し、全方位的な基本保護を実現します。

リポジトリを見る
290101885日前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
ウェブサイト

Puppet OS hardening

[Puppet Forge Version][1] [Puppet Forge Downloads][1] [Puppet Forge Endorsement][1] [Build Status][2]

目次

  1. モジュールの説明 - モジュールの機能と有用性
  2. セットアップ - os_hardening の基本
    • セットアップ要件
    • os_hardening の導入
  3. 使用方法 - 設定オプションと追加機能
    • Puppet Enterprise に関する重要事項
    • パラメータ
    • Hiera での使用方法
    • 導入・削除したいパッケージと無効化するサービスに関する注意事項
  4. 制限事項 - OS 互換性など
  5. 開発 - モジュールへの貢献ガイド
  6. テスト - コード変更に対する品質ゲート
    • ローカルテスト
    • PDK テスト
    • 統合テスト(Docker)
    • 統合テスト(DigitalOcean)
    • PR とフォークの CI テスト
  7. 連絡先
  8. 貢献者 + 謝辞
  9. ライセンスと作者

モジュールの説明

この Puppet モジュールは、ベース OS のセキュアな設定をハードニングによって提供し、DevSec Hardening Framework の一部です。

セットアップ

セットアップ要件

  • Puppet OpenSource または Enterprise
  • モジュール stdlib
  • モジュール sysctl

os_hardening の導入

このモジュールを追加した後、以下のクラスを使用できます:

class { 'os_hardening': }

すべてのパラメータはメインの os_hardening クラス内に含まれているため、次のように渡すだけです:

class { 'os_hardening':
  enable_ipv4_forwarding => true,
}

使用方法

Puppet Enterprise に関する重要事項

PE 環境でこのモジュールを使用する場合は、 pe_environment = true を設定する必要があります。 そうしないと、puppet はエラー(重複リソース)を出力します!

パラメータ

  • system_environment = 'default' システムが動作するコンテキストを定義します。一部のオプションは docker/lxc では機能しません。
  • pe_environment = false Puppet Enterprise を使用している場合は true に設定します。重要 - 上記参照
  • extra_user_paths = [] ユーザーの PATH 変数に追加のパスを追加します(デフォルトは空)。
  • umask = undef useradd / newusers による新しいホームディレクトリ作成時に使用される umask(例: '027')
  • maildir = undef maildir のパス(例: '/var/mail')
  • usergroups = true 各ユーザーに個別のグループを作成する場合は true、それ以外は false
  • sys_uid_min = undef および sys_gid_min = undef login.defs のデフォルト設定を上書きします
  • password_max_age = 60 パスワードの最大有効期間
  • password_min_age = 7 パスワードの最小有効期間(他のパスワード変更を許可する前)
  • password_warn_age = 7 パスワード変更期限前の警告日数
  • login_retries = 5 パスワードが不正な場合のログイン試行の最大回数(通常は PAM / auth_retries によって上書きされます)
  • login_timeout = 60 認証タイムアウト(秒)。この時間が経過するとログインは終了します
  • chfn_restrict = '' 通常ユーザーが chfn を使用して変更できるフィールド
  • allow_login_without_home = false ホームディレクトリのないユーザーのログインを許可する場合は true
  • allow_change_user = false ユーザーが su を使用してログインを変更できるかどうか
  • ignore_users = [] ハードニング対象外とするシステムユーザーアカウントの配列(パスワード無効化とシェルの /usr/sbin/nologin への設定)
  • folders_to_restrict = ['/usr/local/games','/usr/local/sbin','/usr/local/bin','/usr/bin','/usr/sbin','/sbin','/bin'] グループとその他ユーザーが書き込みアクセス権を持たないようにするフォルダ(およびその内容)
  • ignore_max_files_warnings = false /bin や /usr/bin など 1000 ファイルを超えるフォルダの再帰処理時に、puppet が max_files およびパフォーマンス警告をログに記録しないようにする場合は true
  • recurselimit = 5 再帰的な権限チェックのディレクトリ深度
  • passwdqc_enabled = true PAM で passwdqc を使用した強力なパスワードチェックを使用する場合は true
  • auth_retries = 5 アカウントが一定時間ロックされるまでの最大認証試行回数
  • auth_lockout_time = 600 認証失敗が多すぎてアカウントがロックされた場合に経過する必要がある時間(秒)
  • passwdqc_options = 'min=disabled,disabled,16,12,8' passwdqc に渡す任意のオプション行(文字列として)に設定します
  • manage_pam_unix = false このモジュールで pam_unix を管理する場合は true
  • enable_pw_history = true pam_unix にパスワード履歴を記憶させ、パスワードの再利用を防ぐ場合は true(manage_pam_unix = true が必要)
  • pw_remember_last = 5 記憶する過去のパスワード数(例: 5 はユーザーが直近 5 つのパスワードを再利用できないようにします)
  • only_root_may_su = false root と wheel グループのメンバーのみが su を使用できる場合は true。CIS Benchmark 準拠には true が必要です
  • root_ttys = ['console','tty1','tty2','tty3','tty4','tty5','tty6'] root 用に登録された TTY
  • whitelist = [] SUID/SGID ビットを保持すべきすべてのファイル(事前定義されたホワイトリストと組み合わせられます)
  • blacklist = [] SUID/SGID ビットを削除すべきすべてのファイル(事前定義されたブラックリストと組み合わせられます)
  • remove_from_unknown = false blacklist で明示的に設定されていないファイルから SUID/SGID ビットを削除する場合は true。これにより、すべての Puppet 実行でマウントされたファイルシステムを検索し、デフォルトおよびユーザーのブラックリストに設定されていない SUID/SGID ビットを探します。SUID/SGID ビットが見つかった場合、そのファイルが whitelist にない限り削除されます。
  • dry_run_on_unknown = false 上記の remove_from_unknown と同様ですが、SUID/SGID ビットは削除されません。ファイルシステムを検索して SUID/SGID ビットを探しますが、ログに出力するだけです。このオプションは、remove_from_unknown を SUID/SGID ビット用に最初に設定する場合にのみ推奨されます。変更されるファイルを確認し、whitelist と blacklist を調整できるようにするためです。
  • enable_module_loading = true システム実行中にカーネルモジュールの変更(例: modprobe、rmmod)を許可する場合は true
  • load_modules = [] enable_module_loading が false の場合、initramfs を介してこれらのモジュールをロードします
  • disable_filesystems = ['cramfs','freevxfs','jffs2','hfs','hfsplus','squashfs','udf'] 無効化すべきファイルシステム(カーネルモジュール)の配列
  • cpu_vendor = 'intel' enable_module_loading = false の場合のみ必要: ロードするモジュールの CPU ベンダーを設定します
  • icmp_ratelimit = '100' デフォルト値 '100'、上書きを許可、String が必要
  • desktop_enabled = false デスクトップシステム(Xorg、KDE/GNOME/Unity など)の場合は true
  • enable_ipv4_forwarding = false このシステムが IPv4 でのパケット転送を必要とする場合(例: ルーター)は true、それ以外は false
  • manage_ipv6 = true ipv6 セットアップをハードニングする場合は true、ipv6 を完全に無視する場合は false
  • enable_ipv6 = false このシステムで ipv6 を無効化する場合は false、有効化する場合は true
  • enable_ipv6_forwarding = false このシステムが IPv6 でのパケット転送を必要とする場合(例: ルーター)は true、それ以外は false
  • arp_restricted = true ARP の通知と応答の動作を制限する場合は true、それ以外は false
  • arp_ignore_samenet = false true は同じサブネットからのパケット以外をドロップします(arp_ignore = 2)、false はターゲット IP のみをチェックします(arp_ignore = 1)
  • enable_sysrq = false マジック sysrq キーを有効化する場合は true、それ以外は false
  • enable_core_dump = false コアダンプの作成を防ぐ場合は false、それ以外は true
  • enable_stack_protection = true Address Space Layout Randomization(ASLR)用。ASLR は特定の種類のバッファオーバーフロー攻撃を防ぐのに役立ちます。ASLR はベース、ライブラリ、ヒープ、スタックをプロセスのアドレス空間内のランダムな位置に配置できるため、攻撃プログラムが次の命令のメモリアドレスを予測することを困難にします。
  • enable_rpfilter = true リバースパスフィルタリングを有効化する場合は true(不正なパケットを破棄)、それ以外は false
  • rpfilter_loose = false (enable_rpfilter が true の場合のみ)true の場合は ルーズモード(rp_filter = 2)、それ以外は ストリクトモード
  • enable_log_martians = true 不審な / ルーティング不能なネットワークパケットのログ記録を有効化する場合は true、それ以外は false。警告 - 巨大なログファイルが生成される可能性があります!
  • unwanted_packages = [] システムから削除すべきパッケージ
  • wanted_packages = [] システムに追加すべきパッケージ
  • disabled_services = [] 有効化すべきでないサービス
  • enable_grub_hardening = false 一部の grub ハードニングルールを有効化するには true に設定
  • grub_user = 'root' grub プロンプトで設定変更時に提供する必要がある grub ユーザー名
  • grub_password_hash = '' grub-mkpasswd-pbkdf2 で作成され、grub_user に関連付けられるパスワードハッシュ
  • boot_without_password = true エントリの変更時のみパスワードを要求し、既存エントリの起動時には要求しないように Grub を設定
  • system_umask = undef この変数が設定されている場合、システム内のすべてのユーザーの umask を設定します(例: '027')
  • manage_home_permissions = false ローカルユーザーのファイルとディレクトリの権限を管理するには true に設定(g-w,o-rwx)
  • ignore_home_users = [] manage_home_permissions による制限対象外とするユーザーの配列
  • manage_log_permissions = false ログファイルの権限を管理するには true に設定(g-wx,o-rwx)
  • restrict_log_dir = ['/var/log/'] メインのログディレクトリを設定
  • ignore_restrict_log_dir = [] メインのログディレクトリ配下で除外するログディレクトリの配列
  • ignore_files_in_folder_to_restrict = [] folder_to_restrict 配列のディレクトリ内でハードニング対象外とするファイルの配列
  • manage_cron_permissions = false cron ファイルの権限を管理するには true に設定(og-rwx)
  • enable_sysctl_config = true sysctl 設定を無効化するには false に設定
  • manage_system_users = true システムユーザーの管理(空のパスワードと nologin シェルの設定)を無効化するには false に設定
  • shadow_group = undef /etc/shadow のグループ所有権を上書き
  • shadow_mode = undef /etc/shadow のファイル権限を上書き

Hiera での使用方法

パラメータを Hiera で設定することも可能です:

ツールをダウンロード