VirtFS Jailed Shell | Documentación de cPanel y WHM

VirtFS Encarcelado Shell


Última modificación: 22 de septiembre de 2021

Visión general

cPanel & WHM usa VirtFS para proporcionar un entorno de shell encerrado para los usuarios que se conectan a un servidor a través de SSH. El shell encerrado actúa como un contenedor para el usuario y no le permite acceder a los directorios de inicio de otros usuarios en el servidor.

  • A diferencia de un entorno de shell normal, un entorno de shell encarcelado aumenta la seguridad para los demás usuarios de un servidor.

  • Los usuarios en un entorno de shell encarcelado pueden ejecutar comandos que de otro modo no estarían disponibles (por ejemplo, crontab y passwd).

Importante:

  • CentOS 6 y versiones anteriores admiten un máximo de solamente 256 usuarios de jailshell en sistemas que usan Apache mod_ruid2 módulo.

  • Algunos clientes han informado problemas de rendimiento y conexión cuando intentan montar más de 4000 objetivos en un entorno Virtuozzo.

  • Si habilita un shell encerrado en un servidor que ejecuta CloudLinux ™, puede causar una vulnerabilidad de seguridad con enlaces simbólicos a archivos fuera del directorio enjaulado. Para resolver este problema, debe habilitar la protección transversal del enlace. Para obtener más información, lea CloudLinux’s Protección de enlace transversal documentación.

El directorio virtfs

Advertencia:

Hacer no utilizar el rm comando para eliminar cualquier archivo o directorio montado dentro del /home/virtfs/ directorio. Si ejecuta esto en cualquier archivo o directorio montado dentro del /home/virtfs/ directorio, también eliminará todos los archivos en el directorio en el que está montado. Esta acción voluntad renderiza tu servidor no funcional.

Cuando un usuario inicia sesión en un entorno de shell encarcelado a través de SSH o SFTP por primera vez, el sistema crea el /home/virtfs/ directorio. Este directorio contiene archivos de configuración, utilidades y montajes BIND.

  • usted no poder evitar la creación de este directorio o deshabilitarlo.

  • Este directorio hace no utilizar cualquier espacio en disco. Sin embargo, debido a que es un punto de montaje virtual, algunos comandos (por ejemplo, du) informan que el directorio usa espacio en disco.

  • Los montajes BIND crean un enlace virtual entre dos ubicaciones en el sistema de archivos. Por ejemplo, si un usuario ve el contenido de la /home/virtfs/username/usr/bin/ directorio, el usuario realmente ve el contenido del /usr/bin/ directorio. Para obtener más información sobre los montajes BIND, ejecute el man 8 mount mando.

Nota:

  • Los servidores que ejecutan los sistemas operativos CentOS 7 u 8, CloudLinux ™ 7 u 8, AlmaLinux OS 8, Red Hat® Enterprise Linux® (RHEL) 7 o Ubuntu® pueden usar puntos de montaje adicionales para rutas comunes del sistema (por ejemplo, /usr/bin). Hacer no desmonte estos puntos de montaje.

  • En los servidores que ejecutan los sistemas operativos CentOS 7 u 8, CloudLinux 7 u 8, AlmaLinux OS 8, RHEL 7 o Ubuntu®, /etc/mtab enlace simbólico apunta al /proc/self/mounts expediente.

Habilitar un entorno de shell encarcelado

WHM incluye dos opciones para activar un entorno de shell encarcelado. La opción que use depende del tipo de usuarios para los que desea habilitar shells encarcelados.

Para habilitar un entorno de shell encerrado para todos los usuarios nuevos y modificados, use el Utilice cPanel® jailshell de forma predeterminada opción en WHM’s Ajustar la configuración interfaz (WHM >> Hogar >> Configuración del servidor >> Ajustar la configuración).

  • Esta opción le permite forzar el uso de un shell encarcelado para nuevas cuentas y cuentas que posteriormente edite en las siguientes interfaces:

  • Esta opción hace no afectar a las cuentas que ya existen en el servidor pero que no ha editado en estas interfaces.

Para habilitar un entorno de shell encarcelado para un usuario específico, use WHM Administrar el acceso al shell interfaz (WHM >> Hogar >> Funciones de cuenta >> Administrar el acceso al shell).

Nota:

Cuando habilita el acceso de shell encarcelado para un usuario, el sistema establece el shell del usuario en el /usr/local/cpanel/bin/jailshell localización.

Exim y VirtFS

Cuando la ubicación del shell de un usuario es /usr/local/cpanel/bin/jailshell (el shell encarcelado está habilitado) o /usr/local/cpanel/bin/noshell (todos los shells están deshabilitados), Exim ejecuta cualquier proceso desde alias o archivos de filtro dentro de VirtFS. Esta acción proporciona seguridad adicional porque los comandos de Exim se ejecutan en un shell encerrado y no afectan a otros usuarios.

Alertas CSF o LFD

Si usa una utilidad que monitorea los cambios del sistema (por ejemplo, CFS o LFD), es posible que vea una alerta similar al siguiente ejemplo después de la actualización:

1
2
3
4
5
The following list of files have FAILED the md5sum comparison test. This means that the file has been changed in some way.
This could be a result of an OS update or application upgrade. If the change is unexpected it should be investigated:

/bin/crontab: FAILED
/bin/passwd: FAILED

Esta es una advertencia de falso positivo. cPanel & WHM utiliza el /bin/crontab y /bin/passwd enlaces simbólicos para enlazar a archivos en el /usr/bin directorio. Estos enlaces simbólicos permiten que los entornos de shell encarcelados accedan al crontab y passwd comandos.

Deshabilitar o eliminar un entorno de shell encerrado

Advertencia:

usted no poder eliminar por completo el sistema de shell encarcelado (VirtFS). Las instrucciones a continuación eliminan un entorno de shell encarcelado, pero no poder Impedir la recreación del entorno de los caparazones encarcelados. Los siguientes procesos pueden recrear el entorno de shell encerrado:

  • Filtros de procesamiento Exim.

  • Direcciones de correo electrónico canalizadas.

  • Trabajos cron.

  • Hosts virtuales Apache encarcelados que usan el mod_ruid2 módulo a través del EXPERIMENTAL: Jail Apache Virtual Hosts usando mod_ruid2 y cPanel® jailshell opción en WHM’s Ajustar la configuración interfaz (WHM >> Inicio >> Configuración del servidor >> Ajustar la configuración).

Deshabilitar el entorno de shell encerrado

Advertencia:

usted no poder deshabilitar el /home/virtfs/ directorio para sus usuarios, incluso si deshabilita el acceso de shell en prisión. Para obtener más información sobre /home/virtfs/ directorio, lea el los /home/virtfs/ directorio sección anterior.

Para deshabilitar el entorno de shell encarcelado para un usuario específico, use WHM Administrar el acceso al shell interfaz (Hogar >> Funciones de cuenta >> Administrar el acceso al shell).

Para deshabilitar el entorno de shell encerrado para todos los usuarios de su servidor, realice los siguientes pasos:

  1. Desactivar el Utilice cPanel® jailshell de forma predeterminada opción en WHM’s Ajustar la configuración interfaz (WHM >> Hogar >> Configuración del servidor >> Ajustar la configuración).

  2. Seleccione Shell desactivado para todas las cuentas del servidor en WHM Administrar el acceso al shell interfaz (WHM >> Hogar >> Funciones de cuenta >> Administrar el acceso al shell).

Nota:

Cuando deshabilita el acceso a la cáscara encarcelada, el sistema configura las cáscaras de los usuarios al /usr/local/cpanel/bin/noshell localización. Con esta ubicación, el usuario conserva el acceso a SFTP en un entorno no encarcelado.

Eliminar el entorno de shell encarcelado de un usuario

Para eliminar un entorno de shell encerrado, realice los siguientes pasos:

  1. Deshabilite el entorno de shell encerrado para el usuario en WHM Administrar el acceso al shell interfaz (WHM >> Hogar >> Funciones de cuenta >> Administrar el acceso al shell).

  2. Para desmontar los montajes VirtFS BIND, ejecute el siguiente comando, donde username es el nombre de usuario de la cuenta deseado:

    umount /home/virtfs/username/usr/bin

El script de montajes VirtFS huérfano claro

Puedes ejecutar el /usr/local/cpanel/scripts/clear_orphaned_virtfs_mounts script para desmontar los montajes de BIND para usuarios que ya no existen o que ya no usan un entorno de shell encerrado. Este script elimina el /home/virtfs/username/ directorio y su contenido.

Para forzar la eliminación de todos los puntos de montaje VirtFS, ejecute el siguiente comando, donde username es el nombre de usuario de una cuenta:

/usr/local/cpanel/scripts/clear_orphaned_virtfs_mounts --clearall

Para verificar su sistema en busca de puntos de montaje VirtFS, ejecute el siguiente comando, donde username es el nombre de usuario de la cuenta deseado:

grep -i username /proc/mounts

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *