geerlingguy.ssh-chroot-jail
Ansibleロール: SSH chroot監獄の設定
SSHユーザーを監獄に制限するためのchroot監獄を設定します。限られた機能へのアクセスを許可する必要があるサーバーに便利です。
要件
OpenSSHサーバーが必要です。geerlingguy.security
は不要ですが、サーバーをできるだけ安全にするために、そのロール(または同様のもの)を推奨します。
ロール変数
利用可能な変数は以下に示されており、デフォルト値も記載しています(defaults/main.yml
を参照):
ssh_chroot_jail_path: /var/jail
chroot監獄のルートパス。
ssh_chroot_jail_group_name: ssh_jailed
監獄に入れられるユーザーが追加されるグループ。
ssh_chroot_jail_users:
- name: foo
home: /home/foo
shell: /bin/bash
chroot監獄にいるべきユーザーのリスト。自分でユーザーを管理したい場合は、デフォルト([]
)のままにしてください。
ssh_chroot_jail_dirs:
- bin
- dev
- etc
- lib
- lib64
- usr/bin
- usr/lib
- usr/lib64
- home
監獄内に存在すべき基本ディレクトリ。
ssh_chroot_jail_devs:
- { dev: 'null', major: '1', minor: '3' }
- { dev: 'random', major: '5', minor: '0' }
- { dev: 'urandom', major: '1', minor: '5' }
- { dev: 'zero', major: '1', minor: '8' }
監獄内に存在すべきデバイス。
ssh_chroot_bins:
- /bin/cp
- /bin/sh
- /bin/bash
- /bin/ls
...
- /usr/bin/tail
- /usr/bin/head
- /usr/bin/awk
- /usr/bin/wc
...
- bin: /usr/bin/which
l2chroot: false
監獄にコピーするべきバイナリのリスト。各バイナリのライブラリ依存関係も、ロールに含まれるl2chroot
スクリプトを使用して監獄にコピーされます。このタスクをスキップするには、bin
キーを明示的に設定し、l2chroot: false
とします。
ssh_chroot_l2chroot_template: l2chroot.j2
ssh_chroot_l2chroot_path: /usr/local/bin/l2chroot
l2chroot
をインストールするためのダウンロードURLとパス。
ssh_chroot_copy_extra_items:
- /etc/hosts
- /etc/passwd
- /etc/group
- /etc/ld.so.cache
- /etc/ld.so.conf
- /etc/nsswitch.conf
監獄にコピーすべき追加項目。
ssh_chroot_sshd_chroot_jail_config: |
Match group {{ ssh_chroot_jail_group_name }}
ChrootDirectory {{ ssh_chroot_jail_path }}
X11Forwarding no
AllowTcpForwarding no
監獄グループにいるユーザーの扱いを制御するためにサーバーのsshd_config
に追加する設定。
ssh_chroot_jail_dirs_recurse: true
監獄ディレクトリを追加する際、ディレクトリ追加を再帰的に行うかどうか。大量のディレクトリに数千のファイルがある場合や、遅いファイルシステムにディレクトリがある場合は、false
に設定してください。
依存関係
なし。
例示プレイブック
- hosts: servers
become: yes
roles:
- geerlingguy.security
- geerlingguy.ssh-chroot-jail
vars/main.yml
内:
ssh_chroot_jail_users:
- name: janedoe
home: /home/janedoe
shell: /bin/bash
ライセンス
MIT (Expat) / BSD
作者情報
このロールは2017年にJeff Geerlingによって作成されました。彼はAnsible for DevOpsの著者です。
初期の開発を支援してくださったAcquiaに特別な感謝を申し上げます。
ansible-galaxy install geerlingguy.ssh-chroot-jail