Herramientas de usuario

Herramientas del sitio


informatica:sistemas_operativos:linux:seguridad

¡Esta es una revisión vieja del documento!


Seguridad Linux

Qué hace a Linux seguro

Linux es un sistema multiusuario, puede ser usado por diferentes personas y evita que uno pueda acceder a los recursos personales de otro usuario.

root es el superusuario, tienen todos los poderes y permisos. Esta cuenta debe ser segura ya que puede hacer de todo.

Ventajas de un sistema multiusuario:

  • Permisos de los ficheros.
  • Cada archivo tiene un propietario.
  • Los permisos pueden ser dados a otras cuentas y usuarios según sea necesario.
  • Cada cuenta solo puede manejar sus procesos (root puede hacer todo).
  • Comprometer una cuenta no compromete necesariamente todo el sistema.

¿Está Linux a salvo de ataques? Si lo comparamos con Windows, desde el punto de vista de un atacante:

  • Hay más ordenadores con Windows instalado que con Linux.
  • Los usuarios de Linux suelen ser avanzados y tienen más conocimientos sobre seguridad de los sistemas que los de Windows.

Linux es de código abierto:

  • No se necesita confiar en una compañía y su software privativo.
  • Es prácticamente imposible colar código malicioso en el kernel de linux sin que uno de los miles de desarrolladores se den cuenta
  • Al ser de código abierto, es más fácil que se descubran agujeros de seguridad y se solucionen antes.

Gestión de software centralizada:

  • Los paquetes son gestionados mediante gestores de paquetes.
  • Las distribuciones de Linux proporcionan repositorios de software libres de virus y probados.
  • Facilidad para estar siempre al día con las últimas actualizaciones de seguridad.
  • Se actualizan todas las aplicaciones instaladas a la vez.

Buenas prácticas

Minimizar el software instalado y servicios

  • Si no es necesario un programa, no instalarlo.
  • Si no se necesita un servicio, no arrancarlo.
  • Si ya no se necesita un programa o servicio, detenerlo y desinstalarlo.

Ejecutar servicios en sistema diferentes

No tener en una misma máquina diferentes servicios como puede ser un servidor web, una base de datos, un sistema de compartición de ficheros… Si por un fallo de uno de los servicios, un atacante logra acceso, puede comprometer el resto.

Cifrar la transmisión de información

Para evitar ataques de Man-in-the-middle.

  • Utilizar sFTP en lugar de FTP.
  • Utilizar SSH en lugar de telnet
  • Utilizar SNMP v3 en lugar de SNMP v3
  • HTTPS en lugar de HTTP

Evitar compartir cuentas

  • Cada persona debe tener su propia cuenta de usuario.
  • Cada servicio debe tener su propia cuenta.

Evitar logins automáticos de root

  • No permitir login automático de cuentas compartidas.
  • Los usuarios deben iniciar sesión en sus cuentas personales y a partir de ahí cambiar a una compartida.
  • Controlar y monitorizar el acceso con sudo.

Mantenimiento de cuentas

  • Mantener una política fuerte de uso de contraseña.
  • Crear y usar un proceso para eliminar el acceso (si alguien ya no necesita la cuenta o abandona la empresa).

Autenticación multifactor

  • Algo que sabes + algo que tienes o eres (contraseña y teléfono para recibir la contraseña de un solo uso o One Time Password)

Principio de la menor autoridad

  • Solo privilegios de root cuando sea necesario.
  • Evitar lanzar servicios como root.
  • Usar permisos restrictivos que permitan a la gente o servicios suficiente acceso para realizar su trabajo.

Monitorizar la actividad del sistema

  • Revisar logs de sistema y aplicaciones habitualmente.
  • Enviar los logs a un sistema central de logs.

Usar un cortafuegos

  • El kernel de Linux incluye un sistema de filtrado de paquetes: netfilters. Con iptables se puede gestionar Netfilters.
  • Permitir solo conexiones de red desde los orígenes deseados.

Cifrar información

  • El cifrado protege la información almacenada en el sistema.

Seguridad física

  • Mantener cerrados los acceso a los sistemas (sala de ordenadores).
  • Mantener controles de acceso.
  • Limitar el acceso a cada habitación.
  • Permitir el acceso solo por necesidad.
  • Escoltar a los visitantes.
  • Registrar las visitas.

Single User Mode

Para arrancar un sistema Linux en Single User Mode basta con añadir s (S o también 1) a la línea del GRUB que indica dónde está el kernel:

linux /vmlinuz-3.19.0-15-generic root=/dev/mapper/ubuntu-vg-root ro s

Si el sistema utiliza systemd, añadimos systemd.unit=rescue.target o la abreviación rescue:

linux /vmlinuz-3.19.0-15-generic root=/dev/mapper/ubuntu-vg-root ro rescue

Esto nos permitirá arrancar el sistema con el usuario root. Dependiendo del sistema, no nos preguntará por la contraseña.

informatica/sistemas_operativos/linux/seguridad.1610032932.txt.gz · Última modificación: por tempwin