Un equipo público de biblioteca debe quedar protegido frente a un uso indebido

Objetivo:

Comprender y aplicar los mecanismos de endurecimiento (hardening) y protección de un equipo informático de acceso público (como el de una biblioteca), aprendiendo a restringir privilegios de usuario, configurar políticas estrictas de contraseñas, activar sistemas de cortafuegos y establecer mecanismos de restauración automática del entorno ante modificaciones no deseadas.

Escenario:

  • Herramientas: Terminal Linux, gestores de usuarios y grupos, configuración de iptables / UFW, herramientas de control de acceso y software de congelación de estado (o políticas de sesión invitada).
  • Conceptos analizados: Principio de mínimo privilegio, restricciones de inicio de sesión, reglas de filtrado de paquetes de red, bloqueo de interfaces de administración y sistemas de persistencia temporal (Ephemeral / Deep Freeze).
  • Proceso clave: Creación de un usuario público con privilegios limitados, establecimiento de restricciones en el perfil, configuración de reglas de cortafuegos corporativo, bloqueo de accesos físicos/remotos y congelación del sistema de ficheros.

Escenario Real: Estación de consulta pública expuesta a manipulación

Una biblioteca municipal habilita varios ordenadores para el uso libre de los ciudadanos en la consulta de catálogos e internet. Sin embargo, los usuarios tienden a descargar software no deseado, modificar configuraciones de red o dejar sesiones abiertas con datos personales. Como administrador de sistemas, debes blindar los equipos configurando cuentas restringidas, cerrando puertos innecesarios en el cortafuegos y asegurando que cualquier cambio realizado en el sistema desaparezca automáticamente al reiniciar.

Por defecto, los sistemas operativos vienen configurados con un enfoque abierto y flexible para entornos de escritorio domésticos o de oficina, lo cual resulta totalmente inseguro en un entorno público expuesto a usuarios malintencionados o descuidados.

NOTA: Para realizar esta práctica con total seguridad, asegúrate de aplicar las restricciones sobre una cuenta de usuario de pruebas secundaria, evitando bloquear tu propio usuario administrador de la sesión principal.

Instrucciones:

Fase 1: Creación del usuario público restringido:

  • Crear una cuenta de usuario específica para el público (ej. usuario_publico) limitando su acceso a la shell y asignándole un directorio personal controlado:
    sudo useradd -m -s /bin/bash usuario_publico
    sudo passwd usuario_publico
    
  • Verificar rigurosamente que este usuario no pertenece al grupo sudo ni dispone de permisos para elevar privilegios mediante comandos administrativos.

Fase 2: Aplicación de políticas de contraseñas y caducidad:

  • Configurar políticas estrictas de caducidad de claves y restricciones de complejidad para las cuentas del sistema modificando los parámetros en /etc/login.defs o mediante el comando chage:
    sudo chage -M 90 -m 7 -W 14 usuario_publico
    

Fase 3: Configuración del cortafuegos y bloqueo de servicios de red:

  • Activar el cortafuegos del sistema (UFW) y establecer una política por defecto restrictiva que bloquee todo el tráfico entrante no autorizado:
    sudo ufw default deny incoming
    sudo ufw default allow outgoing
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw enable
    
  • Deshabilitar servicios de acceso remoto innecesarios (como SSH o compartición de ficheros local) si la estación no requiere soporte remoto directo.

Fase 4: Restricción de software y protección del entorno:

  • Bloquear el acceso a las terminales de comandos (Ctrl+Alt+F1 a F6) o a los menús de configuración del sistema mediante las políticas del entorno de escritorio (GNOME/KDE) o herramientas de control parental/políticas de grupo.
  • Configurar un sistema de sesión invitada o persistencia temporal (o herramientas de congelación de disco como OverlayFS / Deep Freeze) para que cualquier fichero descargado o alteración del sistema se elimine de forma automática al apagar o reiniciar el equipo.

Verificación:

  • Iniciar sesión con la cuenta usuario_publico y comprobar que no es posible ejecutar comandos de administración ni acceder a particiones protegidas.
  • Verificar mediante sudo ufw status verbose que el cortafuegos se encuentra activo y bloquea las conexiones entrantes no deseadas.

Posibles errores y resolución de problemas:

Si tras configurar las restricciones en el perfil del usuario público, descubres que este todavía puede ejecutar comandos administrativos utilizando el comando sudo, se debe a un error en la asignación de grupos suplementarios durante la creación de la cuenta.

  • Solución: Comprueba los grupos a los que pertenece el usuario ejecutando groups usuario_publico y elimínalo inmediatamente del grupo sudo o wheel mediante sudo gpasswd -d usuario_publico sudo.

Alternativa directa: Comprobación rápida del estado del cortafuegos

Si necesitas verificar de manera inmediata qué puertos se encuentran abiertos y si el cortafuegos de la biblioteca está protegiendo correctamente la estación de trabajo frente a intrusiones externas, puedes ejecutar:

sudo ufw status numbered

Preguntas de reflexión:

  1. ¿Por qué es fundamental aplicar el principio de mínimo privilegio creando cuentas de usuario totalmente desacopladas del grupo de administración en equipos informáticos de acceso público?
  2. ¿Qué ventajas de seguridad aporta configurar una política de cortafuegos restrictiva que bloquee todo el tráfico entrante por defecto en una estación de biblioteca?
  3. ¿Cómo actúan a nivel técnico los sistemas de congelación de estado (como OverlayFS o sistemas efímeros) para garantizar que el equipo vuelva a su estado original tras cada reinicio?
  4. ¿Qué riesgos implica para la privacidad de los usuarios y la seguridad de la red que un equipo público mantenga activos servicios de acceso remoto como SSH o escritorios compartidos sin restricciones?
Haz clic aquí para ver las soluciones y explicaciones

1. ¿Por qué es fundamental aplicar el principio de mínimo privilegio creando cuentas de usuario totalmente desacopladas del grupo de administración en equipos informáticos de acceso público?

Porque los usuarios públicos pueden tener intenciones maliciosas o cometer errores por desconocimiento. Si una persona accede con una cuenta con privilegios administrativos, podría instalar programas maliciosos (malware), modificar la configuración de red, borrar ficheros esenciales del sistema operativo o comprometer la seguridad de toda la red de la institución.


2. ¿Qué ventajas de seguridad aporta configurar una política de cortafuegos restrictiva que bloquee todo el tráfico entrante por defecto en una estación de biblioteca?

Garantiza que ningún agente externo en la red pueda realizar escaneos de puertos ni intentar conexiones no solicitadas hacia los servicios internos de la estación de trabajo. Al permitir únicamente el tráfico saliente necesario para la navegación web (HTTP/HTTPS), se minimiza drasticamente la superficie de exposición a ataques de red.


3. ¿Cómo actúan a nivel técnico los sistemas de congelación de estado (como OverlayFS o sistemas efímeros) para garantizar que el equipo vuelva a su estado original tras cada reinicio?

Montan el sistema de ficheros raíz en modo de solo lectura y superponen una capa temporal en memoria RAM o en un almacenamiento volátil (Copy-on-Write). Cualquier modificación, descarga o eliminación que realice el usuario público durante su sesión se almacena únicamente en esa capa efímera, la cual se destruye por completo al apagar o reiniciar el equipo, dejando el sistema base intacto.


4. ¿Qué riesgos implica para la privacidad de los usuarios y la seguridad de la red que un equipo público mantenga activos servicios de acceso remoto como SSH o escritorios compartidos sin restricciones?

Deja una puerta abierta para que atacantes externos puedan adivinar credenciales mediante ataques de fuerza bruta, secuestrar la sesión del equipo o utilizar la estación como nodo intermediario para lanzar ataques informáticos hacia otros sistemas corporativos de la red de la biblioteca.