En este tutorial, le mostraré la instalación y configuración de la herramienta PSAD (Detección de ataques de exploración de puertos) en Debian 8 (Jessie). Según el sitio web del proyecto:PSAD proporciona detección de intrusos y análisis de registros con IPtables (cortafuegos de Linux). La herramienta PSAD se utiliza para cambiar un sistema IDS (Detección de intrusos) a un IPS (Sistema de prevención de intrusos). Utiliza las reglas del conocido IDS de código abierto "SNORT" para la detección de eventos de intrusión. La herramienta supervisa continuamente la máquina virtual o el servidor en busca de ataques activos, como escaneos de puertos, y puede bloquear direcciones IP maliciosas en el firewall de Linux automáticamente. Otro proyecto similar es Guardian, que tiene características muy limitadas. PSAD se instalará en una máquina virtual Debian-8 (Jessie) y se usará la herramienta de escaneo "Nmap" para verificar los puertos abiertos en la máquina virtual. Al final, se lanzará un ataque DOS en el servidor web (Apache) para ver el comportamiento de la herramienta PSAD.
Instalación de PSAD
Debian Jessie se instalará en la VM de VMware mediante el instalador de red (debian-8.3.0-i386-netinst.iso).
El proceso de instalación de Debian se describe en el artículo anterior. La dirección IP de la máquina PSAD es 192.168.1.102/24.
La herramienta PSAD se puede instalar desde el código fuente o desde el repositorio de paquetes de Debian. Lo instalaré desde el repositorio de Debian. En primer lugar, agregue lo siguiente en el archivo sources.list (o verifique si las líneas ya están allí) y ejecute el comando apt para actualizar la lista de repositorios.
deb http://httpredir.debian.org/debian jessie main deb-src http://httpredir.debian.org/debian jessie main deb http://httpredir.debian.org/debian jessie-updates main deb-src http://httpredir.debian.org/debian jessie-updates main deb http://security.debian.org/ jessie/updates main deb-src http://security.debian.org/ jessie/updates main
Lista de fuentes para Debian Jessie
apt-get update
Ejecute el siguiente comando para instalar PSAD en la máquina virtual.
apt-get install psad
Se requieren varios paquetes de Perl durante la instalación de la herramienta PSAD. El administrador de paquetes de Debian resolverá automáticamente las dependencias de los paquetes.
La función de firewall en la plataforma Linux la proporciona el paquete IPtables. Es un cortafuegos de Linux muy conocido y ya está instalado en todas las distribuciones de Linux.
Configuración de PSAD y Firewall
De forma predeterminada, no habrá reglas en las cadenas de IPtables en la plataforma Debian. Ejecute el siguiente comando para enumerar las reglas de las cadenas.
iptables -L
Habilite el inicio de sesión en las cadenas de entrada y reenvío de IPtables para que el demonio PSAD pueda detectar cualquier actividad anormal.
iptables -A INPUT -j LOGiptables -A FORWARD -j LOG
La salida del comando "iptables -L" será similar a la que se muestra a continuación.
Chain INPUT (policy ACCEPT) target prot opt source destination LOG all -- anywhere anywhere LOG level warning Chain FORWARD (policy ACCEPT) target prot opt source destination LOG all -- anywhere anywhere LOG level warning Chain OUTPUT (policy ACCEPT) target prot opt source destination
En la distribución Debian, la herramienta PSAD almacena archivos de configuración y reglas en el directorio /etc/psad.
El archivo de configuración principal de PSAD es /etc/psad/psad.conf . En este tutorial, la función IPS se usará para detectar ataques de DOS en el servidor web.
La configuración básica para PSAD se proporciona a continuación.
EMAIL_ADDRESSES [email protected];
HOSTNAME PSAD-box;
HOME_NET any;
EXTERNAL_NET any;
La configuración del nivel de peligro predeterminado, el intervalo de verificación de PSAD y el uso de SID se muestran en la siguiente figura.
De forma predeterminada, el demonio PSAD busca registros en /var/log/messages expediente. Por lo tanto, cambie IPT_SYSLOG_FILE parámetro en la configuración PSAD.
Las distribuciones basadas en Debian almacenan mensajes de syslog en /var/log/syslog archivo.
ENABLE_SYSLOG_FILE Y;
IPT_WRITE_FWDATA Y;
IPT_SYSLOG_FILE /var/log/syslog;
Por defecto, PSAD funciona en modo IDS, el parámetro IPS está deshabilitado en el archivo de configuración. Habilite los siguientes parámetros para habilitar la función IPS y el nivel de peligro. Después de habilitar el parámetro en el archivo de configuración, el demonio PSAD bloqueará automáticamente al atacante agregando su dirección IP en las cadenas de IPtables.
ENABLE_AUTO_IDS Y;
AUTO_IDS_DANGER_LEVEL 1;
Ahora ejecute el siguiente comando para actualizar la base de datos de firmas para la detección de ataques.
psad --sig-update
Actualmente, el servidor Apache está escuchando en el puerto 80 como se muestra a continuación.
Inicie PSAD usando el siguiente comando y verifique el estado.
psad start
psad -S
Se lanza un ataque de DOS utilizando la herramienta LOIC (cañón de iones de órbita baja) en la máquina virtual para probar PSAD como se muestra a continuación.
Syslog muestra el tráfico de DOS generado con la herramienta LOIC.
La dirección IP del atacante simulado 192.168.1.100 está bloqueada por el demonio PSAD como se muestra a continuación. Ejecute el siguiente comando para ver las reglas dinámicas agregadas por PSAD.
psad --fw-list
La siguiente captura de pantalla muestra que el atacante ya no puede hacer ping a la dirección IP de la víctima, por lo que PSAD lo bloqueó con éxito.
Ejecute el siguiente comando para ver el resultado detallado de PSAD.
psad -S
1. Firma coincidente y dirección IP del atacante
2. Tráfico para puertos específicos
3. La dirección IP del atacante en las cadenas de IPtables.
4. Detalles sobre la comunicación entre el atacante y la víctima.
Conclusión
PSAD es una conocida herramienta de código abierto para bloquear ataques de escaneo de puertos en servidores Linux. Tiene funciones IDS e IPS y puede bloquear dinámicamente direcciones IP maliciosas usando IPtables.