Reglas de Snort y de Firewalls
Reglas de Snort y de Firewalls
Reglas de Snort y de Firewalls
Topología
Objetivos
Parte 1: Preparar el entorno virtual
Parte 2: El firewall y los archivos de registro de IDS
Parte 3: Finalizar y desactivar el proceso de Mininet
Antecedentes / Escenario
En una red de producción segura, las alertas de red son generadas por diversos tipos de dispositivos como
dispositivos de seguridad, firewalls, dispositivos IPS, routers, switches y servidores, entre otros. El problema
es que no todas las alertas se crean de la misma manera. Por ejemplo: las alertas generadas por un servidor
las generadas por un firewall serán diferentes y tendrán distintos contenidos y formatos.
En esta práctica de laboratorio, se familiarizará con las reglas de firewall y las firmas de IDS.
Recursos necesarios
VM CyberOps Workstation
Conexión a Internet
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 1 de 14 www.netacad.com
Práctica de laboratorio: Reglas de Snort y de firewalls
Nota: En esta práctica de laboratorio, la VM CyberOps Workstation es un contenedor para alojar el entorno
de Mininet que se muestra en la topología. Si se recibe un error de memoria en un intento de ejecutar
cualquier comando, cierre el paso, vaya a la configuración de VM y aumente la memoria. El valor
predeterminado es 1 GB; intente cambiarlo a 2 GB.
c. Utilicen el comando ifconfig para verificar que laVM CyberOps Workstation ahora tenga una dirección
IP en sus redes locales. También pueden probar la conectividad a un servidor web público si emiten un
ping a www.cisco.com. Presionen Ctrl+C para detener los pings.
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 2 de 14 www.netacad.com
Práctica de laboratorio: Reglas de Snort y de firewalls
El cursor de mininet debería aparecer en la pantalla; eso indica que mininet está listo para recibir
comandos.
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 3 de 14 www.netacad.com
Práctica de laboratorio: Reglas de Snort y de firewalls
El shell de R1 se abre en una ventana del terminal con texto negro y fondo blanco. ¿Qué usuario ha
iniciado sesión en ese shell? ¿Qué nos lo indica?
root
____________________________________________________________________________________
c. En el shell de R1, inicien el IDS basado en Linux: Snort.
[root@secOps analyst]# ./lab.support.files/scripts/start_snort.sh
Running in IDS mode
--== Initializing Snort ==--
Initializing Output Plugins!
Initializing Preprocessors!
Initializing Plug-ins!
Parsing Rules file "/etc/snort/snort.conf"
<output omitted>
Nota: No verá ningún indicador porque Snort ahora se está ejecutando en esta ventana. Si por cualquier
motivo, Snort deja de ejecutarse y aparece el indicador [root@secOps analysts]#, vuelva a ejecutar el
script para iniciar Snort. Snort debe estar en ejecución para poder capturar alertas más adelante en la
práctica de laboratorio.
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 4 de 14 www.netacad.com
Práctica de laboratorio: Reglas de Snort y de firewalls
d. En el indicador de mininet de la VM CyberOps Workstation, abra shells para los hosts H5 y H10.
mininet> xterm H5
mininet> xterm H10
mininet>
e. H10 simulará ser un servidor de Internet que aloja malware. En H10, ejecute el script
mal_server_start.sh para iniciar el servidor.
[root@secOps analyst]# ./lab.support.files/scripts/mal_server_start.sh
[root@secOps analyst]#
f. En H10, utilicen netstat con las opciones -tunpa para verificar que el servidor web se esté ejecutando.
Cuando se utiliza como se indica arriba, netstat genera una lista de todos los puertos asignados a
servicios en este momento:
[root@secOps analyst]# netstat -tunpa
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
PID/Program name
tcp 0 0 0.0.0.0:6666 0.0.0.0:* LISTEN
1839/nginx: master
[root@secOps analyst]#
Tal como se ve en el resultado anterior, el servidor web ligero nginx se está ejecutando y está
escuchando conexiones en el puerto 6666 de TCP.
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 5 de 14 www.netacad.com
Práctica de laboratorio: Reglas de Snort y de firewalls
g. Se está ejecutando una instancia de Snort en la ventana del terminal de R1. Para introducir más
comandos en R1, abra otro terminal de R1; para ello, vuelva a introducir xterm R1 en la ventana del
terminal de la VM CyberOps Workstation, tal como se indica a continuación. También es posible que
quieran organizar las ventanas del terminal para poder ver e interactuar con cada dispositivo. En la
siguiente figura vemos una organización efectiva para el resto de esta práctica de laboratorio.
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 6 de 14 www.netacad.com
Práctica de laboratorio: Reglas de Snort y de firewalls
h. En la nueva ficha del terminal de R1, ejecuten el comando tail con la opción -f para monitorear el archivo
/var/log/snort/alert en tiempo real. Es en este archivo que se configura Snort para registrar alertas.
[root@sec0ps analyst]# tail -f /var/log/snort/alert
Como todavía no se registró ninguna alerta, el archivo de registro debería estar vacío. Sin embargo, si ya
han realizado esta práctica de laboratorio, es posible que aparezcan entradas de alertas extrañas. En
cualquier caso, no verán ningún cursor después de escribir este comando. En esta ventana se mostrarán
las alertas a medida que tengan lugar.
i. En H5, utilicen el comando wget para descargar un archivo de nombre W32.Nimda.Amm.exe. Diseñada
para descargar contenido a través de HTTP, wget es una excelente herramienta para descargar archivos
desde servidores web directamente desde la línea de comandos.
[root@secOps analyst]# wget 209.165.202.133:6666/W32.Nimda.Amm.exe
--2017-04-28 17:00:04-- http://209.165.202.133:6666/W32.Nimda.Amm.exe
Connecting to 209.165.202.133:6666... connected.
HTTP request sent, awaiting response... 200 OK
Length: 345088 (337K) [application/octet-stream]
Saving to: 'W32.Nimda.Amm.exe'
[root@secOps analyst]#
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 7 de 14 www.netacad.com
Práctica de laboratorio: Reglas de Snort y de firewalls
¿Qué puerto se utiliza al comunicarse con el servidor web que aloja malware? ¿Qué nos lo indica?
6666 despues del separador de dos puntos
____________________________________________________________________________________
¿Se descargó completamente el archivo? Si___________________________________________
¿El IDS generó alguna alerta relacionada con la descarga del archivo? Si____________________
j. Como el archivo malicioso estaba transitando por R1, el IDS (Snort) pudo inspeccionar su carga útil. La
carga útil coincidió con al menos una de las firmas configuradas en Snort y generó una alerta en la
segunda ventana del terminal de R1 (la ficha en la que se está ejecutando tail -f). A continuación se
muestra la entrada de la alerta. Sus marcas de hora serán diferentes:
04/28-17:00:04.092153 [**] [1:1000003:0] Malicious Server Hit! [**] [Priority: 0]
{TCP} 209.165.200.235:34484 -> 209.165.202.133:6666
En función de la alerta que se muestra arriba, ¿cuáles fueron las direcciones IPv4 de origen y de destino
que se utilizaron en la transacción?
En función de la alerta que se muestra arriba, ¿cuáles fueron los puertos de origen y de destino que se
utilizaron en la transacción?
Puerto de origen: 36126
Puerto de destino: 6666
____________________________________________________________________________________
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 8 de 14 www.netacad.com
Práctica de laboratorio: Reglas de Snort y de firewalls
El comando anterior le ordena a tcpdump que capture paquetes en la interfaz H5-eth0 y que guarde la
captura en un archivo de nombre nimda.download.pcap.
El símbolo & del final le indica al shell que ejecute tcpdump en segundo plano. Sin este símbolo,
tcpdump impediría el uso del terminal mientras se está ejecutando. Observen el [1] 5633; indica que se
envió un proceso al segundo plano y que su ID de proceso (PID) es 5366. Sus PID muy probablemente
serán diferente.
k. Presionen INTRO un par de veces para recuperar el control del shell mientras tcpdump se ejecuta en
segundo plano.
l. Ahora que tcpdump está capturando paquetes, vuelvan a descargar el malware. En H5, vuelvan a
ejecutar el comando o utilicen la flecha hacia arriba para recuperarlo del centro del historial de
comandos.
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 9 de 14 www.netacad.com
Práctica de laboratorio: Reglas de Snort y de firewalls
m. Lleve tcpdump al primer plano con el comando fg para detener la captura. Como tcpdump era el único
proceso que se había enviado a segundo plano, no es necesario especificar el PID. Detengan el proceso
de tcpdump con Ctrl+C. El proceso de tcpdump se detiene y exhibe una resumen de la captura. La
cantidad de paquetes puede diferir en sus capturas.
[root@secOps analyst]# fg
tcpdump -i h5-eth0 -w nimda.download.pcap
^C316 packets captured
316 packets received by filter
0 packets dropped by kernel
[root@secOps analyst]#
n. En H5, utilicen el comando ls para verificar que el archivo pcap realmente se haya guardado en el disco
y que su tamaño sea mayor que cero:
[root@secOps analyst]# ls -l
total 1400
drwxr-xr-x 2 analyst analyst 4096 Sep 26 2014 Desktop
drwx------ 3 analyst analyst 4096 Jul 14 11:28 Downloads
drwxr-xr-x 8 analyst analyst 4096 Jul 25 16:27 lab.support.files
-rw-r--r-- 1 root root 371784 Aug 17 14:48 nimda.download.pcap
drwxr-xr-x 2 analyst analyst 4096 Mar 3 15:56 second_drive
-rw-r--r-- 1 root root 345088 Apr 14 15:17 W32.Nimda.Amm.exe
-rw-r--r-- 1 root root 345088 Apr 14 15:17 W32.Nimda.Amm.exe.1
[root@secOps analyst]#
Nota: Es posible que su lista de directorios tenga otra combinación de archivos, pero de todos modos
debería ver el archivo nimda.download.pcap.
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 10 de 14 www.netacad.com
Práctica de laboratorio: Reglas de Snort y de firewalls
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 11 de 14 www.netacad.com
Práctica de laboratorio: Reglas de Snort y de firewalls
b. En la nueva ventana del terminal de R1, utilicen el comando iptables para generar una lista de las
cadenas y sus reglas en uso:
[root@secOps ~]# iptables -L -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
[root@secOps ~]#
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 12 de 14 www.netacad.com
Práctica de laboratorio: Reglas de Snort y de firewalls
d. Vuelva a utilizar el comando iptables para asegurarse de que la regla se haya agregado a la cadena
FORWARD. La VM CyberOps Workstation puede demorar algunos segundos para generar la salida:
[root@secOps analyst]# iptables -L -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 13 de 14 www.netacad.com
Práctica de laboratorio: Reglas de Snort y de firewalls
Si es necesario, presionen Ctrl+C para cancelar la descarga. ¿Esta vez la descarga se completó
correctamente? Explique.
No está bloqueando conexiones a él firewall del malware malicioso
____________________________________________________________________________________
¿Cuál sería un enfoque más agresivo (pero válido a la vez) cuando se está bloqueando el servidor
malicioso?
En vez de especficar la ip y puerto la regla puede cortar el accesso a el servidor desde la red interna solo
con a ip , Cierra los terminals
____________________________________________________________________________________
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 14 de 14 www.netacad.com