Amélioration de la partie Proxmox

master
Pierre Coimbra 2020-03-21 14:16:58 +01:00
parent 94a8600fb8
commit 483aa2e4ff
No known key found for this signature in database
GPG Key ID: F9C449C78F6FAEE6
6 changed files with 208 additions and 26 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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