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