linux:ssh:chroot

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Següent revisió
Revisió prèvia
linux:ssh:chroot [10/02/2016 08:44] – creado matelinux:ssh:chroot [08/05/2024 02:29] (actual) – [chroot (enjaulado)] mate
Línia 1: Línia 1:
 = chroot (enjaulado) = chroot (enjaulado)
-los usuarios se quedan encerrados en un directorio y no pueden salir de ahí (excepciones con ''mount --bind'')+los usuarios se quedan encerrados en un directorio y no pueden salir de ahí (excepciones con ''mount %%--%%bind'')
 <code bash sshd_config> <code bash sshd_config>
- 
 # override default of no subsystems # override default of no subsystems
 ##Subsystem     sftp    /usr/libexec/openssh/sftp-server ##Subsystem     sftp    /usr/libexec/openssh/sftp-server
Línia 18: Línia 17:
 ChrootDirectory /home/conexionesdftp ChrootDirectory /home/conexionesdftp
 ForceCommand internal-sftp ForceCommand internal-sftp
- 
 </code> </code>
  
Línia 24: Línia 22:
   * http://www.esdebian.org/wiki/enjaulado-sftp   * http://www.esdebian.org/wiki/enjaulado-sftp
  
-=== umask en conexiones SFTP enjauladas+== ssh chroot 
 +  * paso a paso: [[https://www.tecmint.com/restrict-ssh-user-to-directory-using-chrooted-jail/]] 
 +  * <code bash>mkdir -p /home/test 
 +ls -l /dev/{null,zero,stdin,stdout,stderr,random,tty} 
 +mkdir -p /home/test/dev/  
 +cd /home/test/dev/ 
 +mknod -m 666 null c 1 3 
 +mknod -m 666 tty c 5 0 
 +mknod -m 666 zero c 1 5 
 +mknod -m 666 random c 1 8 
 +chown root:root /home/test 
 +chmod 0755 /home/test 
 +ls -ld /home/test 
 +mkdir -p /home/test/bin 
 +cp -v /bin/bash /home/test/bin/ 
 +ldd /bin/bash 
 +mkdir -p /home/test/lib64 
 +cp -v /lib64/{libtinfo.so.5,libdl.so.2,libc.so.6,ld-linux-x86-64.so.2} /home/test/lib64/ 
 +useradd tecmint 
 +passwd tecmint 
 +mkdir /home/test/etc 
 +cp -vf /etc/{passwd,group} /home/test/etc/</code> 
 +  * ''vi /etc/ssh/sshd_config'':<code>#define username to apply chroot jail to 
 +Match User tecmint 
 +#specify chroot jail 
 +ChrootDirectory /home/test</code> 
 +  * <code bash>systemctl restart sshd</code> 
 +  * test de conexión. Sin comandos externos. 
 +  * añadir $HOME y otros comandos:<code bash>mkdir -p /home/test/home/tecmint 
 +chown -R tecmint:tecmint /home/test/home/tecmint 
 +chmod -R 0700 /home/test/home/tecmint 
 +cp -v /bin/ls /home/test/bin/ 
 +cp -v /bin/date /home/test/bin/ 
 +cp -v /bin/mkdir /home/test/bin/ 
 +ldd /bin/ls 
 +cp -v /lib64/{libselinux.so.1,libcap.so.2,libacl.so.1,libc.so.6,libpcre.so.1,libdl.so.2,ld-linux-x86-64.so.2,libattr.so.1,libpthread.so.0} /home/test/lib64/ 
 +</code> 
 +== quick reference 
 +  - crear grupo : <code bash>groupadd sftpusers</code> 
 +  - añadir usuario: <code bash>useradd -g sftpusers -d /incoming -s /sbin/nologin guestuser; passwd guestuser</code> 
 +    * o modificar uno existente: <code bash>usermod -g sftpusers -d /incoming -s /sbin/nologin john</code> 
 +  - modificar **/etc/ssh/sshd_config**:<code bash> 
 +#Subsystem      sftp    /usr/libexec/openssh/sftp-server 
 +Subsystem       sftp    internal-sftp</code> 
 +  - añadir al final del fichero **/etc/ssh/sshd_config**:<code bash> 
 +Match Group sftpusers 
 +        ChrootDirectory /sftp/%u 
 +        ForceCommand internal-sftp</code> 
 +    * en este caso, el directorio usado para almacenar los usuarios de SFTP es **/sftp/<user>/** 
 +  - comprobar que esté habilitado el login por contraseña en **/etc/ssh/sshd_config**:<code bash> 
 +PasswordAuthentication no</code> 
 +  - crear el directorio home : en este caso <code bash>mkdir -p /sftp/guestuser/incoming</code> 
 +  - asignar permisos (respetar el root:root de **/sftp/** y **/sftp/guestuser/**): <code bash>chown guestuser:sftpusers /sftp/guestuser/incoming</code> 
 +  - reiniciar el servicio: <code bash>service sshd restart</code> 
 + 
 +/via: [[https://www.thegeekstuff.com/2012/03/chroot-sftp-setup]] 
 + 
 +== umask en conexiones SFTP enjauladas
 método 1 (no probado): método 1 (no probado):
 <code bash sshd_config> <code bash sshd_config>
Línia 47: Línia 102:
 umask 022 # añadir al fichero para que las sesiones interactivas tengan un umask diferente al establecido en ''/etc/pam.d/sshd'' umask 022 # añadir al fichero para que las sesiones interactivas tengan un umask diferente al establecido en ''/etc/pam.d/sshd''
 </code> </code>
-http://sysadmin.circularvale.com/server-config/setting-a-umask-for-chrooted-sftp-users/+  * [[http://sysadmin.circularvale.com/server-config/setting-a-umask-for-chrooted-sftp-users/]] 
 +  * otras opciones? (2019-11-11): [[https://rm-rf.es/configurar-umask-para-sesiones-sftp/]]
  
  • linux/ssh/chroot.1455122684.txt.gz
  • Darrera modificació: 10/02/2016 08:44
  • per mate