Puis-je configurer `sudo` sans mot de passe sur un serveur cloud?

58

J'aime l'idée d'accéder aux serveurs via des clés, pour ne pas avoir à saisir mon mot de passe chaque fois que je me trouve sshdans une boîte. Je verrouille même le rootmot de passe de l' utilisateur (pas ) ( passwd -l username), de sorte qu'il est impossible de se connecter sans clé.

Mais tout cela se casse si je dois entrer un mot de passe pour les sudocommandes. Je suis donc tenté de configurer sans motsudo de passe pour rendre les choses conformes à la connexion sans mot de passe.

Cependant, j'ai toujours le sentiment que cela peut se retourner contre moi de façon inattendue, cela me semble tout simplement peu sûr. Y at-il des mises en garde avec une telle configuration? Recommanderiez-vous / ne recommanderiez-vous pas cette opération pour un compte d'utilisateur sur un serveur?

Des clarifications

  1. Je parle de l'utilisation de sudodans une session utilisateur interactive ici, pas pour des services ou des scripts administratifs
  2. Je parle d'utiliser un serveur cloud (je n'ai donc aucun accès local physique à une machine et je ne peux me connecter qu'à distance)
  3. Je sais qu'il y sudoa un délai d'attente pendant lequel je n'ai pas besoin de ressaisir mon mot de passe. Mais mon concert ne consiste pas vraiment à perdre le temps supplémentaire nécessaire pour taper physiquement un mot de passe. Mon idée cependant était de ne pas avoir à gérer de mot de passe du tout, car je suppose que:
    • Si je dois le mémoriser du tout, c'est très probablement trop court pour être sécurisé ou réutilisé
    • Si je génère un mot de passe long et unique pour mon compte distant, je dois le stocker quelque part (programme de gestion de mot de passe local ou service cloud) et le récupérer à chaque fois que je souhaite l'utiliser sudo. J'espérais pouvoir l'éviter.

Donc, avec cette question, je voulais mieux comprendre les risques, les mises en garde et les compromis d'une configuration possible par rapport aux autres.

Suivi 1

Toutes les réponses disent que le mot de passe sudosans mot de passe n'est pas sécurisé, car il permet une escalade "facile" des privilèges si mon compte d'utilisateur personnel est compromis. Je comprends que. Par contre, si j'utilise un mot de passe, tous les risques classiques sont associés à des mots de passe (chaîne trop courte ou trop commune, répétition sur différents services, etc.). Mais je suppose que si je désactive l’authentification par mot de passe /etc/ssh/sshd_configafin que vous ayez toujours une clé pour vous connecter, puis-je utiliser un mot de passe plus simple simplement pour sudoque ce soit plus facile à saisir? Est-ce une stratégie valable?

Suivi 2

Si j'ai aussi une clé pour me connecter en tant que rootssh, si quelqu'un a accès à mon ordinateur et vole mes clés (ils sont toujours protégés par le mot de passe du trousseau du système d'exploitation!), Ils peuvent également obtenir un accès direct au rootcompte. , en contournant le sudochemin. Quelle devrait être la politique d'accès au rootcompte alors?

Dmitry Pashkevich
la source
2
Je ne le recommanderais pas du tout, car il existe souvent des moyens d'obtenir un shell en tant qu'utilisateur (car tous les services sont sujets à des violations de la sécurité, mais ils s'exécutent généralement en tant qu'utilisateur pour éviter un accès complet au système), mais ils doivent disposer d'un mot de passe pour se connecter en tant que root empêche les personnes non autorisées d'obtenir un accès root. S'il n'y en a pas, pense que toute personne ayant accès à votre compte d'utilisateur, de quelque manière que ce soit, dispose d'un accès complet au serveur. Définir un mot de passe peut ne pas être beaucoup, mais cela aide.
Piernov
S'il vous plaît voir mes questions de suivi
Dmitry Pashkevich
1
sudo ne devrait jamais être sans mot de passe. la racine doit être désactivée de la connexion à distance via SSH, le port ssh ne doit pas être le port par défaut (pour abandonner les dumb-bots), et tout compte nécessitant sudo doit être limité au minimum de pouvoirs sudo pour ce dont ils ont besoin (redémarrer un service seulement, etc), et aussi avoir des mots de passe très forts.
SnakeDoc
@ SnakeDoc Merci, c'est un genre de réponse que j'attendais. Voulez-vous écrire une réponse détaillée? Je suis content d'apprendre!
Dmitry Pashkevich
2
@EEAA c'est en fait assez facile sous linux. Les seuls comptes qui devraient être autorisés à être sans mot de passe dans sudo seraient les comptes système auxquels on ne peut pas se connecter et donc ne peuvent pas passer à ce compte et utiliser ces autorisations contre vous. Définissez un shell bidon pour le compte /etc/passwdtel que nologin, ne définissez aucun mot de passe, puis définissez sans mot de passe dans visudo. Si vous faites cela, vous devez également vous assurer que le paramètre visudo ne concerne que ce dont ce compte système a absolument besoin, c'est-à-dire qu'il est verrouillé sur les seules commandes qu'il doit exécuter.
SnakeDoc

Réponses:

48

J'aime l'idée d'accéder aux serveurs via des clés, pour ne pas avoir à saisir mon mot de passe chaque fois que je ssh dans une boîte, je verrouille même le mot de passe de mon utilisateur (non root) (passwd -l nom d'utilisateur), de sorte qu'il est impossible de connectez-vous sans clé ... Recommanderiez-vous ou non cette opération pour un compte d'utilisateur sur un serveur?

Vous vous engagez à désactiver les connexions avec mot de passe. Au lieu de verrouiller le compte d’un utilisateur, définissez-le PasswordAuthentication nodans votre /etc/ssh/sshd_config.

Avec cet ensemble, l'authentification par mot de passe est désactivée pour ssh, mais vous pouvez toujours utiliser un mot de passe pour sudo.

La seule fois que je recommande de configurer NOPASSWDsudo concerne les comptes de service, où les processus doivent pouvoir exécuter des commandes via sudo par programme. Dans ces circonstances, assurez-vous que vous avez explicitement ajouté à la liste blanche uniquement les commandes spécifiques que ce compte doit exécuter. Pour les comptes interactifs, vous devez toujours laisser les mots de passe activés.

Réponses à vos questions de suivi:

Mais je suppose que si je désactive l’authentification par mot de passe dans / etc / ssh / sshd_config afin que vous ayez toujours une clé pour vous connecter, je peux utiliser un mot de passe plus simple, juste pour sudo, plus facile à saisir? Est-ce une stratégie valable?

Oui c'est correct. Je recommande toujours d'utiliser des mots de passe relativement forts pour les comptes locaux, mais pas trop forts. ~ 8 caractères générés aléatoirement suffisent.

Si j’ai aussi une clé pour me connecter en tant que root via ssh, si quelqu'un a accès à mon ordinateur et vole mes clés (ils sont toujours protégés par le mot de passe du trousseau du système d’exploitation!), Ils peuvent également obtenir un accès direct au compte root, en contournant le chemin sudo.

L'accès à la racine via ssh devrait être désactivé. Période. Placez PermitRootLogin nodans votre sshd_config.

Quelle devrait être la politique pour accéder au compte root alors?

Vous devriez toujours avoir un moyen d'obtenir un accès hors bande à la console de votre serveur. Plusieurs fournisseurs de VPS fournissent cela, tout comme les fournisseurs de matériel dédié. Si votre fournisseur n'accorde pas un accès réel à la console (par exemple, EC2), vous pouvez toujours restaurer l'accès à l'aide d'un processus similaire à celui décrit dans cette réponse .

EEAA
la source
2
+1 devrait laisser les mots de passe ...
Chris S
6
+1 le mot de passe sudo n'est pas vraiment là pour la sécurité (d'après ce que je peux voir), mais plutôt comme vérification idiote. Ne pas y avoir pourrait causer des ravages indicibles.
Boris l'araignée
1
si vous perdez votre clé, vous avez terminé, sauf si vous avez une porte dérobée, mais l'attaquant fait de même. le seul moyen de réparer une clé perdue, si cela est fait correctement, serait de vous asseoir vous-même au terminal lui-même, physiquement. Si vous avez besoin du type de protection fourni par les clés ssh, vous devez être conscient des pièges et simplement ... ne perdez jamais vos clés.
SnakeDoc
1
Un commentaire à propos de votre dernier paragraphe, et concernant la perte d'accès en général pour tout VPS ... certains fournisseurs de VPS vous aideront réellement si vous êtes en lock-out. J’ai eu une machine virtuelle démarrée en mode mono-utilisateur et fais certaines choses pour moi lorsque je me suis verrouillé (cela arrive ... mauvaise règle de pare-feu lol). Selon votre hébergeur, ils peuvent vous facturer le service; Après tout, certains feront une sauvegarde / des instantanés pour un prix modique ou parfois gratuitement, ce qui peut valoir la peine si vous êtes sur le point de valider un changement important, voire perturbateur.
SnakeDoc
1
@DmitryPashkevich - en ce PasswordAuthenticationqui concerne tous les utilisateurs, vous pouvez toujours utiliser les Matchsections de sshd_config pour le réactiver pour certains utilisateurs ou groupes.
Matt Thomason
11

Je limite généralement l'utilisation de NOPASSWORDcommandes à des processus automatisés. Il est préférable d’avoir un compte de service pour ces commandes et de limiter l’utilisation de sudo aux commandes requises.

En tenant NOPASSWORDcompte des commandes générales, permet à quiconque ayant accès à votre ID utilisateur d’exécuter des commandes. Cela pourrait résulter d'un compromis de vos informations d'identification, mais pourrait être aussi simple que quelqu'un assis à votre bureau lorsque vous vous éloignez pour une seconde.

Je trouve que je n'ai pas à entrer mon mot de passe aussi souvent. Une fois que vous avez entré votre mot de passe, vous pouvez exécuter plusieurs commandes si vous n'attendez pas trop longtemps entre elles. Le délai d'attente est configurable.

BillThor
la source
8

Je ne l'utiliserais que dans deux circonstances:

  • Lorsque cela est absolument nécessaire pour un script automatisé exécuté en tant qu'utilisateur spécifique
  • Pour des tâches administratives spécifiques (tâches en lecture seule, pas celles qui modifient le système) et uniquement pour des utilisateurs spécifiques bien sûr

Par défaut, la plupart des sudoconfigurations ne vous demanderont plus dans la même session (si vous ouvrez un nouveau shell qui n'a aucun effet). Vous pouvez contrôler ce comportement dans une certaine mesure avec le timestamp_timeoutparamètre.

sudoSans mot de passe, mot de passe n'est pas aussi dangereux que les sshclés sans phrase secrète , car un attaquant distant a besoin de vos informations d'identification pour entrer, mais s'il a réussi à compromettre votre clé privée (ou s'il est physiquement local et vous vous êtes connecté (e) et déverrouillé (e) lorsque vous vous absentez de la machine), la demande de mot de passe est une précieuse défense supplémentaire entre eux et un accès privilégié.

En ce qui concerne le suivi 2:

Si j'ai aussi une clé pour me connecter en tant que root via ssh

Il vaut mieux éviter cela aussi, pour la raison que vous décrivez. Si une connexion distante doit avoir un accès privilégié, connectez-vous via un compte de service et donnez-lui juste le contrôle nécessaire pour effectuer son travail via sudo. C’est plus facile à configurer, bien sûr, beaucoup d’entre eux ne dérangent pas (ce qui joue en votre faveur si vous agissez, car il n’ya pas beaucoup de choses à gagner pour les attaquants qui y passent du temps!), C’est donc tout. vieux compromis entre sécurité et commodité (conseil pro: choisissez la sécurité!).

David Spillett
la source
Merci d'avoir adressé mon suivi # 2. Cependant, je suis toujours perplexe: j'essaie d'éviter de me connecter rootdirectement, mais j'ai besoin de quelques moyens pour accéder au compte, non? Alors, comment puis-je le faire alors? Avec un mot de passe, pas la clé ssh? Mais les clés ne sont-elles pas meilleures que les mots de passe?
Dmitry Pashkevich
Vous pouvez toujours vous connecter localement en tant que root, mais il est recommandé de désactiver complètement les connexions directes à la racine depuis des hôtes distants (via ssh ou similaire). Si vous avez un compte qui peut devenir root via sudo (avec un mot de passe bien sûr), vous ne perdez jamais tout accès au compte.
David Spillett
7

Vous pouvez avoir le meilleur des deux mondes: authentification SSH pour la connexion et pour le sudo. Si vous intégrez le module pam_ssh_agent_auth, vous pouvez utiliser les clés SSH pour vous authentifier sans donner de mot de passe lorsque vous vous connectez.

Je l'utilise en production depuis plus de cinq ans.

Pour le configurer, installez le module PAM, puis ajoutez une ligne à /etc/pam.d/sudoou son équivalent:

auth    sufficient     pam_ssh_agent_auth.so file=~/.ssh/authorized_keys

Dans ce cas, veillez à protéger vos clés sur votre ordinateur avec une phrase secrète. De cette façon, quelqu'un devrait faire irruption dans votre ordinateur et voler les clés pour y entrer. Il pourrait le faire en les retirant de la mémoire alors qu'il était déverrouillé s'il avait accès à votre compte, en déchiffrant votre phrase secrète ou en la dérobant. un enregistreur de frappe ou une épaule le surfant pendant que vous le tapez (regardez derrière vous!).

Vous pouvez utiliser la même clé SSH que pour vous connecter, ou vous pouvez configurer une clé distincte que vous ajoutez uniquement à votre agent lorsque vous vous connectez. Par conséquent, si vous voulez faire très attention, vous pouvez conserver un fichier authorised_keys distinct qui contient une clé SSH distincte que vous ajoutez à votre agent uniquement lorsque vous devez effectuer les tâches suivantes:

auth    sufficient     pam_ssh_agent_auth.so file=~/.ssh/authorized_keys_sudo
obscurerichard
la source
Wow, ça sonne bien! Donc, est-ce que je génère une clé séparée pour l'exécution des sudocommandes ou j'utilise la même clé que celle utilisée pour l'authentification SSH?
Dmitry Pashkevich
1
Ceci est incroyable. Je vous voterais plusieurs fois si je le pouvais.
nyuszika7h
Vous pouvez utiliser la même clé que celle que vous utilisez pour l'authentification SSH normale ou, pour plus de sécurité, vous pouvez ajouter temporairement une clé que vous utilisez pour la migration vers votre agent d'authentification SSH. Cela nécessiterait que vous spécifiiez un fichier différent de celui que ~/.ssh/authorized_keysvous pourriez gérer, ~/.ssh/authorized_keys_sudopar exemple, ou /etc/ssh/authorized_keys_sudo.
obscurerichard
6

Depuis que vous avez demandé, voici mon conseil général sur la façon de résoudre le sudoproblème.

Sudo n'a pas été conçu pour fournir davantage de sécurité (bien qu'il puisse le faire à certains égards) ... mais plutôt pour fournir une bonne piste d'audit permettant de déterminer qui fait quoi sur votre système avec quels privilèges.

Une configuration appropriée de Sudo n’utilisera pas le ALL=(ALL) ALLparamètre, mais plutôt quelque chose de plus limité à ce qui est spécifiquement nécessaire à l’utilisateur. Par exemple, si vous avez besoin qu'un utilisateur puisse se connecter et redémarrer un service bloqué, il n'a probablement pas besoin d'installer un nouveau logiciel, d'arrêter votre serveur, de modifier les règles de pare-feu, etc.

Il est parfois courant que les gens utilisent sudo pour s'élever au compte root, c'est-à-dire. sudo su -. Une fois que cela est fait, vous ne voyez plus qui fait quoi depuis le compte root (la racine peut être connectée plusieurs fois simultanément). Alors parfois, les gens veulent aussi désactiver la sudo su -commande. Mais, pour des raisons pratiques, si vous avez besoin d’un compte entièrement doté de privilèges root pour l’administration, au moins le fait que quelqu'un lance la sudo su -commande enregistre la personne qui est passée à la racine et à quel moment.

Comment je sécurise mes boîtes:

Changez le port SSH en quelque chose d'autre que le port par défaut. Ceci permet d'éviter les bêtises qui recherchent des numéros de port, puis les pilonnent jusqu'à ce qu'elles entrent (ou non).

Désactivez la connexion root sur SSH à l'aide du AllowRootLogin noparamètre défini dans votre sshd_config. Cela empêche quelqu'un de forcer brutalement votre compte root. Il est généralement préférable de ne jamais autoriser une personne à se connecter directement au compte root / administrateur pour des raisons d'audit et pour des raisons de sécurité. Si vous autorisez directement la connexion root, vous ne savez pas qui a ouvert la session, qui a obtenu le mot de passe, etc. Mais si quelqu'un se connecte au compte de Jimmy, puis élève ses autorisations en tant que root, vous avez une meilleure idée de l'endroit où commencer. recherche de vérification (et compte à réinitialiser).

Autoriser uniquement les utilisateurs à SSH qui en ont besoin Utilisez le AllowUsersparamètre et spécifiez explicitement les comptes qui nécessitent un accès SSH. Cela bloquera par défaut tous les autres comptes de SSH.

Éditez Sudoers via visudo et n'autorisez que les commandes dont l'utilisateur a besoin. Il y a beaucoup de guides détaillés sur la façon de procéder, alors je ne détaillerai pas ici. Voici une entrée: http://ubuntuforums.org/showthread.php?t=1132821

L'essentiel est d'empêcher qu'un compte compromis ne compromette votre ordinateur. c'est à dire. Si le compte de Sally est cassé et que Sally ne peut utiliser sudo que pour redémarrer le serveur Web, l'attaquant aura peut-être du plaisir à redémarrer votre serveur Web en boucle, mais au moins, il ne pourra pas rm -rf /your/webserver/directoryou ouvrir tous vos ports de pare-feu, etc.

Installez de bonnes règles de pare-feu qui ne permettent que les ports nécessaires au fonctionnement de votre boîte. Généralement, vous voulez tout supprimer et n'autoriser que explicitement ce dont vous avez besoin. Il y a beaucoup d'iptables décents et d'autres pare-feu commencent en ligne, en voici un que j'utilise (c'est un démarreur de base):

# Generated by iptables-save v1.4.7 on Mon Mar  3 17:55:02 2014
*filter
:INPUT DROP [4528:192078]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [39845:27914520]
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 4254 -m state --state NEW -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8080 -m state --state NEW -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8443 -m state --state NEW -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
COMMIT
# Completed on Mon Mar  3 17:55:02 2014

Un mot de passe fort est également la clé.Même si vous utilisez des clés SSH pour votre accès à distance, vous devez toujours demander un mot de passe pour utiliser Sudo. C'est un cas où sudo pourrait offrir plus de sécurité. Si quelqu'un venait à voler vos clés ssh, il ne pourrait toujours rien faire de significatif sur votre boîte s'il devait encore forcer brutalement le mot de passe de votre compte à utiliser sudo. Les mots de passe ne doivent pas être un mot, mais plutôt une phrase de passe. Pensez à une phrase et utilisez-la. Cela vous donnera généralement quelque chose de plus de 8 caractères, fournissant beaucoup d'entropie, mais est aussi plus facile à retenir qu'un mot de passe aléatoire. Bien sûr, les bonnes pratiques en matière de mot de passe recommandent d'utiliser un mot de passe aléatoire généré par une machine pour tromper des outils de piratage tels que John the Ripper, qui déchiffreront la plupart des mots de passe et mots de passe. Non, changer E avec 3 ne fonctionne pas, John obtient également ces permutations.

SnakeDoc
la source
Merci pour une réponse complète! Je dois absolument utiliser tous ces conseils pour sécuriser mes boîtes. J'accepterai toujours la réponse de l'EEAA, car elle est un peu plus spécifique à ce que je demandais.
Dmitry Pashkevich
1
@DmitryPashkevich c'est bien, l'EEAA a une bonne réponse. Vous m'avez demandé de détailler mon commentaire ci-dessus, alors je l'ai fait. Pas de soucis :)
SnakeDoc
En ce qui concerne les sudo su -variations, sudoreplaypourrait être utile.
nyuszika7h
3

Dans certains cas, il est nécessaire de le faire. Par exemple, certaines API d'hyperviseur ont besoin d'une connexion sans mot de passe et sans mot de passe sudo. Mais vous pouvez toujours limiter cela sans casser.

Pour ce que vous essayez d'atteindre. Je dirais, habituez-vous à taper un mot de passe. La sécurité est plus pratique que la commodité ici. En outre, si vous avez vraiment besoin d'un accès root, vous pouvez l'utiliser sudoet mettre en cache les informations d'identification pendant un certain temps. Ainsi, si vous exécutez plusieurs commandes sudo à la suite, le mot de passe ne sera plus sollicité que la première fois. Ce n’est donc pas un inconvénient aussi grave que vous le supposez.

Aussi , si vous tapez dans un grand nombre de racine des commandes privilégiées et ne veulent pas mettre sur le devant sudo d'entre eux tout le temps , vous pouvez soit suou sudo -spour obtenir un shell root. Vous entrerez votre mot de passe une fois et puis c'est tout.

Mat
la source
2

Sudo sans mot de passe m'a mordu une fois. C’était un script shell, un programme d’installation qui appelait sudo en mon nom, par opposition à, vous savez, qui demandait simplement sudo ou une erreur.

La création d’images en tapant "make" et le script faisant la partie "sudo make install" pour vous, sans définir ni afficher le chemin de base, et le script étant tellement indécent au départ que vous n'êtes pas sûr qu’ils connaissent l'existence de / usr / local et donc vous commencez à vérifier / usr pour les modifications ...

Je me suis promis de ne plus jamais utiliser NOPASSWD et j'ai également changé ce paramètre de délai d'attente à 0.

aib
la source
1

Bien que vous ne répondiez pas strictement à votre question, une autre option peut être de définir une durée plus longue timestamp_timeoutpour que vous n'ayez pas besoin de saisir votre mot de passe aussi souvent. Cela empêchera tout le monde d’obtenir des privilèges d’administrateur, mais en réduisant vos ennuis.

De la page de manuel sudoers :

timestamp_timeout

Nombre de minutes qui peuvent s'écouler avant que sudo demande à nouveau un mot de passe. Le délai d'attente peut inclure un composant fractionnaire si la granularité minute est insuffisante, par exemple 2,5. La valeur par défaut est 5. Définissez cette valeur sur 0 pour toujours demander un mot de passe. Si la valeur est inférieure à 0, l'horodatage de l'utilisateur n'expirera jamais. Ceci peut être utilisé pour permettre aux utilisateurs de créer ou de supprimer leurs propres horodatages via "sudo -v" et "sudo -k" respectivement.

Ce blog présente des exemples d' utilisation visudode la définition du délai d'expiration en minutes, tels que:

Defaults timestamp_timeout=60

Peut-être que c’est un bon compromis entre sécurité et facilité d’utilisation?

Daveharris
la source
Merci pour la contribution! Ma question initiale concernait le fait de ne pas avoir à utiliser (et à ne pas oublier) un mot de passe, car vous pouvez utiliser les clés pour ssh dans la machine, et non sur la fréquence à laquelle je dois le saisir. D'autres personnes ont précisé que c'était une mauvaise idée cependant.
Dmitry Pashkevich
1

Les autres réponses sont excellentes et touchent la plupart des points importants. Une chose que je n'ai pas vue mentionnée est le fait que toute forme d'authentification que vous effectuez une fois que vous vous êtes connecté peut être capturée par un attaquant distant qui a déjà pris pied dans votre compte. Ils peuvent modifier vos fichiers de connexion shell ou PATH pour installer un enregistreur de frappe afin que tout ce que vous tapez, y compris votre mot de passe sudo, leur soit envoyé. Ils pourraient ajouter un binaire sudo piraté à votre PATH pour recueillir votre mot de passe. Ils peuvent détourner la connexion de l'agent ssh sur votre machine connectée pour vaincre pam_ssh_agent_auth et devenir eux-mêmes root dès que vous vous connectez. Donc, en termes de sécurité absolue, je ne vois pas de différence entre utiliser un mot de passe pour sudo et non. Bien sûr, cela en fait une attaque plus compliquée,

En résumé, je pense que le seul moyen d'empêcher absolument un compte d'utilisateur compromis de devenir root si vous avez un accès sudo est de supprimer l'accès sudo de vous-même, ou de ne jamais l'utiliser. Si vous n'êtes pas d'accord, faites le moi savoir, car j'aimerais bien me tromper!

Ian Hinder
la source