Archivo por meses: enero 2014

PSAD detección de intrusos

¿Qué es Psad?

El servicio psad es un detector de intrusos y un analizador de logs de iptables. Consta de tres servicios ligeros que analizan los logs de Iptables, para detectar los escaneos de puertos y otro tráfico sospechoso.
Además, psad se nutre de las firmas del detector de intrusos Snort, para detectar acesos de programas del tipo “backdoor” (EvilFTP, GirlFriend, …), herramientas para ataques DDos (mstream, shaft, …) y otras más avanzadas de escaneo de puertos.

¿Cómo instalar psad?

NOTA: Todas las configuraciones que se llevarán a cabo a continuación se tienen que hacer con un usuario root o que pertenezca al grupo de sudoers i se ha utilizado un sistema Debian 7. Se ha obviado el comando sudo.

Primero de todo necesitamos configurar iptables

Primero, para facilitarnos la tarea de configuración de iptables, podemos usar iptables-persistent. Del cual ya hablamos en una entrada anterior “Cómo usar iptables-persistent”, si ya sabeis cómo va, o teneis otro método, podemos seguir.

Necesitamos que iptables guarde en un log, el tráfico descartado para así psad poder leerlo

iptables -A INPUT -j LOG
iptables -A FORWARD -j LOG

Seguidamente guardamos los cambios.

Instalación del psad

Para instalar es muy simple.

apt-get install psad

Configuración

Para configurar el servicio de psad se tiene que modificar el fichero psad.conf.
Antes de empezar a modificarlo, mejor crear una copia de seguridad para tener una referencia

cp /etc/psad/psad.conf /etc/psad/psad.conf.backup

Después ya podemos editar tranquilamente.

nano /etc/psad/psad.conf

Para configurar las diferentes variables del fichero de configuración, podéis revisar la manpage del psad, donde encontrareis todas las variables. Todos los valores han de terminar en punt y coma (;)

man psad

A continuación explicaré unas cuantas, digamos, las más importantes:

EMAIL_ADDRESS
: Es a dirección de correo donde se enviarán las notificaciones. Se pueden añadir varias separadas por coma. Ejemplo:

EMAIL_ADDRESS    root@localhost, psad@test.com, psad@test2.com;

HOSTNAME: El nombre de la máquina en la que está instalado psad. Exejemplo:

HOSTNAME    foner.uep.cat;

IPT_SYSLOG_FILE: El fichero de log donde psad recogerá la información. En los sistemas debian suele estar en /var/log/kern.log.

IPT_SYSLOG_FILE    /var/log/kern.log;

PSAD_EMAIL_LIMIT: Define el nombre máximo de correos a enviar para cada una de las IP que nos escanean (por defecto 50). Nota importante: Esta variable no está asignada en el fichero por defecto, por tanto, psad usará el valor por defecto de 50. Mejor bajar el valor, ya que podriamos tener el correo inundado de avisos.

PSAD_EMAIL_LIMIT    20;

EMAIL_ALERT_DANGER_LEVEL: Define el nivel de peligro que tiene que llegar un escanop antes de enviarnos un correo (por defecto 1). Nota importante: Esta variable no está asignada en el fichero por defecto, por tanto, psad usará el valor por defecto de 1. Mejor subir el valor a 3, ya que podríamos tener el correo inundado de avisos.

EMAIL_ALERT_DANGER_LEVEL    3;

Podemo configurar IPs y/o Ports para añadirlos a una lista negra blacklist o una lista blanca whitelist. Para hacerlo tenemos que modificar el siguiente fichero:

nano /etc/psad/auto_dl

Donde podemos ver que sigue la siguiente estructura:

<IP address> <danger level> <optional protocol>/<optional ports> ;

Lo suyo es añadir las IP del servidor y las que se usen para su administración a la lista blanca. Por ejemplo:

127.0.0.1    0; #adreça IP local
37.22.22.22    0; #adreça IP publica servidor
80.12.69.80    0; #adreça IP d’administració

(IPs inventadas)

Una vez se hayan modificado los ficheros, es necesario reiniciar psad

service psad restart

Una vez reiniciado el servicio, ya tenemos el psad funcionando.
Para ver el estado del servicio ejecutamos

psad -S

Hasta aquí, que lo disfrutes 🙂

Fuentes: