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