buluma.ssh_chroot_jail

Rola Ansible ssh_chroot_jail

Prosta obsługa chroot jail dla SSH.

GitHub Wersja Zgłoszenia Żądania Pulla Pobrania
github Wersja Zgłoszenia ŻądaniaPull Rola Ansible

Przykładowy Playbook

Ten przykład pochodzi z molecule/default/converge.yml i jest testowany przy każdym wpushu, żądaniu pull i wydaniu.

---
- name: Zrealizuj
  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

Maszyna musi być przygotowana. W CI odbywa się to przy pomocy molecule/default/prepare.yml:

---
- name: Przygotuj
  hosts: all
  become: yes
  gather_facts: no

  roles:
    - role: buluma.bootstrap

Zobacz także pełne wyjaśnienie i przykład dotyczące używania tych ról.

Zmienne Roli

Domyślne wartości dla zmiennych są ustawione w 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

# Może obejmować typ: c, b, p
# c = urządzenie znakowe (z buforem) [domyślnie]
# b = urządzenie blokowe (buforowane)
# p = urządzenie FIFO
# cokolwiek innego może powodować błędy z mknod lub 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
  # Można również ustawić tryb, np. do ustawienia setuid lub różnych uprawnień.
  # - 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

Wymagania

Stan używanych ról

Poniższe role są używane do przygotowania systemu. Możesz przygotować swój system w inny sposób.

Wymaganie GitHub Wersja
buluma.bootstrap Ansible Molecule Wersja

Kontekst

Ta rola jest częścią wielu kompatybilnych ról. Zobacz dokumentację tych ról w celu uzyskania dodatkowych informacji.

Oto przegląd pokrewnych ról:

zależności

Kompatybilność

Ta rola była testowana na tych obrazach kontenerów:

kontener tagi
Debian wszystkie
Ubuntu wszystkie
Kali wszystkie

Minimalna wymagana wersja Ansible to 2.12, testy zostały wykonane na:

  • poprzedniej wersji.
  • bieżącej wersji.
  • wersji deweloperskiej.

Jeśli znajdziesz problemy, zarejestruj je w GitHubie

Dziennik zmian

Historia roli

Licencja

Apache-2.0

Informacje o autorze

Shadow Walker

Zainstaluj
ansible-galaxy install buluma.ssh_chroot_jail
Licencja
apache-2.0
Pobrania
2.9k
Właściciel
DevOps Engineer