From 64ade94c0937a6e1e20de2165562250a28ecaeeb Mon Sep 17 00:00:00 2001 From: Pierre Coimbra Date: Sun, 27 Oct 2019 22:17:45 +0100 Subject: [PATCH] Ajouter 'infra/shorewall_beta.md' --- infra/shorewall_beta.md | 91 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 infra/shorewall_beta.md diff --git a/infra/shorewall_beta.md b/infra/shorewall_beta.md new file mode 100644 index 0000000..d661fbc --- /dev/null +++ b/infra/shorewall_beta.md @@ -0,0 +1,91 @@ +# 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. \ No newline at end of file