Résumé des épisodes précédents. Nous avons évité les freeze de notre Dédibox puis avons commencé à la sécuriser.
Nous allons maintenant terminer le boulot.
Seconde partie – Chapitre 2 : Un peu de /proc, une once de fail2ban et un soupçon de chkrootkit
1/ Sécuriser les accès réseau :
Pour cette partie, je vous conseille de vous référer à cette excellente documentation.
- Protection contre le synflood :
Tapez[1] :
# echo "1" > /proc/sys/net/ipv4/tcp_syncookies # echo "1024" > /proc/sys/net/ipv4/tcp_max_syn_backlog # echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
- Protection contre les redirections ICMP :
# echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects # echo "0" > /proc/sys/net/ipv4/conf/all/secure_redirects
- Logguer les Martiens[2]
# echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
- Faire fi du Source Routing :
# echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
- Yo. Pas de Smurf Attack chez moi :
# echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
Vous pouvez compléter en fouillant plus avant dans les options sysctl, si vous le souhaitez.
2/ Installer fail2ban :
Fail2ban permet d’éviter les gros nazes – et ils sont nombreux – qui tentent de s’introduire chez vous en les bannissant dès lors que le nombre de tentatives de connexion défini par vous est dépassé.
Installons la bête :
# apt-get install fail2ban
puis, éditons le fichier de configuration de fail2ban :
# nano /etc/fail2ban/jail.conf
Modifions les lignes de jail.conf comme suit :
[ssh] enabled = true logpath = /var/log/auth.log port = ssh filter = sshd timeregex = S{3}s{1,2}d{1,2} d{2}:d{2}:d{2} timepattern = %%b %%d %%H:%%M:%%S failregex = : (?:(?:Authentication failure|Failed [-/w+]+) for(?: illegal user)?|Illegal user|Did not receive identification) .$ maxretry = 3 findtime = 600 bantime = 1800 [postfix] enabled = false port = smtp filter = postfix logpath = /var/log/postfix.log
Redémarrons fail2ban-client et relançons le :
# fail2ban-client stop # fail2ban-client start
Et pour terminer, vérifions le bon fonctionnement :
# fail2ban-client -d
Vous devriez obtenir les premiers signes de fonctionnement de l’engin.
3/ Un détecteur de rootkit
Nous allons maintenant passer à l’installation de chkrootkit. Nous programmerons un envoi de mail automatique du rapport quotidien ensuite :
Tapez :
# sudo apt-get install chkrootkit
et éditez votre crontab
# crontab -e
et insérez cette ligne :
0 3 * * * chkrootkit 2>&1 | mail votre@adresse.mail -s "Rapport quotidien RootKit"
De cette manière, vous recevrez tous les matins à 3 heures l’état des tentatives rootkit éventuelles.
C’est tout pour l’instant. La suite est consacrée à l’installation de PHP5, Mysql et Apache
Notes
[1] Je le rappelle, une ligne précédée de $ se tape en utilisateur courant, et précédée de # en root
[2] Je me comprends
Faites en profiter tout le monde :

2 Comments: Trackback URL | Comments RSS
11 août 2008 à 22 h 36 min
Salut,
dans ton fichier jail.conf il manque la section commande (et en fait tout l’entête) ce qui bloque fail2ban
cordialement
12 août 2008 à 0 h 06 min
Je n’ai pas mis le fichier au grand complet (j’aurais dû mettre "…" avant et après pour être plus clair) mais juste ce qui nous préoccupait.
Merci de la précision, je corrige demain avec le prochain billet sur le sujet.