Directorio de usuario de la cárcel SSH a Home en Linux

Directorio de usuario de la cárcel SSH a Home en Linux

El encarcelamiento de un usuario de SSH a su directorio de inicio le permite (el administrador) ejercer mucho control y seguridad sobre las cuentas de los usuarios en un sistema Linux.

El usuario encarcelado todavía tiene acceso a su directorio de inicio, pero no puede atravesar el resto del sistema. Esto mantiene todo lo demás en el sistema privado y evitará que algo sea manipulado por un usuario de SSH. Es una configuración ideal para un sistema que tiene varios usuarios y los archivos de cada usuario deben mantenerse privados y aislados de los demás.

En esta guía, le mostraremos las instrucciones paso a paso para encarcelar a un usuario de SSH a su directorio de inicio.

En este tutorial aprenderás:

  • Cómo encarcelar el usuario del usuario de SSH al directorio de inicio
Directorio de usuario de la cárcel SSH a Home en Linux Requisitos de software y convenciones de línea de comandos de Linux
Categoría Requisitos, convenciones o versión de software utilizada
Sistema Cualquier distribución de Linux
Software Servidor openssh
Otro Acceso privilegiado a su sistema Linux como root o a través del sudo dominio.
Convenciones # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Directorio de usuario de la cárcel a casa con chroot



Abra una terminal y prepárese para escribir muchos comandos, ya que el proceso para configurar un chroot seguro está bastante prolongado. Querrá elevar a la cuenta de usuario root o usar sudo para cada comando.

  1. Comience haciendo el directorio Chroot, que contendrá los diversos nodos, libs y shell para nuestros usuarios encarcelados.
    # mkdir /var /chroot 
  2. A continuación, copiemos algo esencial /desarrollo nodos al directorio chroot, que permite a los usuarios el uso básico del terminal.
    # mkdir/var/chroot/dev # cd/var/chroot/dev # mknod -m 666 null c 1 3 # mknod -m 666 tty c 5 0 # mknod -m 666 cero c 1 5 # mknod -m 666 aleator 1 8 


  3. A continuación, establezca permisos en el directorio de chroot. El usuario raíz deberá poseer el directorio para asegurarse de que los usuarios encarcelados no puedan dejarlo. Otros usuarios solo pueden leer y ejecutar permisos.
    # root chown: root /var /chroot # chmod 755 /var /chroot 
  4. A continuación, le dé a nuestros usuarios encarcelados un shell. Usaremos el shell bash en este ejemplo, aunque podría usar uno diferente si quisiera.
    # mkdir/var/chroot/bin # cp/bin/bash/var/chroot/bin 
  5. La cáscara de Bash requiere varios libraciones para ejecutarse, por lo que también deberán copiarse en el croote directorio. Puedes ver que libraciones son necesarios con el LDD dominio:
    # ldd /bin /bash linux-vdo.entonces.1 (0x00007ffd59492000) Libtinfo.entonces.6 =>/lib/x86_64-linux-gnu/libtinfo.entonces.6 (0x00007f91714cd000) libdl.entonces.2 =>/lib/x86_64-linux-gnu/libdl.entonces.2 (0x00007f91714c7000) libc.entonces.6 =>/lib/x86_64-linux-gnu/libc.entonces.6 (0x00007f91712d5000) /lib64 /ld-linux-x86-64.entonces.2 (0x00007f917163a000) 

    Copie esos archivos al directorio de chroot:

    # mkdir -p/var/chroot/lib/x86_64-linux-gnu/var/chroot/lib64 # cp/lib/x86_64-linux-gnu/libtinfo.entonces.6, libdl.entonces.2, libc.entonces.6/var/chroot/lib/x86_64-linux-gnu # cp/lib64/ld-linux-x86-64.entonces.2/var/chroot/lib64 


  6. Ahora podemos crear el usuario y establecer una contraseña para la cuenta.
    # Ejemplo de userAdd # Ejemplo de aprobación 
  7. Añade el /etc/passwd y /etc/grupo archivos en el directorio de chroot.
    # mkdir/var/chroot/etc # cp/etc/passwd, group/var/chroot/etc 
  8. A continuación, necesitamos hacer algo de edición en el archivo de configuración SSH. Usar nano o tu editor de texto favorito para abrirlo.
    # sudo nano/etc/ssh/sshd_config 

    Agregue las siguientes líneas a la parte inferior del archivo.

    Ejemplo de usuario de coincidencia chrootdirectory /var /chroot 
    Configurar chroot para encarcelar a un usuario de SSH

    Guarde sus cambios y reinicie el servicio SSH para que los cambios entren en vigencia.

    # SystemCTL reiniciar SSHD 


  9. Cree un directorio de inicio para el usuario y le dé permisos adecuados.
    # mkdir -p/var/chroot/home/ejemplo # Ejemplo de chown: ejemplo/var/chroot/home/ejemplo # chmod 700/var/chroot/home/ejemplo 
  10. En este punto, el usuario debería poder iniciar sesión y usar comandos de bash nativos, pero no tendrán acceso a mucho. Déámenos acceso a más conceptos básicos como LS, CAT, ECHO, RM, VI, FECHA, MKDIR. En lugar de copiar manualmente todas las bibliotecas compartidas para estos comandos, puede usar el siguiente script para agilizar el proceso.
    #!/bin/bash # Este script se puede usar para crear un entorno chroot simple # escrito por LinuxConfig.org # (c) 2020 LinuxConfig en GNU GPL V3.0+ #!/bin/bash chroot = '/var/chroot' mkdir $ chroot para i en $ (ldd $* | grep -v dinámica | corta -d "" -f 3 | sed 's/: //' | sort | uniq ) hacer cp--parents $ i $ chroot hecho # arch amd64 if [-f /lib64 /ld-linux-x86-64.entonces.2]; Luego CP--Parents /Lib64 /Ld-Linux-X86-64.entonces.2 /$ chroot fi # arch i386 if [-f /lib /ld -linux.entonces.2]; luego CP--parents /lib /ld-linux.entonces.2 /$ chroot fi echo "chroot cárcel está lista. Para acceder a él ejecutar: chroot $ chroot " 
    Copiar

    Usando ese script, habilitemos algunos de estos comandos.

    # ./croot.sh /bin /ls, cat, eco, rm, vi, fecha, mkdir 

Finalmente hemos terminado. Puede SSH con el usuario que creó para asegurarse de que todo funcione correctamente.

# ejemplo ssh@localhost 
El usuario de SSH es encarcelado a la chroot pero tiene acceso a comandos básicos

Como puede ver, nuestro usuario tiene acceso a los comandos que le hemos dado y no puede acceder al resto del sistema fuera de Chroot.

Conclusión

En esta guía, vimos cómo encarcelar a un usuario de SSH a su directorio de inicio en Linux. Es un proceso largo, pero el script que hemos proporcionado debe ahorrar una gran cantidad de trabajo tedioso. Cailar a un usuario a un solo directorio es una muy buena manera de mantener la privacidad para los usuarios individuales en un servidor compartido.

Tutoriales de Linux relacionados:

  • Cosas para instalar en Ubuntu 20.04
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Archivos de configuración de Linux: los 30 principales más importantes
  • Cómo eliminar el bloatware de su móvil Samsung Android ..
  • Manejo de la entrada del usuario en scripts bash
  • ¿Puede Linux obtener virus?? Explorando la vulnerabilidad de Linux ..
  • Mint 20: Mejor que Ubuntu y Microsoft Windows?
  • Descarga de Linux
  • Cómo arrancar dual Kali Linux y Windows 10