Sécurisation de TCP/IP sur votre serveur dédié

Si votre serveur dédié se trouve dans un datacenter et que le réseau est stable. Nous pouvons désactiver certaines fonctions de routage IPv4 et IPv6.
Nous allons voir ici comment protéger votre serveur contre les attaques SYN FLOOD, le Spoofing, le smurfing et les redirections ICMP.

Pré-requis

Ce tutoriel a été testé sur Debian 7 (Wheezy),8 (Jessie) et 9 (Stretch).
Vous devez avoir un accès super-administrateur (root) sur votre terminal de commande.

Difficulté
Moyen
Tout ce passe dans le fichier /etc/sysctl.conf

Sauvegarde du fichier de configuration /etc/sysctl.conf

Pour commencer, nous allons effectuer une sauvegarde du fichier de configuration /etc/sysctl.conf

cp /etc/sysctl.conf /etc/sysctl.conf.bak

Protection contre le spoofing

Pour protéger son serveur dédié contre le spoofing, il faut décommenter deux lignes :

command sed -i \
    -e 's/#net.ipv4.conf.default.rp_filter=1/net.ipv4.conf.default.rp_filter=1/' \
    -e 's/#net.ipv4.conf.all.rp_filter=1/net.ipv4.conf.all.rp_filter=1h/' \
  '/etc/sysctl.conf'

Protection contre le SYN FLOOD

Pour se protéger contre le SYN FLOOD, il faut décommenter une ligne :

command sed -i \
    -e 's/#net.ipv4.tcp_syncookies=1/net.ipv4.tcp_syncookies=1/' \
  '/etc/sysctl.conf'

Puis on ajoute au fichier de configuration /etc/sysctl.conf la ligne suivante

echo " 
net.ipv4.tcp_max_syn_backlog = 1024 
" >> '/etc/sysctl.conf'

Protection contre le smurfing

Pour protéger votre serveur dédié des tentative de smurfing, il faut ajouter les lignes suivantes. Cela précisera qu'il faut ignorer les codes réponses bogus des logs ICMP.

echo "
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
" >> /etc/sysctl.conf
 
===== Protection conte les attaques Man In The Middle (MITM) =====
 
Pour protéger votre serveur dédié contre les attaques Man In The Middle (MITM), il faut ajoutez les lignes suivantes au fichier /etc/sysctl.conf.
<code bash>
echo "
# refus des redirections ICMP
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
# Pas d'envoi de redirection ICMP
net.ipv4.conf.all.send_redirects = 0
net.ipv6.conf.all.send_redirects = 0
#Refus de router les paquets ICMP
net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0
" >> '/etc/sysctl.conf'

Applications des modifications

Il ne nous reste plus qu'à appliquer les modifications

sysctl -n -e -q -p /etc/sysctl.conf

Notes de version

  • [23/11/2017] : Création de l'article

Auteurs et sources