buluma.ssh_chroot_jail

Ansibleロール ssh_chroot_jail

簡単なSSHのchrootジェイル管理。

GitHub バージョン 問題 プルリクエスト ダウンロード数
github Version Issues PullRequests Ansible Role

例のプレイブック

この例は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

要件

使用されるロールの状態

システムを準備するために以下のロールが使用されます。場合によっては、システムを他の方法で準備することもできます。

要件 GitHub バージョン
buluma.bootstrap Ansible Molecule Version

コンテキスト

このロールは、多くの互換性のあるロールの一部です。これらのロールに関する詳細は、ドキュメントを参照してください。

以下は関連するロールの概要です:

dependencies

互換性

このロールは、以下のコンテナイメージでテストされています:

コンテナ タグ
Debian すべて
Ubuntu すべて
Kali すべて

必要なAnsibleの最小バージョンは2.12です。以下のバージョンでテストが行われました:

  • 前のバージョン
  • 現在のバージョン
  • 開発バージョン

問題が見つかった場合は、GitHubで報告してください。

変更履歴

ロールの履歴

ライセンス

Apache-2.0

著者情報

Shadow Walker

プロジェクトについて

Simple SSH chroot jail management.

インストール
ansible-galaxy install buluma.ssh_chroot_jail
ライセンス
apache-2.0
ダウンロード
2.9k
所有者
DevOps Engineer