OSSEC HIDS.- es un sistema de código abierto basado detección de intrusos en el host (host intrusion detection) o Tambien llamado IDS.
Resumen de Características:
Paso1: Instalar paquetes necesarios.
# yum install gcc gcc-c++
Paso2: Descargar OSSEC HIDS o hacer un wget a la URL de descarga desde el terminal de linux.
# wget http://www.ossec.net/files/ossec-hids-2.7.1.tar.gz
Paso3: Extraemos el Paquete:
# tar zxvf ossec-hids-2.7.1.tar.gz
Paso4: Ingresamos a la carpeta descomprimida e instalamos.
# cd ossec-hids-2.7.1
# sh install.sh-> Despues de ejecutar nos hara un serie de preguntas.
1.-Elegimos el Idioma en mi español (digitamos: es).
# [en]: es
2.- Luego veras una descripción y mostrará dos Opciones:
ENTER para continuar y CTRL+C para detener la instalación.
Presionamos ENTER y continuamos.
3.- Luego preguntará por el tipo de instalación: servidor, agente, local ó ayuda.
Digitamos servidor porque así nos permite proteger nuestro server y agregar host para que también sean protegidos.
4.- Luego preguntará por la ruta de instalación:
Digitamos la ruta por defecto que nos aparece: /var/ossec.
5.- Luego preguntara si deseamos recibir notificaciones por correo y nos pedira nuestro correo.
Digitamos la s de SI y luego digitamos nuestro correo.
6.- Luego detectará automáticamente tu servidor SMTP.
Digitamos la s de si y sino lo dectecta digitamos nuestro servidor SMTP en mi caso smtp.gmail.com porque mi correo esta en gmail.
7.- Luego preguntará si deseamos agregar el servidor de integridad.
Digitamos la s de SI.
8.- Luego preguntará si deseamos repuesta activa (Bloquear IP o usuario ante comportamiento extraño).
Digitamos la s de SI.
9.- Luego preguntará si firewall se encargará de los bloqueos.
Digitamos la s de SI.
10. Luego nos detecta nuestro DNS para internet y agrega a la lista blanca y pregunta si queremos agregar otra IP.
Digitamos la n de NO.
11.- Luego preguntara si deseamos habilitar el syslog remoto (registro de eventos) .
Digitamos la s de SI.
12.- Luego preguntara si deseamos continuar presionar ENTER para instalar.
Presionamos ENTER.
13.- Luego antes de finalizar la instalación y nos mostrara alguna recomendaciones.
Para borrar historial "de agentes".
Y por ultimo nos pide presionar ENTER para FINALIZAR LA INSTALACIÓN.
La cantidad de archivos y carpetas demandaran mas trabajo para tu servidor lo ideal sería definir extensiones de archivos y las carpetas de alto riesgo.
¿ Cómo modificamos y personalizamos las reglas ?
Paso0: Para un archivo específico.
Editamos el archivo nano /var/ossec/etc/ossec.conf
buscamos la línea 262 y agregamos:
<!--Agregando un archivo para revisón -->
<localfile>
<log_format>syslog</log_format> ---> Nombre cualquiera
<location>/etc/syslog</location> ---> Ruta del Archivo
</localfile>
<!--Fin de archivo agregado -->
Paso1: Para directorios y archivos por extensiones.
Editamos el archivo nano /var/ossec/etc/ossec.conf
<!-- Alertar cuando se genera nuevos archivos -->
<directories realtime="yes" check_all="yes">/home/test2</directories>
<directories realtime="yes" check_all="yes" restrict=".php|.js">/home/test3</directories>
-----------------------------------------------------------------------------------
A continuación explicamos las líneas:
Las letras de color amarillo son comentarios:
Las letras de color anaranjado son nuestros directorios a revisar.
<frequency>10</frequency> : es la frecuencia de tiempo que actualizará.
<alert_new_files>yes</alert_new_files> : es la aregla cuando detecte nuevos archvos.
<directories realtime="yes" check_all="yes">/home/test2</directories> : directorio que será revisado en tiempo real.
<directories realtime="yes" check_all="yes" restrict=".php|.js">/home/test3</directories> : directorio que será revisado en tiempo real y solamente alertara si la extensión del archivo es "php" o "js".
Paso2: Para poner alertas cuando se generan nuevos archivos.
Editamos el archivo: nano /var/ossec/rules/ossec_rules.xml
y buscamos la siguiente linea (Aprox. la línea 200) :
----------------Encontramos lo siguiente---------------------------------------
<rule id="554" level="0">
<category>ossec</category>
<decoded_as>syscheck_new_entry</decoded_as>
<description>File added to the system.</description>
<group>syscheck,</group>
</rule>
-------------------------------------------------------------------------------------
--------------------Agregamos Otro bloque debajo quedando así-----------------------------
<rule id="554" level="0">
<category>ossec</category>
<decoded_as>syscheck_new_entry</decoded_as>
<description>File added to the system.</description>
<group>syscheck,</group>
</rule>
<!-- AGREGADO BLOQUE PARA NOTIFICAR CON ARCHIVOS NUEVOS -->
<rule id="554" level="7" overwrite="yes">
<category>ossec</category>
<decoded_as>syscheck_new_entry</decoded_as>
<description>File added to the system.</description>
<group>syscheck,</group>
</rule>
<!-- FIN DE NOTIFICAR -->
--------------------------------------------------------------------------------------------------------------
Paso3: Con estas reglas ya podrás tener un ambiente mejor moniteoreado ante cambios o modificaciones indebidas de acuerdo a los directorios y extensiones de archivos que tú definas.
- Realiza análisis de registros.
- Integridad de archivos o ficheros.
- Seguimiento en las modificaciones del los archivos.
- Alertas en tiempo real y respuesta activa.
- Detección de rootkits (Instalación de un programa oculto para corromper el funcionamiento normal del sistema o aplicaciones).
- Dectección, bloqueo y alerta de ataques por Fuerza Bruta.
Paso1: Instalar paquetes necesarios.
# yum install gcc gcc-c++
Paso2: Descargar OSSEC HIDS o hacer un wget a la URL de descarga desde el terminal de linux.
# wget http://www.ossec.net/files/ossec-hids-2.7.1.tar.gz
Paso3: Extraemos el Paquete:
# tar zxvf ossec-hids-2.7.1.tar.gz
Paso4: Ingresamos a la carpeta descomprimida e instalamos.
# cd ossec-hids-2.7.1
# sh install.sh-> Despues de ejecutar nos hara un serie de preguntas.
1.-Elegimos el Idioma en mi español (digitamos: es).
# [en]: es
2.- Luego veras una descripción y mostrará dos Opciones:
ENTER para continuar y CTRL+C para detener la instalación.
Presionamos ENTER y continuamos.
3.- Luego preguntará por el tipo de instalación: servidor, agente, local ó ayuda.
Digitamos servidor porque así nos permite proteger nuestro server y agregar host para que también sean protegidos.
4.- Luego preguntará por la ruta de instalación:
Digitamos la ruta por defecto que nos aparece: /var/ossec.
5.- Luego preguntara si deseamos recibir notificaciones por correo y nos pedira nuestro correo.
Digitamos la s de SI y luego digitamos nuestro correo.
6.- Luego detectará automáticamente tu servidor SMTP.
Digitamos la s de si y sino lo dectecta digitamos nuestro servidor SMTP en mi caso smtp.gmail.com porque mi correo esta en gmail.
7.- Luego preguntará si deseamos agregar el servidor de integridad.
Digitamos la s de SI.
8.- Luego preguntará si deseamos repuesta activa (Bloquear IP o usuario ante comportamiento extraño).
Digitamos la s de SI.
9.- Luego preguntará si firewall se encargará de los bloqueos.
Digitamos la s de SI.
10. Luego nos detecta nuestro DNS para internet y agrega a la lista blanca y pregunta si queremos agregar otra IP.
Digitamos la n de NO.
11.- Luego preguntara si deseamos habilitar el syslog remoto (registro de eventos) .
Digitamos la s de SI.
12.- Luego preguntara si deseamos continuar presionar ENTER para instalar.
Presionamos ENTER.
13.- Luego antes de finalizar la instalación y nos mostrara alguna recomendaciones.
- El archivo de configuración de OSSEC HIDS:
- Para Iniciar OSSEC HIDS:
- Para Detener OSSEC HIDS:
- Para Agregar agentes (PC clientes) nos recomienda usar "manage_agents".
- Para borrar historial "local".
/var/ossec/bin/syscheck_update -u local
Para borrar historial "de agentes".
/var/ossec/bin/syscheck_update -a
Y por ultimo nos pide presionar ENTER para FINALIZAR LA INSTALACIÓN.
NOTA: Cabe señalar que Ossec trabaja en base a reglas definidas por defecto las cuales las modificaremos para una mejor performance.
REGLAS ADICIONALES
A continuación detallo unas reglas que te permitirán monitorear y alertar por carpeta y por extensión de archivos. La cantidad de archivos y carpetas demandaran mas trabajo para tu servidor lo ideal sería definir extensiones de archivos y las carpetas de alto riesgo.
¿ Cómo modificamos y personalizamos las reglas ?
Paso0: Para un archivo específico.
Editamos el archivo nano /var/ossec/etc/ossec.conf
buscamos la línea 262 y agregamos:
<!--Agregando un archivo para revisón -->
<localfile>
<log_format>syslog</log_format> ---> Nombre cualquiera
<location>/etc/syslog</location> ---> Ruta del Archivo
</localfile>
<!--Fin de archivo agregado -->
Paso1: Para directorios y archivos por extensiones.
Editamos el archivo nano /var/ossec/etc/ossec.conf
y buscamos la siguiente línea (aprox. linea 74):
----------------Encontramos lo siguiente---------------------------------------
<syscheck>
<!-- Frequency that syscheck is executed - default to every 22 hours -->
<frequency>79200</frequency>
<!-- Directories to check (perform all possible verifications) -->
<directories check_all="yes">/etc,/usr/bin,/usr/sbin</directories>
<directories check_all="yes">/bin,/sbin</directories>
<!-- Frequency that syscheck is executed - default to every 22 hours -->
<frequency>79200</frequency>
<!-- Directories to check (perform all possible verifications) -->
<directories check_all="yes">/etc,/usr/bin,/usr/sbin</directories>
<directories check_all="yes">/bin,/sbin</directories>
-------------------------------------------------------------------------------------
----------------Modificamos por lo siguiente------------------------------------
<syscheck>
<!-- Frequency that syscheck is executed - default to every 22 hours -->
<!-- Directories to check (perform all possible verifications) -->
<!-- <directories check_all="yes">/etc,/usr/bin,/usr/sbin</directories> -->
<!-- <directories check_all="yes">/bin,/sbin</directories> -->
<!-- Frequency that syscheck is executed - default to every 22 hours -->
<!-- Directories to check (perform all possible verifications) -->
<!-- <directories check_all="yes">/etc,/usr/bin,/usr/sbin</directories> -->
<!-- <directories check_all="yes">/bin,/sbin</directories> -->
<!-- Frencuencia de Revisión cada 10 segundos -->
<frequency>10</frequency>
<!-- Alertar cuando se genera nuevos archivos -->
<alert_new_files>yes</alert_new_files>
<!-- Alertar en tiempo real para ello agregamos una setencia: realtime="yes" -->
<directories realtime="yes" check_all="yes">/home/test2</directories>
<!-- Para archivos con extensiones específicas en carpetas especificas -->
<directories realtime="yes" check_all="yes" restrict=".php|.js">/home/test3</directories>
-----------------------------------------------------------------------------------
A continuación explicamos las líneas:
Las letras de color amarillo son comentarios:
Las letras de color anaranjado son nuestros directorios a revisar.
<frequency>10</frequency> : es la frecuencia de tiempo que actualizará.
<alert_new_files>yes</alert_new_files> : es la aregla cuando detecte nuevos archvos.
<directories realtime="yes" check_all="yes">/home/test2</directories> : directorio que será revisado en tiempo real.
<directories realtime="yes" check_all="yes" restrict=".php|.js">/home/test3</directories> : directorio que será revisado en tiempo real y solamente alertara si la extensión del archivo es "php" o "js".
Paso2: Para poner alertas cuando se generan nuevos archivos.
Editamos el archivo: nano /var/ossec/rules/ossec_rules.xml
y buscamos la siguiente linea (Aprox. la línea 200) :
----------------Encontramos lo siguiente---------------------------------------
<rule id="554" level="0">
<category>ossec</category>
<decoded_as>syscheck_new_entry</decoded_as>
<description>File added to the system.</description>
<group>syscheck,</group>
</rule>
-------------------------------------------------------------------------------------
--------------------Agregamos Otro bloque debajo quedando así-----------------------------
<rule id="554" level="0">
<category>ossec</category>
<decoded_as>syscheck_new_entry</decoded_as>
<description>File added to the system.</description>
<group>syscheck,</group>
</rule>
<!-- AGREGADO BLOQUE PARA NOTIFICAR CON ARCHIVOS NUEVOS -->
<rule id="554" level="7" overwrite="yes">
<category>ossec</category>
<decoded_as>syscheck_new_entry</decoded_as>
<description>File added to the system.</description>
<group>syscheck,</group>
</rule>
<!-- FIN DE NOTIFICAR -->
--------------------------------------------------------------------------------------------------------------
Paso3: Con estas reglas ya podrás tener un ambiente mejor moniteoreado ante cambios o modificaciones indebidas de acuerdo a los directorios y extensiones de archivos que tú definas.