Mise en place d'un shorewall simple WAN LAN DMZ : Différence entre versions

De WIKI Les fourmis du libre
Aller à : navigation, rechercher
Ligne 101 : Ligne 101 :
 
loc            fw              ACCEPT
 
loc            fw              ACCEPT
 
all            all            REJECT        debug
 
all            all            REJECT        debug
 
 
 
</pre>
 
</pre>
  
Ligne 112 : Ligne 110 :
 
   
 
   
 
<pre>  
 
<pre>  
 
 
ACCEPT  all      fw    icmp
 
ACCEPT  all      fw    icmp
 +
</pre>
  
 +
 +
 +
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:
 +
 +
<pre>
 +
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"
 +
</pre>
 +
 +
 +
Fichiers rules:
 +
 +
<pre>
 +
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
 
</pre>
 
</pre>

Version du 9 octobre 2017 à 22:21

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