Feuille classe

De Travail-ivan

Configuration du pare-feu Shorewall

Installation des paquets

Sur la machine virtuelle vmlb, installez les paquets nécessaires :

apt install shorewall tcpdump nmap

Configuration des fichiers Shorewall

Zones (zones)

Le fichier /etc/shorewall/zones définit les différentes zones du réseau :

fw  firewall
net ipv4
lan ipv4

Explication des zones :

fw : Représente le pare-feu lui-même net : Zone pour le réseau externe (Internet) lan : Zone pour le réseau local interne

Interfaces (interfaces)

Le fichier /etc/shorewall/interfaces associe les interfaces physiques aux zones :

?FORMAT 2
net enp0s3 dhcp,tcpflags,nosmurfs,sourceroute=0
lan enp0s8 tcpflags,nosmurfs,sourceroute=0

Paramètres des interfaces :

enp0s3 : Interface réseau externe avec DHCP enp0s8 : Interface réseau locale Options de sécurité :

    • tcpflags : Active la vérification des drapeaux TCP
    • nosmurfs : Protection contre les attaques smurf
    • sourceroute=0 : Désactive le source routing

Politique (policy)

Le fichier /etc/shorewall/policy définit les règles par défaut :

lan     net     ACCEPT
lan     $FW     ACCEPT
$FW     net     ACCEPT
$FW     lan     ACCEPT
net     all     DROP    info
all     all     REJECT  info

Explication des politiques :

Trafic du LAN vers Internet : Autorisé Trafic du LAN vers le pare-feu : Autorisé Trafic du pare-feu vers Internet : Autorisé Trafic du pare-feu vers le LAN : Autorisé Trafic d'Internet vers toute destination : Bloqué avec journalisation Tout autre trafic : Rejeté avec journalisation

Translation d'adresses (snat)

Le fichier /etc/shorewall/snat configure le masquerading :

MASQUERADE 192.168.72.0/24 enp0s3

Explication :

Masque le réseau 192.168.72.0/24 derrière l'interface enp0s3

Paramètres (params)

Le fichier /etc/shorewall/params définit les variables :

IP_GCH=192.168.1.18

Règles (rules)

Le fichier /etc/shorewall/rules contient les règles spécifiques :

ACCEPT   all     all     icmp    8
ACCEPT   net:$IP_GCH    $FW     tcp     22
ACCEPT   net     $FW     tcp     80
ACCEPT   net:$IP_GCH    $FW     tcp     8282
DNAT
DNAT     net:$IP_GCH    lan:192.168.72.11:22    tcp     2221
DNAT     net:$IP_GCH    lan:192.168.72.12:22    tcp     2222

Explication des règles :

Autorise le ping (ICMP type 8) depuis toutes les sources Autorise SSH (port 22) depuis l'IP spécifiée vers le pare-feu Autorise HTTP (port 80) depuis Internet vers le pare-feu Autorise le port 8282 depuis l'IP spécifiée vers le pare-feu Redirige le port 2221 vers SSH (port 22) sur 192.168.72.11 Redirige le port 2222 vers SSH (port 22) sur 192.168.72.12

Activation et test

Démarrage de Shorewall

Exécutez les commandes suivantes :

shorewall check
shorewall safe-start
systemctl enable shorewall

Test de la configuration

Depuis une machine externe, testez avec nmap :

$ nmap -p 22,80,8282,2221,2222 IP_FIREWALL

Ports testés :

22 : SSH vers le pare-feu 80 : HTTP vers le pare-feu 8282 : Port personnalisé vers le pare-feu 2221 : Redirection SSH vers 192.168.72.11 2222 : Redirection SSH vers 192.168.72.12