« Feuille classe » : différence entre les versions

De Travail-ivan
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 1 : Ligne 1 :
== blocage dns (Adguard) ==  
= Configuration du pare-feu Shorewall =
=== Listes blocages ===
== Installation des paquets ==
[https://sebsauvage.net/hosts/hosts Liens 1]
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


=== Sites intéressants ===
=== Politique (policy) ===
[https://quoideneuf1.over-blog.com/2016/01/configurer-un-fichier-hosts-pour-bloquer-la-connexion-aux-indesirables-du-web-pub-adresse-url-malveillante.html Liens 1]
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 :'''


[http://Https://someonewhocares.org/hosts/ Liens 2]
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