SÉCURITÉ : Apprendre à sécuriser la Pile TCP/IP

Principes

Même si la Pile TCP/IP du système d'exploitation GNU/Linux est reconnu, par beaucoup, comme étant une des plus stables,
APPLIQUER ce principe de précaution est bien loin d'être un mal, au contraire !

 

Pourquoi ? quelles raisons peuvent nous motiver à ?...

-1- Pour la simple et seule raison de RENFORCER la robustesse de notre système face à de potentielles attaques !!

-2- Les paramètres par défaut sont TOUJOURS trop permissifs - du moins, ainsi faut-il les considérer pour une installation normale !!!

Fichier de config

La configuration de la couche réseau IP se fait grâce à la modification de ce fichier /etc/sysctl.conf dont voici l'extrait entier pris sur une Debian


#
# /etc/sysctl.conf - Configuration file for setting system variables
# See sysctl.conf (5) for information.
#
#kernel.domainname = example.com
#net/ipv4/icmp_echo_ignore_broadcasts=1
 

Le BUT est de :

Ignorer certains messages ICMP
ICMP Redirect

Leur fonction est d'indiquer le chemin le plus court. Cela est utile pour les interconnexions de routeurs, pas au sein de réseaux locaux !

ICMP Echo Request

Détournés de leur fonction principale, ils sont utilisés pour scanner un réseau ou provoquer une attaque DOS

ICMP Ignore Bogus Response

L'envoi de message ICMP Error au trafic Broadcast est interdit !

Surveiller certains trafics
Log Martians

Les paquets IP dont l'adresse source est falsifiée ou non routable est enregistrée. Cela révèle, en général, une mauvaise configuration réseau, voire une tentative de piratage !

Se protéger de certaines attaques
Interdire le Source Routing

Le Routage par la Source est une technique qui permet à un système donné d'envoyer des paquets vers une machine précise en l'adressant par une autre.

IP Spoofing

C'est une technique qui crée les paquets IP dont l'adresse source est falsifiée afin de passer les diverses barrières

SYN Flooding

Cette attaque DOS fonctionne par l'envoi d'un grand nombre de requêtes d'ouvertures de connexions TCP sans donner suite. Le but est de saturer la table de connexions du système d'exploitation, le paralysant ainsi.

 

Voici le fichier de configuration modifié en conséquence :

 

#
# /etc/sysctl.conf - Configuration file for setting system variables
# See /etc/sysctl.d. for additional system variables.
# See sysctl.conf (5) for information.
#
# To reload: sysctl -p
#

# forwarding
## verify /etc/network/options : ip_forward=no
net.ipv4.ip_forward = 0
net.ipv4.conf.all.forwarding = 0

# refuse to redirect ICMP
net.ipv4.conf.all.accept_redirects = 0

# Ignore 'ICMP Echo Request' message
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.icmp_echo_ignore_all=1

# Ignore 'ICMP Bogus Repsonse' message
net.ipv4.icmp_ignore_bogus_error_responses=1

# refuse to route source
net.ipv4.conf.all.accept_source_route = 0

# log bad paquets "martians"
net.ipv4.conf.all.log_martians = 1

# spoof protection: reverse path filter
## verify /etc/network/options : spoofprotect=yes
net.ipv4.conf.all.rp_filter = 1

# refuse to sending redirect ICMP
net.ipv4.conf.all.send_redirects = 0

# Disabling the LOOSE_UDP_PATCH (more secure)
#net.ipv4.ip_masq_udp_dloose = 0

# Enabling ECN (Explicit Congestion Notification)
net.ipv4.tcp_ecn = 1

# tcp syncookies protection
## verify /etc/network/options : syncookies=yes
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_max_syn_backlog = 1280
net.ipv4.tcp_sack = 0
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_window_scaling = 0

 

Vous pouvez lire directement le fichier '/etc/sysctl.conf' modifié et le téléchargez si vous voulez !

Firewall(er)

Ces fonctionnalités peuvent aussi être intégré directement dans un script firewall, dans ce cas, ces règles s'écriront plutôt de cette forme :
echo "1" > /proc/net/ipv4/conf/all/nom_action

Quoiqu'il en soit, il est vraiment nécessaire d'adjoindre à cette protection des règles Iptables de base pour sécuriser le traffic IP entrant et sortant de la machine locale

 


| Page : Linux : securite : pileTcpIp : |>>


 

 

^ Haut de page ^