buluma.ssh_chroot_jail
Ansibleロール ssh_chroot_jail
簡単なSSHのchrootジェイル管理。
GitHub | バージョン | 問題 | プルリクエスト | ダウンロード数 |
---|---|---|---|---|
例のプレイブック
この例はmolecule/default/converge.yml
から取り出され、各プッシュ、プルリクエスト、およびリリース時にテストされます。
---
- name: Converge
hosts: all
become: true
vars:
ssh_chroot_l2chroot_path: /usr/bin/l2chroot
ssh_chroot_jail_users:
- name: foo
home: /home/foo
shell: /bin/bash
roles:
- role: buluma.ssh_chroot_jail
マシンの準備が必要です。CIではmolecule/default/prepare.yml
を使って行います:
---
- name: Prepare
hosts: all
become: yes
gather_facts: no
roles:
- role: buluma.bootstrap
これらのロールの使い方については、完全な説明と例も参照してください。
ロール変数
変数のデフォルト値はdefaults/main.yml
で設定されています:
---
ssh_chroot_jail_path: /var/jail
ssh_chroot_jail_group_name: ssh_jailed
ssh_chroot_jail_users: []
ssh_chroot_jail_dirs:
- bin
- dev
- etc
- lib
- lib64
- usr/bin
- usr/lib
- usr/lib64
- home
# 型を含むことができます: c, b, p
# c = キャラクターデバイス(バッファなし)[デフォルト]
# b = ブロックデバイス(バッファあり)
# p = FIFOデバイス
# その他はmknodやsystemd-tmpfilesでエラーが発生する可能性があります
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_tmpfiles_conf_path: /etc/tmpfiles.d/ssh-chroot.conf
ssh_chroot_bins:
- /bin/cp
- /bin/sh
- /bin/bash
- /bin/ls
- /bin/rm
- /bin/cat
- /bin/grep
- /bin/sed
- /bin/chmod
- /bin/chown
- /bin/ed
- /bin/nano
- /usr/bin/tail
- /usr/bin/head
- /usr/bin/awk
- /usr/bin/wc
- /usr/bin/sort
- /usr/bin/uniq
- /usr/bin/cut
- /usr/bin/scp
- /usr/bin/tee
- /usr/bin/touch
- /usr/bin/vim
- /usr/bin/vi
- /usr/bin/dircolors
- /usr/bin/tput
- /usr/bin/free
- /usr/bin/top
- /usr/bin/find
- bin: /usr/bin/which
l2chroot: false
- /usr/bin/id
- /usr/bin/whoami
- /usr/bin/groups
# モードを設定することもできます。例:setuidや異なる権限を設定するため。
# - bin: /bin/ping
# mode: 4755
ssh_chroot_l2chroot_template: l2chroot.j2
ssh_chroot_l2chroot_path: /usr/local/bin/l2chroot
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
ssh_chroot_jail_dirs_recurse: true
要件
- requirements.txtにリストされているpipパッケージ。
使用されるロールの状態
システムを準備するために以下のロールが使用されます。場合によっては、システムを他の方法で準備することもできます。
要件 | GitHub | バージョン |
---|---|---|
buluma.bootstrap |
コンテキスト
このロールは、多くの互換性のあるロールの一部です。これらのロールに関する詳細は、ドキュメントを参照してください。
以下は関連するロールの概要です:
互換性
このロールは、以下のコンテナイメージでテストされています:
コンテナ | タグ |
---|---|
Debian | すべて |
Ubuntu | すべて |
Kali | すべて |
必要なAnsibleの最小バージョンは2.12です。以下のバージョンでテストが行われました:
- 前のバージョン
- 現在のバージョン
- 開発バージョン
問題が見つかった場合は、GitHubで報告してください。