siw36.ansible_ssh_hardening
ansible-sshハードニング
このロールは、基本的なSSHハードニングタスクを実行します。主な内容は以下です:
- SSHポートの変更
- SSHパスワード認証の無効化
- SELinux設定の設定
- firewalldに新しいSSHポートを許可
- SSH用にfail2banをインストールおよび設定
このロールの取得方法
ansible-galaxy install --roles-path ./roles/ siw36.ansible_ssh_hardening
要件
- RHELベースのOS(RHEL/CentOS/Fedora)
- Python 3をデフォルトのPythonインタープリターとして使用
- リモートホストで使用するユーザーは、パスワード確認なしに
sudo
コマンドを実行できる権限を持っている必要があります。
ロール変数
名称 | 説明 | デフォルト値 |
---|---|---|
sshPort | 新しいSSHポート | 1337 |
f2bEnabled | SSHのためにfail2banを有効にする | true |
f2bRetries | 禁止される前に許可される失敗したログインの数 | 5 |
f2bBanTime | 禁止される時間(秒) | 3600 |
f2bIgnoreIP | 無視するIP/Subnetのリスト | 127.0.0.1/32 |
vmAdmins | マシンへのアクセスを持つべきユーザーアカウントと公開SSHキーのリスト | <なし - オプション> |
allowedInterfaces | SSHDサービスが使用可能なネットワークインターフェースのリスト | <なし - オプション> |
例のプレイブック
playbook.yml
- hosts: servers
become: true
roles:
- siw36.ansible_ssh_hardening
vars/main.yml
vmAdmins:
- user: siw36
sshKey: ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx siw36
allowedInterfaces:
- eth0
ライセンス
GNU一般公衆ライセンス v3.0
著者情報
作成者:Robin 'siw36' Klussmann (07/2019)