# Principes d'admin et sécurité

<div class="flex w-full justify-center gap-6 flex-col md:flex-row" id="bkmrk-bonjour-..-je-voudra"><div class="flex max-w-(--breakpoint-md) min-w-0 flex-1 shrink flex-col gap-8"><div class="group group/message interpolate-size-allow-keywords flex min-h-auto w-full gap-3" data-message-author-role="user" data-message-id="fedef14e-aacc-4a51-97f0-ca81af4e5036" data-message-version="0" id="bkmrk-bonjour-..-je-voudra-1"><div class="flex min-w-0 flex-1 flex-col"><div class="bg-basic-gray-alpha-4 ms-auto flex w-fit max-w-full min-w-0 flex-col items-stretch justify-between gap-1 rounded-3xl px-5 py-2.5"><div class="flex w-full flex-col gap-2 break-words" dir="auto"><div><div class="select-none"><div class="select-text"><span class="whitespace-pre-wrap">Bonjour .. je voudrais valider les bonnes pratique en matière d'administration de serveur hébergé (vps ou baremetal) - Si on est 2 admins -</span><span class="whitespace-pre-wrap"> Doit-t-on proscrire l'accès en root, même par clé rsa ?</span><span class="whitespace-pre-wrap">- si oui, doit-t-on avoir un compte par admin pour les logs et la traçabilité ?</span><span class="whitespace-pre-wrap">- dans ce cas, il sont juste sudoers, pas root .. </span><span class="whitespace-pre-wrap">Est-ce correcte ? </span></div></div></div></div></div><div class="flex min-h-8 flex-row items-center justify-between py-1 font-normal opacity-0 transition-opacity duration-500 ease-in-out group-hover:opacity-100 ms-auto mb-2 w-fit max-w-full gap-3"><div class="flex flex-row items-center gap-2"></div></div></div></div></div></div><div class="flex w-full justify-center gap-6 flex-col md:flex-row" id="bkmrk-"><div class="flex max-w-(--breakpoint-md) min-w-0 flex-1 shrink flex-col gap-8"><div class="group group/message interpolate-size-allow-keywords flex min-h-auto w-full gap-3" data-message-author-role="assistant" data-message-id="8c82af5f-b2bd-4505-b200-acfdff883fca" data-message-version="0"><div class="relative flex flex-col items-center gap-4"><div class="flex items-center justify-center overflow-hidden"><div class="flex items-center justify-center bg-brand-500"><svg class="text-white-default" fill="currentColor" height="21" viewbox="0 0 24 24" width="21" xmlns="http://www.w3.org/2000/svg"><path d="M13.3715 16.358H16.1144V13.6486H13.3712L13.3715 16.358H10.6283V13.6486H7.88568V16.358H10.6283V19.0676H2.3999V16.358H5.14279V5.52002H7.88568V8.22963H10.6286V10.939H13.3715V8.22963H16.1144V5.52002H18.8572V16.358H21.5999V19.0676H13.3715V16.358Z"></path></svg></div></div></div><div class="flex min-w-0 flex-1 flex-col"><div class="flex w-full flex-col gap-2 break-words" dir="auto"><div><div class="select-none"></div></div></div></div></div></div></div>Voici les bonnes pratiques en matière d’administration de serveurs (VPS ou bare metal), surtout quand vous êtes plusieurs administrateurs :

<div class="flex w-full justify-center gap-6 flex-col md:flex-row" id="bkmrk--1"><div class="flex max-w-(--breakpoint-md) min-w-0 flex-1 shrink flex-col gap-8"><div class="group group/message interpolate-size-allow-keywords flex min-h-auto w-full gap-3" data-message-author-role="assistant" data-message-id="8c82af5f-b2bd-4505-b200-acfdff883fca" data-message-version="0"><div class="flex min-w-0 flex-1 flex-col"><div class="flex w-full flex-col gap-2 break-words" dir="auto"><div><div class="select-none"><div class="markdown-container-style max-w-none gap-1 overflow-x-visible py-0.5 pb-4 font-normal text-wrap break-words select-text" data-message-part-type="answer" data-testid="text-message-part" dir="auto">---

</div></div></div></div></div></div></div></div>### **1. Accès en root**

**À proscrire absolument, même par clé RSA.**

<div class="flex w-full justify-center gap-6 flex-col md:flex-row" id="bkmrk-pourquoi-%3F-m%C3%AAme-avec"><div class="flex max-w-(--breakpoint-md) min-w-0 flex-1 shrink flex-col gap-8"><div class="group group/message interpolate-size-allow-keywords flex min-h-auto w-full gap-3" data-message-author-role="assistant" data-message-id="8c82af5f-b2bd-4505-b200-acfdff883fca" data-message-version="0"><div class="flex min-w-0 flex-1 flex-col"><div class="flex w-full flex-col gap-2 break-words" dir="auto"><div><div class="select-none"><div class="markdown-container-style max-w-none gap-1 overflow-x-visible py-0.5 pb-4 font-normal text-wrap break-words select-text" data-message-part-type="answer" data-testid="text-message-part" dir="auto">- **Pourquoi ?** Même avec une clé RSA, un accès direct en root expose le serveur à des risques majeurs (erreur humaine, fuite de clé, attaque ciblée).
- **Alternative :** Utilisez toujours un compte utilisateur standard, puis `sudo` pour les commandes nécessitant des privilèges élevés.

---

</div></div></div></div></div></div></div></div>### **2. Un compte par admin pour la traçabilité**

**Oui, chaque admin doit avoir son propre compte.**

<div class="flex w-full justify-center gap-6 flex-col md:flex-row" id="bkmrk-pourquoi-%3F-tra%C3%A7abili"><div class="flex max-w-(--breakpoint-md) min-w-0 flex-1 shrink flex-col gap-8"><div class="group group/message interpolate-size-allow-keywords flex min-h-auto w-full gap-3" data-message-author-role="assistant" data-message-id="8c82af5f-b2bd-4505-b200-acfdff883fca" data-message-version="0"><div class="flex min-w-0 flex-1 flex-col"><div class="flex w-full flex-col gap-2 break-words" dir="auto"><div><div class="select-none"><div class="markdown-container-style max-w-none gap-1 overflow-x-visible py-0.5 pb-4 font-normal text-wrap break-words select-text" data-message-part-type="answer" data-testid="text-message-part" dir="auto">- **Pourquoi ?**
    - **Traçabilité** : Chaque action est liée à un utilisateur spécifique, ce qui facilite l’audit et la responsabilité.
    - **Sécurité** : Limite l’impact d’une compromission (une clé ou un mot de passe volé ne donne accès qu’à un seul compte).
- **Configuration :**
    - Chaque compte doit être ajouté au groupe `sudo` (ou `wheel` selon la distribution) pour pouvoir utiliser `sudo`.
    - Exemple de commande pour ajouter un utilisateur au groupe sudo : <div data-exclude-copy="true" data-testid="code-block"><div class="border border-default bg-card relative rounded-xl text-sm"><div class="sticky top-0 bg-card rounded-t-xl flex items-center px-2 h-10 font-sans select-none w-full justify-between z-10"><div class="inline-flex flex-1 items-center gap-2.5 h-9 p-2 pr-3"><span class="text-sm font-medium text-subtle">bash</span></div></div><div class="overflow-x-auto px-4 pb-4 text-sm [&_pre]:!m-0 [&_pre]:!p-0 [&_pre]:!rounded-none [&_pre]:!border-0 [&_pre]:!bg-transparent [&_*]:![font-size:inherit] dark:[&_.shiki]:![color:var(--shiki-dark)] dark:[&_.shiki_span]:![color:var(--shiki-dark)] !overflow-x-hidden [&_code]:![white-space:break-spaces] [&_pre]:![white-space:break-spaces]"><div></div></div></div></div>```
        usermod -aG sudo nom_utilisateur
        ```

---

</div></div></div></div></div></div></div></div>### **3. Configuration des droits sudo**

**Oui, les admins doivent être sudoers, pas root.**

<div class="flex w-full justify-center gap-6 flex-col md:flex-row" id="bkmrk-fichier-de-configura"><div class="flex max-w-(--breakpoint-md) min-w-0 flex-1 shrink flex-col gap-8"><div class="group group/message interpolate-size-allow-keywords flex min-h-auto w-full gap-3" data-message-author-role="assistant" data-message-id="8c82af5f-b2bd-4505-b200-acfdff883fca" data-message-version="0"><div class="flex min-w-0 flex-1 flex-col"><div class="flex w-full flex-col gap-2 break-words" dir="auto"><div><div class="select-none"><div class="markdown-container-style max-w-none gap-1 overflow-x-visible py-0.5 pb-4 font-normal text-wrap break-words select-text" data-message-part-type="answer" data-testid="text-message-part" dir="auto">- **Fichier de configuration :** `/etc/sudoers` (à éditer avec `visudo`).
- **Exemple de ligne pour un admin :**<div data-exclude-copy="true" data-testid="code-block"><div class="border border-default bg-card relative rounded-xl text-sm"><div class="sticky top-0 bg-card rounded-t-xl flex items-center px-2 h-10 font-sans select-none w-full justify-between z-10"><div class="inline-flex flex-1 items-center gap-2.5 h-9 p-2 pr-3"><span class="text-sm font-medium text-subtle">plaintext</span></div></div><div class="overflow-x-auto px-4 pb-4 text-sm [&_pre]:!m-0 [&_pre]:!p-0 [&_pre]:!rounded-none [&_pre]:!border-0 [&_pre]:!bg-transparent [&_*]:![font-size:inherit] dark:[&_.shiki]:![color:var(--shiki-dark)] dark:[&_.shiki_span]:![color:var(--shiki-dark)] !overflow-x-hidden [&_code]:![white-space:break-spaces] [&_pre]:![white-space:break-spaces]"><div></div></div></div></div>```
    nom_utilisateur ALL=(ALL:ALL) ALL
    ```
- **Bonnes pratiques :**
    - Limitez les commandes sudo si possible (principe du moindre privilège).
    - Activez les logs des commandes sudo (`/var/log/auth.log` ou `/var/log/secure` selon la distribution).

---

</div></div></div></div></div></div></div></div>### **4. Autres recommandations**

<div class="flex w-full justify-center gap-6 flex-col md:flex-row" id="bkmrk-cl%C3%A9s-ssh-uniquement-"><div class="flex max-w-(--breakpoint-md) min-w-0 flex-1 shrink flex-col gap-8"><div class="group group/message interpolate-size-allow-keywords flex min-h-auto w-full gap-3" data-message-author-role="assistant" data-message-id="8c82af5f-b2bd-4505-b200-acfdff883fca" data-message-version="0"><div class="flex min-w-0 flex-1 flex-col"><div class="flex w-full flex-col gap-2 break-words" dir="auto"><div><div class="select-none"><div class="markdown-container-style max-w-none gap-1 overflow-x-visible py-0.5 pb-4 font-normal text-wrap break-words select-text" data-message-part-type="answer" data-testid="text-message-part" dir="auto">- **Clés SSH uniquement** : Désactivez l’authentification par mot de passe (`PasswordAuthentication no` dans `/etc/ssh/sshd_config`).
- **Mots de passe forts** : Même pour les comptes sudoers, utilisez des mots de passe robustes ou des clés SSH.
- **Mises à jour** : Maintenez le système et les outils (OpenSSH, sudo) à jour.
- **Sauvegardes** : Sauvegardez régulièrement les fichiers de configuration critiques (`/etc/sudoers`, `/etc/ssh/sshd_config`).

---

</div></div></div></div></div></div></div></div>### **Résumé de votre cas**

<div class="flex w-full justify-center gap-6 flex-col md:flex-row" id="bkmrk-acc%C3%A8s-root-direct-%3A-"><div class="flex max-w-(--breakpoint-md) min-w-0 flex-1 shrink flex-col gap-8"><div class="group group/message interpolate-size-allow-keywords flex min-h-auto w-full gap-3" data-message-author-role="assistant" data-message-id="8c82af5f-b2bd-4505-b200-acfdff883fca" data-message-version="0" id="bkmrk-acc%C3%A8s-root-direct-%3A--1"><div class="flex min-w-0 flex-1 flex-col"><div class="flex w-full flex-col gap-2 break-words" dir="auto"><div><div class="select-none"><div class="markdown-container-style max-w-none gap-1 overflow-x-visible py-0.5 pb-4 font-normal text-wrap break-words select-text" data-message-part-type="answer" data-testid="text-message-part" dir="auto">- **Accès root direct** : ❌ Non, même avec clé RSA.
- **Un compte par admin** : ✅ Oui, pour la traçabilité.
- **Sudoers uniquement** : ✅ Oui, avec configuration dans `/etc/sudoers`.

</div></div></div></div></div></div></div></div>