Installer et configurer portsentry – Debian Ubuntu

31 mai 2014 Sécurité 5 Commentaires
Comme indiqué par Nicolas dans les commentaires ce tutoriel contient des erreurs, en attendant qu’il soit corrigé je vous conseille d’aller faire un tour sur isalo

Portsentry est une application qui permet a votre serveur de detecter un scan de ports mais aussi d’agir :
– Les attaques seront inscrites dans vos logs
– le scanneur est automatiquement bloque puisque sont ip sera rajouté dans /etc/hosts.deny
– Avec ipchains, toutes les communications venant de l’hôte « attaqueur » seront bloquées
– L’interface de communication peut être coupée en cas d’attaque.

Il est donc très utile d’installer et configurer portsentry sur votre serveur. Afin d’obtenir de meilleurs résultats il est possible de le combiner a fail2ban et a un script iptable

Pour installer le paquet lancez la commande suivante

sudo apt-get install portsentry

 

Lors de l’installation vous serez prévenu que par défaut portsentry ne bloque rien. Il faudra donc modifier les fichiers de configuration, mais tout d’abord occupons nous des hôtes qui seront ignorés afin de ne pas se faire soit bloquer même

sudo nano /etc/portsentry/portsentry.ignore

 

Ajoutons la liste des ips que vous souhaitez ne jamais bloquer

# IPs from /etc/portsentry/portsentry.ignore.static:
127.0.0.1/32


# dynamically fetched IPs(via ifconfig -a):
127.0.0.1

# mes IPs
xxx.xxx.xxx.xxx

 

Nous pouvons maintenant nous occuper de la configurer de portsentry

sudo nano /etc/default/portsentry

 

Ici nous allons activer les modes audp et atcp, Portsentry va vérifier les ports utilisés et automatiquement « lier » les ports disponibles. C’est l’options la plus efficace (« a » signifie avancé). Avec cette options, portsentry établit une liste des ports d’écoute, TCP et UDP, et bloque l’hôte se connectant sur ​​ces ports, sauf s’il est présent dans le fichier portsentry.ignore. Veillez donc a ce que votre fichier se compose de la manière suivante

# /etc/default/portsentry
#
# This file is read by /etc/init.d/portsentry. See the portsentry.8
# manpage for details.
#
# The options in this file refer to commandline arguments (all in lowercase)
# of portsentry. Use only one tcp and udp mode at a time.
#
TCP_MODE="atcp"
UDP_MODE="audp"

 

Modifions maintenant le fichier de configuration principal

sudo nano nano /etc/portsentry/portsentry.conf

 

Mettez en place le blocage en modifiant la section Ignore options de la façon suivante

##################
# Ignore Options #
##################
...
# 0 = Do not block UDP/TCP scans.
# 1 = Block UDP/TCP scans.
# 2 = Run external command only (KILL_RUN_CMD)

BLOCK_UDP="1"
BLOCK_TCP="1

 

Veillez ensuite a ce que la section dropping route soit bien configurée avec la ligne suivante décommentée

KILL_ROUTE="/sbin/route add -host $TARGET$ reject"

 

Meme chose pour la section TCP Wrappers qui doit être configurée ainsi

KILL_HOSTS_DENY="ALL: $TARGET$ : DENY"

 

Ajoutez la ligne suivante comme external commande

KILL_RUN_CMD="/sbin/iptables -I INPUT -s $TARGET$ -j DROP && /sbin/iptables -I INPUT -s $TARGET$ -m limit --limit 3/minute --limit-burst 5 -j LOG --log-level debub --log-prefix 'Portsentry: dropping: '"

 

Vous pouvez redemarrer portsentry et qui vous protegera au mieux d’un scan de vos ports

sudo service portsentry restart