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 virtuelle vmbr1 et vmbr2 qui ne bridge 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 parefeu

?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 CT LXC 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 leur type.

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

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