lunes, 23 de noviembre de 2009

Configurar Portsentry

Portsentry es una aplicación que provee protección contra ataques de barrido de puerto y ataques de DDoS, la aplicacion utiliza las bondades de tcpwrappers e iptables para bloquear hosts con comportamientos anormales

para comenzar la instalacion creamos un directorio de trabajo

#mkdir ~/tmp/portsentry ; cd ~/tmp/portsentry

descargamos la aplicación del sitio oficial

#wget http://sourceforge.net/projects/sentrytools/files/portsentry%201.x/portsentry-1.2/portsentry-1.2.tar.gz/download
#wget http://sourceforge.net/projects/sentrytools/files/portsentry%201.x/portsentry-1.2/portsentry-1.2.tar.gz.md5/download

verificamos la integridad del archivo

# md5sum -c portsentry-1.2.tar.gz.md5

descomprimimos el paquete portsentry

# tar -xvzf portsentry-1.2.tar.gz
# cd portsentry_beta

dentro del archivo portsentry_config.h podemos observar los directorios donde se guardaran los archivos de configuración.

compilamos la aplicación

# make linux
# make install
editamos el archivo de configuracion que se ubica por default "/usr/local/psionic/portsentry/portsentry.conf"

# vi /usr/local/psionic/portsentry/portsentry.conf

el archivo de configuracion es algo largo de explicar así que seré algo breve

los parametro TCP_PORTS y UDP_PORTS , indican los puertos que seran constantemente revisados , pueden ir separados por "," o "-" de la misma manera funcionan los ADVANCED_PORTS_TCP y ADVANCED_PORTS_UDP

el parámetro ADVANCED_EXCLUDE_TCP y ADVANCED_EXCLUDE_UDP nos ayudaran a excluir puertos que son necesarios para nuestra operación .

el parametro BLOCK_UDP y BLOCK_TCP , indican que se va a hacer con los resultados positivos. 0 no hacer nada. 1 bloquear, 2 ejecutar un comando personalizado

en mi experiencia recomiendo descomenta la sig. linea

KILL_ROUTE="/usr/local/bin/iptables -I INPUT -s $TARGET$ -j DROP"
KILL_HOSTS_DENY="ALL: $TARGET$"

la linea 1 bloquea al atacante via iptables y la segunda via tcpwrappers, pero ud podra tomar la elección que mejor se adecue a sus necesidades.

editamos el archivo portsentry.ignore, el cual indicaremos los host que están exentos de bloqueo

#vi /usr/local/psionic/portsentry/portsentry.ignore

copiamos el archivo portsentry al /etc/init.d/

# cp portsentry /etc/init.d
# chmod 755 /etc/init.d/portsentry

iniciamos el servicio de porsentry

# service portsentry start

como todos las aplicaciones tendremos falsos positivos los cuales tendremos que borrar de la sig forma

editamos el archivo /etc/hosts.deny y eliminamos el ip falso

#vi /etc/hosts.deny

eliminamos la regla del iptables

# iptables -L

Detectamos la regla
# Iptables -D y la regla
# service iptables save








No hay comentarios:

Publicar un comentario