administración de la seguridad en un sistema...

32
Administración de la seguridad en un sistema GNU/Linux Implementación y herramientas Javier Fern ´ andez-Sanguino Pe ˜ na [email protected] UCM-FI Abril 2005 – p. 1

Upload: others

Post on 12-Apr-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Administración de la seguridaden un sistema GNU/Linux

Implementación y herramientas

Javier Fernandez-Sanguino Pena

[email protected]

UCM-FI Abril 2005 – p. 1

Page 2: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Índice de la presentación

¿Por qué hablar de seguridad en Linux?

Implementación de la seguridad en el núcleo deLinux

Seguridad en el S.O.

Fortificación del S.O.

Herramientas de seguridad para Linux

Parches de seguridad

Certificación

Conclusiones

UCM-FI Abril 2005 – p. 2

Page 3: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

¿Por qué hablar de seguridad en Linux?

La seguridad es algo difícil, incluso en Linux.

Puede ser difícil encontrar buenas fuentes deinformación.

La documentación no siempre es completa.

Es una buena oportunidad para hacer preguntas.

UCM-FI Abril 2005 – p. 3

Page 4: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

¿Seguridad de sistemas operativos?

"Si yo sólo lo quiero para trabajar"

Confidencialidad: sólo las personas autorizadaspueden acceder a la información.

Integridad: la información de un sistema no se vemodificada arbitrariamente.

Disponibilidad: la información está disponible paraaquellos que la deben utilizar.

En realidad, la seguridad de un sistema operativo esmás compleja. Al final (CC) consiste en definir un "perfilde protección".

UCM-FI Abril 2005 – p. 4

Page 5: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

¿Qué es realmente Linux?

Linux es simplemente un núcleo de sistema operativo.Deberíamos hablar en realidad de....

¿GNU/Linux?

¿Apache/GNU/Linux?

¿OpenSSH/OpenSSL/Apache/GNU/Linux?

¿Ext2/GNU/Linux?

También hay múltiples distribuciones de Linux (Debian,Fedora, Mandrake, Red Hat, SuSE...). ¿De cuálhablamos?

UCM-FI Abril 2005 – p. 5

Page 6: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Consideraciones iniciales

Los aspectos de diseño del SO son comúnes

Linux (el núcleo) incluye funciones de seguridad (SOUNIX)

¿Qué herramientas puedo utilizar?

¿Cómo puedo mantener un sistema seguro?

Lo más importante: la seguridad no es un producto, esun proceso (pero sí utilizaremos herramientas)

UCM-FI Abril 2005 – p. 6

Page 7: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Más términos generales

Algunos términos generales aplicables a seguridad ensistemas operativos:

Programación segura

Minimo privilegio

Defensa en profundidad

Fortificación

UCM-FI Abril 2005 – p. 7

Page 8: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Algunos datos

La mayoría de los ataques en Internet son indiscriminadosy dirigidos a compromenter la seguridad configuracionespor omisión o sistemas no parcheados / inseguros.

"Know Your Enemy: Statistics Analyzing the past ..predicting the future" (http://www.honeynet.org/paper/stats)

Una instalación de Red Hat 6.2 se comprometió enInternet en menos de 72 horas (año 2000)El menor tiempo en que un sistema fue controlado porun atacante desde que éste se conectó a Internet fue de15 minutos: MS Windows 98 (año 1999)

Tiempo de vida hoy: 4 minutos (MS Windows XP SP1).¿En el futuro?

UCM-FI Abril 2005 – p. 8

Page 9: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Funciones de seguridad de un núcleo Linux

Un núcleo Linux decente ofrece una serie de funciones de seguridad:

Separación de usuarios (multi-usuario)

Separación de tareas (multi-tarea)

Capacidades POSIX

Control de acceso del sistema de ficheros

Registros de auditoría

Filtrado de tráfico de red (syncookies)

Generadores aleatorios puros (necesarios para criptografía)

Otras funcionalidades están disponibles externas al núcleo:subsistema LSM (SElinux, LIDS, OpenWall), protección contrasobrecarga de búfer (Exec-shield, PaX), controles MAC (SElinux,RSBAC), ACLs POSIX...

UCM-FI Abril 2005 – p. 9

Page 10: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Funcionalidades en el espacio de usuario

Muchos SO basado en GNU/Linux proveen:

Mecanismos de autenticación diversos (PAM)

Herramientas de auditoría de seguridad (remota olocal)

Herramientas de control de integridad

Herramientas criptográficasPara gestión de certificados: OpenSSLDe datos: GPG, EncFSDe comunicaciones: OpenSSH, OpenSwan

UCM-FI Abril 2005 – p. 10

Page 11: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Funcionalidades en el espacio de usuario (y II)

Herramientas de bastionado automático

Herramientas de análisis forense

Herramientas para pruebas de intrusión

Programas para análisis automático de código

Más de una herramienta para la misma tarea

Lo más importante: con código fuente (son auditables ymejorables)

UCM-FI Abril 2005 – p. 11

Page 12: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

¿Es seguro un S.O. estándar GNU/Linux

No existe un S.O. estándarHay 10 distribuciones grandes y 346 distribuciones demenor rango.

Algunos fabricantes están más enfocados en hacer unsistema fácil que un sistema seguro. usability

Puedes elegir: quieres un sistema orientado al usuarioe inseguro como Linspire o una distribución orientadaa la seguridad como Adamantix.

Existen además distribuciones enfocadas a tareasconcretas: servidores de correo, servidores web,cortafuegos...

UCM-FI Abril 2005 – p. 12

Page 13: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

¿Es seguro un S.O. estándar GNU/Linux? (II)

La mayor parte de los fabricantes hacen un diseño conconsideraciones de seguridad (especialmente tras elgusano Ramen/Lion):

Reducir la exposición (sin servicios de red en lainstalación básica)

Separación de privilegios (no ejecutar como root)

Auditorías de código

Nuevas (o mejores) herramientas de gestión de laseguridad.

Pero nada es perfecto, todo se puede mejorar...

UCM-FI Abril 2005 – p. 13

Page 14: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Fortificación de una instalación GNU/Linux

Cosas a considerar:

¿Qué tienes?

¿Para qué lo quieres utilizar?

¿Cuáll es tu política de seguridad? (¿Tienes una?)

¿Hasta dónde quieres llegar en la fortificación? (cuales tu nivel de paranoia)

¿Cómo quieres hacerlo?

¿Cómo vas a revisar el nivel de seguridad a lo largodel tiempo?

UCM-FI Abril 2005 – p. 14

Page 15: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Fortificación del sistema

Pasos comúnes (valen para cualquier S.O.):

Instalación específica para el propósito (empezar conpoco...)

Particionado en función de necesidad.Instalación de software necesario, nada más.Configuración de autenticación y administraciónbásica.

Instalación de servicios y aplicaciones adicionales.

Actualización del sistema:Parches recomendados y de seguridad.A veces necesaria conexión a red (¡preparate!)

UCM-FI Abril 2005 – p. 15

Page 16: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Fortificación del sistema (II)

Revisión de la seguridad del sistema.

Fortificación de lsistema:Eliminación de servicios no necesariosRestricciones adicionales a los servicios (jaulas,capacidades, mínimo privilegio...)

Revisión y volver a fortificar.

Herramientas de gestión de la seguridad y auditoría(detectar ataques, mantener el nivel de seguridad)

UCM-FI Abril 2005 – p. 16

Page 17: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Aplicación del principio "defensa en profunidad"

Defensa en profundidad significa que se utilizan distintas barreraspara bloquear un ataque de forma que si el una barrera falla no secompromete el sistema. Por ejemplo, para proteger al sistema frente aataques desde una red de comunicaciones:

Eliminar servicios no necesarios en el sistema ... Pero ¿y sialguien los activa de nuevo? (descuido, parche mal instalado...)

Desinstalar los servicios... Pero podrían instalarse de nuevo

Filtrar acceso a servicios con tcpwrappers... Pero no todos losservicios lo utilizan

Filtrar el acceso a servicios con reglas de filtrado en el núcleo...Pero ¿y si se pierden las reglas del cortafuegos?

Realizar comprobaciones periódicas para determinar si haynuevos servicios de red.

...

UCM-FI Abril 2005 – p. 17

Page 18: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Fortificación automática: Herramientas

Algunos cambios son aburridos y repetitivos, es mejorque lo haga una herramienta (si funciona bien):

Bastille (www.bastille-linux.org): una herramientainteractiva de fortificación. Ayuda a implementar unapolítica de seguridad guiando al administrador através de distintas preguntas. Portable y robusta.

Titan (www.fish.com/titan): una herramientaautomática de fortificación "en masa".

Algunas distribuciones ofrecen la posibilidad dedefinir un nivel de seguridad. Nota: a veces sólocambia las reglas de filtrado de red.

UCM-FI Abril 2005 – p. 18

Page 19: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Herramientas de seguridad

Una vez fortificado (o antes de hacerlo) existen una serie deherramientas que pueden ser de ayuda:

Parches de seguridad para el núcleo

Herramientas de auditoría de seguridad (remota o local)

IDS (basados en host o en red)

Sistemas de gestión de parches

Sistemas de comprobación de integridad

Otros sólo serán útiles más adelante (análisis forense, copiasde seguridad) o para otros propósitos específicos (herramientaspara romper contraseñas, herramientas para pruebas deintrusión, redes trampa...)

UCM-FI Abril 2005 – p. 19

Page 20: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Auditorías de seguridad

Del RFC2828 (Glosario de Seguridad en Internet)

auditoría de seguridad(I) Una revisión y análisis independiente de losregistros y actividades en un sistema paradeterminar si los controles implantados sonadecuados, asegurar el cumplimiento de laspolíticas y procediminetos de seguridaddefinidos, detectar intrusiones en los servicios yrecomendar cambios que sean necesarios paraimplantar contramedidas. [I7498 Part 2, NCS01]

UCM-FI Abril 2005 – p. 20

Page 21: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Herramientas de auditoría de seguridad

Análisis remoto: Nessus (sondeo devulnerabilidades), nmap (sondeo de puertos)

Análisis y revisión local:Herramientas específicas: Tiger, checksecurity,sec-check, msecHerramientas de fortificación: Bastille, TitanOtras herramientas más específicas: LSAT, OVAL

UCM-FI Abril 2005 – p. 21

Page 22: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Detección de intrusos

La detección de intrusos en un SO se puedeimplementar a distintos niveles:

Basada en host:Auditoría del núcleoAnálisis de integridad del sistema de ficherosAnálisis de actividades "sospechosas"

Basada en red:Inspección de los paquetes que se envían (acualquier sistema)Inspección de los paquetes que recibe el sistema

UCM-FI Abril 2005 – p. 22

Page 23: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Herramientas de IDS de red

Snort es la principal herramienta de detección deintrusos basada en red para sistemas GNU/Linux (yse incluye en muchas distribuciones)

Algunas otras son: arpwatch, psad, ippl (no utilizarportscand)

UCM-FI Abril 2005 – p. 23

Page 24: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Herramientas de IDS de host

En el espacio de usuario:

Comprobaciones rutinarias: checksecurity (endistribuciones Linux y BSD)

Analisis de ficheros de registro: logcheck,log-analysis,logsnorter

Comprobaciones de integridad del sistema deficheros (hashes, permisos..): tripwire, aide, integritsamhain, bsign. También lo hacen los sistemas degestión de paquetes (rpm y dpkg)

Problemas de configuración: Nabou

Otros: chkrootkit, checkps, adeos, dtk

UCM-FI Abril 2005 – p. 24

Page 25: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Un vistazo a una herramienta genérica HIDS: Tiger

Sistema de detección de intrusos basado en host

Modular: múltiples pruebas para detectar desviaciones de lapolítica definida.

Comprobaciones de: permisos en el sistema de ficheros, ficherosde configuración $PATH, actividad de usuarios, servicios de red..

Puede interopera con otras herramientas (tripwire, john,chkrootkit...)

Doble uso: herramienta de auditoría (ejecutar una vez y obtenerun informe), detección de intrusos (periodicamente, comprobarcon resultados previos)

UCM-FI Abril 2005 – p. 25

Page 26: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Herramientas de IDS de host - núcleo

LIDS (http://www.lids.org/)Parche al núcleoImplementa monitor de referenciaTambién MAC (Mandatory Access Control)

Puede ser utilizado para detectar intrusiones cuandoéstas intentan hacer uso de capacidades que nopueden utilizar.

UCM-FI Abril 2005 – p. 26

Page 27: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Parcheando el sistema

Degragación de la seguridad con el tiempo (salen nuevasvulnerabilidades o nuevos tipos de vulnerabilidades)

Determinar si tienen que aplicarse parches a un sistema(priorizar vulnerabilidades)

Verificar el origen de un parche (firmas digitales)

Verificar que el parche no cambia el nivel de seguridad(instala nuevas cosas o cambia la configuración)

Actualmente: herramientas de gestión de parches = gestión depaquetes. up2date (Red Hat), apt (Debian), apt-rpm, urpmi(Mandrake), apt4rpm (SuSE)...

UCM-FI Abril 2005 – p. 27

Page 28: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Certificación de Seguridad

La certificación del sistema operativo es importante en algunos entornos(militar, guvernamental).

Certificaciones Common Criteria de productos basados en Linux:Cortafuego: Watchguard, StonegateSuSE Linux Enterprise Server 8 - CAPP/EAL3+ (Diciembre 2003),previamente EAL2 (agosto 2003)Red Hat Enterprise Linux AS/ES/WS 3 - EAL2 (febrero 2004)a estas le seguirán otras distribuciones en el futuro probablemente(ltp.sourceforge.net)

Certificación de procesos de seguridadMitre ofrece la certificación CVE para servicios de vulnerabilidadescompatibles con CVEDebian y Red Hat son compatibles CVE. Mandrake y Gentoo enproceso.

UCM-FI Abril 2005 – p. 28

Page 29: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Conclusiones finales

La seguridad en un SO Linux puede ser como túquieras que sea: estricta o laxa.

El núcleo dispone de funciones muy avanzadas deseguridad.

Cada distribución ofrece una perspectiva distinta a laseguridad: aprender a mejorar.

Muchas herramientas sw libre de seguridad incluidas(o desarrolladas para), algunas portadas.

Mejoras constantes (Darwinianas)

¿Auditoría de código?

UCM-FI Abril 2005 – p. 29

Page 30: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Gracias

¡Gracias!

¿(Más) Preguntas?

UCM-FI Abril 2005 – p. 30

Page 31: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

Referencias adicionales

Linux Security HOWTO, Kevin Fenzi y Dave Wreski,http://www.linuxsecurity.com/docs/LDP/Security-HOWTO/

Secure Programming for Linux and Unix HOWTO, David A.Wheeler, disponible enhttp://www.dwheeler.com/secure-programs

Securing and Optimizing Linux: The Ultimate Solution, GerhardMourani http://www.openna.com/products/books/sol/solus.php

Securing Debian Manual, Javier Fernández-Sanguino,http://www.debian.org/doc/manuals/securing-debian-howto/

Linux Security Overview, ISSA-PS 2003, Brian Hatch,http://www.ifokr.org/bri/presentations/issa-2003/

Linux: The Securable Operating System, Brian Hatch,http://www.ifokr.org/bri/presentations/lfnw-2003/

UCM-FI Abril 2005 – p. 31

Page 32: Administración de la seguridad en un sistema GNU/Linuxindex-of.co.uk/SISTEMAS-OPERATIVOS/Administraci%f3n... · 2019-03-07 · ¿Es seguro un S.O. estándar GNU/Linux No existe un

y más referencias...

http://www.linuxsecurity.com

http://www.linuxquestions.org/ (Security Forum)

http://www.bastille-linux.org/jay/security-articles-jjb.html

UCM-FI Abril 2005 – p. 32