projet_serveur_krkn/infra/shorewall_beta.md

2.5 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		icmp

#Interface web proxmox
ACCEPT          krkn:10.10.0.3  $FW             tcp         8006,5902
ACCEPT          net		$FW             tcp         8006

#DNAT pour le proxy Nginx
DNAT            net             krkn:10.10.0.3  tcp         80,443

/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.