punte seg inf
TRANSCRIPT
UA
X_T
exto
(01)
.dot
Tecnologías para la Seguridad
7 Sistemas de detección de intrusiones
UA
X01
0_07
_V(0
1)
Sistemas de detección de intrusiones
ÍNDICE
MOTIVACIÓN�..................................................................................................�
PROPÓSITOS�..................................................................................................�
PREPARACIÓN PARA LA UNIDAD.............................................................................�
1. INTRODUCCIÓN A LOS SISTEMAS DE DETECCIÓN DE INTRUSOS�.......................................��1.1. CLASIFICACIÐN DE LOS IDS..............................................................................................� 1.2. COMPONENTES DE LOS IDS............................................................................................���
2. TRABAJANDO CON UN IDS�.............................................................................1�2.1. INSTALACIÓN Y PRIMEROS PASOS�....................................................................................�1� 2.2. UTILIDADES ADJUNTAS�.................................................................................................�1� 2.3. TRABAJANDO CON TRIPWIRE�.........................................................................................�1�
2.3.1. INICIALIZANDO EL ENTORNO�...........................................................................................................�1� 2.3.2. CONTROL DE INTEGRIDAD�...............................................................................................................�1�2.3.3. ACTUALIZACIÓN DE LA BASE DE DATOS...............................................................................................��
2.3.4. ACTUALIZACIÓN DE POLÍTICAS.........................................................................................................���
CONCLUSIONES�.............................................................................................2�
RECAPITULACIÓN�...........................................................................................2�
AUTOCOMPROBACIÓN�......................................................................................2�
SOLUCIONARIO..............................................................................................2�
PROPUESTAS DE AMPLIACIÓN�.............................................................................��
BIBLIOGRAFÍA�................................................................................................��
Unidad didáctica 71
Sistemas de detección de intrusiones
MOTIVACIÓN
Sentirnos invulnerables frente a ataques informáticos no es un buen enfoque
para un analista de seguridad o un responsable de seguridad en una infraestruc-
tura informática. Hay que ser conscientes de que dichos ataques son cada vez
más avanzados y, en cualquier momento, pueden afectar a nuestros activos
tecnológicos.
Desde luego, hay que poner todos los medios que estén en nuestras manos
para protegernos, pero, una vez protegidos, ¿sabrías concluir cuando se está
siendo víctima de un ataque? ¿conoces las herramientas necesarias para tener
toda la información posible sobre el origen y el alcance de la intrusión?
Unidad didáctica 7
2
Tecnologías para la Seguridad
PROPÓSITOS
Gracias a esta unidad podrás:
� Conocer y profundizar en una tecnología de gran importancia en la pro-
tección de redes y sistemas: los sistemas de detección de intrusos.
� Distinguir los tipos de sistemas de detección de intrusos y elegir el más
adecuado a cada necesidad.
� Proteger en detalle la integridad de un sistema, detectando posibles
ataques en el mismo, a través de un potente detector de intrusos de
host: Tripwire.
Unidad didáctica 7
3
Sistemas de detección de intrusiones
PREPARACIÓN PARA LA UNIDAD
En esta unidad se presentará una tecnología clave para la fortificación de una
infraestructura, como son los sistemas de detección de intrusos. Estos nos
permitirán evidenciar posibles actividades no autorizadas, en incluso obtener
detalles sobre las mismas, lo que nos permitirá concluir detalles como origen o
alcance de tales actividades.
Posteriormente se profundizará en el trabajo con un sistema de detección de
intrusos en concreto, como es Tripwire. Una vez presentada tal herramienta, y
explicados sus componentes, se verán las acciones de administración de la
misma con las que se deberá estar familiarizado para una correcta protección
de los servidores o máquinas donde se despliegue.
Unidad didáctica 7 4
Sistemas de detección de intrusiones
1. INTRODUCCIÓN A LOS SISTEMAS DE DETECCIÓN DEINTRUSOS
Se podría definir los sistemas de detección de intrusos, más conocidos
como IDS (Intrusion Detection System), como programas de software o
sistemas de hardware que automatizan procesos de monitorización de
eventos que ocurren en una red o en un sistema, analizando posteriormente
dichos eventos o firmas para detectar problemas de seguridad. En el caso de
que además realicen algún tipo de evento o acción preestablecida al haber
detectado un problema de seguridad, estos elementos se denominan
sistemas de prevención de intrusos o IPS (Intrusion Prevention System).
Se podría decir que los IDS son sistemas que permiten un comportamiento reactivo y de detección/corrección ante una potencial intrusión, a diferencia de los IPS, que permi-tirían tomar un papel más proactivo frente a posibles ata-cantes.
Sus principales funcionalidades, son:
� Previenen problemas de comportamiento de abusos en el sistema o la red.
� Detectan ataques y otras violaciones de seguridad.
� Detectan las vulnerabilidades de una red o sistema.
� formación sobre diagnóstico y corrección de
problemas de seguridad.
Proporcionan información acerca de los intrusos que intentan acceder
a la red o sistemas, de in
Unidad didáctica 7 5
Tecnologías para la Seguridad
, con lo que reforzarán el control del tráfico de red que
atraviesa la red a través de routers y firewall. Los IDS son un complemento a
estos otros sistemas.
1.1. CLASIFICACION DE LOS IDS
En el mercado existe una gran variedad de IDS, que se diferencian en cuanto a
la metodología de la detección de intrusos y cómo es su funcionamiento. Una
clasif
�
mente estos IDS son muy simples y se pueden aplicar
�
-
Cuando se diseña una infraestructura perimetral de seguridad, en la mayoría de
los casos en las redes a proteger se incorpora un firewall como único elemento,
por lo que la seguridad que pueda dar este tipo de elementos de defensa es a
veces insuficiente. Esto es debido a que una parte de los firewalls que se im-
plementan carece de las funcionalidades que pueden aportar los IDS. Cuando
una trama de cualquier protocolo pasa a través de un firewall, verifica si cumple
una serie de reglas preestablecidas por los administradores del sistema, si las
cumple atraviesa el firewall, si no son rechazadas. Cuando estos sistemas verifi-
can las tramas, algunos de ellos no son capaces de realiza un análisis en pro-
fundidad en cuanto al contenido de la trama, por ejemplo en la parte que trans-
porta los datos, determinar actividades anómalas, incorrectas o ilegales.
Los niveles de control deberían ser reforzados con la implementación de este
otro tipo de sistemas
icación básica de los algoritmos que utilizan los IDS podría ser la siguiente:
Basados en patrones/firmas simples: éstos buscan secuencias fijas
en cada paquete que analizan; si éste coincide con una firma conocida
que se encuentra en su base de datos lo tratan como un potencial ata-
que. El patrón de ataque normalmente es definido básicamente por un
servicio o puerto, esto da lugar a que el análisis sea rápido. Para proto-
colos o programas que normalmente no utilizan los puertos conocidos,
como los troyanos, puede ser complicado detectarlos. Por ejemplo, un
paquete TCP con destino al puerto 12345 y que puede contener “peli-
gro esto es un ataque” como cadena, podría ser detectado por este ti-
po de IDS. Obvia
en todos los protocolos, además de tener una relación directa con la
firma de ataque.
Basados en la coincidencia de los patrones de estado: en este caso
no sólo se verifica un paquete de modo aislado como lo hacen los IDS
anteriores, sino que verifican el flujo de o sesión a la pertenece el paque-
te. En este caso el IDS analiza las firmas de ataques contra todo el flujo
de las sesiones que le llegan. En este caso el IDS tiene que ser capaz de
ordenar los paquetes que le llegan y establecer todo el flujo de comuni-
cación y analizarlo. En una comparación con lo anterior, aquí el IDS tiene
que determinar tanto el protocolo utilizado, TCP, el puerto de comunica-
ción 12345 y la firma “peligro esto es un ataque”, pero con la diferencia
que la firma en el anterior tenía que estar integrada en un solo paquete,
mientras que aquí podría detectar un ataque aunque en el primer paque
Unidad didáctica 7 6
Sistemas de detección de intrusiones
te viajase “peligro”, en el segundo “esto”, en el tercero “es”, en el cuarto
“un” y en el quinto “ataque”, porque es capaz de analizar todo el flujo.
En los IDS Basados en la coincidencia de los patrones de estado pueden detectarse muchos falsos positivos (si la firma no es muy específica), las modificaciones de ataques pueden ser no detectadas (falsos negativos) y se requieren múltiples firmas de ataques para detectar una vulnerabili-dad.
�
debidas a variaciones en alguno
de los campos del protocolo, longitud de campos o a los argumentos
� Firmas basadas en algoritmos heurísticos: están basad s en algo-
ritmos que evalúan el tráfico que pasa por la red desde un punto de vis-
ta estadístico y trazan líneas base de comportamiento. Por ejemplo, a
través de estos algoritmos se puede detectar acceso a unos determi-
nados puertos por un determinado sistema cuando la red funciona de
forma normal, pero cuando hay una variación en este comportamiento
el sistema genera alarmas sobre esto. Este tipo de IDS tiene que estar
continuamente ajustando su configuración, ya que de alguna manera, si
el comportamiento en un punto en el tiempo se cree normal, éste pue-
de cambiar también, por ejemplo, imaginemos analizar el protocolo
HTTP en un momento dado, ocurre algún suceso informativo extraordi-
nario y el tráfico HTTP se eleva considerablemente, el IDS lo tratará
como un potencial ataque dando lugar a un falso positivo.
Firmas basadas en decodificación de protocolos: es una extensión
de la anterior. Estas clases de firmas se implementan decodificando los
elementos que componen el flujo de información de la misma manera
tanto como cliente o como servidor en el proceso de comunicación.
Cuando los elementos de un protocolo son identificados, el IDS aplica
las reglas definidas en los RFC para tratar de encontrar alguna violación
de éstos. Algunas de estas firmas son
que utilizan. Este tipo de IDS minimiza los falsos positivos, pero requie-
re bastante tiempo en su desarrollo.
Unidad didáctica 7 7
Tecnologías para la Seguridad
Otro tipo de clasificación de IDS es dependiendo de dónde se instalan y qué
sistemas tienen que monitorizar. En esta clasificación los IDS son:
� NIDS (Network-Based Intrusion Detection System) o IDS de red:
éstos son los IDS que se pueden instalar en sistemas independientes o
en aquéllos que están ejecutando otras aplicaciones, para monitorizar
el tráfico que atraviesa por un segmento de red. Dependiendo de la ar-
quitectura de la red, pueden ser implementados varios de éstos en ca-
da segmento de red (delante del router, entre el router y el firewall, en la
DMZ, entre la DMZ y la red interna, etc.) como sensores y enviar los da-
tos para su análisis a consolas centralizadas.
� HIDS (Host-Based Intrusion Detection System) o IDS de host: está
ejecutándose en un solo sistema y sólo monitoriza a éste. Cuando se
tienen aplicaciones críticas en sistemas independientes, se podría im-
plementar este tipo de IDS y así analizar de forma más detallada los
eventos que ocurren entre la red y dicho sistema.
1.2. COMPONENTES DE LOS IDS
Los IDS se suelen componer de tres componentes funcionales fundamentales:
� Origen de la información: desde donde se suministra la información
usada para determinar dónde ha intentado penetrar un intruso. Esos
orígenes pueden ser de los diferentes niveles de monitorización del sis-
tema, de la red, del host o de las aplicaciones.
� Análisis: parte del IDS que organiza y hace que los eventos derivados
del origen de la información sean catalogados como intentos de intru-
sión o que ha tenido lugar una intrusión efectiva.
� Respuesta: conjunto de acciones que el sistema puede tomar para de-
tectar/eliminar las intrusiones. Estas acciones pueden ser activas (inter-
venciones automáticas) o pasivas (informes).
Los IDS se suelen componer de cuatro componentes lógicos fundamentales:
� Motor: componente que desensambla y ensambla los paquetes que
pasan por él, analizándolos y comparándolos con firmas o líneas de
comportamiento.
� Base de datos: componente que almacena los registros, alertas y alar-
mas del IDS.
Unidad didáctica 7
8
Sistemas de detección de intrusiones
El esquema lógico de la base de datos tiene que ser co-herente con las entradas que pueda establecer el motor en ésta.
� Consola: componente donde se visualizan los resultados de los análisis
del IDS.
� Aplicación de análisis: recoge los datos de la base de datos y realiza
análisis estadísticos de varios parámetros.
Unidad didáctica 7
9
Tecnologías para la Seguridad
2. TRABAJANDO CON UN IDS
En general, cuando se hace mención a sistemas IDS de forma genérica, suele ir
encaminado hacia NIDS o sistemas IDS de red, los cuales centran su actividad
de análisis en eventos de red, monitorizando el tráfico generado y recibido en un
determinado entorno, y alertando ante comportamientos sospechosos. Sin em-
bargo, los HIDS presentan toda su actividad de forma local en el sistema en el
que sean desplegados, controlando los posibles cambios que se produzcan en
el mismo y realizando su función de alerta al percibir determinados cambios, por
ejemplo, e
máquina.
n la manipulación de los ficheros de registro almacenados en la
Tanto NIDS como HIDS están ampliamente extendidos y son piezas clave en entornos de seguridad, donde debe contro-larse tanto la actividad de red como los posibles accesos y cambios no autorizados en determinadas máquinas.
entornos más sencillos, pudiendo efectuar ejemplos más claros y constructivos.
de su versión comer-
cial, que podemos encontrar en el sitio Web de Tripwire.
Con objeto de poder ver más de cerca uno de estos sistemas a continuación
profundizaremos en la operativa de un HIDS, pues estos se adecuan mejor a
Centrándonos ya en los sistemas HIDS, podemos encontrar en Tripwire uno de
los referentes en cuanto a sistema de detección de intrusos a implantar en ser-
vidores GNU/Linux. Cabe decir que dicho aplicativo cuenta con una forma de
distribución siguiendo la filosofía de código libre, además
Unidad didáctica 7 10
Sistemas de detección de intrusiones
2.1. INSTALACIÓN Y PRIMEROS PASOS
Como ya se ha dicho, Tripwire constituye un proyecto de código abierto, con lo
que podemos recurrir directamente a sus fuentes, mantenidas y versionadas en
la Web de la versión libre del producto (http://sourceforge.net/projects/tripwire).
Una vez descargada la última versión del aplicativo, procederemos a ejecutar
con permisos de administrador el script install.sh, presente en la carpeta install
del conjunto de ficheros que acabamos de descargar. Concretamente, la última
versión a fecha de composición del presente texto data del 21 de noviembre del
año 2011, siendo ésta la 2.4.2.2.
Sin embargo, en las distribuciones más extendidas de GNU/Linux, podemos
recurrir a las herramienta de gestión de software que brindan (yum, yast2, apt…)
para facilitar la tarea de instalación. Dichas herramientas simplificarán el proce-
so, liberándonos de problemas de dependencias de paquetes o posibles fallos
que puedan darse durante la instalación a partir del código fuente.
Figura1: Instalación de Tripwire en un sistema Ubuntu. Fuente: Elaboración propia
Unidad didáctica 7
11
Tecnologías para la Seguridad
Una vez finalizada la instalación realizaremos una breve aproximación a los nue-
vos ficheros que han sido creados en el sistema tras la misma. Sin duda, uno de
los ficheros de mayor relevancia para la gestión del HIDS será el que permita
definir las políticas de control, es decir, qué información de nuestro sistema mo-
nitorizar y ante qué eventos generar alarmas. En el caso de Tripwire, dicho
fichero es por defecto twpol.txt, que consiste en la definición de estas reglas y
otras variables necesarias para el correcto funcionamiento de la aplicación. Otro
fichero que determinará en mayor forma la configuración de Tripwire es
twcfg.txt, dentro del cual se fijan las ubicaciones de otros ficheros relaciona-
dos, así como otras preferencias a personalizar por el administrador.
Estos ficheros, de especial importancia para el funciona-miento del HIDS, son cifrados y firmados por Tripwire con la clave introducida durante el proceso de instalación. De esta forma, una vez asegurados debidamente, twpol.txt y twcfg.txt pasarán a llamarse respectivamente tw.pol y tw.cfg, siendo almacenados por defecto en el directorio /etc/tripwire/ del sistema.
Es una medida prudente que, tras revisar el contenido de los ficheros en claro y
una vez sea almacenada una copia cifrada de los mismos, los primeros sean
eliminados, pues supondría un potencial punto de revelación de información a
un posible atacante del sistema.
Observando twcfg.txt podemos ver que se basa en un listado de asignaciones
de valores concretos a variables de la aplicación. Debemos prestar atención a
algunos de ellos, adecuando su valor debidamente a la configuración concreta
de nuestro sistema. Podemos destacar los siguientes:
� POLFILE: Valor por defecto /etc/tripwire/tw.pol. Especifica la ubicación
del fichero de políticas.
� DBFILE: Valor por defecto /var/lib/tripwire/$(HOSTNAME).twd. Especifi-
ca la ubicación del fichero que almacena la base de datos.
� REPORTFILE: Valor por defecto /var/lib/tripwire/report/$HOSTNAME-
$DATE.twr. D nde está albergados los informes que genera
Tripwire cada vez que hace una comprobación de integridad. Como
vemos, cada fichero vendrá identificado, gracias a las variables de
entorno, por el nombre de la máquina en la que se ejecuta el HIDS y la
fecha en la que se realizó la comprobación.
Unidad didáctica 7
12
Sistemas de detección de intrusiones
� SITEKEYFILE: Valor por defecto /etc/tripwire/site.key. Ubicación de la
clave empleada para firmar ficheros comunes a varios sistemas.
� LOCALKEYFILE: Valor por defecto /etc/tripwire/$HOSTNAME-local.key.Ubicación de la clave empleada para firmar ficheros s lo accesibles porel sistema local.
Como vemos, muchos de los parámetros de configuración están fijados respec-
to a variables de entorno predefinidas. Por tanto, deberemos comprobar que
dichas variables mantienen valores correctos. La forma más sencilla de hacer
esta comprobación, por ejemplo para $HOSTNAME, sería ejecutar desde línea
de comandos:
# echo $HOSTNAME
y observar el valor devuelto, comprobando que éste es el esperado.
El fichero de configuración, tal y como vemos, cuenta con diversos parámetros
y opciones, con lo que se invita a consultar la página del manual ofrecido por
Tripwire, ejecutando:
# man twconfig
En ella podremos encontrar información detallada sobre cada uno de los aspec-
tos configurables a través del fichero twcfg.txt.
2.2. UTILIDADES ADJUNTAS
La instalación de Tripwire ofrece una serie de aplicativos a través de los cuales
se realizará la gestión y administración del sistema HIDS en el sistema. Dichos
programas son:
� Tripwire. Se trata del programa principal. Es el que aporta las funciona-
lidades de inicialización de la base de datos, comprobación de la inte-
gridad de los ficheros del sistema, actualización de la base de datos y
actualización de las políticas.
� Twprint. Empleado para mostrar los informes (con el parámetro -m r)
o los ficheros de bases de datos (parámetro –m d) en un formato de
texto plano legible, adecuado para su consulta por parte del adminis-
trador.
Unidad didáctica 7
13
Tecnologías para la Seguridad
� Twadmin. Front-end de administración para tareas como:
� creación y consulta de ficheros de configuración
� creación, consulta y sustitución del fichero de políticas
� cifrado y descifrado de ficheros implicados
� generación de nuevas claves de cifrado
� Siggen. Utilidad empleada para generar y mostrar los hashes de un fi-
chero para comprobar su integridad. Estos hashes son el método que
emplea Tripwire internamente para el análisis de los ficheros monitori-
zados. Los formatos de hash soportados son Haval, SHA/SHS, MD5, y
CRC32.
2.3. TRABAJANDO CON TRIPWIRE
Una vez finalizada la instalación y sabiendo ya los aspectos principales del HIDS
en cuestión, comenzaremos a detallar lo que serán las tareas más habituales, y
los pasos a seguir, durante la gestión de Tripwire.
2.3.1. INICIALIZANDO EL ENTORNO
Sin duda, una de las primeras labores a realizar por el administrador es la gene-
ración de las claves que nos permitan cifrar los ficheros que mantendrán infor-
mación sensible sobre la configuración de Tripwire. Para ello, nos dirigiremos a
la consola y, desde la ruta /etc/tripwire/, ejecutaremos la siguiente secuencia de
comandos como administrador:
# twadmin --generate-keys --site-keyfile ./site.key
(When selecting a passphrase, keep in mind that good passphrases typi-
cally have upper and lower case letters, digits and punctuation marks,
and are at least 8 characters in length.)
Enter the site keyfile passphrase:
Verify the site keyfile passphrase:
Generating key (this may take several minutes)...Key generation complete.
Unidad didáctica 7
14
Sistemas de detección de intrusiones
# twadmin --generate-keys --local-keyfile ./$HOSTNAME-local.key
Enter the local keyfile passphrase:
Verify the local keyfile passphrase:
Generating key (this may take several minutes)...Key generation complete.
# ls
pc.lab.net-local.key site.key twcfg.txt twpol.txt
Como vemos, durante la creación de las claves se solicita-r n sendas contraseñas, siendo una buena práctica el dotar de la fortaleza suficiente a dichas contraseñas, pues en ellas residirá gran parte de la seguridad de HIDS en general.
Una vez generadas las claves, se deberá asegurar debidamente los ficheros de
configuración, para lo cual ahora se ejecutará:
# twadmin --create-cfgfile --cfgfile ./tw.cfg --site-keyfile ./site.key
twcfg.txt
Please enter your site passphrase:
Wrote configuration file: /etc/tripwire/tw.cfg
# twadmin --create-polfile --cfgfile tw.cfg --site-keyfile site.key
twpol.txt
Please enter your site passphrase:
Wrote policy file: /etc/tripwire/tw.pol
# ls
pc.lab.net-local.key site.key tw.cfg twcfg.txt tw.pol twpol.txt
Unidad didáctica 7
15
Tecnologías para la Seguridad
Como se dijo antes, una vez generadas las copias cifradas de los ficheros, de-
bemos eliminar las versiones en texto en claro, o al menos extraerlas del siste-
ma y almacenarlas en un lugar seguro. Finalmente, y de nuevo con el usuario
administrador, sería conveniente limitar el acceso a los ficheros cifrados a través
de los propios permisos del sistema de ficheros. Esto será efectuado a través
del siguiente comando:
# chmod 0600 tw.cfg tw.pol
Tras esto, solo quedará crear e inicializar la base de datos que será empleada inter-
namente por Tripwire para monitorizar la evolución de la integridad de los ficheros
controlados. El primer paso por tanto será crear una línea base o de partida para
las firmas almacenadas en dicha base de datos. Para esta labor se ejecutará el co-
mando que se muestra a continuación, el cual recurrirá a las configuraciones ya
establecidas en el fichero de configuración y en el de políticas, aunque es posible
cambiar dichos valores a través de parámetros en la llamada del comando:
# tripwire -m i –v
…
Please enter your local passphrase:
Parsing policy file: /etc/tripwire/tw.pol
Generating the database...
…
Wrote database file: /var/lib/tripwire/pc.lab.net.twd
The database was successfully generated.
A través del parámetro -m i se indica que se desea hacer uso del modo inicialización
de la base de datos, mientras que el parámetro -v permite llevar un control más deta-
llado del proceso. Como se puede ver, se solicita al usuario la introducción de la con-
traseña para acceder a la base de datos, siendo ésta la que se fijó a la hora de crear
las claves empleadas por Tripwire para asegurar los ficheros. Tras esto, se explorarán
todos los ficheros de los que se desea controlar la integridad, creando progresiva-
mente la base de datos en la que almacenar las firmas de los mismos.
Una vez que la base de datos ha sido creada, se almacenará en un fichero bina-
rio de base de datos Tripwire (con extensión .twd), del cual s lo el administra-
dor tendrá permisos de escritura y cifrado con la clave local, de ahí que se soli-
citase la contraseña para el acceso a dicha clave. Para la lectura de la base de
datos se empleará, de nuevo como administrador, el comando twprint.
Unidad didáctica 7
16
Sistemas de detección de intrusiones
2.3.2. CONTROL DE INTEGRIDAD
Este será uno de los principales modos de operación de Tripwire pues en él se
escanean los ficheros del sistema, comprobando su integridad y buscando así
potenciales modificaciones ilícitas de dichos ficheros. Los informes con las
anomalías detectadas se almacenarán en donde se haya prefijado a través de la
variable REPORTFILE en tw.cfg, que por defecto será en el
directorio /var/lib/tripwire/report/.
La forma más básica de realizar estas comprobaciones de integridad será a
través del comando:
# tripwire –m c –v /bin/cp
…
Opening configuration file: /etc/tripwire/tw.cfg
…
Checking: /bin/cp
--- Generating information for: /bin/cp
Wrote report file: /var/lib/tripwire/report/pc.lab.net-2008203-025444.twr
…
Total objects scanned: 1
Total violations found: 0
…
Cada anomalía encontrada será mostrada por salida estándar además de repor-
tada al mencionado informe.
A través del anterior ejemplo, se ha realizado una com-probación de la integridad del comando “cp” típico de sis-temas GNU/Linux, sin embargo, de no pasarle ningún fi-chero concreto a comprobar, Tripwire chequeará la inte-gridad de todos los ficheros presentes en su base de datos.
Unidad didáctica 7
17
Tecnologías para la Seguridad
Igualmente, se ha asumido que los ficheros de configuración y políticas están en
su ubicación por defecto, pero de no ser así, se podrá indicar la ruta de los
mismos a través de parámetros como --cfgfile. Por último puede verse cómo se
ha hecho uso de la opción –v, que aportará de un mayor detalle a la salida del
comando.
Otra forma habitual de empleo de Tripwire sería realizar una comprobación tan
s lo de los ficheros con un cierto grado de importancia. Por tanto, una vez defi-
nidos los niveles de importancia de cada fichero a través de las políticas, se
podrán ejecutar comprobaciones s lo de los más importantes, a través del co-
mando:
# tripwire –m c –v –l 100
Donde l parámetro –l 100 es el que precisa el nivel de relevancia de los fiche-
ros cuya integridad se desea evaluar. Una vez realizada la comprobación de los
ficheros, podría consultarse el informe obtenido a través del ya mencionado
comando twprint.
Ya comprendida la forma de operación de Tripwire, s lo quedará automatizar la
tarea de monitorización de forma que periódicamente se efectúe las
comprobaciones que se crean convenientes. Para tal fin se recomienda
recurrir a la utilidad “cron”, habitual en la administración de sistemas GNU/
Linux, a través de la cual se establecerán verificaciones con la periodicidad
deseada.
2.3.3. ACTUALIZACIÓN DE LA BASE DE DATOS
Como se ha visto en el punto anterior, Tripwire registrará cualquier variación en
los ficheros predefinidos, poniendo al administrador en alerta ante cualquier
evento en los mismos. Sin embargo, puede ser necesario durante las tareas de
operación con el sistema el modificar de forma intencionada dichos ficheros de
forma legítima. Por tanto, será necesario notificar a Tripwire de semejantes
cambios y que de esta forma no los tome como posibles intrusiones ilícitas.
La forma más eficiente de realizar tal labor es ejecutando Tripwire en modo ac-
tualización de la base de datos. Para ello se procederá con el siguiente coman-
do, pasándole como parámetro el informe más reciente de los obtenidos en las
comprobaciones de integridad:
# tripwire -m u -r /var/lib/tripwire/report/pc.lab.net-2008203-025444.twr
Una vez ejecutado se podrá ver cómo es cargado el editor de textos predefinido
en el fichero de configuración, a través de cual se indicará cuáles de los cam-
bios en ficheros, respecto al último informe, se aprobarán por haberse realizado
Unidad didáctica 7
18
Sistemas de detección de intrusiones
de forma intencionada. Este se efectúa respetando o eliminando los símbolos
de “X” que se muestran en cada uno de los cambios detectados. Así, de dejar la
“X” en la casilla, se informará de que dicho cambio es legítimo y por tanto no se
alertará del mismo en posteriores informes, mientras que si se elimina el símbolo
“X” se estará indicando que el administrador no efectuó dicho cambio, tomán-
dolo como no deseado y por tanto reportado como alerta en un futuro. Tras
revisar todas las modificaciones se solicitará la introducción de la contraseña
para actualizar la base de datos.
2.3.4. ACTUALIZACIÓN DE POLÍTICAS
A medida que se evolucione en la integración de Tripwire con el sistema,
podrían surgir nuevas necesidades en cuanto a las políticas a aplicar en las
comprobaciones efectuadas.
Será necesaria la optimización de estas políticas ajustán-dolas lo más posible a las necesidades concretas de cada máquina.
Por tanto, para tal fin se recurrirá al modo de trabajo de Tripwire de actualiza-
ción de políticas.
El primer paso será la edición de un nuevo fichero de texto en claro en el que se
especificarán las nuevas políticas que se desean incluir o las modificaciones en
las presentes, siguiendo la notación propia de Tripwire para definición de políti-
cas, vista ya en twpol.txt. Una vez realizado esto, se procederá con el siguiente
comando, pasando como parámetro el nombre del fichero recién editado:
# tripwire -m p nueva_politica.txt
Tras lo cual se solicitarán las contraseñas para la debida actualización de la ba-
se de datos y el fichero de políticas, procediendo a la sincronización de las con-
figuraciones antiguas frente a los nuevos parámetros introducidos a través del
fichero de políticas “nueva_politica.txt”.
Unidad didáctica 7 19
Sistemas de detección de intrusiones
CONCLUSIONES
En este módulo hemos aprendido cómo emplear los sistemas de detección de
intrusos como elemento de ayuda a la localización de evidencias o trazas de
accesos o actividades no autorizadas en nuestras redes y servidores. Sin duda,
y como se ha podido apreciar, estos elementos son de gran ayuda, considerán-
dose casi imprescindibles en entorno de cierta criticidad.
Si fueses un responsable de seguridad lógica o el administrador de servidores
críticos, ¿qué actividad de red o ficheros del sistema consideras que deberían
estar monitorizados? Seguro que se te ocurre un importante número de datos
que te gustaría tener controlados y que, gracias a las tecnologías expuestas, es
posible realizar.
Unidad didáctica 7
20
Tecnologías para la Seguridad
RECAPITULACIÓN
Veremos una enumeración de todos los conceptos aprendidos en este módulo:
� Importancia de los sistemas de detección de intrusos como dispositivo
de seguridad local y en red.
� Clasificación de los IDS en función de los elementos monitorizados.
� Componentes en los que se podría dividir un IDS
� Empleo de Tripwire como HIDS para controlar la integridad de los ele-
mentos críticos de un sistema.
Unidad didáctica 7 21
Sistemas de detección de intrusiones
AUTOCOMPROBACIÓN
1. Si deseamos prevenir posibles ataques de red, ¿qué solución se ade-
cuará más a nuestras necesidades?
a) IDS.
b) IPS.
c) Tanto un IDS como un IPS.
d) Ni un IDS ni un IPS.
2. Según la clasificación básica de los algoritmos que utilizan los IDS,
¿Cuál de ellos minimiza los falsos positivos, pero requiere bastante
tiempo en su desarrollo?
a) Firmas basadas en algoritmos heurísticos.
b) Basados en la coincidencia de los patrones de estado.
c) Basados en patrones/firmas simples.
d) Firmas basadas en decodificación de protocolos.
3. Según la clasificación básica de los algoritmos que utilizan los IDS,
¿Cuál de ellos basados en cálculos estadísticos y trazan líneas base de
comportamiento?
a) Firmas basadas en algoritmos heurísticos.
b) Firmas basadas en decodificación de protocolos.
c) Basados en patrones/firmas simples.
d) Basados en la coincidencia de los patrones de estado.
Unidad didáctica 7
22
Tecnologías para la Seguridad
4. ¿Qué componente lógico dentro de un IDS es el encargado de desen-
samblar y ensamblar los paquetes que pasan por él, analizándolos y
comparándolos con firmas o líneas de comportamiento?
a) Base de datos.
b) Consola.
c) Motor.
d) Aplicación de análisis.
5. ¿Qué componente lógico dentro de un IDS es el encargado de recoger
los datos de la base de datos y realiza análisis estadísticos de varios
parámetros?
a) Consola.
b) Base de datos.
c) Aplicación de análisis.
d) Motor.
6. ¿ ué fichero, dentro de la configuración de Tripwire, se fijan las
ubicaciones de otros ficheros relacionados, así como otras
preferencias a personalizar por el administrador?
a) site.key.
b) twpol.txt.
c) tw.pol.
d) twcfg.txt.
7. ¿Qué fichero, dentro de la configuración de Tripwire, consiste en la
definición de reglas y otras variables necesarias para el correcto fun-
cionamiento de la aplicación?
a) tw.cfg.
b) twpol.txt.
c) site.key.
d) twcfg.txt.
Unidad didáctica 7
23
Sistemas de detección de intrusiones
8. ¿Qué variable del fichero twcfg.txt contiene la ubicación de la clave
empleada para firmar ficheros comunes a varios sistemas?
a) POLFILE.
b) LOCALKEYFILE.
c) DBFILE.
d) SITEKEYFILE.
9. ¿Cuál de los programas aportados por Tripwire permite la creación y
consulta de ficheros de configuración?
a) Twadmin.
b) Twprint.
c) Tripwire.
d) Siggen.
10. ¿Cuál de los programas aportados por Tripwire permite mostrar los
ficheros de bases de datos en un formato de texto plano legible?
a) Twadmin.
b) Tripwire.
c) Twprint.
d) Siggen.
Unidad didáctica 7 24
Sistemas de detección de intrusiones
SOLUCIONARIO
1. b 2. d 3. a 4. c 5. c
6. d 7. b 8. d 9. a 10. c
Unidad didáctica 7
25
Tecnologías para la Seguridad
PROPUESTAS DE AMPLIACIÓN
Como se ha visto, el campo de los sistemas de detección de intrusos ofrece un
gran potencial. A continuación presentaremos algunos puntos en los que se
podría profundizar, y a través de los cuales estamos seguros que se obtendrán
conclusiones y conocimientos muy útiles sobre la seguridad integral de redes y
máquinas:
� Gracias a lo aprendido e este módulo, y los conocimientos de proto-
colos de red ya adquiridos, se recomienda estudiar y probar algún IDS
de red (NIDS). Por ejemplo, Snort (Ver http://www.snort.org/) es un
NIDS ampliamente usado, y de acceso libre, que constituye un buen
ejemplo sobre esta tecnología.
� Los sistemas de prevención de intrusos (IPS) están cobrando cada día
más protagonismo y se están introduciendo como una solución adicio-
nal y complementaria a los propios IDS. Busca por Internet en las pági-
nas de fabricantes (Por ejemplo, Cisco, Juniper, etc.) los productos
ofrecidos por estos. Navega entre los manuales de configuración de es-
tos productos para comprobar las configuraciones que permiten y la
potencia de detección y prevención de los mismos.
� A pesar de que se ha expuesto detenidamente la operativa de trabajo
con Tripwire, se recomienda que se experimente con dicha herramien-
ta. Es de gran interés el realizar la configuración de la misma, definien-
do políticas precisas, y actuar de forma alterna como administrador de
la máquina y como atacante de la misma, para ver un comportamiento
lo más cercano a la realidad del HIDS.
Unidad didáctica 7 26
Sistemas de detección de intrusiones
BIBLIOGRAFÍA
� TROST, R. Practical Intrusion Analysis. Addison-Wesley, 2009.
� Sitio Web de Tripwire (http://www.tripwire.com). Recuperado: agosto 2012.
� Sitio Web de Snort (http://www.snort.org/). Recuperado: agosto 2012.
Unidad didáctica 7
27