projet_serveur_krkn/proxmox/securisation/systeme_authentification_ba...

170 lines
3.9 KiB
Markdown

# 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 :
```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