geerlingguy.ssh-chroot-jail

Ansibleロール: SSH chroot監獄の設定

CI

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に特別な感謝を申し上げます。

プロジェクトについて

Simple SSH chroot jail management.

インストール
ansible-galaxy install geerlingguy.ssh-chroot-jail
ライセンス
mit
ダウンロード
237k
所有者
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns