Haute disponibilité pour OPNSense
This commit is contained in:
@@ -1,15 +1,16 @@
|
||||
# Pare-Feu OPNSense
|
||||
|
||||
Au niveau du pare-feu nous allons utiliser OPNSense (fork de pfSense). Les deux nodes auront une VM avec OPNSense pour la Haute Disponibilité, l'IP publique (WAN) se déplacera entre les deux VM grâce à une IP virtuelle à CARP et à pfSense. Ca sera la même chose pour la gateway sur chaque interface.
|
||||
Au niveau du pare-feu nous allons utiliser OPNSense (fork de pfSense). Alpha et Sigma auront une VM avec OPNSense pour la Haute Disponibilité, l'IP publique (WAN) se déplacera entre les trois VM grâce à une IP virtuelle CARP et à pfSync. Ca sera la même chose pour la gateway sur chaque interface.
|
||||
|
||||
## Configuration de la VM
|
||||
## Configuration des VMs
|
||||
- Guest OS : Other
|
||||
- Bus Device : VirtIO Block
|
||||
- Network device model : VirtIO (paravirtualized)
|
||||
|
||||
Avant de lancer la VM ajoutez les deux interfaces ci-dessous
|
||||
Avant de lancer la VM ajoutez les interfaces ci-dessous
|
||||
- vmbr0.10 -> WAN
|
||||
- vmbr1.10 -> LAN
|
||||
- vmbr1.20 -> CARP
|
||||
|
||||
WAN sera l'interface portant l'ip publique et LAN l'interface gateway pour la zone DMZ.
|
||||
|
||||
@@ -30,13 +31,21 @@ Une fois la VM redémarrée pour la première fois, il faut faut assigner les in
|
||||
Il faut configurer 2 interfaces pour commencer :
|
||||
- WAN (vmbr0 / vlan 10)
|
||||
- LAN (vmbr1 / vlan 10)
|
||||
- pfSync (vmbr1 / vlan20)
|
||||
|
||||
On ajoutera le reste plus tard.
|
||||
|
||||
### Adresse IP
|
||||
Il faut maintenant configurer les adresses IP des interfaces :
|
||||
- WAN, mettre l'IP publique et la gateway donnée. Pas de DHCP ni d'ipv6.
|
||||
- LAN, IP : 10.0.0.254/24. Pas de gateway ni d'ipv6 ni de DHCP.
|
||||
- WAN, mettre l'IP (dépend du choix fait) et la gateway donnée. Pas de DHCP ni d'ipv6.
|
||||
- LAN, dépend de la node
|
||||
- Alpha : 10.0.0.4
|
||||
- Sigma : 10.0.0.6
|
||||
|
||||
- pfSync, dépend de la node
|
||||
- Alpha : 10.1.2.1
|
||||
- Gamma : 10.1.2.2
|
||||
|
||||
|
||||
### Accès au panel d'administration
|
||||
A partir de la OPNSense est fonctionnel cependant il bloque tout en entrée, la WebUI est donc accessible uniquement depuis la zone DMZ. Il va donc falloir désactiver le pare-feu d'OPNSense pour pouvoir si connecter directement via son IP publique.
|
||||
@@ -48,6 +57,81 @@ touch /tmp/disable_security_checks
|
||||
```
|
||||
Attention le pare-feu est activer à nouveau à chaque ajout de règle.
|
||||
|
||||
En cas de perte d'accès faire la commande `pfctl -d` sur la console pour désactiver le pare-feu.
|
||||
|
||||
## Interfaces
|
||||
Le firewall aura une interface sur toute les zones afin de réguler le trafic. Aucune règle spéciale ne sera ajouter pour ces interfaces.
|
||||
|
||||
Voici la liste des interfaçes à assigner à la VM ainsi que le nom à leur donner dans OPNSense lors de leur assignation
|
||||
- vmbr0.10 -> WAN (déjà assignée)
|
||||
- vmbr0.20 -> pfSync
|
||||
- vmbr1.10 -> LAN (déjà assignée)
|
||||
- vmbr1.20 -> PROXY
|
||||
- vmbr1.30 -> INT
|
||||
- vmbr1.40 -> CTF
|
||||
- vmbr1.50 -> DIRTY
|
||||
- vmbr2.100 -> ADMIN
|
||||
|
||||
Il vous faut ensuite leur donner une IP publique en respectant les IP données dans la [partie réseau](reseau/mise_en_place.md)
|
||||
|
||||
## Mise en cluster des pares-feu
|
||||
|
||||
Appliquer les règles à la fin sinon le pare-feu va se réactiver et vous allez perdre l'accès
|
||||
|
||||
### Alpha
|
||||
|
||||
Système / Haute disponibilité / Paramètres
|
||||
|
||||
- Cocher `Synchroniser les États`
|
||||
- Interface de Synchronisation `CARP`
|
||||
- IP de Synchronisation du Pair `10.1.2.2`
|
||||
- Synchroniser la Config vers l'IP `10.1.2.2`
|
||||
- Identifiant du Système Distant `root` (pour l'instant)
|
||||
- Tout cocher et sauvegarder
|
||||
|
||||
### Sigma
|
||||
|
||||
Système / Haute disponibilité / Paramètres
|
||||
|
||||
- Cocher `Synchroniser les États`
|
||||
- Interface de Synchronisation `CARP`
|
||||
- IP de Synchronisation du Pair `10.1.2.1`
|
||||
- Sauvegarder
|
||||
|
||||
La configuration du serveur est maintenant partagé entre les deux VM.
|
||||
|
||||
On passe maintenant à la configuration des IPs Virtuelles
|
||||
|
||||
Pare-feu / IPs virtuelles / Paramètres
|
||||
|
||||
Pour chaque interface portant une IP virtuelle
|
||||
|
||||
- Ajouter
|
||||
- Mode `CARP`
|
||||
- Interface `CARP`
|
||||
- Adresse `<adresse_selon_interface>/24`
|
||||
- Mot de passe IP virtuelle : différent d'une interface à l'autre
|
||||
- Groupe VHID : Ajouter 1 à chaque interface
|
||||
- Description : Nom de l'interface
|
||||
|
||||
Les interfaces :
|
||||
- WAN : IP Publique
|
||||
- LAN : 10.0.0.254
|
||||
- PROXY : 10.0.1.254
|
||||
- INT : 10.0.2.254
|
||||
- CTF : 10.0.3.254
|
||||
- DIRTY : 10.0.4.254
|
||||
- ADMIN : 10.1.0.254
|
||||
|
||||
### Règle firewall (CARP)
|
||||
|
||||
#### Pare-feu / Règles / CARP
|
||||
|
||||
- Interface : `CARP`
|
||||
- Protocole : `CARP`
|
||||
- Source : `CARP net`
|
||||
- Destination : `CARP net`
|
||||
|
||||
Pour pouvoir accéder à l'interface web via HAProxy il vous faut mettre en place du DNAT vers l'IP virtuelle de HAProxy.
|
||||
|
||||
#### Pare-feu / NAT / Redirection de port
|
||||
@@ -67,27 +151,14 @@ Interface : WAN
|
||||
Protocole : TCP
|
||||
Destination : WAN adresse
|
||||
Plage de ports de destination : HTTPS / HTTPS
|
||||
Rediriger Vers : 10.0.0.8
|
||||
Rediriger Vers : 10.0.0.9
|
||||
Rediriger port cible : HTTPS / HTTPS
|
||||
Description : DNAT port 80 pour HAProxy
|
||||
```
|
||||
|
||||
Le temps de la configuration, on va assurer nos arrière pour pouvoir accéder à l'interface web en cas de soucis avec HAProxy. On va faire en sorte une règle de DNAT pour rediriger le port 8080 directement sur le port 443 du pare-feu. Il faudra enlever cette règle une fois l'installation du serveur fini.
|
||||
On donne l'accès à l'interface web via HAProxy.
|
||||
|
||||
|
||||
```
|
||||
Interface : WAN
|
||||
Protocole : TCP
|
||||
Destination : Ce Pare-feu
|
||||
Plage de ports de destination : 8080 / 8080
|
||||
Rediriger Vers : 10.0.0.3
|
||||
Rediriger port cible : HTTPS / HTTPS
|
||||
Description : DNAT port 80 pour HAProxy
|
||||
```
|
||||
|
||||
Il est possible d'adapter cette règle pour être utilisable uniquement via le futur VPN...
|
||||
|
||||
Maintenant que des règles de DNAT, `opn.krhacken.org` doit vous rediriger sur l'interface Web de même que IP:8080.
|
||||
Maintenant que des règles de DNAT, `opn.krhacken.org` doit vous rediriger sur l'interface Web.
|
||||
|
||||
Avant de continuer il faut dire à OPNSense depuis quelle adresse on y accède.
|
||||
|
||||
@@ -95,21 +166,7 @@ Avant de continuer il faut dire à OPNSense depuis quelle adresse on y accède.
|
||||
Dans *Noms d'hôte alternatifs* mettre `opn.krhacken.org`
|
||||
On peu maintenant redémarrer la VM.
|
||||
|
||||
La configuration de départ d'OPNSense est terminé.
|
||||
|
||||
## Interfaces
|
||||
Le firewall aura une interface sur toute les zones afin de réguler le trafic. Aucune règle spéciale ne sera ajouter pour ces interfaces.
|
||||
|
||||
Son IP virtuelle entre les deux pare sur chaque interface finira toujours par .254 et sera la gateway de tout les conteneurs/VM.
|
||||
|
||||
Voici la liste des interfaçes à assigner à la VM ainsi que le nom à leur donner dans OPNSense lors de leur assignation
|
||||
- vmbr0.10 -> WAN (déjà assignée)
|
||||
- vmbr1.10 -> LAN (déjà assignée)
|
||||
- vmbr1.20 -> PROXY
|
||||
- vmbr1.30 -> INT
|
||||
- vmbr1.40 -> CTF
|
||||
- vmbr1.50 -> DIRTY
|
||||
- vmbr2.100 -> ADMIN
|
||||
La configuration de départ d'OPNSense est terminé,
|
||||
|
||||
## Règle de DNAT complète
|
||||
Une fois les interfaces assignée et ajouter sur le panel d'OPNSense on peu mettre en place les règles NAT définitive
|
||||
@@ -148,5 +205,3 @@ Description : DNAT port XXXX pour l'environnement Web (CTF)
|
||||
```
|
||||
|
||||
C'est tout pour la configuration du pare-feu.
|
||||
|
||||
PS: Il manque la configuration des VIP et pfSync
|
||||
|
||||
Reference in New Issue
Block a user