« Feuille classe » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
== | = Configuration du pare-feu Shorewall = | ||
=== | == Installation des paquets == | ||
Sur la machine virtuelle ''vmlb'', installez les paquets nécessaires : | |||
<syntaxhighlight lang="bash"> | |||
apt install shorewall tcpdump nmap | |||
</syntaxhighlight> | |||
== Configuration des fichiers Shorewall == | |||
=== Zones (zones) === | |||
Le fichier ''/etc/shorewall/zones'' définit les différentes zones du réseau : | |||
<syntaxhighlight lang="text"> | |||
fw firewall | |||
net ipv4 | |||
lan ipv4 | |||
</syntaxhighlight> | |||
'''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 : | |||
<syntaxhighlight lang="text"> | |||
?FORMAT 2 | |||
net enp0s3 dhcp,tcpflags,nosmurfs,sourceroute=0 | |||
lan enp0s8 tcpflags,nosmurfs,sourceroute=0 | |||
</syntaxhighlight> | |||
'''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 : | |||
<syntaxhighlight lang="text"> | |||
lan net ACCEPT | |||
lan $FW ACCEPT | |||
$FW net ACCEPT | |||
$FW lan ACCEPT | |||
net all DROP info | |||
all all REJECT info | |||
</syntaxhighlight> | |||
'''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 : | |||
<syntaxhighlight lang="text"> | |||
MASQUERADE 192.168.72.0/24 enp0s3 | |||
</syntaxhighlight> | |||
'''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 : | |||
<syntaxhighlight lang="text"> | |||
IP_GCH=192.168.1.18 | |||
</syntaxhighlight> | |||
=== Règles (rules) === | |||
Le fichier ''/etc/shorewall/rules'' contient les règles spécifiques : | |||
<syntaxhighlight lang="text"> | |||
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 | |||
</syntaxhighlight> | |||
'''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 : | |||
<syntaxhighlight lang="bash"> | |||
shorewall check | |||
shorewall safe-start | |||
systemctl enable shorewall | |||
</syntaxhighlight> | |||
=== Test de la configuration === | |||
Depuis une machine externe, testez avec nmap : | |||
<syntaxhighlight lang="bash"> | |||
$ nmap -p 22,80,8282,2221,2222 IP_FIREWALL | |||
</syntaxhighlight> | |||
'''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 | |||
[[Catégorie:Sécurité]] | |||
[[Catégorie:Pare-feu]] | |||
[[Catégorie:Shorewall]] |
Version du 6 novembre 2024 à 22:02
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