projet_serveur_krkn/infra/shorewall/shorewall_beta.md

2.3 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	RATE	CONNLIMIT

$FW	    net		    ACCEPT
$FW	    coro      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    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.