GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo ejecutar servicios DNS y FTP en una cárcel chroot

Como su nombre lo indica, una operación chroot cambia el directorio raíz aparente para un proceso en ejecución y sus hijos. Le permite ejecutar un programa (proceso) con un directorio raíz que no sea /. El programa no puede ver ni acceder a archivos fuera del árbol de directorio designado.

Por ejemplo, puede ejecutar un programa y especificar su directorio raíz como /home/oracle/jail. En este caso, el directorio raíz del programa es en realidad /home/oracle/jail. El programa no reconocería ni podría acceder a ningún archivo por encima de este directorio en la jerarquía. Este directorio raíz artificial se llama chroot jail. Su propósito es limitar el acceso al directorio de un atacante potencial. El chroot jail bloquea un proceso determinado y cualquier ID de usuario que esté usando para que el usuario vea solo el directorio en el que se está ejecutando el proceso. Para el proceso, parece que se está ejecutando en el directorio raíz.

Ejecución de servicios DNS y FTP en una cárcel chroot

Se configuran dos servicios para aprovechar las cárceles chroot. Puede configurar DNS para que named se ejecute en una cárcel. El servidor FTP vsftpd puede iniciar automáticamente chroot jails para clientes.

DNS en chroot Jail

El paquete bind-chroot le permite configurar named para que se ejecute en un chroot jail. Cuando instala este paquete, el /var/named/chroot se crea el directorio y se convierte en el directorio chroot jail para todos los archivos BIND.

  • El directorio /var/named se convierte en /var/named/chroot/var/named.
  • Los archivos
  • /etc/named* se convierten en archivos /var/named/chroot/etc/named*.

La instalación de este paquete también establece la variable de shell ROOTDIR en /var/named/chroot en el archivo /etc/sysconfig/named. La ventaja de ejecutar named en un chroot jail es que si un hacker ingresa a su sistema a través de un exploit BIND, el acceso del hacker al resto de su sistema está aislado a los archivos bajo el directorio chroot jail.

Clientes FTP en chroot Jail

De forma predeterminada, los usuarios anónimos se colocan en una cárcel chroot. Cuando un usuario anónimo inicia sesión en un servidor vsftpd, el directorio de inicio del usuario es /var/ftp. Sin embargo, todo lo que ve el usuario es/.

Por ejemplo, un directorio llamado /var/ftp/upload aparece como /upload para un usuario anónimo. Esto prohíbe que los usuarios anónimos puedan acceder a cualquier archivo por encima de /var/ftp en la jerarquía de directorios.

Los usuarios locales que acceden a un servidor vsftpd se colocan en su directorio de inicio. Puede habilitar opciones en el archivo /etc/vsftpd/vsftpd.conf para poner a los usuarios locales en una cárcel chroot, donde el directorio raíz artificial es el directorio de inicio del usuario. Las siguientes opciones existen en el archivo de configuración vsftpd para implementar un chroot jail para usuarios locales:

  • chroot_list_enable
  • usuario_local_chroot
  • archivo_lista_chroot

Cuando un usuario local inicia sesión en el servidor vsftpd, se verifica la directiva chroot_list_enable. Si esta directiva se establece en SÍ, el servicio verifica el /etc/vsftpd/chroot_list archivo (por defecto) u otro archivo especificado por el chroot_list_file directiva.

Luego se verifica otra directiva, chroot_local_user . Si esta directiva se establece en SÍ, entonces la chroot_list se convierte en una lista de usuarios para NO chroot. Si esta directiva se establece en NO, el usuario se coloca en una cárcel chroot en su directorio de inicio.


Linux
  1. Cómo administrar y enumerar servicios en Linux

  2. ¿Cómo eliminar un directorio y una carpeta en Linux?

  3. Comprender la cárcel chroot

  4. ¿Cómo puedo ejecutar dos2unix en un directorio completo?

  5. linux:cómo ejecutar un comando en un directorio dado

Cómo ejecutar todos los scripts en un directorio en Linux

Cómo descargar y cargar un directorio remoto en sFTP

Cómo restringir el acceso al directorio y subdirectorios en Nginx

Cómo crear y ejecutar un script de shell en Ubuntu 22.04

Cómo escribir y ejecutar un programa C en Linux

Cómo instalar y configurar el servidor DNS en Linux