Ajouter 'infra/shorewall_beta.md'

master
Pierre Coimbra 2019-10-27 22:17:45 +01:00
parent bc3703a4f9
commit 64ade94c09
No known key found for this signature in database
GPG Key ID: F9C449C78F6FAEE6
1 changed files with 91 additions and 0 deletions

91
infra/shorewall_beta.md Normal file
View File

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