Blog

30 Julio

Cómo Instalar PSAD en Plesk + CentOS 6 y Red Hat

Autor 

Todos los que tenemos un servidor hemos observado en alguna ocasión cargas elevadas de forma aleatoria y hemos consultado los logs para intentar averiguar el motivo que lo produce. En estos casos, descartando otros factores; la causa más probable del consumo elevado de recursos podría ser causado por algún usuario del propio servidor o tal vez si pensamos mal, algún tipo de tráfico externo sospechoso que produce una sobrecarga en el servidor. Para estos casos existe una herramienta muy útil llamada PSAD que nos puede ayudar a securizar nuestro servidor. Por ejemplo, entre las muchas aplicaciones donde podemos utilizar esta herramienta, puede servirnos a la perfección para evitar escaneos a nuestro server o descubrir tráfico externo con alguna intención más que dudosa donde su único cometido pudiera ser la de afectar a la seguridad de nuestra máquina. Por ello, en este manual hemos pensado explicar que es PSAD, como la podemos instalar y como utilizarla para que nos ayude a determinar quien lo produce y bloquear el tráfico si así lo decidimos nosotros de forma automática, personalizando los parámetros de la configuración de la herramienta a nuestro gusto. Entramos en materia...

¿Qué es PSAD?

El servicio psad es un detector de intrusos y un analizador de logs de iptables. Consta de 3 demonios que analizan los logs de iptables, para detectar los escaneos de puertos y otro tráfico sospechoso. Esta herramienta nos permite configurar incontables parámetros en /etc/psad/psad.conf. Para comprobar su estado podemos ejecutar este comando:

# psad -S

 

¿Cómo instalar PSAD?

Antes de proceder con la instalación de la herramienta PSAD tener en cuenta que todas las configuraciones que se llevarán a continuación se tienen que hacer con un usuario root o que pertenezca al grupo sudoers y se ha utilizado un sistema CentOS 6.5. Previamente a la instalación tenemos que preparar la configuración psad iptables para que iptables puede guardar en un log el tráfico descartado y PSAD pueda leerlo. Para ello añadiremos unas reglas en /etc/sysconfig/iptables. Para añadirlas accedemos a nuestra consola ssh y ejecutamos estos comandos:

# iptables -A INPUT -j LOG
# iptables -A FORWARD -j LOG
# ip6tables -A INPUT -j LOG
# ip6tables -A FORWARD -j LOG
# service iptables save

 

Instalación de PSAD

La instalación es muy simple, ejecutamos este simple comando con yum

# yum install psad

instalar psad1

instalar psad2

instalar psad3

En cuanto termine la instalación procedemos con la configuración

 

Configuración de PSAD

Para configurar el servicio de PSAD se tiene que modificar el fichero psad.conf, pero antes de modificarlo vamos a crear una copia de seguridad. Para comprobar la copia de seguridad podemos acceder a la carpeta /etc/psad/ de nuestro servidor y se debe haber creado el fichero psad.conf.backup. Ejecutar el siguiente comando a través de consola para crear el backup del fichero:

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

Después ya podemos empezar a modificar la configuración del fichero psad.conf. Para ello ejecutamos el siguiente comando por ssh para editarlo con nano:

# nano /etc/psad/psad.conf

y nos aparecerá esta pantalla:

instalar psad4

Antes de configurar, nos toca consultar los parámetros que dispone psad para familiarizarnos con sus variables y a continuación empezaremos a configurar las distintas variables en su fichero de configuración. Para consultar estos parámetros podemos revisar la manpage del psad en su web oficial, abrimos esta man page y nos dirigimos donde pone PSAD CONFIGURATION VARIABLES. Si os fijáis podemos llegar a ver todas las variables que dispone psad, que nos servirán como referencia para personalizarlo a nuestro gusto. Todos los valores que podemos personalizar del fichero /etc/psad/psad.conf terminan con punto y coma ";". Abrir el fichero para verlo.

Bien, en el siguiente apartado explicaré los parámetros de configuración más importantes y empezamos a configurar:

 

Parámetros de configuración que debemos modificar

Si tenemos interés en conocer cada parámetro de configuración podemos ver todas las variables en la web oficial de PSAD junto con su explicación detallada.

 

EMAIL_ADDRESS: Es la dirección de correo donde se enviarán las notificaciones, se pueden añadir varias direcciones de correo si lo deseamos separadas por coma. Para configurar este parámetro en el fichero de configuración psad.conf, buscad la línea EMAIL_ADRESS y en to_your_email la modificáis por vuestro email. Por ejemplo, podemos añadir nuestro email o si añadimos distintos emails, lo hacemos separados por coma, debería quedar algo así si añadimos varios emails:

EMAIL_ADDRESS root@localhost, Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo., Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.;

 

HOSTNAME: Este parámetro define el nombre de host de la máquina donde se ejecuta PSAD. Esto se utiliza en las alertas de correo electrónico generados por PSAD. Para modificarlo buscamos la línea y la modificamos por el hostname de nuestro servidor, por ejemplo:

HOSTNAME    server.grupotelfor.com;

 

ENABLE_AUTO_IDS: Para un entorno en producción modificar este parámetro a Y. Si ponemos este parámetro a Y, la detección y bloqueo funciona en modo automático. Por el contrario si configuramos este parámetro a N, PSAD no tomará medidas frente a una intrusión pero registrará los eventos en el fichero de Logs. En este caso para bloquear alguna intrusión tendremos que intervenir manualmente para poder bloquear las intrusiones después de revisar los Logs. Importante: Lee las instrucciones de configuración antes de ajustar este parámetro a Y. PSAD recomienda mantener este parámetro por defecto a N porque podría bloquearnos algún tráfico legítimo si no tenemos correctamente configuradas las reglas de bloqueo.

ENABLE_AUTO_IDS             Y;

 

IPT_SYSLOG_FILE: Este parámetro indica el fichero de log donde psad recogerá la información. La versión que hemos instalado de psad en CentOS, por defecto lo guarda en la ruta /var/log/messages. Para verlo accedemos al fichero de configuración de psad en la ruta /etc/psad/psad.conf, buscamos el parámetro de configuración IPT_SYSLOG_FILE y podremos ver que aparece como IPT_SYSLOG_FILE/var/log/messages. Como nosotros queremos que psad guarde la información en el fichero psad.log, tenemos que modificar el valor de este parámetro asignándole la nueva ruta al fichero de configuración, modificándolo por este valor: IPT_SYSLOG_FILE /var/log/psad.log. Cabe decir que en este caso hemos querido almacenar la info de logs de psad en la ruta /var/log/psad.log,  por lo que si no tenemos creado el fichero psad.log tendremos que crearlo en la ruta /var/log y darle el nombre psad.log, de manera que nos quedará así en /var/log/psad.log. Una vez creado el fichero le asignamos como grupo y nombre de usuario root y le asignamos al fichero permisos 0600 para disponer de mayor seguridad.

IPT_SYSLOG_FILE    /var/log/psad.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 1. Mejor subir este valor a 3 para que nuestro correo no se inunde de avisos.

PSAD_EMAIL_LIMIT    20;

 

EMAIL_ALERT_DANGER_LEVEL: Define el nivel de peligro que tiene que llegar un escaneo 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 para que nuestro correo no se inunde de avisos.

EMAIL_ALERT_DANGER_LEVEL    3;

 

AUTO_BLOCK_TIMEOUT: Es el tiempo que se bloqueará una IP sospechosa por PSAD. Por ejemplo 1 hora de bloqueo, en segundos sería: 3600

AUTO_BLOCK_TIMEOUT:     3600;

 

CHECK_INTERVAL: Buscamos esta línea y le asignamos 30

CHECK_INTERVAL:      30;

 

 

Podemos 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

Al abrirlo podemos ver una estructura parecida a esto:

#  <IP address>  <danger level>  <optional protocol>/<optional ports>;
#
# Examples:
#
#  10.111.21.23     5;                # Very bad IP.
#  127.0.0.1        0;                # Ignore this IP.
#  10.10.1.0/24     0;                # Ignore traffic from this entire class C.
#  192.168.10.4     3    tcp;         # Assign danger level 3 if protocol is tcp.
#  10.10.1.0/24     3    tcp/1-1024;  # Danger level 3 for tcp port range

Ahora lo que tenemos que hacer es modificar este fichero añadiendo las IPs del servidor y las que se usen para su administración a la lista blanca. Por ejemplo:

127.0.0.1    0; #Dirección IP local
37.22.22.22    0; #Dirección IP pública del servidor
80.12.69.80    0; #Dirección IP de administración

Cabe decir que estas IPs nos las hemos inventado en este tutorial, cada usuario tendrá que asignar las IPs reales que considere en este fichero de lista blanca para que psad las ignore.

Una vez hemos añadido las IPs tendremos que reiniciar psad para que tome los cambios con el siguiente comando:

# service psad restart

En cuanto reiniciemos el servicio ya tendremos psad funcionando.

 

Comandos útiles para PSAD

Para iniciar, parar y restaurar PSAD ejecutamos estos comandos por ssh:

# /etc/init.d/psad start
# /etc/init.d/psad stop
# /etc/init.d/psad restart

 

Para comprobar el estado del servicio PSAD podemos ejecutar el siguiente comando:

# psad -S

 

Para reiniciar PSAD, actualizar el fichero de firmas de PSAD y recargar PSAD ejecutar estos comandos:

# psad -R
# psad --sig-update
# psad -H

 

Listar las reglas en las cadenas iptables usadas por psad en modo "auto-blocking":

# psad --fw-list-auto

 

Eliminar todas las reglas de bloqueo auto-generadas:

# psad --fw-list-auto

 

Eliminar una IP/Red de las cadenas de bloqueo auto-generadas:

# psad --fw-rm-block-ip 192.168.0.22

 

Crear un cron para añadir nuevas firmas de forma automática

# crontab -e
# 0 0 * * 7 /usr/sbin/psad –sig-update && /usr/sbin/psad -H

 

Para ver el log de PSAD desde consola ejecutamos:

# cat /var/log/psad.log

 

 

Bueno, con esto ya tenemos todo funcionando; esperamos que lo disfrutéis.
Si queréis encontrar más información podéis visitar la Web Oficial de Psad

Visto 2195 veces
Valora este artículo
(0 votos)

MÉTODOS DE PAGO

Aceptamos pagos de Paypal, Master Card, Visa, American Express y las principales tarjetas de crédito.
metodos-de-pago-soportados

¿Cómo podemos ayudarte? Contacta con nosotros, seguro que tenemos una solución para tí

Nuestros servicios de cloud hosting tienen 30 días de satisfacción. Disfruta de tu nuevo host sin riesgos.

 

Contactar con grupotelfor

Cloud 100% SSD Alta Velocidad

Escríbenos, coméntanos, cualquier excusa es buena

Queremos conocerte. Cuéntanos tu experiencia con nosotros, ayudará a otros usuarios