Routage et Firewall

De Travail-Ivan 2

Routage et Firewall

Sysctl

sysctl permet de gérer certains paramètres conjointement à Netfilter. Ces paramètres permettent d'agir sur la configuration du kernel.

Les modifications peuvent se faire :

  • En "live" dans les fichiers /proc/sys/*
  • En "dur" dans le fichier /etc/sysctl.conf

Pour valider la configuration de sysctl :

# sysctl -p

Configuration courante

  • Activer le routage :
    • En live :
echo '1' > /proc/sys/net/ipv4/ip_forward
    • Dans le fichier :
net.ipv4.ip_forward=1
  • Protection contre le spoofing :
net.ipv4.conf.all.rp_filter = 1
  • Protection contre le syn-flood :
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 1024

Routage statique

Concepts

Lorsqu'un hôte (A) cherche à communiquer avec un autre hôte (C) :

  1. L'hôte (A) détermine si l'hôte distant (C) est sur le même réseau logique
  2. Si non, il recherche dans sa table de routage une route vers le réseau de destination
  3. Il extrait l'adresse de passerelle (B)
  4. Il transmet le paquet à la passerelle (B)

Types de routes

  • Route d'hôte : route vers un seul hôte ciblé
  • Route de réseau : route vers les hôtes d'un réseau distant
  • Route par défaut : route utilisée en l'absence des autres types

Commande IP

  • Ajout de route d'hôte :
# ip route add 10.11.12.3 via 172.16.6.123
  • Ajout de route réseau :
# ip route add 10.56.0.0/16 via 172.16.6.253
  • Route par défaut :
# ip route add default via 172.16.6.1

Firewall

Netfilter

Netfilter est un module qui permet de filtrer et manipuler les paquets réseau. Il fournit :

  • Des fonctions de pare-feu
  • De la traduction d'adresse (NAT)
  • De l'historisation du trafic réseau

Tables

Il existe 3 tables principales :

  • Filter : filtrage des paquets
  • Nat : translation d'adresses ou de ports
  • Mangle : modification des en-têtes des paquets

Chaînes

Les chaînes principales sont :

  • INPUT : paquets à destination du système
  • OUTPUT : paquets émis par les processus
  • FORWARD : paquets à transmettre

Commandes iptables

Syntaxe générale

iptables [-t

] <commande> <options>

Commandes principales

  • Lister les règles :
# iptables -L
  • Ajouter une règle :
    • En fin de chaîne : -A
    • En début de chaîne : -I
  • Supprimer :
    • Une règle : -D
    • Toutes les règles : -F

Critères principaux

Critère Description
-p <protocole> tcp, udp, icmp ou all
-s <adresse>[/masque] Adresse source
-d <adresse>[/masque] Adresse destination
-dport <port> Port destination
-sport <port> Port source
-i <interface> Interface d'entrée
-o <interface> Interface de sortie

Cibles

  • -j ACCEPT : autorise le paquet
  • -j DROP : rejette sans notification
  • -j REJECT : rejette avec notification
  • -j LOG : enregistre dans les logs

Solutions de firewall

Shorewall

Shorewall est un outil de configuration haut niveau pour Netfilter, permettant de définir les règles via des fichiers de configuration.

Configuration principale :

  • /etc/shorewall/zones : définition des zones
  • /etc/shorewall/interfaces : association zones/interfaces
  • /etc/shorewall/policy : politiques par défaut
  • /etc/shorewall/rules : règles spécifiques
  • /etc/shorewall/snat : configuration du masquerading

PfSense

PfSense est une solution complète de routeur/firewall basée sur FreeBSD :

  • Interface web de gestion
  • Multiple fonctionnalités de sécurité
  • Configuration simple et intuitive

Outils de diagnostic

netstat/ss

Affiche les connexions réseau :

# netstat -paunt
  • -p' : nom du programme et PID
  • -a : tous les ports
  • -u : ports UDP
  • -t : ports TCP
  • -n : affiche les IP

nmap

Scanner réseau :

  • Détection des machines :
# nmap -sP 192.168.20.0/24
  • Détection OS :
# nmap -O 192.168.20.20
  • Scan complet :
# nmap -p- 192.168.20.20

tcpdump

Analyseur de paquets en ligne de commande :

  • Capture basique :
# tcpdump -nv
  • Capture sur port spécifique :
# tcpdump port http
  • Capture avancée :
# tcpdump src 192.168.1.100 and dst 192.168.1.2 and port ftp -w capture.log

Solutions de sécurité additionnelles

  • Fail2ban : bannissement automatique d'IP malveillantes
  • PSAD : détection d'intrusion et analyse de ports