CodeGym /Cursos /Docker SELF /Configuración de firewall, SELinux y reglas básicas de AC...

Configuración de firewall, SELinux y reglas básicas de ACL

Docker SELF
Nivel 5 , Lección 5
Disponible

Configuración de firewall, SELinux y reglas básicas de ACL

1. Paso 1: Instalación y configuración del firewall

¡Hola! Hoy vamos a practicar de verdad y aplicar todo lo que has aprendido sobre seguridad en Linux durante el día. Vamos a configurar el firewall, evaluar el trabajo de SELinux y analizar lo práctico que es usar ACLs para gestionar el acceso a archivos. Esta lección es tu "campo de entrenamiento". ¡Es hora de ponernos las "charreteras de seguridad" de admin y empezar!

Ya sabes que un buen firewall es como un guardia en la entrada. Decide a quién dejar pasar y a quién decirle "¡Ni hablar!". Para empezar, configuraremos la protección de nuestro sistema, limitando el acceso solo a los servicios SSH y HTTP.

Trabajando con UFW

  1. Revisa el estado de UFW. ¿No está instalado? ¡Vamos a instalarlo!

    # Revisión de UFW
    sudo ufw status
  2. Si el comando dice que "el firewall está desactivado", eso hay que corregirlo.

  3. Instalamos y habilitamos UFW.

    # Instalación (si es necesario)
    sudo apt install ufw
    
    # Activamos el firewall
        sudo ufw enable
  4. Configuramos el acceso. Queremos permitir solo SSH (puerto 22) y HTTP (puerto 80), bloqueando todo lo demás. La lógica es obvia: el servidor no es un hotel de tres estrellas para cualquiera.

    # Permitir SSH
    sudo ufw allow 22
    
    # Permitir HTTP
    sudo ufw allow 80
    
    # Verificar configuración
    sudo ufw status
  5. Verificación: Después de la configuración deberías ver algo como esto:

    Status: active
    To                         Action      From
    --                         ------      ----
    22                         ALLOW       Anywhere
    80                         ALLOW       Anywhere
    

Si utilizas iptables, la configuración es un poco más complicada, pero la lógica es la misma: creamos reglas para SSH y HTTP, y bloqueamos todo lo demás.


2. Paso 2: Trabajo con SELinux

SELinux es como ese profe estricto que siempre está vigilando el comportamiento de archivos y usuarios en tu servidor. Su lema es: "Confía, pero verifica". Vamos a activar SELinux y comprobar cómo funciona.

Activar SELinux

  1. Verificar el estado actual:

    # Veamos si SELinux está activado
    sestatus

    Si el modo muestra disabled, hay que activarlo a través del archivo de configuración.

  2. Activar SELinux desde la configuración:

    El archivo de configuración de SELinux está en la ruta /etc/selinux/config. Ábrelo usando un editor de texto (por ejemplo, nano).

    sudo nano /etc/selinux/config
    

    Busca la línea:

    SELINUX=disabled
    

    Reemplázala con:

    SELINUX=enforcing
    

    Guarda los cambios y reinicia el sistema para que los cambios surtan efecto:

    sudo reboot
    
  3. Verificar después del reinicio.

    Después de que el servidor se inicie, verifica nuevamente el estado de SELinux:

    getenforce
    

    Si el sistema responde con Enforcing, ¡felicitaciones, estás protegiendo la seguridad!


Ejemplo con SELinux y un servidor web

Supongamos que tienes un servidor web que almacena archivos en el directorio /var/www/html. Veamos cómo SELinux lo protege.

  1. Ver el contexto de los archivos: SELinux utiliza contextos para gestionar el acceso. Vamos a comprobar qué contexto tiene el directorio /var/www/html.

    ls -Z /var/www/html
    

    Ejemplo de salida:

    drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html
    

    Si algo no está bien, se puede cambiar temporalmente el contexto:

    sudo chcon -t httpd_sys_content_t /var/www/html
    
  2. Verificar si el servidor web funciona: Después de configurar el contexto, verifica si tu servidor funciona y si no hay errores de acceso.


3. Paso 3: Gestionar permisos con ACL

ACL (Access Control List) es como una "llave extra" para gestionar el acceso. Cuando los permisos estándar rwx son limitados, ACL te permite personalizar los accesos para usuarios específicos.

Crea una carpeta de prueba

Vamos a crear la carpeta project_dir y configurarla para el acceso de dos usuarios: user1 y user2.

  1. Creando la carpeta:

    sudo mkdir /project_dir
    
  2. Estableciendo permisos:

    Vamos a otorgar a user1 acceso completo y a user2 acceso solo de lectura:

    # Acceso completo para user1
    sudo setfacl -m u:user1:rwx /project_dir
    
    # Solo lectura para user2
    sudo setfacl -m u:user2:r-- /project_dir
  3. Verificando ACL:

    # Verificar permisos actuales
    getfacl /project_dir

    La salida debe mostrar tus configuraciones:

    # file: /project_dir
    user::rwx
    user:user1:rwx
    user:user2:r--
  4. Estableciendo permisos por defecto:

    Para que todos los nuevos archivos en la carpeta hereden automáticamente los permisos ACL, configúralos como predeterminados:

    sudo setfacl -d -m u:user1:rwx /project_dir
    sudo setfacl -d -m u:user2:r-- /project_dir
    

4. Comprobación de la configuración final

  1. Firewall:

    • Asegúrate de que los puertos SSH y HTTP estén disponibles y que los demás estén bloqueados. Intenta conectarte al servidor a través de SSH y abre el sitio web en el navegador.
  2. SELinux:

    • Revisa los contextos de los archivos para asegurarte de que SELinux limita correctamente el acceso.
  3. ACL:

    • Inicia sesión con los usuarios user1 y user2 e intenta leer y escribir un archivo en el directorio /project_dir.

Ejercicios prácticos

  1. Configura el firewall para que solo permita acceso SSH y HTTP.
  2. Activa SELinux en modo enforcing y asegúrate de que el servidor web funcione correctamente.
  3. Configura ACL para el directorio /project_dir, de modo que user1 tenga acceso completo y user2 solo permisos de lectura.
  4. Comprueba los usuarios activos en el sistema usando el comando who.

Estos ejercicios te ayudarán a consolidar tus conocimientos y a entender cómo aplicarlos en la práctica. Y recuerda: la seguridad en Linux no se trata solo de configuraciones, sino también de prestar atención constantemente a los detalles. ¡Suerte!

1
Опрос
Trabajo con usuarios en Linux,  5 уровень,  5 лекция
недоступен
Trabajo con usuarios en Linux
Trabajo con usuarios en Linux
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION