El ossec.conf es el archivo de configuración principal del sistema de detección de intrusos Ossec, está basado en código xml para que sea de fácil entendimiento y además por su organización basada en tags o etiquetas.
La ruta de este archivo es la siguiente: /var/ossec/etc/
El archivo ossec.conf está conformado por una etiqueta global llamada <ossec_config>
El archivo ossec.conf está conformado por una etiqueta global llamada <ossec_config>
Dentro de esta etiqueta global se encuentran el siguiente listado de etiquetas.
ETIQUETA
|
DESCRIPCION
|
<global>
|
Configuración general usada en las instalaciones locales y de servidor.
|
<alerts>
|
Opciones de email y alertas de log
|
<email_alerts>
|
Opciones de alerta granular de email
|
<rules>
|
Lista de reglas incluidas
|
<syscheck>
|
Directorios del sistema a chequear
|
<localfile>
|
Archivos a monitorizar localmente en el equipo
|
<command>
|
Archivos .sh que se ejecuta según orden de active-response
|
<active-response>
|
Configuración de la respuesta activa
|
Etiqueta <global> - Dentro de la etiqueta global van las siguientes etiquetas:
<email_notificacion> - En esta etiqueta van dos valores yes o no, al escribir yes activamos la notificación por email y con el valor no lo desactivamos.
<email_to> - Esta etiqueta me permite escribir la dirección a la cual deseo recibir dichas notificaciones de email.
<smtp_server> - Aquí va indicada la dirección ip del servidor de correos.
<email_from> - En esta subetiqueta escribo la dirección a la cual deseo recibir los email.
Ejemplo:
<global>
<email_notification>yes</email_notification>
<email_to>root@arreaga.com</email_to>
<smtp_server>192.168.3.121</smtp_server>
<email_from>ossecm@jonathan.arreaga.com</email_from>
</global>
|
Etiqueta <alerts> - Dentro de la etiqueta alerts van las siguientes etiquetas:
<log_alert_level> - Esta etiqueta indica desde que nivel, deseo las alertas de registro.
<email_alert_level> - En esta etiqueta indico desde que nivel deseo mis alertas mediante email.
<log_alert_level> - Esta etiqueta indica desde que nivel, deseo las alertas de registro.
<email_alert_level> - En esta etiqueta indico desde que nivel deseo mis alertas mediante email.
Ejemplo:
<alert>
<log_alert_level>1</log_alert_level>
<email_alert_level>7</email_alert_level>
</alerts>
|
Etiqueta <email_alerts> - Dentro de la etiqueta alerts van las siguientes etiquetas:
<email_to> - Con esta etiqueta se puede indicar a que dirección de correo deseo alertar.
<level> - Esta etiqueta me permite indicar el nivel de alerta que se desee enviar el correo.
<group> - En esta etiqueta especifico a que grupo de reglas que están en la etiqueta <rules> deseo las alertas de email. VER Sección 3.2.
<email_to> - Con esta etiqueta se puede indicar a que dirección de correo deseo alertar.
<level> - Esta etiqueta me permite indicar el nivel de alerta que se desee enviar el correo.
<group> - En esta etiqueta especifico a que grupo de reglas que están en la etiqueta <rules> deseo las alertas de email. VER Sección 3.2.
Ejemplo1:
<email_alerts>
<email_to>root@arreaga.com</email_to>
<level>8</level>
<group>sshd</group>
</email_alerts>
|
Ejemplo 2:
<email_alerts>
<email_to>root@arreaga.com</email_to>
<level>6</level>
<group>apache</group>
</email_alerts>
|
Etiqueta <rules>
<include> - Esta etiqueta permite incluir el archivo .xml de una regla que se encuentra en la siguiente ruta: /var/ossec/rules
Ejemplo:
<include> - Esta etiqueta permite incluir el archivo .xml de una regla que se encuentra en la siguiente ruta: /var/ossec/rules
Ejemplo:
<rules>
<include>rules_config.xml</include>
<include>sshd_rules.xml</include>
<include>telnetd_rules.xml</include>
………………………
</rules>
|
Etiqueta <syscheck> - Dentro de la etiqueta syscheck van las siguientes etiquetas:
<frequency> - Esta etiqueta especifica la frecuencia en la cual syscheck se ejecuta
<directories> - Con esta etiqueta indico que directorios van a ser chequeados por syscheck.
La etiqueta tiene varias opciones y su sintaxis seria asi: <directories opción = “yes”>
Opciones:
check_all = Realiza todos los disponibles chequeos de integridad.
check_sum = Usa md5/sha1 para chequear la integridad de los archivos.
check_size = Chequea archivos por cambios de tamaño.
check_owner = Chequea archivos por cambio de propietario.
check_group = Chequea archivos por cambio de propietario de grupo.
check_perm = Chequea archivos por cambios de permiso.
<ignore> - Aquí yo específico los directorios o archivos a ignorar.
Ejemplo:
<syscheck>
<frequency>79200</frequency>
<directories check_all="yes">/etc,/usr/bin,/usr/sbin</directories>
<directories check_all="yes">/bin,/sbin</directories>
<directories check_all="yes">/var/www/html</directories>
<ignore>/etc/utmpx</ignore>
<ignore>/etc/dumpdates</ignore>
<ignore>/etc/svc/volatile</ignore>
</syscheck>
|
Etiqueta <localfile> - Dentro de la etiqueta localfile van las siguientes etiquetas:
<log_format> - Formato del archivo log a ser monitorizado, si el archivo log es tiene entradas por línea se recomienda el formato syslog.
<location> - La ruta entera del archivo log.
<log_format> - Formato del archivo log a ser monitorizado, si el archivo log es tiene entradas por línea se recomienda el formato syslog.
<location> - La ruta entera del archivo log.
Ejemplo1:
<localfile>
<log_format>syslog</log_format>
<location>/var/log/maillog</location>
</localfile>
|
Ejemplo2:
<localfile>
<log_format>apache</log_format>
<location>/var/log/httpd/error_log</location>
</localfile>
|
Etiqueta <command> - En esta etiqueta configuro la integración del archivo ejecutable .sh que se encuentra en la ruta “/var/ossec/active-response/bin”, para luego ser usado en respuesta activa.
<name> - Dentro de esta etiqueta se pone el nombre del comando.
<executable> - En esta etiqueta se escribe el nombre del archivo ejecutable script .sh
<expect> - El destino del comando a ejecutarse, puede ser:
<expect>user</expect>
<expect>srcip</expect>
<timeout_allowed> - Permisión del tiempo que culmina el comando, puede ser yes o no.
Ejemplo:
<name> - Dentro de esta etiqueta se pone el nombre del comando.
<executable> - En esta etiqueta se escribe el nombre del archivo ejecutable script .sh
<expect> - El destino del comando a ejecutarse, puede ser:
<expect>user</expect>
<expect>srcip</expect>
<timeout_allowed> - Permisión del tiempo que culmina el comando, puede ser yes o no.
Ejemplo:
<command>
<name>firewall-drop</name>
<executable>firewall-drop.sh</executable>
<expect>srcip</expect>
<timeout_allowed>yes</timeout_allowed>
</command>
|
Etiqueta <active-response> - Esta etiqueta permite ejecutar automaticamente un comando establecido por la etiqueta command, siempre y cuando se cumplan las condiciones establecidas por esta etiqueta.
<disabled> - Contiene dos valores yes o no, no para activar y yes para desactivar la respuesta activa.
<command> - Esta etiqueta se referencia algún comando que incluí en las etiquetas <command> previamente.
<location> - Aquí se define donde el comando es ejecutado, puede ser: local, server, defined-agent y all.
<level> - Nos permite configurar a partir de qué nivel deseo se active el active response cuando exista alguna coincidencia de regla.
<rules_id> - Aquí va el identificador numérico de una regla en particular.
<rules_group> - El comando es ejecutado por cualquier regla y grupo de regla que coincida con mi configuración. (ver reglas tema 3.2)
<timeout> - El tiempo en segundos que dura la respuesta activa.
Ejemplo:
<active-response>
<disabled>no</disabled>
<command>firewall-drop</command>
<location>local</location>
<level>10</level>
<rules_id>5712,5720</rules_id>
<rules_group>authentication_failures</rules_group>
</active-response>
|
En este ejemplo vemos que en esta respuesta activa se ejecutará el comando firewall-drop localmente a partir del nivel 10 de las regla número 5712 y 5720 que pertenecen al grupo de regla authentication_failures.