informe instalacion y configuracion sistema de deteccion de intrusos

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;)