Amélioration de la partie Proxmox
parent
94a8600fb8
commit
483aa2e4ff
|
@ -1,5 +1,7 @@
|
|||
# Haute Disponibilité
|
||||
|
||||
**Partie Brouillon**
|
||||
|
||||
Nous allons utiliser deux types de Hautes Disponibilité (HA) :
|
||||
- La solution de HA proposé par Proxmox qui permet de migrer des conteneurs entre des nodes,
|
||||
- De la Haute Disponibilité via une IP Virtuelle grâce à Keep-alived.
|
||||
|
@ -21,22 +23,22 @@ Les services redondés et utilisant keepalived seront :
|
|||
|
||||
## Répartition non exhaustive des conteneurs entre les nodes
|
||||
|
||||
OPNSense -> Alpha et Sigma
|
||||
HAProxy -> Alpha, Beta et Sigma
|
||||
NGINX -> Alpha, Beta et Sigma
|
||||
Redis -> Alpha et Sigma
|
||||
LDAP -> Alpha et Sigma
|
||||
Git -> Alpha
|
||||
Mattermost -> Alpha
|
||||
NextCloud -> Beta
|
||||
Mail -> Alpha et Sigma
|
||||
CTF -> Beta (3 services)
|
||||
LDAPUI -> Alpha
|
||||
DNS -> Beta
|
||||
Proxy interne -> Beta
|
||||
Ansible -> Alpha
|
||||
Site Web KRKN -> Sigma
|
||||
Wiki KRKN -> Beta
|
||||
Etat des services -> Alpha
|
||||
- OPNSense -> Alpha et Sigma
|
||||
- HAProxy -> Alpha, Beta et Sigma
|
||||
- NGINX -> Alpha, Beta et Sigma
|
||||
- Redis -> Alpha et Sigma
|
||||
- LDAP -> Alpha et Sigma
|
||||
- Git -> Alpha
|
||||
- Mattermost -> Alpha
|
||||
- NextCloud -> Beta
|
||||
- Mail -> Alpha et Sigma
|
||||
- CTF -> Beta (3 services)
|
||||
- LDAPUI -> Alpha
|
||||
- DNS -> Beta
|
||||
- Proxy interne -> Beta
|
||||
- Ansible -> Alpha
|
||||
- Site Web KRKN -> Sigma
|
||||
- Wiki KRKN -> Beta
|
||||
- Etat des services -> Alpha
|
||||
|
||||
Possibilité d'héberger des VPS d'autres Club sur la node Sigma (VLAN dédié) si accord et si stabilité.
|
||||
|
|
|
@ -63,19 +63,20 @@ Même procédure, dans "Management Network Configuration" il faut juste remplace
|
|||
La procédure est la même sur les quatres nodes. Elle peut être faite via SSH (recommandé) ou sur l'interface d'administration **https://IP:8006**
|
||||
|
||||
### Mise à jour
|
||||
|
||||
```
|
||||
rm /etc/apt/sources.list.d/pve-enterprise.list
|
||||
echo 'deb http://download.proxmox.com/debian/pve buster pve-no-subscription' > /etc/apt/sources.list.d/pve.list
|
||||
sed -i.bak "s/data.status !== 'Active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service
|
||||
apt-get update
|
||||
apt-get dist-upgrade
|
||||
apt-get install sudo
|
||||
```
|
||||
|
||||
### IP Forwarding
|
||||
Activation permanente de l'IP Forwarding
|
||||
#### /etc/sysctl.conf
|
||||
Ajouter
|
||||
```
|
||||
net.ipv4.ip_forward = 1
|
||||
```
|
||||
```
|
||||
echo 'net.ipv4.ip_forward = 1' >> etc/sysctl.conf
|
||||
sysctl -p /etc/sysctl.conf
|
||||
```
|
||||
|
||||
|
@ -124,3 +125,5 @@ Le lien donné sera utilisé par la suite
|
|||
```
|
||||
wget -P /var/lib/vz/template/iso <lien_obtenu>
|
||||
```
|
||||
|
||||
On peux passer au [système d'authentification](securisation/systeme_authentification_base.md).
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
# Système de sauvegarde
|
||||
|
||||
Vous trouverez ici toute la documentation relative à la mise en place du système de sauvegarde du serveur principal. Nous allons utiliser BorgBackup et Ansible pour les sauvergardes.
|
||||
|
||||
# Table des matières
|
||||
1. [Présentation](presentation.md)
|
|
@ -1,7 +1,11 @@
|
|||
# Système de sauvegarde
|
||||
# Présentation du système de sauvegarde
|
||||
|
||||
Afin de limiter encore plus le risque de perte de données nous allons mettre en place un système de sauvegarde de tout les conteneurs / VMs. Nous allons utilisé BorgBackup, le réseau de sauvegarde est un réseau local, en effet la quatrième node sera dédié au système de sauvegarde. De ce fait elle ne sera pas dans le cluster, au niveau du système de fichier nous utiliserons la encore un RAID-1 ZFS. Les sauvegardes passerons par la VLAN 100 du switch administration (10.1.0.0/24).
|
||||
|
||||
Au niveau du réseau, la nodes aura accès uniquement au switch administration, l'accès à internet se fera à travers le proxy interne qui porte l'adresse `10.1.0.103` sur la VLAN 100, les ports ne changent pas.
|
||||
|
||||
## BorgBackup
|
||||
|
||||
Les avantages de BorgBackup sont :
|
||||
- Les sauvergardes incrémentales (historique des anciennes versions des fichiers),
|
||||
- Les sauvergardes différentielles (sauvegarde uniquement les modifications),
|
||||
|
@ -10,5 +14,3 @@ Les avantages de BorgBackup sont :
|
|||
- Vérification de l'intégrité des données,
|
||||
- Les sauvegardes sont accessible sous forme de dossier,
|
||||
- Sauvegarde via SSH.
|
||||
|
||||
## Mise en place de Borg Backup
|
|
@ -0,0 +1,169 @@
|
|||
# Système d'authentification de base
|
||||
|
||||
A voir quand le faire car possible de faire sur toutes les nodes du cluster
|
||||
|
||||
|
||||
Avant de continuer avec l'installation des hyperviseurs nous allons les sécuriser. La procédure est la même sur chaque.
|
||||
|
||||
A noté que ce système d'authentification sera remplacé une fois que tout sera en place.
|
||||
|
||||
## Datacenter / Permissions
|
||||
|
||||
### Permissions / Groups
|
||||
On crée trois groupes d'utilisateur :
|
||||
- Create **AdminSys**
|
||||
- Create **Webmestre**
|
||||
- Create **Visiteur**
|
||||
|
||||
Via le shell on ajoute le groupe AdminSys :
|
||||
```
|
||||
groupadd adminsys
|
||||
```
|
||||
|
||||
### Permissions / Pools
|
||||
|
||||
On crée une pool par zone :
|
||||
- WAN
|
||||
- DMZ
|
||||
- Proxy
|
||||
- Interne
|
||||
- CTF
|
||||
- Dirty
|
||||
- ADMIN
|
||||
|
||||
## Les comptes
|
||||
Pour les comptes
|
||||
- Administrateur système : Linux PAM Authentification (pour accès SSH)
|
||||
- Le reste : Proxmox VE Authentification
|
||||
|
||||
Seulement les comptes adminsys auront un accès SSH.
|
||||
|
||||
#### Ajout du compte *coimbrap*
|
||||
|
||||
Via le shell :
|
||||
```
|
||||
useradd coimbrap
|
||||
usermod -a -G adminsys coimbrap
|
||||
usermod -a -G sudo coimbrap
|
||||
mkdir /home/coimbrap
|
||||
chown -R coimbrap:coimbrap /home/coimbrap
|
||||
usermod -d /home/coimbrap coimbrap
|
||||
usermod --shell /bin/bash coimbrap
|
||||
```
|
||||
|
||||
#### Permissions / Users
|
||||
- User name : coimbrap
|
||||
- Realm : Linux PAM authentification
|
||||
- Group : AdminSys
|
||||
|
||||
### Comptes
|
||||
|
||||
|
||||
#### Ajout d'un compte webmestre
|
||||
- User name : respotech
|
||||
- Realm : Proxmox VE authentification
|
||||
- Group : Webmestre
|
||||
|
||||
|
||||
#### Ajout d'un compte visiteur
|
||||
- User name : Visiteur
|
||||
- Realm : Proxmox VE authentification
|
||||
- Group : Visiteur
|
||||
|
||||
|
||||
## Permissions
|
||||
|
||||
### Pour le groupe AdminSys
|
||||
Add : Group permission
|
||||
- Path `/`
|
||||
- Group `AdminSys`
|
||||
- Role `Administrator`
|
||||
|
||||
Pour les webmestres il vaut mieux faire du cas pas cas. Nous avons quand même fait des permissions pour tout le groupe qui peuvent être affiné utilisateur par utilisateur
|
||||
|
||||
Un webmeste à besoin d'accéder uniquement au Pools Interne et CTF
|
||||
|
||||
Il aura le groupe PVEVMUser, on ajoute les privileges `VM.Snapshot` à ce groupe.
|
||||
|
||||
Add : Group permission
|
||||
- Path `/pool/Interne`
|
||||
- Group `Webmestre`
|
||||
- Role `PVEVMUser`
|
||||
|
||||
Add : Group permission
|
||||
- Path `/pool/CTF`
|
||||
- Group `Webmestre`
|
||||
- Role `PVEVMUser`
|
||||
|
||||
|
||||
### Ajout d'un accès pour visiteur
|
||||
Add : Group permission
|
||||
- Path `/`
|
||||
- Group `Visiteur`
|
||||
- Role `NoAccess`
|
||||
|
||||
|
||||
## Neutralisation du compte root
|
||||
|
||||
Soyez-sur avant de le faire qu'un compte adminsys soit opérationnel.
|
||||
|
||||
### Pour l'authentification sur Proxmox
|
||||
|
||||
#### Datacenter / Permissions / Users
|
||||
|
||||
Pour root, décocher `Enabled` et valider.
|
||||
|
||||
### Pour l'authentification SSH
|
||||
|
||||
Nous allons désactiver le compte root et l'authentification par mot de passe. Il vous faut donc générer en local une clé SSH (ou la reutiliser celle déjà générer) et l'envoyer sur le serveur.
|
||||
|
||||
```
|
||||
ssh-keygen -o -a 100 -t ed25519 -f ~/.ssh/id_ed25519_krkn
|
||||
ssh-copy-id -i ~/.ssh/id_ed25519_krkn coimbrap@<ip>
|
||||
```
|
||||
|
||||
Modifiez les lignes suivantes
|
||||
|
||||
|
||||
|
||||
#### /etc/ssh/sshd_config
|
||||
```
|
||||
PermitRootLogin no
|
||||
PasswordAuthentication no
|
||||
PubkeyAuthentication yes
|
||||
StrictModes yes
|
||||
MaxAuthTries 3
|
||||
```
|
||||
```
|
||||
systemctl restart sshd
|
||||
```
|
||||
|
||||
Voilà il n'est plus possible d'utilisé le compte root sans passé au préalable par un compte non root.
|
||||
|
||||
#### /etc/motd
|
||||
Avec un jolie motd c'est mieux !
|
||||
```
|
||||
|
||||
|
||||
_ __ ___ _ _ _____ _ _____
|
||||
| |/ / | _| | | | /\ / ____| |/ /_ |
|
||||
| ' / _ __| | | |__| | / \ | | | ' / | | ___ _ __
|
||||
| < | '__| | | __ | / /\ \| | | < | |/ _ \ '_ \
|
||||
| . \| | | | | | | |/ ____ \ |____| . \ | | __/ | | |
|
||||
|_|\_\_| | |_|_| |_/_/ \_\_____|_|\_\_| |\___|_| |_|
|
||||
|___| |___|
|
||||
|
||||
_____ _
|
||||
/ ____(_)
|
||||
| (___ _ __ _ _ __ ___ __ _
|
||||
\___ \| |/ _` | '_ ` _ \ / _` |
|
||||
____) | | (_| | | | | | | (_| |
|
||||
|_____/|_|\__, |_| |_| |_|\__,_|
|
||||
__/ |
|
||||
|___/
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
Voilà pour la gestion de l'authentification
|
|
@ -127,7 +127,7 @@ table filter {
|
|||
}
|
||||
|
||||
@if $NEED_UDP_FRONT_ACCESS {
|
||||
outerface $IF_BACK proto udp dport $UDP_OPEN_PORT_FRONT_ACCESS ACCEPT;
|
||||
outerface $IF_FRONT proto udp dport $UDP_OPEN_PORT_FRONT_ACCESS ACCEPT;
|
||||
}
|
||||
|
||||
@if $HAVE_BACK_ACCESS {
|
||||
|
|
Loading…
Reference in New Issue