Hola amigos:
Hoy, vamos a hablar un poquito de
seguridad. Y vamos a comentar, un sistema de detección de intrusos
libre, snort.
Snort, nos va a avisar de cualquier
actividad sospechosa.
En primer lugar, toca instalarlo:
apt-get install snort
En la siguiente pantalla, ponemos
nuestro rango de Ips, en mi caso, es el siguiente:
Le damos a aceptar.
Nos vamos a /etc/snort/
cd /etc/snort
Veréis. Snort trabaja con unas reglas
que te puedes descargar de la web de snort (http://www.snort.org)
o bien, con unas que tú mismo puedes crear, o con las dos, claro
está ;-)
Vamos a crear un archivo en el que
podremos poner nuestras reglas
touch /etc/snort/rules/custom.rules
Editamos el archivo de configuración
de snort /etc/snort/snort.conf
Buscamos la siguiente parte
Estas son las reglas que tenemos en el
subdirectorio rules. Para activarlas, debemos descomentar (quitar la
#).
Ponemos
include $RULE_PATH custom.rules
Que es el archivo de reglas que hemos
creado.
Guardamos y cerramos.
Lo siguiente es crear el directorio
log. Aquí, es donde van a ser registrados todos los eventos (logs)
que ocurran durante la ejecución del snort. Es decir, si nos hacen
ping, un DoS, etc.
mkdir /etc/snort/log/
Ya podemos ejecutar snort
snort -c /etc/snort/snort.conf -l
/etc/snort/log
O bien
snort -c /etc/snort/snort.conf -l
/etc/snort/log -A console
Para cortar el programa CTRL+C
Otras opciones son
-b que guarda las salidas en formato
pcap
-c que indica el fichero de reglas.
Este nos va a valer para crear nuestras propias reglas.
-C Pone los caracteres en formato
ASCII.
-U Pone la fecha y la hora.
-i interfaz
Podemos usar snort como snifer:
snort -i eth0
O bien
snort -i eth0 -dev
Las reglas se crean de la siguiente
manera:
Acción protocolo IP/Red_origen
Puerto_origen Dirección_IP/Red_destino Puerto_destino contenido
control_de_flujo
Los tipos de acción son:
- pass
- log
- alert
- dynamic
- activate
Los protocolos que podemos usar son:
- TCP
- UDP
- IP
- ICMP
- 802.11
- HTTP
- ARP
IP/Red Origen o IP/Red Destino se
refiere a que podemos poner, bien una dirección IP concreta, o bien
un rango de direcciones. El rango debe ser de tipo 192.168.1.0/24
Puertos: Pues eso, los puertos.
- 2555 Puerto 2555
- 2555: Desde puerto 2555
- :2555 Hasta el puerto 2555
La dirección puede ser:
- ->Hacia el destino
- <-Desde el destino
- <>Bidireccional
Contenido es todo lo que puede contener
el paquete.
Para el control de flujo, pondremos
flow:ALGO
Ese ALGO será:
- to_server: Se activa si el paquete se envía al servidor.
- from_server: Si se recibe.
- to_client: Si va al cliente.
- from_cliente: Si viene del cliente.
- only_stream: Si el paquete se reconstruye tras una sesión establecida.
- no_stream: Se activa aunque la sesión no se haya establecido.
- Esestablished: Se activa cuando el protocolo TCP establece una sesión.
- Stateless: Se activa independientemente del estado de la sesión.
Ejemplos:
- alert tcp any any -> any 23 (content: “login failed”;session printable;nocase;flow:from_server;logto:”/var/mis_logs/autentificacion_telnet)
- alert tcp any any -> any 23 (tag:host,10,packets;)
- alert tcp any any -> any 23 (tag:host,2,seconds;)