buluma.ssh_chroot_jail
Rol de Ansible ssh_chroot_jail
Gestión simple de cárceles chroot para SSH.
GitHub | Versión | Problemas | Solicitudes de Extracción | Descargas |
---|---|---|---|---|
Ejemplo de Playbook
Este ejemplo se toma de molecule/default/converge.yml
y se prueba con cada push, solicitud de extracción y lanzamiento.
---
- nombre: Convergencia
hosts: todos
become: true
vars:
ssh_chroot_l2chroot_path: /usr/bin/l2chroot
ssh_chroot_jail_users:
- name: foo
home: /home/foo
shell: /bin/bash
roles:
- rol: buluma.ssh_chroot_jail
La máquina necesita ser preparada. En CI, esto se hace utilizando molecule/default/prepare.yml
:
---
- nombre: Preparar
hosts: todos
become: yes
gather_facts: no
roles:
- rol: buluma.bootstrap
También consulta una explicación y ejemplo completo sobre cómo usar estos roles.
Variables de Rol
Los valores predeterminados para las variables están establecidos en 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
# puede incluir tipo: c, b, p
# c = dispositivo de caracteres (sin búfer) [el predeterminado]
# b = dispositivo de bloque (con búfer)
# p = dispositivo FIFO
# cualquier cosa más puede resultar en errores con mknod o 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
# También se puede establecer el modo, p. ej., para setuid o para establecer diferentes permisos.
# - 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: |
Coincidir con el grupo {{ ssh_chroot_jail_group_name }}
ChrootDirectory {{ ssh_chroot_jail_path }}
X11Forwarding no
AllowTcpForwarding no
ssh_chroot_jail_dirs_recurse: true
Requisitos
- Paquetes pip listados en requirements.txt.
Estado de los roles utilizados
Los siguientes roles se utilizan para preparar un sistema. Puedes preparar tu sistema de otra manera.
Requisito | GitHub | Versión |
---|---|---|
buluma.bootstrap |
Contexto
Este rol es parte de muchos roles compatibles. Echa un vistazo a la documentación de estos roles para más información.
Aquí hay una visión general de los roles relacionados:
Compatibilidad
Este rol ha sido probado en estas imágenes de contenedor:
contenedor | tags |
---|---|
Debian | todos |
Ubuntu | todos |
Kali | todos |
La versión mínima de Ansible requerida es 2.12, se han realizado pruebas en:
- La versión anterior.
- La versión actual.
- La versión de desarrollo.
Si encuentras problemas, por favor regístralos en GitHub
Historial de cambios
Licencia
Información del autor
Simple SSH chroot jail management.
ansible-galaxy install buluma.ssh_chroot_jail