Mise en place d'un shorewall simple WAN LAN DMZ

De WIKI Les fourmis du libre
Aller à : navigation, rechercher

Dans notre cas nous allons prendre une livebox pour le WAN:


|---------------------------------------------------------------|
|                                                               |
|                                                               |
|         INTERNET --> LIVEBOX --> FWALL --> LAN                |
|                                    |                          |
|                                    |                          |
|                                    v                          |
|                                   DMZ                         |
|                                                               |
|                                                               |
|---------------------------------------------------------------|


Sur la livebox le fwall doit est déclarée en DMZ

A noter que la partie WAN on peut être en dhcp. En effet cela est intéressant lors de remplacement de box orange (la conf est rarement rétablie ...)

Configurer votre fichier interface:


 # WAN
 auto eth0
 iface eth0 inet dhcp

 # LAN LOC
 auto eth1
 iface eth1 inet static
 address 172.20.0.254
 netmask 255.255.0.0

 #DMZ
 auto eth2
 iface eth2 inet static
 address 172.31.0.254
 netmask 255.255.0.0


Installer donc shorewall :

 apt-get update
 apt-get install shorwall

On va avant toute chose renseigner quelques variables dans le fichiers /etc/shorewall/params:

WAN_IF="eth0"
LOC_IF="eth1"
DMZ_IF="eth2"

WAN="0.0.0.0/0"
LOC="172.20.0.0/16"
DMZ="172.31.0.0/16"

Ensuite nous allons déclarer nos zones dans le fichiers /etc/shorewall/zones


fw      firewall
net     ipv4
loc     ipv4
dmz     ipv4


Nous allons ensuite déclarer nos différentes interface et leur zone associée dans /etc/shorewall/interfaces :

net     $WAN_IF       detect          dhcp,tcpflags,nosmurfs,logmartians
dmz     $DMZ_IF       detect          routeback
loc     $LOC_IF       detect          routeback


On va maintenant activer transfert de paquet:

On bascule dans le fichier /etc/shorewall/shorewall.conf

    IP_FORWARDING=Yes

Puis on va définir le masq pour le nat /etc/shorewall/masq :

$WAN_IF     $LOC
$WAN_IF     $DMZ

Puis on définis dans le fichier /etc/shorewall/policy les règles par défaut entre les différente zones (on est très restrictif par défaut):

 
#SOURCE         DEST            POLICY          LOG LEVEL       LIMIT:BURST

fw              all             ACCEPT
loc             fw              ACCEPT
all             all             REJECT         debug


Puis dans le fichier /etc/shorewall/rules on peu définir des choses plus précise.

Le fichiers rules prend le dessus sur le fichier policy


 
ACCEPT  all       fw    icmp


Pour le fichier rules la bonne méthode a appliquer c'est le stocker en variable les différente chose dont on a besoin dans le fichiers params

Exemple d'utilisation

 
SRVPROXY="172.30.1.8"
SRVADS="172.30.1.1"
SRVWEB="172.31.0.10"
NET_PEDAGO="172.28.0.0/16"
NET_SRV="172.30.0.0/16"
NET_DMZ="172.31.0.10"
SRVMICROSOFT="3.6.53.5"


Fichiers rules:

     
ACCEPT  loc                all                  icmp
ACCEPT  loc                net                  icmp
ACCEPT  loc:$SRVPROXY      net                  tcp    80,443
ACCEPT  dmz                loc                  udp    53
ACCEPT  loc:$SRVADS        net                  udp    53
DNAT    net                loc:$SRVWEB:443      tcp    443
DNAT    net                loc:$SRVWEB:80       tcp    80
ACCEPT  loc                net:$SRVMICROSOFT    tcp