projet_serveur_krkn/infra/shorewall/shorewall_beta.md

2.4 KiB

Mise en place du firewall de Beta

Nous avons une interface eth2 pour le corosync, une interface virtuelle vmbr0 qui bridge sur eth0 pour l'accès à internet et deux interfaces virtuelles vmbr1 et vmbr2 qui ne bridgent pas vers l'extérieur, le bridge va se faire avec Shorewall.

Installation de Shorewall

apt-get update
apt-get install shorewall
cp /usr/share/doc/shorewall/examples/Universal/* /etc/shorewall/

Shorewall est maintenant installé

Configuration de Shorewall

/etc/shorewall/conntrack

Garder le fichier d'origine

/etc/shorewall/interfaces

Associations des interfaces du système avec les zones du pare-feu

?FORMAT 2
#ZONE	  INTERFACE   OPTIONS
net     vmbr0       tcpflags,nosmurfs,routefilter,bridge,routeback,logmartians
krkn    vmbr1       tcpflags,nosmurfs,routefilter,bridge,routeback,logmartians
ext     vmbr2       tcpflags,nosmurfs,routefilter,bridge,routeback,logmartians
coro    eth3        tcpflags,nosmurfs,logmartians

/etc/shorewall/policy

Définition de la politique globale du pare-feu

#SOURCE DEST   POLICY   LOGLEVEL

$FW     net    ACCEPT
krkn    net    ACCEPT
ext     net    ACCEPT

ext     krkn   DROP     info
net     all    DROP     info
all     all    REJECT   info

/etc/shorewall/rules

Définition des exceptions aux règles définies dans le fichier policy

#ACTION		SOURCE		DEST		PROTO	DEST	SOURCE
?SECTION ALL
?SECTION ESTABLISHED
?SECTION RELATED
?SECTION INVALID
?SECTION UNTRACKED
?SECTION NEW

Invalid(DROP)	net	  all    tcp
DNS(ACCEPT)	    $FW	  net
Ping(ACCEPT)    all   $FW
SSH(ACCEPT)     net   all

ACCEPT    $FW    krkn    icmp
ACCEPT    $FW    ext     icmp
ACCEPT    $FW    net     icmp

ACCEPT    $FW    coro    udp    5404,5405
ACCEPT    coro   $FW     udp    5404,5405

ACCEPT    krkn   ext     tcp    80,443
ACCEPT    net    $FW     tcp    8006

/etc/shorewall/snat

Configuration SNAT permettant de faire du "masquerading", ainsi les paquets qui sortent des containers ont comme IP source l'IP de l'interface externe eth0.

#ACTION			SOURCE			DEST
MASQUERADE  vmbr1       vmbr0
MASQUERADE  vmbr2       vmbr0

/etc/shorewall/zones

Définition des zones et de leurs types.

#ZONE   TYPE	       
fw      firewall
net     ipv4
krkn    ipv4
ext     ipv4
coro    ipv4

Le firewall de Beta est maintenant configuré comme décrit dans le schéma global du réseau.