Proteger servidor Linux contra ataques de fuerza bruta y denegación de servicios.

Feb 19th, 2010 | Posted by | Filed under Linux, Redes, Seguridad

Con tres herramientas: BFD, APF y DDoS Deflate es posible mitigar ataques de fuerza bruta y denegación de servicios en servidores Linux.

APF.

Es un cortafuegos basado en iptables (netfilter) fácil de instalar y configurar, pero lo que lo hace indispensable es que es compatible con BFD y DDoS Deflate.

Configuración básica:

Una vez instalado su fichero de configuración se ubica en “/etc/apf/conf.apf”. En primer lugar se modifica la línea que le indica en que interface de red actuar en este caso eth0:

[sourcecode language=”text”]# Untrusted Network interface(s); all traffic on defined interface will be
# subject to all firewall rules. This should be your internet exposed
# interfaces. Only one interface is accepted for each value.
# NOTE: The interfacing structure is being worked towards support of MASQ/NAT
IFACE_IN="eth0"
IFACE_OUT="eth0"[/code]

Después es posible configurar los interfaces de red para que los ignore.

[sourcecode language=”text”]# Trusted Network interface(s); all traffic on defined interface(s) will by-pass
# ALL firewall rules, format is white space or comma seperated list.
IFACE_TRUSTED="eth1"[/code]

Luego puertos TCP de entrada permitidos.

[sourcecode language=”text”]# Common ingress (inbound) TCP ports
IG_TCP_CPORTS="80, 110,443"[/code]

Puertos UDP de entrada permitidos.

[sourcecode language=”text”]# Common ingress (inbound) UDP ports
IG_UDP_CPORTS=" 110"[/code]

Luego puertos TCP de salida permitidos.

[sourcecode language=”text”]# Common egress (outbound) TCP ports]
EG_TCP_CPORTS="80, 110,443"[/code]

Puertos UDP de salida permitidos.

[sourcecode language=”text”]# Common egress (outbound) UDP ports
EG_UDP_CPORTS=" 110"[/code]

Entradas ICMP permitidas:

[sourcecode language=”text”]# Common ICMP (inbound) types
# ‘internals/icmp.types’ for type definition; ‘all’ is wildcard for any
IG_ICMP_TYPES="3,5,11"[/code]

Existen dos ficheros importantes para denegar el acceso “/etc/apf/deny_host.rules” y permitir acceso “/etc/apf/allow_host.rules” en ellos se pueden especificar IP, rangos, hosts…

Más información y descarga de APF:
http://www.rfxn.com/projects/advanced-policy-firewall/

BFD.

Es un script diseñado para monitorizar los logs de servicios que corren en el servidor: ssh, apache, ftp… en busca de fallos continuos de autentificación o excesos de conexión por parte de una IP. Una vez detectado una anomalía BFD activa APF para bloquear la IP atacante.

Configuración básica:

Una vez instalado su fichero de configuración se encuentra en “/usr/local/bfd/conf.bfd”. Lo primero que se configura es el TRIGGER, que es el número de intentos de conexión fallidos que permite BFD antes de actuar.

[sourcecode langauge=”text”]TRIG=10[/code]

Después configurar el envió de notificaciones por email para cada evento de BFD. Poniendo el valor 1 para activar y 0 para desactivar.

[sourcecode language=”text”]EMAIL_ALERTS=1
EMAIL_ADDRESS=administrador@servidor.es[/code]

Si queremos que BFD ignore alguna IP a la hora de bloquer intentos de conexión podemos indicar la IP en el archivo “/usr/local/bfd/ignore.hosts”.

Más información y descarga de BFD:
http://www.rfxn.com/projects/brute-force-detection/

DDoS Deflate.

Se trata de un script que monitoriza las conexiones al servidor a través de Netstat y bloquea con APF aquellas que realizan un ataque de negación de servicios.

Configuración básica:

Una vez instalado su fichero de configuración se encuentra en “/usr/local/ddos/ddos.conf”. La primera configuración es la frecuencia de ejecución en minutos.

[sourcecode language=”text”]FREQ=1[/code]

Después número de conexiones máximas permitidas antes de proceder a bloquear IP:

[sourcecode language=”text”]NO_OF_CONNECTIONS=160[/code]

Luego configuración para uso de APF para bloquear IP. Si se pone 0 usaría iptables.

[sourcecode language=”text”]APF_BAN=1[/code]

Tiempo en minutos, en el que la IP atacante será bloqueada:

[sourcecode language=”text”]BAN_PERIOD=500[/code]

Dirección de email a la que notificar cuando actúa DDoS Deflate.

[sourcecode language=”text”]EMAIL_TO=” administrador@servidor.es”[/code]

Más información y descarga de DDoS Deflate:
http://deflate.medialayer.com/

Auditar el impacto de ataques de denegación de servicios y fuerza bruta:
http://vtroger.blogspot.com/2009/02/auditar-el-impacto-de-ataques-de.html

Share
  1. Artefio
    Sep 30th, 2010 at 20:53
    Reply | Quote | #1

    Muy buen articulo Carlos, apenas me estoy metiendo en estos temas y me surge una pregunta. En los archivos de configuración tanto de BFD como de DDoS Deflate da la opción de agregar un email de alerta. En la configuración por defecto de estos el valor es de root o admin, la pregunta es como funciona el envío de estas alertas? es posible asignar una dirección de correo por ejemplo de gmail? o es necesario tener instalado un servidor de correo y la alerta se envia a la cuenta root del server local SMTP?
    Gracias por el articulo y por tu respuesta

  2. Carlos Ernesto Pruna
    Sep 30th, 2010 at 22:47
    Reply | Quote | #2

    Si donde t dice email d notificación pones tu email, quitando el ej q esta puesto con administrador@servidor.es
    Salu2

Comments are closed.