scathatheworm.security-settings
ansible-security-settings
企業向けオペレーティングシステムのコンプライアンスに関連するセキュリティ設定を強制するためのAnsibleロール
説明
このロールは、ログイン、パスワード管理、SSH、PAM、SELinux設定などに関するいくつかのセキュリティ設定を構成します。企業のコンプライアンス基準に基づいて設計されています。
構成する内容:
- ログイン失敗時の自動アカウントロックのためのPAMタリーとfaillockモジュール
- パスワード履歴
- パスワードの複雑性
- SSHのポート、ルートログイン、バナー、暗号化、ポートフォワーディングの設定
- SELinuxとファイアウォールの状態
- シェルのタイムアウト
- 物理的なsendbreakとCtrl-Alt-Delの無効化
- Linuxのauditd設定
- ファイアウォールの状態
- Magic SysRqの設定
パスワードの有効期限に関する変数:
名前 | デフォルト値 | 説明 |
---|---|---|
os_auth_pw_max_age |
60 | パスワードが変更を要求されるまでの最大日数 |
os_auth_pw_min_age |
10 | パスワードを変更できるまでの最小日数 |
os_auth_pw_warn_age |
7 | パスワードの有効期限前に警告される日数 |
passhistory |
6 | 再使用を避けるためのパスワードの数 |
パスワードの複雑性に関する変数:
名前 | デフォルト値 | 説明 |
---|---|---|
pwquality_minlen |
8 | パスワードの最小文字数 |
pwquality_maxrepeat |
3 | パスワード内で繰り返すことができる同一文字の最大数 |
pwquality_lcredit |
-1 | パスワードに含まれるべき小文字の数、2の場合は'-2'、それ以降同様 |
pwquality_ucredit |
-1 | パスワードに含まれるべき大文字の数、2の場合は'-2'、それ以降同様 |
pwquality_dcredit |
-1 | パスワードに含まれるべき数字の数、2の場合は'-2'、それ以降同様 |
pwquality_ocredit |
-1 | パスワードに含まれるべき特別な文字の数、2の場合は'-2'、それ以降同様 |
solaris_dictionary_minwordlength |
5 | Solarisの辞書の最小単語長 |
アカウントの非アクティブと失敗したログインに関する変数:
名前 | デフォルト値 | 説明 |
---|---|---|
fail_deny |
5 | アカウントがロックされる前に試行できる失敗したパスワードの回数 |
fail_unlock |
0 | 失敗したログインの後にアカウントがロック解除されるまでの秒数。0の場合、自動ロック解除が無効になり、パスワードはロックされたまま |
inactive_lock |
0 | アカウントがロックされる前に非アクティブでいられる日数。0の場合、非アクティブロックが無効 |
shell_timeout |
900 | 希望のシェルのタイムアウト(秒)。0で無効 |
システムサービスと設定に関する変数:
名前 | デフォルト値 | 説明 |
---|---|---|
selinux_state |
permissive | SELinuxの設定値 |
firewall_check |
false | ロールがファイアウォールの設定を確認するかどうか |
firewall_state |
stopped | ファイアウォールの望ましい状態 |
firewall_enable |
'no' | 望ましいファイアウォールの設定状態 |
disable_ctrlaltdel |
True | SolarisでControl-Alt-Delと物理的なsendbreakを無効にするかどうか |
solaris_disable_services |
false | 安全でないSolarisサービスを無効にする |
magic_sysrq |
1 | Linuxのkernel.sysrq設定の値 |
SSH設定に関する変数:
名前 | デフォルト値 | 説明 |
---|---|---|
sshrootlogin |
'no' | SSHのルートログインを許可、boolean評価を避けるためにシングルクォートを保持 |
sshportforwarding |
'no' | ポートフォワーディングの設定オプション、設定ファイルの値: yes, no, remote, local |
sshmainport |
22 | メインSSHポート |
sshextraport |
0 | 予備のSSHポート、0に設定すると追加ポートが無効に |
setloginbanner |
true | SSHでログインバナーを使用 |
sshd_solaris_restrict_ipv4 |
True | SolarisでSSH接続をIPv4に制限 |
ssh_enforce_ciphers |
True | SSHで強力な暗号とMACを強制。falseで無効にし、すべてのサポートされているMACと暗号を許可 |
sha1_mac_enabled |
False | SSHでのSHA1 HMACの使用を無効にします |
md5_mac_enabled |
False | SSHでのMD5 HMACの使用を無効にします |
truncated_mac_enabled |
False | SSHで短縮された96ビットHMACの使用を無効にします |
cbc_ciphers_enabled |
False | SSHでのCipher Block Chainingモードの暗号の使用を無効にします |
sweet32_ciphers_enabled |
False | SSHでの64ビットCipher Block Chainingモードの暗号の使用を有効にします |
rc4_ciphers_enabled |
False | SSHでのarcfour暗号の使用を有効にします |
nist_curves_enabled |
false | NIST KEXカーブ暗号を無効にします |
logjam_sha1_enabled |
false | SHA1 KEXアルゴリズムを無効にします |
監査設定に関する変数:
名前 | デフォルト値 | 説明 |
---|---|---|
auditd_configure: |
true | auditdの設定管理を有効に |
auditd_max_log_filesize |
25 | 監査の最大ログファイルサイズ(MB) |
auditd_num_logs |
8 | 保持する最大監査ログの数 |
security_audit_datetime_changes |
true | auditdがすべての日付または時間の変更を追跡 |
security_audit_account_modifications |
true | auditdがすべてのアカウント変更を追跡 |
security_audit_network_changes |
true | auditdがすべてのネットワーク設定変更を追跡 |
security_audit_selinux_changes |
true | auditdがSELinux設定の変更を追跡 |
security_audit_permission_changes |
false | auditdがすべてのファイル権限の変更を追跡 |
security_audit_fileaccess_failedattempts |
false | auditdがすべての不正アクセス試行を追跡 |
security_audit_filesystem_mounts |
true | auditdがすべてのファイルシステムのマウント/アンマウントを追跡 |
security_audit_deletions |
false | auditdがすべてのファイル削除を追跡 |
security_audit_sudoers |
true | auditdがすべてのsudoersルールの変更を追跡 |
security_audit_kernel_modules |
false | auditdがすべてのモジュール操作とsysctl設定を追跡 |
security_audit_logon |
true | auditdがすべてのログイン/ログアウト/セッションを追跡 |
security_audit_elevated_privilege_commands |
true | auditdがすべての特権昇格コマンドを追跡 |
security_audit_all_commands |
false | auditdがすべてのコマンドを追跡 |
security_audit_log_integrity |
false | auditdがログとログ設定の整合性を監視 |
security_audit_configuration_immutable |
false | auditdのルールを不変にし、変更には再起動が必要 |
security_audit_custom_rules |
empty | 定義された場合は、完全な監査ルールを含むマルチライン変数 |