5 raisons d’utiliser sudo sous Linux


  • FrançaisFrançais


  • Sur les systèmes traditionnels Unix et de type Unix, le premier et le seul utilisateur qui existe sur une nouvelle installation est nommé racine. En utilisant le compte root, vous vous connectez et créez des utilisateurs “normaux” secondaires. Après cette première interaction, vous êtes censé vous connecter en tant qu’utilisateur normal.

    Exécuter votre système en tant qu’utilisateur normal est une limitation auto-imposée qui vous protège des erreurs stupides. En tant qu’utilisateur normal, vous ne pouvez pas, par exemple, supprimer le fichier de configuration qui définit vos interfaces réseau ou écraser accidentellement votre liste d’utilisateurs et de groupes. Vous ne pouvez pas commettre ces erreurs car, en tant qu’utilisateur normal, vous n’êtes pas autorisé à accéder à ces fichiers importants. Bien sûr, en tant que propriétaire littéral d’un système, vous pouvez toujours utiliser le su commande pour devenir le superutilisateur (root) et faire ce que vous voulez, mais pour les tâches quotidiennes, vous êtes censé utiliser votre compte normal.

    En utilisant su a assez bien fonctionné pendant quelques décennies, mais ensuite le sudo la commande est arrivée.

    Pour un superutilisateur de longue date, le sudo commande peut sembler superflue au premier abord. À certains égards, cela ressemble beaucoup à la su commande. Par exemple, voici le su commande en action :

    $ su root
    <enter passphrase>
    # dnf install -y cowsay

    Et voici sudo faire la même chose :

    $ sudo dnf install -y cowsay
    <enter passphrase>

    Les deux interactions sont presque identiques. Pourtant, la plupart des distributions recommandent d’utiliser sudo à la place de su, et la plupart des distributions majeures ont complètement éliminé le compte root. Est-ce une conspiration pour abrutir Linux ?

    Loin de là, en fait. En réalité, sudo rend Linux plus flexible et configurable que jamais, sans perte de fonctionnalités et avec plusieurs avantages significatifs.

    [ Download the cheat sheet: Linux sudo command ]

    Pourquoi sudo est meilleur que root sous Linux

    Voici cinq raisons pour lesquelles vous devriez utiliser sudo à la place de su.

    1. Root est un vecteur d’attaque confirmé

    J’utilise le mélange habituel de pare-feu, fail2ban, et des clés SSH pour empêcher toute entrée indésirable sur les serveurs que j’exécute. Avant de comprendre la valeur de sudo, J’avais l’habitude de regarder dans les journaux avec horreur toutes les attaques par force brute ratées dirigées contre mon serveur. Les tentatives automatisées de connexion en tant que root sont de loin les plus courantes, et pour cause.

    Un attaquant ayant suffisamment de connaissances pour tenter une effraction saurait également qu’avant l’utilisation généralisée de sudo, pratiquement tous les systèmes Unix et Linux avaient un compte root. C’est une supposition de moins sur la façon d’entrer dans votre serveur qu’un attaquant doit faire. Le nom de connexion est toujours correct, tant qu’il s’agit de root, donc tout ce dont un attaquant a besoin est une phrase de passe valide.

    La suppression du compte root offre une bonne protection. Sans racine, un serveur n’a pas de comptes de connexion confirmés. Un attaquant doit deviner les noms de connexion possibles. De plus, l’attaquant doit deviner un mot de passe à associer à un nom de connexion. Ce n’est pas juste une supposition et puis une autre supposition; ce sont deux suppositions qui doivent être correctes simultanément.

    2. La racine est le vecteur d’attaque ultime

    Une autre raison pour laquelle root est un nom populaire dans les journaux d’accès échoués est qu’il s’agit de l’utilisateur le plus puissant possible. Si vous allez configurer un script pour entrer par force brute dans le serveur de quelqu’un d’autre, pourquoi perdre du temps à essayer d’entrer en tant qu’utilisateur régulier avec un accès limité à la machine ? Il est logique d’opter pour l’utilisateur le plus puissant disponible.

    En étant à la fois le nom d’utilisateur singulièrement connu et le compte d’utilisateur le plus puissant, root rend essentiellement inutile d’essayer de forcer quoi que ce soit d’autre.

    3. Autorisation sélective

    Le su la commande est tout ou rien. Si vous avez le mot de passe pour su root, vous pouvez devenir le superutilisateur. Si vous n’avez pas le mot de passe pour su, vous n’avez aucun privilège administratif. Le problème avec ce modèle est qu’un administrateur système doit choisir entre remettre la clé principale à son système ou retenir la clé et tout le contrôle du système. Ce n’est pas toujours ce que vous voulez. Parfois, vous voulez déléguer.

    Par exemple, supposons que vous souhaitiez accorder à un utilisateur l’autorisation d’exécuter une application spécifique qui nécessite généralement des autorisations root, mais que vous ne souhaitiez pas donner à cet utilisateur le mot de passe root. En éditant le sudo configuration, vous pouvez autoriser un utilisateur spécifique, ou n’importe quel nombre d’utilisateurs appartenant à un groupe Unix spécifique, à exécuter une commande spécifique. Le sudo La commande nécessite le mot de passe existant d’un utilisateur, pas votre mot de passe, et certainement pas le mot de passe root.

    4. Temps mort

    Lors de l’exécution d’une commande avec sudo, les privilèges d’un utilisateur authentifié sont augmentés pendant 5 minutes. Pendant ce temps, ils peuvent exécuter la ou les commandes que vous leur avez autorisées à exécuter.

    Après 5 minutes, le cache d’authentification est vidé et la prochaine utilisation de sudo demande à nouveau un mot de passe. Le délai d’expiration empêche un utilisateur d’effectuer accidentellement cette action plus tard (par exemple, une recherche négligente dans l’historique de votre shell ou un peu trop En haut flèche appuie). Cela garantit également qu’un autre utilisateur ne peut pas exécuter les commandes si le premier utilisateur s’éloigne de son bureau sans verrouiller l’écran de son ordinateur.

    5. Journalisation

    La fonction d’historique du shell sert de journal de ce qu’un utilisateur a fait. Si vous avez besoin de comprendre comment quelque chose s’est passé sur votre système, vous pouvez (en théorie, selon la configuration de l’historique du shell) utiliser su pour passer au compte de quelqu’un d’autre, revoir son historique de shell et peut-être avoir une idée des commandes qu’un utilisateur a exécutées.

    Cependant, si vous devez auditer le comportement de 10 ou 100 utilisateurs, vous remarquerez peut-être que cette méthode ne s’adapte pas. Les historiques du shell tournent également assez rapidement, avec un âge par défaut de 1 000 lignes, et ils sont facilement contournés en faisant précéder toute commande d’un espace vide.

    Lorsque vous avez besoin de journaux sur des tâches administratives, sudo offre un sous-système complet de journalisation et d’alerte, de sorte que vous pouvez examiner l’activité à partir d’un emplacement centralisé et même recevoir une alerte lorsque quelque chose d’important se produit.

    Découvrez les fonctionnalités

    Le sudo La commande a encore plus de fonctionnalités, à la fois actuelles et en développement, que ce que j’ai énuméré dans cet article. Car sudo est souvent quelque chose que vous configurez une fois puis oubliez, ou quelque chose que vous ne configurez que lorsqu’un nouvel administrateur rejoint votre équipe, il peut être difficile de se souvenir de ses nuances.

    Téléchargez notre feuille de triche sudo et utilisez-la comme un rappel utile pour toutes ses utilisations lorsque vous en avez le plus besoin.

    Source

    N'oubliez pas de voter pour cet article !
    1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
    Loading...

    La Rédaction

    L'équipe rédactionnnelle du site

    Pour contacter personnellement le taulier :

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    Copy code