Si deseas proteger tu sistema Windows, con un buen IDS, de código abierto y gratuito, en este artículo te enseñamos a instalar sistema de detección de Intrusos en Windows 7.
El ids que instalaremos se llama snort, concretamente la versión 2.9.9.0.
La instalación
Estos son los pasos:
– Descargamos e instalamos Winpcap.exe de www.winpcap.org
– Descargamos e instalamos snort: www.snort.org
También tendremos que descargar las reglas (rules) para nuestra version de snort 2.9.9.0. Si vas a seguir esta guía deberás descargarte las reglas que te facilitan en la web de Snort, una vez te has registrado en su web.
Si te descargas el grupo de reglas (community) que ofrecen para los que no se registran en la red, no he explicado como configurar snort.
Ya habremos instalado Snort en los pasos anteriores, y ahora como veremos en la siguiente imagen, tendremos que descomprimir el archivo de las reglas de snort, «snortrules» y copiaremos únicamente el contenido de las carpetas «rules» y «preproc_rules» en sus correspondientes carpetas en la instalación de snort en nuestro ordenador.
(Al hacer la instalación de snort en el pc, tanto la carpeta preproc_rules como rules, están vacias, por eso descargamos el archivo de las reglas y lo volcamos a sus respectivas carpetas en la instalación del PC).
– Vamos al directorio donde hemos instalado snort (Ej: c:\Snort\etc\snort.conf) y editamos el archivo snort.conf
AVISO: A continuación haré referencia a la expresión «comentar» y «descomentar» regla/linea o lo que sea. Comentar sería poner delante de una linea una # y descomentar la regla o linea, seria quitar el simbolo # del principio de la linea. Al poner el símbolo de la almohadilla al principio de una línea, se ignoran las instrucciónes que vienen a continuación y viceversa, quitándolo se aplican. Se que para muchos es algo obvio, pero hay que pensar en todos.
La configuración
Esta es la parte que puede llegar a ser mas tediosa, para los que nunca lo han instalado, y el motivo por el que he creado este artículo. Debemos editar el archivo snort.conf y hacer las siguientes modificaciones. Si sigues los pasos correctamente, no deberías tener problemas.
Entonces nos dirigimos a la ruta donde hemos instalado nuestro snort, la ruta por defecto suele ser c:\snort\etc\ y editaremos snort.conf
STEP 1 / PASO 1: Pondremos la IP o el rango de red que queremos monitorizar. También debéis cambiar ipvar por var (ya que ipvar es para la configuración en linux/unix, y nosotros lo estamos haciendo en Windows). En la segunda linea, dejaremos en mi caso como veis a continuación.
# Setup the network addresses you are protecting var HOME_NET 192.168.1.0/24 # Set up the external network addresses. Leave as "any" in most situations var EXTERNAL_NET !$HOME_NET
Comentamos la regla #var SO_RULE_PATH ../so_rules (Las Shared Object Rules, no las usaremos en Windows).
# such as: c:\snort\rules var RULE_PATH c:\Snort\rules #var SO_RULE_PATH ../so_rules var PREPROC_RULE_PATH c:\Snort\preproc_rules # Set the absolute path appropriately var WHITE_LIST_PATH c:\Snort\rules var BLACK_LIST_PATH c:\Snort\rules
STEP 2 / PASO 2:
Configuraremos la ruta donde se encuentran los logs en Snort
config logdir: c:\Snort\log
STEP 3 / PASO 3 : No hay nada que cambiar en esta sección.
STEP 4 / PASO 4 : Aqui vamos a configurar algunas librerias que Snort carga, cuando arranca.
Vamos a cambiar la configuración de las rutas. Por defecto tiene configuradas rutas de Linux y vamos a poner las de Windows con el nombre de los ficheros que también cambian:
# path to dynamic preprocessor libraries dynamicpreprocessor directory c:\Snort\lib\snort_dynamicpreprocessor # path to base preprocessor engine (Estará con la ruta de linux, en windows es asi): dynamicengine c:\Snort\lib\snort_dynamicengine\sf_engine.dll # path to dynamic rules libraries #dynamicdetection directory /usr/local/lib/snort_dynamicrules (No usamos las Shared Object Rules en Windows, dejamos comentada la linea).
STEP 5 / PASO 5 :
Hay una gran cantidad de «preprocessors», puedes activar y desactivar las que te interesen, en esta configuración dejaremos la configuración asi:
Dejaremos comentadas todas las lineas de inline prepocessors
(Ya que Windows, los preprocessors, no se ejecutan en el modo «in line. Esta es una caracteristicas limitada a Linux y Unix, y no hay razón de dejarlas en ejecución):
# Does nothing in IDS mode # preprocessor normalize_ip4 # preprocessor normalize_tcp: ips ecn stream # preprocessor normalize_icmp4 # preprocessor normalize_ip6 # preprocessor normalize_icmp6
También podemos dejar comentada la linea del preprocessor de la deteccion del Back Orifice
# Back Orifice detection. # preprocessor bo
Activar alerta de escaneo de puertos:
# Portscan detection. For more information, see README.sfportscan preprocessor sfportscan: proto { all } memcap { 10000000 } sense_level { low }
Bajaremos al final de esta sección (step 5 / paso 5) y activaremos estos dos archivo, que tendremos que crear en la carpeta rules.
whitelist $WHITE_LIST_PATH\white.list, \ blacklist $BLACK_LIST_PATH\black.list
ATENCIÓN: En las dos líneas anteriores has puesto la ruta a dos archivos que no existen y deberás crear. Para ello, ve a c:\Snort\rules y crea el archivo white.list y black.list, en un futuro en el agregaras unicamente direcciones IP de maquinas atacante como de maquinas permitidas, en el caso del archivo «white.list». (Si no creas los archivos, te dará fallo al ejecutar snort).
STEP 6 / PASO 6 : En esta sección no tocamos nada, ya que es para configurar el syslog en linux.
STEP 7 / PASO 7 : Descomentaremos la lineas, y activaremos la reglas. OJO, si usas el set de reglas «community» (reglas que obtienes sin registrarte en la web de snort), tienes que dejar estas lineas comentadas! Y crear un include para activar las reglas community.
Asi quedarán las reglas, para la versión gratuita de reglas descargadas, con registro en la web de Snort. Hemos cambiado la barra de linux, por la contrabarra de linux. (Cambiamos: / por: \ en las rutas).
# site specific rules include $RULE_PATH\local.rules include $RULE_PATH\app-detect.rules include $RULE_PATH\attack-responses.rules include $RULE_PATH\backdoor.rules include $RULE_PATH\bad-traffic.rules include $RULE_PATH\blacklist.rules include $RULE_PATH\botnet-cnc.rules include $RULE_PATH\browser-chrome.rules include $RULE_PATH\browser-firefox.rules include $RULE_PATH\browser-ie.rules include $RULE_PATH\browser-other.rules include $RULE_PATH\browser-plugins.rules include $RULE_PATH\browser-webkit.rules include $RULE_PATH\chat.rules include $RULE_PATH\content-replace.rules include $RULE_PATH\ddos.rules include $RULE_PATH\dns.rules include $RULE_PATH\dos.rules include $RULE_PATH\experimental.rules include $RULE_PATH\exploit-kit.rules include $RULE_PATH\exploit.rules include $RULE_PATH\file-executable.rules include $RULE_PATH\file-flash.rules include $RULE_PATH\file-identify.rules include $RULE_PATH\file-image.rules include $RULE_PATH\file-multimedia.rules include $RULE_PATH\file-office.rules include $RULE_PATH\file-other.rules include $RULE_PATH\file-pdf.rules include $RULE_PATH\finger.rules include $RULE_PATH\ftp.rules include $RULE_PATH\icmp-info.rules include $RULE_PATH\icmp.rules include $RULE_PATH\imap.rules include $RULE_PATH\indicator-compromise.rules include $RULE_PATH\indicator-obfuscation.rules include $RULE_PATH\indicator-shellcode.rules include $RULE_PATH\info.rules include $RULE_PATH\malware-backdoor.rules include $RULE_PATH\malware-cnc.rules include $RULE_PATH\malware-other.rules include $RULE_PATH\malware-tools.rules include $RULE_PATH\misc.rules include $RULE_PATH\multimedia.rules include $RULE_PATH\mysql.rules include $RULE_PATH\netbios.rules include $RULE_PATH\nntp.rules include $RULE_PATH\oracle.rules include $RULE_PATH\os-linux.rules include $RULE_PATH\os-other.rules include $RULE_PATH\os-solaris.rules include $RULE_PATH\os-windows.rules include $RULE_PATH\other-ids.rules include $RULE_PATH\p2p.rules include $RULE_PATH\phishing-spam.rules include $RULE_PATH\policy-multimedia.rules include $RULE_PATH\policy-other.rules include $RULE_PATH\policy.rules include $RULE_PATH\policy-social.rules include $RULE_PATH\policy-spam.rules include $RULE_PATH\pop2.rules include $RULE_PATH\pop3.rules include $RULE_PATH\protocol-finger.rules include $RULE_PATH\protocol-ftp.rules include $RULE_PATH\protocol-icmp.rules include $RULE_PATH\protocol-imap.rules include $RULE_PATH\protocol-pop.rules include $RULE_PATH\protocol-services.rules include $RULE_PATH\protocol-voip.rules include $RULE_PATH\pua-adware.rules include $RULE_PATH\pua-other.rules include $RULE_PATH\pua-p2p.rules include $RULE_PATH\pua-toolbars.rules include $RULE_PATH\rpc.rules include $RULE_PATH\rservices.rules include $RULE_PATH\scada.rules include $RULE_PATH\scan.rules include $RULE_PATH\server-apache.rules include $RULE_PATH\server-iis.rules include $RULE_PATH\server-mail.rules include $RULE_PATH\server-mssql.rules include $RULE_PATH\server-mysql.rules include $RULE_PATH\server-oracle.rules include $RULE_PATH\server-other.rules include $RULE_PATH\server-webapp.rules include $RULE_PATH\shellcode.rules include $RULE_PATH\smtp.rules include $RULE_PATH\snmp.rules include $RULE_PATH\specific-threats.rules include $RULE_PATH\spyware-put.rules include $RULE_PATH\sql.rules include $RULE_PATH\telnet.rules include $RULE_PATH\tftp.rules include $RULE_PATH\virus.rules include $RULE_PATH\voip.rules include $RULE_PATH\web-activex.rules include $RULE_PATH\web-attacks.rules include $RULE_PATH\web-cgi.rules include $RULE_PATH\web-client.rules include $RULE_PATH\web-coldfusion.rules include $RULE_PATH\web-frontpage.rules include $RULE_PATH\web-iis.rules include $RULE_PATH\web-misc.rules include $RULE_PATH\web-php.rules include $RULE_PATH\x11.rules
STEP 8 / PASO 8 : Activaremos los siguientes 3 preprocessors:
# decoder and preprocessor event rules
include $PREPROC_RULE_PATH\preprocessor.rules include $PREPROC_RULE_PATH\decoder.rules include $PREPROC_RULE_PATH\sensitive-data.rules
Ya habremos configurado el IDS Snort. Ahora tendremos que hacer un test.
a) Abriremos la linea de comandos, como administrador. Inicio->Ejecutar->cmd (botón derecho y ejecutar como Administrador)
b) Nos posicionamos en la ruta donde hemos instalado Snort. En nuestro caso será en : c:\Snort\bin
b1) Antes de ejecutar el test, tendremos que saber que «Interface/s de red» dispone nuestra máquina. Para ello podemos ejecutar:
C:\Snort\bin> snort -W
Y se mostrarán una lista de interface numeradas, en mi caso, solo una. (Ya que no tengo mas tarjetas, y tampoco máquinas virtuales instaladas en este momento).
b2) Ahora para verificar que tenemos una configuración de red válida. Como decía antes, debemos estar en la ruta donde hemos instalado y configurado Snort c:\Snort\bin y lanzar el comando: C:\Snort\bin> snort -i 1 -c c:\Snort\etc\snort.conf -T (Te fallará, sigue leyendo y los pasos)
(el 1 es de mi única interface, para eso ejecute el comando anterior en la sección b1) y la -T es para un test y un informe de la actual configuración).
SI te da fallo, es posible que en el step 4 / paso 4
ESCRIBIESES MAL:
dynamicpreprocessor directory c:\Snort\lib\snort_dynamicpreprocessor\
Asegurate de que la linea, no acaba en \
ESCRIBELO BIEN:
dynamicpreprocessor directory c:\Snort\lib\snort_dynamicpreprocessor
Si has seguido bien los pasos anteriores, deberías ser capaz de instalar Snort 2.9.9.0 en Windows 7, sin volverte loco con fallos y sin mensajes de error.
Si has superado el test anterior, puedes ejecutar el siguiente comando para poner el sistema de detección de intrusos en funcionamiento:
C:\Snort\bin> snort -i 1 -c c:\Snort\etc\snort.conf -A console
Después de elaborar este artículo, espero que te haya podido ser de utilidad, si te ha gustado, por favor compartelo o suscríbete para mas artículos interesantes y por supuesto si conoces del tema, y quieres aportar información adicional puedes dejar comentarios y asi aprendemos todos. Un saludo!
Be the first to comment