Download SEGURIDAD EN EL SISTEMA OPERATIVO GNU/LINEX (kernel 2.4

Document related concepts

GnuLinEx wikipedia , lookup

Kali Linux wikipedia , lookup

Trisquel GNU/Linux wikipedia , lookup

Nmap wikipedia , lookup

Distribución Linux wikipedia , lookup

Transcript
SEGURIDAD EN EL SISTEMA OPERATIVO
GNU/LINEX
(kernel 2.4.20)
28-7-2004
Javier Carmona Murillo
PROYECTO AGILA
http://patanegra.unex.es/agila
Seguridad en el Sistema Operativo GNU/LinEx
Índice
1 .- Introducción .................................................3
1.1 .- Objetivos de este documento..............................3
1.2 .- Estado general de la seguridad...........................3
2 .- Software Libre y la seguridad informática.....................5
2.1 .- Definición de Software Libre.............................5
2.2 .- Ventajas del uso de Software Libre en términos
de seguridad ............................................5
2.3 .- Desventajas del uso de Software Libre en términos
de seguridad ............................................6
3 .- Seguridad en GNU/LinEx........................................7
3.1 .- ¿Es GNU/LinEx un sistema seguro?.........................7
3.2 .- Ofrecer seguridad a un sistema GNU/LinEx.
Herramientas.......7
3.2.1 .- Bastionado..........................................7
3.2.2 .- Antivirus...........................................7
3.2.3 .- Cortafuegos.........................................8
3.2.4 .- Vulnerabilidad remota..............................10
3.2.5 .- Sistemas de detección de intrusos..................10
3.2.6 .- Parches de seguridad para el núcleo de GNU/LinEx...11
4 .- Conclusión ..................................................14
5 .- Bibliografía.................................................15
5.1 .- Sitios web relacionados.................................15
2
Seguridad en el Sistema Operativo GNU/LinEx
1 .- Introducción
1.1 .- Objetivos de este documento
En este documento se presenta el estado en el que se encuentra el sistema
operativo GNU/LinEx desde el punto de vista de la seguridad de sistemas informáticos,
prestando especial atención a las herramientas libres que pueden llegar a hacer de este
sistema uno de los más seguros. Este estudio se centra en la seguridad del sistema cuando
se encuentra interconectado a una red global como Internet.
De este modo, otros aspectos importantes para la gestión de seguridad en
sistemas Linux como son la gestión de permisos, las claves, o copias de seguridad, quedan
fuera del propósito de este texto.
1.2 .- Estado general de la seguridad
La seguridad es fundamental a la hora de afrontar tareas que se realizan en
sistemas informáticos ya que son las únicas medidas que pueden garantizar que éstas se
realicen con una serie de garantías que se dan por sentado en el mundo físico.
En el mundo intangible de la informática, una misma red de comunicaciones es usada por
una gran cantidad de usuarios. Muchos de ellos aprovecharán esta interconectividad para
realizar un uso hostil de sus servicios.
Los mecanismos de seguridad son necesarios, ya que son muchas las
situaciones en las que el estar 'interconectado', supone un peligro en términos de
seguridad. Para cada situación, existen mecanismos de seguridad que permiten llevar a
cabo las operaciones de manera satisfactoria. Como ejemplos de posibles peligros,
podemos indicar los siguientes:
Intercambio de información:
Cuando se intercambia información con un ordenador remoto, esa
información circula por una serie de sistemas intermedios que son desconocidos a priori.
Además, no sólo no se sabe cuáles serán estos sistemas, sino que además no se dispone de
ningún control sobre ellos o sobre lo que puedan hacer con nuestros datos al pasar por
ellos.
Por otro lado, tampoco se puede estar seguro de que el sistema al que uno se
está conectando es quien dice ser, en definitiva, no existe una certeza absoluta de que
aquellos sistemas a los que uno envíe información sean realmente los auténticos; además,
en el caso de que lo sean no se sabe si les llegará la información que se les envía, o si
llegará sin cambios o si, aún si llega sin modificaciones, será leída por terceras partes.
Instalación de Software dañino involuntariamente:
Otra posibilidad que no se debe descartar es que se instale software en un ordenador
3
Seguridad en el Sistema Operativo GNU/LinEx
sin conocimiento del usuario. Esto puede ocurrir de muchas formas, algunas relacionadas
con operaciones que se realizan todos los días, como por ejemplo:



Introducción de virus o troyanos por la descarga y ejecución de ficheros en
servidores, en principio, confiables, por parte del usuario.
Difusión de virus por correo electrónico.
Explotación de una vulnerabilidad de un servicio que se está ofreciendo a través de
Internet. Como por ejemplo un servidor web.
Protección ante accesos no autorizados:
Cuando se ofrecen servicios o información en una red para sus usuarios
legítimos, al mismo tiempo se abre la puerta a posibles intrusos en estos sistemas.
Protegerse de esta posibilidad implica tener un especial cuidado con todo el software
empleado, desde el sistema operativo hasta la última de las aplicaciones instalada, y
cuidar en gran medida su configuración.
En definitiva, un buen sistema de seguridad debe proteger los sistemas
vulnerables ante el posible acceso físico o remoto de intrusos no autorizados.
Evidentemente, el nivel de seguridad establecido tendrá que ser consecuente con un
análisis previo de los riesgos, considerando el impacto de dicho acceso no deseado contra
las posibilidades de que éste se produzca.
Algunas medidas de seguridad que se pueden implantar en estos casos van
desde el cifrado de información sensible para impedir su acceso sin la clave adecuada,
métodos físicos de destrucción de la información en caso de manipulación mecánica de la
misma, etc.
4
Seguridad en el Sistema Operativo GNU/LinEx
2 .- Software Libre y la seguridad informática
2.1 .- Definición de Software Libre
Para entender la situación de este tipo de software con respecto a su uso en
seguridad informática es imprescindible conocer, a qué nos referimos cuando hacemos
referencia a 'Software Libre'.
Una descripción completa de lo que podría considerarse software libre, es la
dada
por
las
Directrices
de
Software
Libre
de
Debian
(http://www.debian.org/social_contract#guidelines), que constituyen la base de la definición de
Open Source (Open Source Definition, www.opensource.org), aunque existen entre ellas
ciertas diferencias. Entre las licencias más utilizadas para este tipo de software cabe
destacar la licencia GNU GPL (http://www.gnu.org/copyleft/gpl.html) y la licencia BSD
(http://www.debian.org/misc/bsd.license).
2.2 .- Ventajas del uso de Software Libre en términos
de seguridad
Del análisis del significado de Software Libre, se derivan una serie de ventajas
que este tipo de software sobre el propietario, algunas de las cuales son muy adecuadas
para el mundo de la seguridad:




Al disponer del código fuente de los programas en su totalidad, éste puede ser
analizado por terceras personas ajenas a sus autores en busca de fallos de diseño o
de implementación. Es decir, cualquiera con los conocimientos necesarios puede
realizar una auditoría del código del programa.
La posibilidad de realizar modificaciones libremente al código fuente y
distribuirlas permite que cualquiera pueda ofrecer mejoras sobre éste. Estas
mejoras podrán ser nuevas funcionalidades que se incorporen al mismo o parches
que corrijan problemas detectados anteriormente.
El Software Libre pone en manos de cualquiera el tipo de tecnología que, hoy por
hoy, sólo podían tener grandes corporaciones Si comparamos los precios de lo que
cuesta el software de seguridad propietario hoy en día (licencias de cortafuegos,
vpns, sistemas de detección de intrusos, etc.), con los precios del software de libre
distribución, permite que este tipo de software pueda ser utilizado por
organizaciones y personas con menos recursos económicos.
De igual forma, la posibilidad de modificar libremente el software permite a las
organizaciones que lo adapten a sus propias necesidades, pudiendo eliminar
funcionalidades que no le sean de interés. En el mundo de la seguridad, existe la
máxima de 'lo más sencillo es lo más seguro', por ello, poder eliminar funciones
innecesarias de las herramientas las puede convertir de forma inmediata en más
seguras (porque no podrán ser utilizadas estas funcionalidades para subvertirlas).
5
Seguridad en el Sistema Operativo GNU/LinEx
2.3 .- Desventajas del uso de Software Libre en
términos de seguridad
Sin embargo, el uso de software libre no está exento de desventajas, como las
siguientes:



La posibilidad de una generación más fácil de troyanos, dado que el código fuente
también puede ser modificado con intenciones maliciosas. Si el troyano logra
confundirse con la versión original puede haber problemas graves. La fuente del
programa, en realidad, será el método de distribución de software, que, de no ser
seguro, permitirá que un tercer agente lo manipule. La distribución de software se
asegura añadiendo posibilidad de firmado de hashes de la información distribuida.
El método de generación de software libre suele seguir, en la mayoría de los casos,
un modelo en el que muchas personas trabajan sobre partes concretas e integrando
sus cambios. Esto puede dar lugar a que se realice una mala gestión del código
fuente del software por no seguir métodos formales de seguimiento, la
consecuencia final es que falten piezas clave (que nadie ha contribuido) como es el
caso de la documentación.
Al no tener un respaldo directo, la evolución futura de los componentes software
no está asegurada o se hace demasiado despacio.
En mayor o menor medida, algunas de estas desventajas están comenzado a
solucionarse. El caso de la difusión de troyanos o cualquier otro tipo de software
malicioso, se limita mediante el uso de técnicas que garantizan la integridad del código
obtenido.
Esta garantía de inviolabilidad del paquete obtenido, está siendo aplicada por
la mayoría de las distribuciones del mercado, que aseguran su software con mecanismos
que nos permiten comprobar que el software que adquirimos es el que dice ser.
En la distribución Debian (y por tanto GNU/LinEx), por ejemplo, existen
sumas MD5 en cada paquete que nos permiten compararlas con la lista de sumas en los
servidores oficiales de la distribución asegurándonos que el paquete no ha sido
corrompido.
Otra distribución, como es Red Hat, también incorpora estas soluciones. Los
paquetes rpm, por ejemplo, van firmados con firmas tipo pgp que se pueden comparar
con las listas en los servidores oficiales comentados anteriormente.
Un nuevo modelo de negocio por parte de las compañías de software, está
haciendo que los problemas de evolución futura comiencen a quedar resueltos. Este
paradigma está orientado al cobro de realización de servicios en lugar del cobro a la
utilización de productos. Gracias al apoyo de la Junta de Extremadura y al auge que ha
proporcionado la aparición de GNU/LinEx, múltiples de empresas extremeñas, están
siguiendo este modelo de negocio, que a diferencia de la orientación propietaria, hacen
públicas las modificaciones al código fuente, provocando una mejora constante en los
productos.
6
Seguridad en el Sistema Operativo GNU/LinEx
3 .- Seguridad en GNU/LinEx
3.1 .- ¿Es GNU/LinEx un sistema seguro?
Muchas veces se ha dicho que GNU/Linux es un sistema muy seguro
(especialmente en comparación con algunos sistemas operativos propietario), pero sería
mejor decir que GNU/Linux tiene el potencial para convertirse en enormemente seguro.
Pero de entrada no tiene porqué serlo. En particular debemos ser conscientes de que se
trata de un sistema operativo pensado para entornos de red y por ello tiene grandes
capacidades de conexión con otros ordenadores y de ofrecerles servicios.
Por esto, se necesitan herramientas que hagan uso de esta potencialidad, y la
conviertan en un sistema totalmente seguro.
3.2 .- Ofrecer seguridad a un sistema GNU/LinEx.
Herramientas.
El primer paso para proteger el sistema es deshabilitar todas las posibles
puertas de entrada para un intruso y limitando el impacto de una intrusión, el siguiente
paso consiste en usar una serie de herramientas que en conjunto introducen barreras de
protección ante las posibles amenazas en el acceso a la red.
3.2.1 .- Bastionado
En el caso de GNU/LinEx el bastionado del sistema implica, por un lado:
deshabilitar todos los servicios de red que no se van a usar y que por defecto están
habilitados y, por otro, asegurar la configuración interna del propio sistema para reducir
el impacto de un troyano o un usuario malicioso que ha entrado en éste.
Existen herramientas para realizar estas tareas de bastionado de forma
automática. En particular cabe destacar Bastille (http://www.bastille-linux.org). A
diferencia de otras que realizan, silenciosamente, las tareas de limitación de accesos a un
servidor o arreglos sobre los sistemas de ficheros, Bastille guía al administrador durante el
proceso de bastionado con una serie de preguntas sobre el uso que se le va a dar al
sistema. Aunque también dispone de una serie de perfiles que se pueden implementar de
forma inmediata sobre el sistema.
La versión estable de Bastille para GNU/Linex (Debian) puede encontrarse en
la dirección: http://packages.debian.org/stable/admin/bastille
3.2.2 .- Antivirus
GNU/LinEx es un sistema operativo que por su diseño y por la forma de
desarrollo y seguridad que plantean sus aplicaciones es difícilmente dañado por un virus.
Esto se debe básicamente a la gestión del sistema de ficheros. Un sistema
7
Seguridad en el Sistema Operativo GNU/LinEx
Linux goza de un sistema de seguridad que permite a cada uno de los usuarios limitar el
acceso de sus ficheros por parte de otros usuarios no autorizados.
Según lo dicho, la existencia de antivirus en Linux, y por tanto en
GNU/LinEx, parece no tener sentido, sin embargo, hay que tener en cuenta el hecho de
que la mayoría de los servidores están trabajando con sistemas Linux, y que a estos están
conectados tanto sistemas con Linux como sistemas propietarios. Por lo que es buena idea
filtrar virus en el flujo de información de cualquier tipo mediante un antivirus en el
servidor. También es necesario para el usuario que utiliza Samba para tener acceso desde
Windows. Al compartir disco se debe tener cuidado con virus que se hayan descargado en
Linux, puedan infectar el otro sistema.
Existen muchos antivirus en el mercado, propietarios, freeware, con licencia
GPL y onLine.
Antivirus como Clam (http://www.clamav.net), con licencia GPL, están
disponibles para sistemas como GNU/LinEx. Éste emplea la base de datos de
OpenAntivirus (http://www.openantivirus.org), otro proyecto libre. Clam está
desarrollado en C y entre sus características se encuentran que es multihebra, soporta
Amavis, escanea en archivos comprimidos, se actualiza automáticamente y mucho más.
Actualmente Clam funciona, además de en Linux, en Solaris, FreeBSD y Windows (con
cygwin).
ClamAV no requiere mantenimiento, debido a que el daemon freshclam se
encarga de mantener actualizada la base de datos de firmas de virus verificando la
existencia de posibles actualizaciones varias veces al día.
Las opciones más importantes son las que conciernen a la revisión de ficheros
comprimidos. Por motivos de copyright y patentes el programa no lleva ningún tipo de
código que se encargue de esto, sin embargo, si permite añadir parámetros para el uso de
programas externos que hagan ese trabajo.
Este antivirus, sin embargo, no permite desinfectar ficheros, y aunque dispone
de actualización automática, la base de datos no está tan al día como la de los antivirus
comerciales.
3.2.3 .- Cortafuegos
Otro elemento importante dentro de la seguridad para redes son los
cortafuegos. Para proteger el sistema local u otros detrás de este, el kernel necesita estar
compilado con las capacidades del cortafuego. El núcleo 2.2 (LinEx potato) suministra el
paquete de filtro del cortafuego ipchains, el kernel de LinEx 3.0 woody (kernel 2.4)
suministra el poderoso paquete de filtros de cortafuegos iptables (filtro de la red).
La distribución GNU/LinEx analizada en este documento, con un Kernel
2.4.18 basada en Debian 3.0 (y revisiónes de ésta), contiene el programa de configuración
de Firewall Lokkit (http://roadrunner.swansea.linux.org.uk/lokkit.html).
8
Seguridad en el Sistema Operativo GNU/LinEx
Lokkit permite a un usuario medio configurar los parámetros del firewall
mediante la creación de reglas de red iptables básicas. En lugar de tener que escribir las
reglas, este programa formula una serie de preguntas y, a continuación, escribe por las
reglas en el archivo /etc/sysconfig/firewall.
Lokkit no está pensado para generar reglas de firewall complejas, sino para
usuarios medios que deseen una protección en sus conexiones.
Lokkit permite establecer los siguientes niveles de seguridad para el sistema:



Seguridad Alta (High): Esta opción desactiva la mayoría de las conexiones
de red, excepto las respuestas de DNS y DHCP para que se puedan activar
las interfaces de la red. IRC, ICQ y otros servicios de mensajería
instantáneo no funcionan sin un proxy.
Seguridad Media (Medium): Esta opción no permite conexiones remotas
en el sistema, incluidas las conexiones NFS y las sesiones remotas de un
sistema X Window. Los servicios que se ejecutan en el puerto 1023 no
aceptan las conexiones, incluidas las realizadas con FTP, SSH, Telnet y
HTTP.
Deshabilitar Cortafuegos (No firewall): Esta opción no crea ninguna regla
de seguridad. Sólo se recomienda seleccionar esta opción si el sistema se
encuentra en una red de confianza (no en Internet), si el sistema tiene
instalado un firewall grande o si escribe sus propias reglas personalizadas
del firewall.
Lokkit también le permite activar y desactivar servicios comunes como:
Servidor web, Correo entrante, Shell segura, o Telnet.
Otros cortafuegos disponibles para GNU/LinEx son:


FireStarter: Es una herramienta de configuración de cortafuegos pensada para
usuarios finales que no tienen por qué tener grandes conocimientos de seguridad.
Dispone de un asistente que permite crear configuraciones básicas. Posteriormente
puede mejorarse añadiendo y creando reglas, a las que se denominan reglas
dinámicas.
Esta herramienta funciona bajo entornos Linux 2.2 y 2.4 y se distribuye como parte
del entorno GNOME.
http://firestarter.sourceforge.net
GuardDog: Es una herramienta de protección pensada para plataformas Linux y
orientada a usuarios no expertos.
Mediante una interfaz gráfica el usuario debe indicar que desea que el cortafuegos
actúe a nivel de cada aplicación, no de IP como ocurre en otras herramientas.
Gracias a este mayor nivel de abstracción se reduce la posibilidad de cometer
errores. Esta garantía se ve incrementada por el hecho de que sigue una filosofía de
que todo lo que no se permite explícitamente está prohibido.
Guarddog, igual que FireStarter, permite gestionar y modificar el cortafuegos una
vez creado.
9
Seguridad en el Sistema Operativo GNU/LinEx

La calidad de su interfaz y un diseño bastante bien pensado hacen que ésta sea una
de las herramientas de cortafuegos más apropiadas para usuarios finales de todas
las existentes entre el software libre y propietario. Esto lo ha conseguido gracias a
su orientación completa a satisfacer a este tipo de usuarios a cambio de renunciar a
ser útil en entornos más complejos.
Linux Firewall de linux-firewall-tools.com: Esta herramienta destaca por que
accede a ella a través de una interfaz web. Está disponible a través de la página:
http://www.linux-firewall-tools.com/linux/firewall/
Tras comenzar la configuración del cortafuegos un asistente va realizando
preguntas para conocer las necesidades del usuario. Estas preguntas son más o
menos sencillas, aunque es necesario tener ciertos conocimientos de redes y
seguridad para poder contestarlas.
Con Linux Firewall se permite configurar un cortafuegos a través de un formulario
on-line. Incluye soporte para Linux 2.2 y Linux 2.4.
3.2.4 .- Vulnerabilidad remota
La evaluación de vulnerabilidad remota también está contemplada en Debian
('padre' de GNU/LinEx). Las herramientas más importantes relacionadas con este aspecto
de la seguridad son:


Nessus: Nessus es una de las herramientas actualmente más utilizadas para
realizar auditorías sobre redes de forma automática para prevenir posibles
intrusiones. Se distribuye bajo licencia GPL y está compuesta de un cliente (nessus)
usado como un GUI y un servidor (nessusd) los cuales lanzan los ataques
programados. Nessus incluye vulnerabilidades remotas para varios sistemas,
incluyendo dispositivos de red, servidores ftp, servidores www, etc.
http://www.nesssus.org
Whisker: Whisker es un scaner de evaluación de vulnerabilidad orientada a la
web incluyendo tácticas anti-IDS (la mayoría de ellas no son mas anti-IDS).Este es
uno de los mejores cgi-scanners disponibles,son capaces de detectar servidores de
www y lanzar únicamente un conjunto de ataques dados en contra de este. La base
de datos usada para revisar, puede ser modificada fácilmente para suministrar
nueva información.
3.2.5 .- Sistemas de detección de intrusos
Una tarea también necesaria es la posibilidad de poder reconocer cuando un
sistema ha sido accedido por un intruso o se está intentando esta tarea. Estos intentos
pueden ser escaneos de puertos sobre un sistema o un rango de ellos, intentos de ataques
de fuerza bruta de contraseñas, subversión de aplicaciones interactivas, etc.
Para llevar a cabo esta tarea se puede hacer uso de sistemas de detección de
intrusión o "Intrusion Detection Systems" (IDS). Estos sistemas se pueden dividir
básicamente en dos categorías: basados en host o basados en red. Los basados en host
realizan un análisis del sistema "por dentro" para determinar si un intruso ha accedido o a
intentado acceder, tareas habituales de estas herramientas son el análisis de los registros
10
Seguridad en el Sistema Operativo GNU/LinEx
del sistema, análisis de los ficheros para detectar modificaciones de los mismos
(comprobando la integridad del sistema) o análisis de los procesos ejecutándose en el
sistema. Los detectores de intrusos basados en red analizan el envío y recepción de
paquetes a sistemas finales en busca de patrones que puedan considerarse ataques
remotos contra sistemas internos. Estos últimos no necesitan saber qué servicios se están
ofreciendo en los sistemas finales, siendo capaz de detectar ataques contra servicios que
no se están ofreciendo.
En el campo de la detección de intrusión a nivel de red, Snort es uno de los
más potentes en el mundo de software libre. Su potencia consiste en analizar el tráfico de
una determinada red buscando patrones que se correspondan con un ataque y por lo tanto
que merezca la pena ser notificados. Snort activa, en una máquina de la red, interfaces
promiscuos para controlar el flujo de tráfico de red de toda la red, y en cada uno de esos
paquetes, snort busca ciertos patrones indicativos de ataques y los notifica según se
indique en el fichero de configuración.
Snort incorpora paquetes con reglas ya definidas pero fácilmente ampliables
para nuestras necesidades particulares, que filtran el tráfico que el interfaz en modo
promiscuo captura.
El fichero de configuración global de Snort es /etc/snort/snort.conf, en el que
se pueden indicar quien va a recibir las alertas o, qué paquetes de reglas se van a incluir.
Sin embargo la característica que se ofrece en otros IDS y no está tan avanzada
en Snort es la capacidad de integrar diversas sondas en una única consola y la existencia
de consolas gráficas intuitivas que puedan ofrecer, en tiempo real, los avisos a operadores.
Estas carencias parecen empezar a mitigarse con la aparición de RazorBack y demarc. El
primero es un interfaz desarrollado para GNOME y el siguiente un interfaz que hace uso
de una base de datos MySQL y Apache para presentar una consola del sistema de
detección de intrusos vía WWW.
3.2.6 .- Parches de seguridad para el núcleo de
GNU/LinEx
GNU/LinEx (Debian) suministra algunos de los parches para el kernel de
Linux que aumentan su seguridad. Estos incluyen:


Detección de Intrusos en Linux (dentro del paquete lids-2.2.19):
http://packages.debian.org/testing/admin/kernel-patch-2.4-lids
Este parche hace que el proceso duro de creación de Linux sea mas fácil. Un
usuario puede restringir todos los procesos, dar lo adecuado para escrbir, leer o
eliminar archivos. Actualmente, este parquete está en la fase beta.
Capacidades de Linux (dentro del paquete lcap): Este paquete elimina algunas
capacidades del kernel, volviéndolo más seguro. Capacidades son una forma de
controlar el acceso, basada en el núcleo. Este programa proporciona una manera
más amigable con el usuario que configurar a mano /proc/sys/kernel/cap-bound
11
Seguridad en el Sistema Operativo GNU/LinEx





para eliminar capacidades de su núcleo Linux. La versión estable actual es la 0.0.61.
Confianza en Linux (dentro del paquete trustees) Trustees: Sistema de gestión
avanzada del permiso para Linux.
La meta principal del proyecto de los administradores de Linux es crear un sistema
de gestión de permisos avanzado para linux. De hecho, el sistema del permiso de
UNIX no es conveniente para la solución algunas tareas muy comunes.
Este paquete proporciona la utilidad del settrustee, que permite nuevos privilegios
de trustee.conf. La versión estable actual del paquete es la 2.8-2.
Linux Aumentando con NSA (dentro del paquete selinux)
Política y gestión de archivos config para NSE Security Enhanced Linux.
Los ficheros que contienen esta política se encuentran en etc/selinux.
kernel-patch-2.2.18-openwall: Parche para agregar características de adicionales de
seguridads al núcleo de Linux. Es una colección de características de seguridad
para el núcleo de Linux, configurables mediante la nueva seccion de seguridad
'Security Options'. kernel-patch-2.2.19-harden
Soporte IPSEC en el kernel: El paquete kernel-patch-freeswan contiene los parches
para el kernel de Linux que proporciona el soporte para el uso de FreeSWan
kernel-patch-int: Parche internacional para el kernel de Linux que contiene
capacidades de criptografía para dicho núcleo, que no pueden ser incluidas en el
código fuente del kernel oficial debido a ciertas leyes de Estados Unidos. Puede
usarse con el núcleo version 2.2.15. Este parche contiene las partes libres DFSG del
parche del kernel internacional 'oficial' disponible en www.kerneli.org excepto el
parche CIPE que está empaquetado de forma independiente a este paquete.
Sin embargo, uno de los parches de seguridad para los núcleos 2.4 mejor
preparados y con más opciones es Grsecurity, el cual va a ser descrito con mayor detalle.
Este parche para el kernel está basado en otros diseñados para funcionar con
los de la serie 2.2, como Openwall y PaX. Implementa estas mejoras y muchas otras para
la serie 2.4, y no se trata de un servicio que deba correr periódicamente ni un módulo que
podamos cargar, sino que parchea algunos procesos internos para restringirlos frenta a
posibles ataques.
Grsecurity, así como el resto de parches de seguridad disponibles, son
recomendados para un servidor o un firewall que se encuentre expuesto a Internet o a
algún tipo de red insegura. En el caso de un servidor web público, el sistema de ACL, las
jaulas chroot y el resto de prevenciones, son una muy buena opción.
El parche implementa diferentes mejoras que suelen ser independientes, de
forma que pueden verse como distintos mini-parches.
En la configuración del núcleo tras parchearlo con Grsecurity, aparecen
nuevas opciones:

Buffer Overflow Protection: Activa o desactiva diversos mecanismos para
evitar desbordamientos en la pila.
12
Seguridad en el Sistema Operativo GNU/LinEx






Access Control Lists: Activa o desactiva el sistema de ACL integrado en el
parche, que nos va a servir para controlar tanto ficheros como procesos en
el sistema.
Filesystem protections: Protección para el sistema de ficheros, opción de
chroot, protección en /tmp contra race conditions...
Kernel auditing: Activa o desactiva las opciones de auditado del kernel,
como logeado adicional para funciones conflictivas
Executable protections: Protege a los procesos, proporcionándoles Ids
aleatorias, protección contra llamadas de proceso recursivas y mucho más.
Network protections: Similar a la anterior pero orientado a conexiones de
red, como puertos TCP de envío aleatorios, valores de TTL aleatorios,
permitir el uso de sockets a un grupo concreto.
Sysctl support: Si activamos, podremos modificar los valores de las
diferentes modificaciones sin tener que recompilar nuestro kernel de
nuevo.
Este parche se puede descargar desde su web, http://www.grsecurity.net,
donde se podrá encontrar la última versión estable (en el momento de escribir este
documento es la 2.0), aunque también está disponible desde el repositorio de Debian.
13
Seguridad en el Sistema Operativo GNU/LinEx
4 .- Conclusión
A pesar de todo lo expuesto anteriormente, en determinadas áreas de la
seguridad, algunas soluciones propietarias están más maduras, ya que muchas empresas
se dedican al desarrollo, exclusivamente, de estas herramientas.
Sin embargo, sí que es posible pensar que el software libre está, en
determinadas áreas, compitiendo con las soluciones propietarias existentes. La situación
ha ido cambiando a medida que las distintas soluciones desarrolladas se han demostrado
competitivas y han ido siendo aceptadas por los usuarios. Esta aceptación ha dado lugar a
un desarrollo exponencial en el que se pueda esperar que, en aquellas áreas en las que el
software libre aún no alcanza al software propietario, la situación llegue a igualarse (e
incluso invertirse) pasado un cierto tiempo.
Por otro lado, independientemente del ritmo de crecimiento del software, del
lado de la seguridad, las ventajas ofrecidas por el software libre son evidentes frente a las
alternativas propietarias. Máxime en determinados entornos en los que una persona no se
puede 'fiar' de aquella compañía que le vende la solución o no puede depender de la
seguridad 'garantizada' por un determinado producto que no tiene forma de demostrar.
Por tanto, si bien el software libre en la actualidad tiene una cobertura
desigual de las distintas necesidades de seguridad de una empresa o corporación, éste es,
definitivamente, una apuesta de futuro provechosa en aquellas áreas aún no desarrolladas
y una oportunidad real e inmediata en las demás áreas para utilizar soluciones
equivalentes a las propietarias con:




Un menor coste
Unas mayores garantías de seguridad, debido a la posibilidad de auditar el código
en uso
Una mayor flexibilidad en la adaptación e integración, gracias a la posibilidad de
modificar dicho código.
La posibilidad del mantenimiento asegurado de una solución de seguridad con
independencia del origen del producto en sí.
14
Seguridad en el Sistema Operativo GNU/LinEx
5 .- Bibliografía



Portal de GNU/LinEx (http://www.linex.org): Información y soporte para
usuarios de GNU/LinEx.
Información sobre seguridad del sistema Debian (http://security.debian.org)
Manual
de
seguridad
de
Debian
(http://www.nl.debian.org/doc/manuals/securing-debianhowto/index.es.html)
5.1 .- Sitios web relacionados


Free Software Fundation (http://www.fsf.org): Página web de la Fundación
de Software Libre.
Hispasec (http://www.hispasec.com): Laboratorio especializado en seguridad
y tecnologías de la información, que investiga problemas de seguridad
informática y proporciona soluciones correctivas y preventivas.
15