INFORME INSTALACION Y CONFIGURACION SISTEMA DE DETECCION DE INTRUSOS EN RED SEGUNDO PREVIO PRESENTADO POR: EDINSON ACEVEDO CONTRERAS 1150512 PRESENTADO A: ING. JEAN POLO CEQUEDA UNIVERSIDAD FRANCISCO DE PAULA SANTANDER FACULTAD DE INGENIERIAS PLAN DE ESTUDIOS DE INGENIERIA DE SISTEMAS SEGURIDAD INFORMATICA SAN JOSE DE CUCUTA 2015 INSTALACION Y CONFIGURACION SNORT EN WINDOWS Antes de iniciar con la configuración e instalación de Snort, Winpcap debe estar previamente instalado en nuestro sistema. 1. Descargar la última versión de Snort para Windows de la página www.snort.org. e instalar Despues de la instalación, el directorio C:\Snort contendrá lo siguiente: C: \snort \ bin directorio donde se encuentra el ejecutable de la herramienta C: \ snort \ contrib C: \snort \ doc documentación de la herramienta C: \snort \ etc directorio principal para los archivos de configuración C: \snort \ log C: \snort\ rules juegos de reglas Dentro del directorio etc los ficheros más importantes son los siguientes: etc/snort.conf: archivo de configuración principal. etc/classification.config: información sobre la priorización de las reglas, incluyendo un nombre clasificatorio y una pequeña descripción. etc/gen-msg.map: incluye correspondencia entre un identificador de elemento generador de un evento y su descripción. etc/reference.config: define las URL asociadas a las referencias de más información que suelen indicarse junto a las reglas de detección. etc/sid-msg.map: hace corresponder el identificador de una alerta (Snort ID, SID) con su mensaje descriptivo. etc/threshold.conf: configuración de umbrales límite que permiten la reducción de alarmas por repetición de eventos. etc/unicode.map: correspondencias de formato entre diferentes tipos de código. A continuación se enuncian los pasos para la configuración de Snort. Paso 1 (Step #1) Editar el archivo snort.conf, el cual se encuentra en el directorio c:\Snort\etc allí cambie la declaración de HOME_NET a su rango de direcciones IP de red doméstica. Ipvar HOME_NET 192.168.0.1/20 Seguido a esto cambie la declaración de EXTERNAL_NET a !$HOME_NET, esta expresión significa que la red externa se define como cualquier dirección IP que no es parte de la red doméstica. ipvar EXTERNAL_NET !$HOME_NET Después Cambie la declaración RULE_PATH para que coincida con la ubicación real de los archivos de reglas. Normalmente las reglas serán almacenados en c:\Snort\rules. var RULE_PATH c:\Snort\rules Del mismo modo, cambiar la declaración de PREPROC_RULE_PATH para que coincida con la ubicación del directorio apropiado en el sistema. var PREPROC_RULE_PATH c:\Snort\preproc_rules Comentar (poner un carácter # en la primera posición en la línea) la declaración SO_RULE_PATH, debido a que la implementación de Windows de Snort no utiliza reglas de objetos compartidos. #var SO_RULE_PATH ../so_rules El preprocesador reputación es una adición relativamente reciente de Snort que le permite configurar direcciones IP de confianza o no confiables utilizando archivos de referencia separados que enumeran las direcciones (lista blanca de confianza, Blacklist para no confiable). Si tiene intención de permitir que el preprocesador reputación entonces indique la ruta a los archivos de lista blanca y lista negra. var WHITE_LIST_PATH c:\Snort\rules var BLACK_LIST_PATH c:\Snort\rules Paso 2 (Step #2) Al final de esta sección, hay una opción de configuración (#config logdir:) para indicar el directorio predeterminado donde los registros de Snort se deben escribir. Elimine el carácter # en la primera posición y edite la línea para incluir el directorio c:\Snort\log config logdir: c:\Snort\log Paso 3 (Step #3) Para la mayoría de los usuarios, no hay cambios necesarios para la configuración del motor de detección de base, por lo que se pasaremos al paso 4. Estos valores se utilizan para la optimización del rendimiento y reflejan las capacidades de memoria y procesamiento. Paso 4 (Step #4) Cambie las referencias de la ruta a la biblioteca cargadas dinámicamente para reflejar su ubicación en Windows. dynamicpreprocessor directory c:\Snort\lib\snort_dynamicpreprocessor dynamicengine c:\Snort\lib\snort_dynamicengine\sf_engine.dll Comente (poner un # en la primera posición en la línea) la declaración directorio dynamicdetection. #dynamicdetection directory /usr/local/lib/snort_dynamicrules Paso 5 (Step #5) Comente (poner un # en la primera posición en la línea) todas las declaraciones del preprocesador normalize. Este preprocesador sólo se utiliza cuando Snort se ejecuta en modo IPS, Snort debería ignorarlo, pero en Windows se producirá un error si se deja sin comentar. #preprocessor normalize_ip4 #preprocessor normalize_tcp: block, rsv, pad, urp, req_urg, req_pay, req_urp, ips, ecn stream #preprocessor normalize_icmp4 #preprocessor normalize_ip6 #preprocessor normalize_icmp6 Eliminar el comentario de la línea donde se declara el preprocesador de escaneo de puertos. preprocessor sfportscan: proto {all } memcap { 10000000 } sense_level { low } Como se señaló en el paso 1, si decide mantener el preprocesador Reputación debe crear la lista blanca y lista negra, archivos correspondientes a las referencias en los ajustes de configuración para el preprocesador reputación. Snort por defecto incluye un conjunto de reglas en un archivo llamado "blacklist.rules" que no es utilizado por el preprocesador reputación. Por esta razón se recomienda evitar confusiones posteriores para esto elija nombres para la lista blanca y lista negra de los archivos que no incluyan la palabra "rules" en los nombres (por ejemplo, "white.list" y "black.list"), esto archivos deberán ser creados en el directorio c:\Snort\rules. y declarados como se indica a continuación. preprocessor reputation: \ memcap 500, \ priority whitelist, \ nested_ip inner, \ whitelist $WHITE_LIST_PATH\white.list, \ blacklist $BLACK_LIST_PATH\black.list Paso 6 (Step #6) Deje las líneas de referencia a metadatos sin comentar: Include classification.config Include reference.config Paso 7 (Step #7) incluir la declaración de la ruta donde se encuentren la reglas a utilizar: include $RULE_PATH\local.rules Paso 8 (Step #8) Asegúrese de que las normas que se declaran están realmente presentes en el directorio adecuado. include $PREPROC_RULE_PATH\preprocessor.rules include $PREPROC_RULE_PATH\decoder.rules include $PREPROC_RULE_PATH\sensitive-data.rules Paso 9 (Step #9) Eliminar el comentario de la siguiente línea. include threshold.conf ESTRUCTURA DE LAS REGLAS Básicamente, una regla de Snort consta de dos partes: Encabezado Opciones La cabecera permite establecer el origen y destino de la comunicación, y sobre dicha información realizar una determinada acción. La cabecera contiene algunos criterios para unir la regla con un paquete y dictar qué acción debe tomar una regla. Su estructura es: <Acción> <protocolo> <red origen> <puerto origen> <dirección> <red destino> <puerto destino> Algunos ejemplos… alert icmp any any -> any any alert udp any any -> any any alert tcp any any -> any 80 alert tcp $EXTERNAL_NET any -> $HOME_NET 53 Acción: Permite indicar la acción que se debe realizar sobre dicho paquete. Los posibles valores son: alert: Genera una alerta usando el método de alerta seleccionado y posteriormente loggea el paquete. log: Comprueba el paquete. pass: Ignora el paquete. activate: Alerta y luego activa otra regla dinámica. dynamic: Permanece ocioso hasta que se active una regla, entonces actúa como un inspector de reglas Protocolo: Permite establecer el protocolo de comunicaciones que se va a utilizar. Los posibles valores son: TCP, UDP, IP e ICMP. Red de origen y red de destino: Permite establecer el origen y el destino de la comunicación. Puerto de origen y destino: Permite establecer los puertos origen y destino de la comunicación. Indica el número de puerto o el rango de puertos aplicado a la dirección de red que le precede. Dirección: Permite establecer el sentido de la comunicación. Las posibles opciones son: -> <<> Las opciones están separadas entre sí, por (;) y las claves de las opciones están separadas por (:). Hay cuatro tipos de opciones: Meta-data. Proporciona la información sobre la regla pero no tenga alguno afecta durante la detección. Payload. Busca patrones (firmas) dentro de la carga útil del paquete. Non-Payload. Busca patrones dentro de los demás campos del paquete, que no sean carga útil (por ejemplo, la cabecera). Post-detection. Permite activar reglas específicas que ocurren después de que se ejecute una regla. A continuación se describen las principales opciones de las reglas: msg. Informa al motor de alerta que mensaje debe de mostrar. Los caracteres especiales de las reglas como : y ; deben de colocarse dentro de la opción msg con el carácter \. flow. Se usa junto con los flujos TCP, para indicar qué reglas deberían de aplicarse sólo a ciertos tipos de tráfico. content. Permite que Snort realice una búsqueda sensitiva para un contenido específico del payload del paquete. referente. Define un enlace a sistemas de identificación de ataques externos, como bugtraq, con id 788. classtype. Indica qué tipo de ataques intentó el paquete. La opción classtype, usa las clasificaciones definidas en el archivo de configuración de Snort y que se encuentran en archivos como classification.config. La sintaxis del classification.config es: <Nombre>, <descripción>, <prioridad>. La prioridad es un valor entero, normalmente 1 para prioridad alta, 2 para media y 3 para baja. La opción classification para el attempted-admin que aparece en classification.config, es la siguiente: config classification: attempted-admin,Attempted Administrator Privilege Gain, 1 sid. En combinación con la opción rev, únicamente identifica una regla Snort, correlacionando el ID de la regla individual con la revisión de la regla. Ejemplo: Alert tcp any any -> any 80 (msg:"PRUEBA TCP"; sid:1000003;)
© Copyright 2024