Changement total de l'infra réseau
This commit is contained in:
28
reseau/logique_interface_pare_feu.md
Normal file
28
reseau/logique_interface_pare_feu.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# Choix des interfaces et des adresses IP
|
||||
|
||||
Petits récapitulatif sur comment on était choisi les interfaces sur chaque conteneurs / VM.
|
||||
|
||||
**Un container = Une interface**
|
||||
|
||||
Rappel sur l'ordre des zones :
|
||||
- WAN/DMZ/PROXY/INTERNE pour la partie Kr[HACK]en
|
||||
- WAN/DMZ/CTF pour la partie CTF
|
||||
|
||||
|
||||
Voici les règles pour le choix de l'interface du conteneur :
|
||||
- Les conteneurs qui agissent sur plusieurs zones seront dans la zone la plus élevée.
|
||||
- Les autres conteneurs seront dans la zone sur laquelle ils agissent.
|
||||
|
||||
Les IP sont organisé avec la logique suivante :
|
||||
- Plus le service est important plus sont numéro est petit,
|
||||
- Les IP des services redondé ainsi que leur éventuelle IP virtuelle se suivent.
|
||||
|
||||
La liste est disponible [ici](mise_en_place.md).
|
||||
|
||||
# Règles de pare-feu
|
||||
|
||||
Afin de permettre à un conteneur d'une zone de communiquer avec un conteneur d'une autre zone il y aura du routage entre VLAN qui sera géré au niveau de OPNSense, tout cela sera détaillé dans la partie OPNSense. Il y aura aussi un pare-feu sur chaque conteneur qui autorisera que ce qui est nécessaire, le détails est disponible [ici](../proxmox/securisation/template_ferm.md).
|
||||
|
||||
Donc deux types de pare-feu :
|
||||
- Global au niveau d'OPNSense.
|
||||
- Local sur chaque conteneur.
|
||||
@@ -1,18 +0,0 @@
|
||||
# Interfaces des containes / VM
|
||||
Les addresse IP des conteneurs (en fonction des zones) sont décrite dans leur fiche de documentation et mis en place automatiquement par les playbook Ansible.
|
||||
|
||||
Si vous n'utilisez pas Ansible, vous touverez ici les bonnes manière pour choisir les adresses IP
|
||||
|
||||
## Zone ADMIN
|
||||
|
||||
Tout les conteneurs doivent avoir une interface réseau sur la VLAN 100 du switch administation ce qui permettra d'utiliser Ansible ou de faire, a terme, du monitoring.
|
||||
|
||||
Les IP seront de la forme `10.1.0.ID_PROXMOX` ou l'ID Proxmox est le numéro du contenant dans Proxmox
|
||||
|
||||
## Le reste
|
||||
|
||||
Pour les autres interfaces chosissez une adresse cohérente vis à vis des adresses déjà allouées, la liste est disponible [ici](mise_en_place.md).
|
||||
|
||||
Les IP sont organisé avec la logique suivante :
|
||||
- Plus le service est important plus sont numéro est petit,
|
||||
- Les IP des services redondé ainsi que leur éventuelle IP virtuelle se suivent.
|
||||
@@ -12,84 +12,58 @@ Switch Wan VLAN 10
|
||||
Switch Interne VLAN 10
|
||||
- Proxmox Alpha :10.0.0.1
|
||||
- Proxmox Beta : 10.0.0.2
|
||||
- Proxmox Sigma : 10.0.0.3
|
||||
- Firewall Alpha : 10.0.0.4
|
||||
- Firewall Sigma : 10.0.0.5
|
||||
- HAProxy Alpha : 10.0.0.6
|
||||
- HAProxy Beta : 10.0.0.7
|
||||
- HAProxy Sigma : 10.0.0.8
|
||||
- HAProxy VIP : 10.0.0.9
|
||||
- Firewall Alpha : 10.0.0.3
|
||||
- Firewall Beta : 10.0.0.4
|
||||
- HAProxy Alpha : 10.0.0.5
|
||||
- HAProxy Beta : 10.0.0.6
|
||||
- HAProxy VIP : 10.0.0.7
|
||||
- Proxy Interne : 10.0.0.252
|
||||
- DNS : 10.0.0.253
|
||||
- Firewall VIP : 10.0.0.254
|
||||
|
||||
### PROXY
|
||||
Switch Interne VLAN 20
|
||||
- HAProxy Alpha : 10.0.1.1
|
||||
- HAProxy Beta : 10.0.1.2
|
||||
- HAProxy Sigma : 10.0.1.3
|
||||
- Nginx Public Alpha : 10.0.1.3
|
||||
- Nginx Public Beta : 10.0.1.4
|
||||
- Nginx Public Sigma : 10.0.1.3
|
||||
- Mail Alpha : 10.0.1.10
|
||||
- Mail Sigma : 10.0.1.11
|
||||
- Mail VIP : 10.0.1.12
|
||||
- Firewall Alpha : 10.0.1.248
|
||||
- Firewall Sigma : 10.0.1.249
|
||||
- DNS Alpha : 10.0.1.250
|
||||
- DNS Sigma : 10.0.1.251
|
||||
- Proxy Interne : 10.0.1.252
|
||||
- DNS VIP : 10.0.1.253
|
||||
- Nginx Public Alpha : 10.0.1.1
|
||||
- Nginx Public Beta : 10.0.1.2
|
||||
- Mail : 10.0.1.5
|
||||
- Firewall Alpha : 10.0.1.252
|
||||
- Firewall Beta : 10.0.1.253
|
||||
- Firewall VIP : 10.0.1.254
|
||||
|
||||
### INT
|
||||
Switch Interne VLAN 30
|
||||
- LDAP Beta : 10.0.2.1
|
||||
- LDAP Sigma : 10.0.2.2
|
||||
- LDAP Beta : 10.0.2.2
|
||||
- LDAP VIP : 10.0.2.3
|
||||
- Nginx Public Alpha : 10.0.2.4
|
||||
- Nginx Public Beta : 10.0.2.5
|
||||
- Nginx Public Sigma : 10.0.2.3
|
||||
- Mail Frontend : 10.0.2.9 (peut-être)
|
||||
- Mail Backend Alpha : 10.0.2.10
|
||||
- Mail Backend Sigma : 10.0.2.11
|
||||
- Mail Backend VIP : 10.0.2.12
|
||||
- LDAP WebUI : 10.0.2.15
|
||||
- Nextcloud : 10.0.2.20
|
||||
- Gitea : 10.0.2.21
|
||||
- [...]
|
||||
- Firewall Alpha : 10.0.2.248
|
||||
- Firewall Sigma : 10.0.2.249
|
||||
- DNS Alpha : 10.0.2.250
|
||||
- DNS Sigma : 10.0.2.251
|
||||
- Proxy Interne : 10.0.2.252
|
||||
- DNS VIP : 10.0.2.253
|
||||
- Mail Frontend : 10.0.2.4
|
||||
- Mail Backend : 10.0.2.5
|
||||
- LDAP WebUI : 10.0.2.6
|
||||
- Site Web : 10.0.2.7
|
||||
- Wiki : 10.0.2.8
|
||||
- Nextcloud : 10.0.2.10
|
||||
- Gitea : 10.0.2.11
|
||||
- Mailvelope : 10.0.2.12
|
||||
- SysPass : 10.0.2.13
|
||||
- Firewall Alpha : 10.0.2.252
|
||||
- Firewall Beta : 10.0.2.253
|
||||
- Firewall VIP : 10.0.2.254
|
||||
|
||||
|
||||
### CTF :
|
||||
Switch Interne VLAN 40
|
||||
- HAProxy Alpha : 10.0.3.1
|
||||
- HAProxy Beta : 10.0.3.2
|
||||
- HAProxy Sigma : 10.0.3.3
|
||||
- Nginx CTF : 10.0.3.4
|
||||
- CTFd Open : 10.0.3.10
|
||||
- CTFd Special : 10.0.3.11
|
||||
- Environnement Système : 10.0.3.12
|
||||
- Environnement Web : 10.0.3.13
|
||||
- [...]
|
||||
- Firewall Alpha : 10.0.3.250
|
||||
- Firewall Sigma : 10.0.3.251
|
||||
- Proxy Interne : 10.0.3.252
|
||||
- Nginx CTF : 10.0.3.1
|
||||
- CTFd Open : 10.0.3.5
|
||||
- CTFd Special : 10.0.3.6
|
||||
- Environnement Système : 10.0.3.7
|
||||
- Environnement Web : 10.0.3.8
|
||||
- Firewall Alpha : 10.0.3.252
|
||||
- Firewall Beta : 10.0.3.253
|
||||
- Firewall VIP : 10.0.3.254
|
||||
|
||||
|
||||
### DIRTY :
|
||||
Switch Interne VLAN 50
|
||||
- Firewall Alpha : 10.0.4.250
|
||||
- Firewall Sigma : 10.0.4.251
|
||||
- Proxy Interne : 10.0.4.6252
|
||||
- Firewall VIP : 10.0.4.6254
|
||||
- Firewall Alpha : 10.0.4.252
|
||||
- Firewall Beta : 10.0.4.253
|
||||
- Firewall VIP : 10.0.4.254
|
||||
|
||||
Pas d'autres conteneurs permanent (10.0.4.0/24)
|
||||
|
||||
@@ -97,48 +71,37 @@ Pas d'autres conteneurs permanent (10.0.4.0/24)
|
||||
Switch Interne VLAN 100
|
||||
- Alpha : 10.0.10.1
|
||||
- Beta : 10.0.10.2
|
||||
- Gamma : 10.0.10.3
|
||||
|
||||
### CoroSync
|
||||
Switch Administration VLAN 10
|
||||
- Alpha : 10.1.1.1
|
||||
- Beta : 10.1.1.2
|
||||
- Gamma : 10.1.1.3
|
||||
|
||||
### pfSync
|
||||
Switch Administration VLAN 20
|
||||
- Alpha : 10.1.2.1
|
||||
- Gamma : 10.1.2.2
|
||||
- Beta : 10.1.2.2
|
||||
|
||||
### GRE Admin
|
||||
Switch Administration VLAN 30
|
||||
- Alpha : 10.1.10.1
|
||||
- Beta : 10.1.10.2
|
||||
- Gamma : 10.1.10.3
|
||||
|
||||
### Administration :
|
||||
Switch Administration VLAN 100
|
||||
- Firewall Alpha : 10.1.0.1
|
||||
- Firewall Gamma : 10.1.0.2
|
||||
- Proxmox Alpha : 10.1.0.4
|
||||
- Proxmox Beta : 10.1.0.5
|
||||
- Proxmox Gamma : 10.1.0.6
|
||||
- [...]
|
||||
- Proxy Interne : 10.1.0.252
|
||||
- DNS : 10.1.0.253
|
||||
- Firewall VIP : 10.1.0.254
|
||||
|
||||
|
||||
- Grafana : 10.1.0.3
|
||||
- Ansible : 10.1.0.4
|
||||
|
||||
# Réseau physique
|
||||
|
||||
La configuration et les branchement à faire sur le switch sera détaillé plus tard.
|
||||
|
||||
# Réseau virtuel
|
||||
Cette partie consiste à mettre en place OpenvSwitch sur les deux nodes.
|
||||
|
||||
## Installation
|
||||
Commune aux trois nodes
|
||||
Commune aux deux nodes
|
||||
```
|
||||
apt-get update
|
||||
apt-get install openvswitch-switch
|
||||
@@ -212,21 +175,9 @@ iface vmbr1 inet manual
|
||||
ovs_ports bond0 vx1 dmz
|
||||
up ovs-vsctl set Bridge ${IFACE} rstp_enable=true
|
||||
up ovs-vsctl --may-exist add-port vmbr1 gre1 -- set interface gre1 type=gre options:remote_ip='10.0.10.2'
|
||||
up ovs-vsctl --may-exist add-port vmbr1 gre2 -- set interface gre2 type=gre options:remote_ip='10.0.10.3'
|
||||
down ovs-vsctl --if-exists del-port vmbr1 gre1
|
||||
down ovs-vsctl --if-exists del-port vmbr1 gre2
|
||||
#Switch Interne
|
||||
|
||||
#Admin Task
|
||||
allow-vmbr2 admintask
|
||||
iface vmbr2 inet static
|
||||
address 10.1.0.4
|
||||
netmask 24
|
||||
ovs_type OVSIntPort
|
||||
ovs_bridge vmbr2
|
||||
ovs_options tag=100
|
||||
#Accès à la Admin
|
||||
|
||||
#Corosync
|
||||
allow-vmbr2 coro
|
||||
iface coro inet static
|
||||
@@ -264,9 +215,7 @@ iface vmbr2 inet manual
|
||||
ovs_ports eth2 vx2
|
||||
up ovs-vsctl set Bridge ${IFACE} rstp_enable=true
|
||||
up ovs-vsctl --may-exist add-port vmbr2 gre3 -- set interface gre3 type=gre options:remote_ip='10.1.10.2'
|
||||
up ovs-vsctl --may-exist add-port vmbr2 gre4 -- set interface gre4 type=gre options:remote_ip='10.1.10.3'
|
||||
down ovs-vsctl --if-exists del-port vmbr2 gre3
|
||||
down ovs-vsctl --if-exists del-port vmbr2 gre4
|
||||
#Switch Administration
|
||||
```
|
||||
|
||||
@@ -336,9 +285,7 @@ iface vmbr1 inet manual
|
||||
ovs_ports bond0 vx1 dmz
|
||||
up ovs-vsctl set Bridge ${IFACE} rstp_enable=true
|
||||
up ovs-vsctl --may-exist add-port vmbr1 gre1 -- set interface gre1 type=gre options:remote_ip='10.0.10.1'
|
||||
up ovs-vsctl --may-exist add-port vmbr1 gre2 -- set interface gre2 type=gre options:remote_ip='10.0.10.3'
|
||||
down ovs-vsctl --if-exists del-port vmbr1 gre1
|
||||
down ovs-vsctl --if-exists del-port vmbr1 gre2
|
||||
#Switch Interne
|
||||
|
||||
#Admin Task
|
||||
@@ -388,132 +335,6 @@ iface vmbr2 inet manual
|
||||
ovs_ports eth2 vx2
|
||||
up ovs-vsctl set Bridge ${IFACE} rstp_enable=true
|
||||
up ovs-vsctl --may-exist add-port vmbr2 gre3 -- set interface gre3 type=gre options:remote_ip='10.1.10.1'
|
||||
up ovs-vsctl --may-exist add-port vmbr2 gre4 -- set interface gre4 type=gre options:remote_ip='10.1.10.3'
|
||||
down ovs-vsctl --if-exists del-port vmbr2 gre3
|
||||
down ovs-vsctl --if-exists del-port vmbr2 gre4
|
||||
#Switch Administration
|
||||
```
|
||||
|
||||
### Pour Gamma (/etc/network/interfaces)
|
||||
```
|
||||
#Bond eth1/eth3 pour vmbr1
|
||||
allow-vmbr1 bond0
|
||||
iface bond0 inet manual
|
||||
ovs_bonds eth1 eth3
|
||||
ovs_type OVSBond
|
||||
ovs_bridge vmbr1
|
||||
ovs_options bond_mode=active-backup
|
||||
|
||||
auto lo
|
||||
iface lo inet loopback
|
||||
|
||||
iface eth0 inet manual
|
||||
|
||||
iface eth1 inet manual
|
||||
|
||||
iface eth2 inet manual
|
||||
|
||||
iface eth3 inet manual
|
||||
|
||||
# WAN
|
||||
allow-vmbr0 wan
|
||||
iface lan inet static
|
||||
address X.X.X.X
|
||||
netmask YY
|
||||
gateway Z.Z.Z.Z
|
||||
ovs_type OVSIntPort
|
||||
ovs_bridge vmbr0
|
||||
ovs_options tag=10
|
||||
#IP Publique
|
||||
|
||||
#OVS Bridge WAN
|
||||
allow-ovs vmbr0
|
||||
iface vmbr0 inet manual
|
||||
ovs_type OVSBridge
|
||||
ovs_ports eth0
|
||||
#Switch WAN
|
||||
|
||||
#GRE vmbr1
|
||||
allow-vmbr1 vx1
|
||||
iface vx1 inet static
|
||||
address 10.0.10.3
|
||||
netmask 24
|
||||
ovs_type OVSIntPort
|
||||
ovs_bridge vmbr1
|
||||
ovs_options tag=100
|
||||
#Synchronisation Switch Interne
|
||||
|
||||
#DMZ vmbr1
|
||||
allow-vmbr1 dmz
|
||||
iface dmz inet static
|
||||
address 10.0.0.3
|
||||
netmask 24
|
||||
ovs_type OVSIntPort
|
||||
ovs_bridge vmbr1
|
||||
ovs_options tag=10
|
||||
#Accès à la DMZ
|
||||
|
||||
#OVS Bridge interne
|
||||
auto vmbr1
|
||||
iface vmbr1 inet manual
|
||||
ovs_type OVSBridge
|
||||
ovs_ports bond0 vx1 dmz
|
||||
up ovs-vsctl set Bridge ${IFACE} rstp_enable=true
|
||||
up ovs-vsctl --may-exist add-port vmbr1 gre1 -- set interface gre1 type=gre options:remote_ip='10.0.10.1'
|
||||
up ovs-vsctl --may-exist add-port vmbr1 gre2 -- set interface gre2 type=gre options:remote_ip='10.0.10.2'
|
||||
down ovs-vsctl --if-exists del-port vmbr1 gre1
|
||||
down ovs-vsctl --if-exists del-port vmbr1 gre2
|
||||
#Switch Interne
|
||||
|
||||
#Admin Task
|
||||
allow-vmbr2 admintask
|
||||
iface vmbr2 inet static
|
||||
address 10.1.0.6
|
||||
netmask 24
|
||||
ovs_type OVSIntPort
|
||||
ovs_bridge vmbr2
|
||||
ovs_options tag=100
|
||||
#Accès à la Admin
|
||||
|
||||
#Corosync
|
||||
allow-vmbr2 coro
|
||||
iface coro inet static
|
||||
address 10.1.1.3
|
||||
netmask 24
|
||||
ovs_type OVSIntPort
|
||||
ovs_bridge vmbr2
|
||||
ovs_options tag=10
|
||||
#Synchronisation des hyperviseurs
|
||||
|
||||
#pfSync
|
||||
allow-vmbr2 pfsync
|
||||
iface pfsync inet static
|
||||
address 10.1.2.3
|
||||
netmask 24
|
||||
ovs_type OVSIntPort
|
||||
ovs_bridge vmbr2
|
||||
ovs_options tag=20
|
||||
#Synchronisation des FW
|
||||
|
||||
#GRE vmbr2
|
||||
allow-vmbr2 vx2
|
||||
iface vx2 inet static
|
||||
address 10.1.10.3
|
||||
netmask 24
|
||||
ovs_type OVSIntPort
|
||||
ovs_bridge vmbr2
|
||||
ovs_options tag=30
|
||||
#Synchronisation du switch Administration
|
||||
|
||||
#OVS Bridge administation
|
||||
auto vmbr2
|
||||
iface vmbr2 inet manual
|
||||
ovs_type OVSBridge
|
||||
ovs_ports eth2 vx2
|
||||
up ovs-vsctl set Bridge ${IFACE} rstp_enable=true
|
||||
up ovs-vsctl --may-exist add-port vmbr2 gre3 -- set interface gre3 type=gre options:remote_ip='10.1.10.1'
|
||||
up ovs-vsctl --may-exist add-port vmbr2 gre4 -- set interface gre4 type=gre options:remote_ip='10.1.10.2'
|
||||
down ovs-vsctl --if-exists del-port vmbr2 gre3
|
||||
down ovs-vsctl --if-exists del-port vmbr2 gre4
|
||||
#Switch Administration
|
||||
```
|
||||
|
||||
@@ -13,9 +13,9 @@ Le réseau WAN permettra de faire le lien entre l'extérieur, les pare-feux et l
|
||||
|
||||
Le réseau interne sera séparé en 5 zones privées :
|
||||
|
||||
- DMZ qui sera située juste après le firewall et qui contiendra les loadbalanceurs (HAProxy) et le serveur DNS.
|
||||
- DMZ qui sera située juste après le firewall et qui contiendra les loadbalanceurs (HAProxy), le proxy interne et le serveur DNS interne.
|
||||
|
||||
- PROXY qui sera placée juste après la DMZ et qui contiendra les reverses proxy pour les services autres que les environnements CTF ainsi qu'une Mail Gateway pour faire un relai entre l'extérieur et le serveur mail. Ce relai permettra de filtrer les mails.
|
||||
- PROXY qui sera placée juste après la DMZ et qui contiendra les reverses proxy pour les services autres que les environnements CTF, un proxy interne ainsi qu'une Mail Gateway pour faire un relai entre l'extérieur et le serveur mail. Ce relai permettra de filtrer les mails.
|
||||
|
||||
- INT qui contiendra les conteneurs des services permanents. La liaison entre INT et PROXY se fera à travers les reverse proxy NGINX et la Mail Gateway.
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ Tous les hyperviseurs auront une interface pour le protocole GRE qui permet l'é
|
||||
|
||||
## Services Frontend
|
||||
|
||||
Concrètement, les conteneurs / VM frontend auront des ports d'entrée DNAT via le pare-feu, les rendant accessibles depuis internet. C'est le cas de HAProxy, du serveur DNS et du Proxy des services.
|
||||
Concrètement, les conteneurs / VM frontend auront des ports d'entrée DNAT via le pare-feu, les rendant accessibles depuis internet. C'est le cas de HAProxy, du serveur DNS et du Proxy.
|
||||
|
||||
Tout ces conteneurs auront obligatoirement une interface sur le VLAN 10 et une VLAN backend du switch Interne.
|
||||
|
||||
@@ -43,7 +43,7 @@ Cette partie sera découpée en plusieurs zones :
|
||||
|
||||
## Partie Internet
|
||||
|
||||
Tout les conteneurs et les VM Backend auront accès à internet via le proxy interne (en frontend). L'accès se fera depuis toutes les zones sur l'adresse terminant en .252.
|
||||
Tout les conteneurs et les VM Backend auront accès à internet via le proxy interne (en frontend). L'accès se fera depuis toutes les zones à l'adresse 10.0.0.252.
|
||||
|
||||
## Partie Administration
|
||||
|
||||
|
||||
Reference in New Issue
Block a user