web-dev-qa-db-fra.com

Quelle est l’importance du mot de passe Sudo?

Je sais que le mot de passe Sudo protège mon ordinateur contre le piratage local par une personne ayant un accès physique sur celui-ci ( éditer: en fait, il doesn ' t ). Mon mot de passe est assez fort pour cela, mais je sais qu'il n'est pas assez fort si quelqu'un peut le forcer brutalement à distance.

Peut n'importe qui accéder à mon ordinateur en mode racine à l'aide de mon mot de passe Sudo sans accès physique à l'ordinateur, sur une installation de bureau Ubuntu standard?

  1. Si vous avez un accès réseau, certainement oui (réponse courte)
  2. Si vous ne faites pas assez attention à la sécurité, oui (réponse longue)
  3. Si vous avez "ssh" en cours d'exécution et non 2FA , yes ( commentaires et réponses)
  4. On peut accéder à votre ordinateur en tant que root sans Sudo/mot de passe de l'utilisateur
25
mxdsp

Je sais que le mot de passe Sudo protège mon ordinateur contre le piratage local par une personne ayant un accès physique à celui-ci.

Je ne veux pas trop vous faire peur, mais si quelqu'un a un accès physique, vous lui en donnez, quelle que soit la force de votre mot de passe. Il faudra 1 redémarrage par quelqu'un pour que celui-ci puisse changer votre mot de passe root (peut être effectué à partir de "grub rescue" sans qu'il soit nécessaire de fournir votre mot de passe actuel). Au fait: cette méthode est considérée comme valide, comme une fonctionnalité et comme un risque de sécurité accepté (sinon, vous ne seriez jamais en mesure de réparer votre système si le mot de passe était compromis).

mais je sais que ce n'est pas assez fort si quelqu'un peut le forcer à distance.

Voici un autre élément en jeu: un ROUTEUR devrait être assez intelligent pour verrouiller l'accès de l'extérieur s'il s'agit d'une demande répétée demandant les mêmes informations sur une courte période. En gros, vous avez ici une attaque par le DOS (ou une DDOS si 2 ordinateurs ou plus vous attaquent). Un routeur doit supprimer cette connexion et imposer une période d'attente avant d'accepter de nouvelles demandes provenant de cette connexion.

Quelqu'un peut-il accéder à mon ordinateur en mode racine à l'aide du mot de passe Sudo sans accès physique à l'ordinateur, sur une installation de bureau Ubuntu standard?

Ils doivent d'abord se connecter, puis fournir le mot de passe Sudo. Le mode "racine" est désactivé et vous ne pouvez pas vous connecter directement à une invite "#".

Notez qu'il est possible d'abuser d'un service. Si vous avez "ssh" sur cette machine et qu'ils peuvent "ssh" sur votre système et obtenir votre nom d'utilisateur et votre mot de passe pour cet utilisateur (et comme c'est un utilisateur administrateur, votre mot de passe Sudo aussi), ils peuvent accéder à votre machine. et le gâcher. À propos: s'ils le font comme ça, ils doivent d'abord connaître votre système (comme votre mot de passe).

Mais alors, il y a un problème avec cela (et toute autre méthode): comment ont-ils obtenu votre mot de passe? Ils ne peuvent PAS l'obtenir de votre système lui-même. Et en général, deviner n’en vaut pas la peine. Si c'était socialement conçu ... alors votre problème est là, pas avec le modèle de sécurité de votre système, Ubuntu ou Linux en général.

Tant que votre mot de passe Sudo est le vôtre, tout ira bien. Et vous serez encore mieux loti s’il s’agit d’un mot de passe fort (peut-être facile à retenir pour vous, mais impossible à deviner par d’autres). Voici un exemple que j’avais utilisé précédemment lorsque je discutais de ceci: Si votre chien s'appelle "Abwegwfkwefkwe", utilisez "Abwegwfkwefkwe" comme mot de passe est mauvais, même si cela a l'air bien (puisque quelqu'un pourrait vous demander: "quel est le nom de votre chien" et qu'il essaye cela une estimation libre). Si vous n'avez aucun lien avec "Abwegwfkwefkwe", c'est un bon mot de passe.

Le meilleur conseil que je puisse donner:

  • n'entrez pas votre mot de passe administrateur lorsqu'on vous le demandera, à moins que vous ne sachiez qu'il devrait être demandé. Si vous ouvrez un navigateur et recevez un message contextuel ressemblant à notre "demande du mot de passe du compte d'administrateur" ... arrêtez ... et réfléchissez d'abord.

  • ne laissez pas votre système sans surveillance lorsque la période de grâce "Sudo" est active. Sudo --reset-timestamp supprime la période de grâce actuelle et vous redemandera le mot de passe lors de la prochaine utilisation de "Sudo". Verrouillez votre écran lorsque vous allez AFK.

  • n'installez pas de services ou de logiciels pour le plaisir. Si vous n'avez pas besoin de sshname__, n'installez pas sshname__, si vous n'utilisez pas de serveur Web, n'installez pas de serveur Web. Et jetez un coup d'œil aux services en cours d'exécution. Si vous n'utilisez pas BT sur un ordinateur portable, désactivez-le. Si vous n'utilisez pas de webcam, désactivez-la (si elle est active). Supprimez le logiciel que vous n'utilisez plus.

  • et pour les très paranoïaques (et oui, je vous regarde, Panda paranoïaque): changez le mot de passe de temps en temps. Vous pouvez même installer des chasseurs de rootkit pour vérifier les accès inappropriés.

  • sauvegardez vos données importantes sur quelque chose que vous gardez hors ligne. Ainsi, même si vous trouvez quelqu'un sur votre système, vous pouvez le formater et recommencer avec une nouvelle installation et vos données restaurées.

34
Rinzwind

Oui, ils peuvent.

Cependant, il existe plusieurs façons de le faire, et renforcer le mot de passe Sudo n'est probablement pas la première.

Tout d’abord, le mot de passe Sudo est votre mot de passe d’utilisateur; donc vraiment ce dont ils auraient besoin est votre mot de passe.

Deuxièmement, craquer le mot de passe d'un utilisateur à l'aide de bruteforce pour accéder à un système est probablement le dernier recours.

Il existe des moyens beaucoup plus élégants (mais surtout plus efficaces) de pénétrer dans un autre système.

En général, un attaquant va simplement tenter d'exploiter les vulnérabilités les plus courantes (le plus connu étant probablement d'obtenir un utilisateur Shell par quelque moyen que ce soit et d'exploiter un Shellshock pour obtenir un shell racine), ou de faire un travail remarquable le long des lignes suivantes:

  • Analyser les ports ouverts sur le système afin d’obtenir des informations telles que:
    • Version du système d'exploitation
    • Exécution de la version des services
  • Exploiter les bogues connus du système d'exploitation ou des services en cours d'exécution (débordements de mémoire tampon, ...) afin d'obtenir au moins un shell utilisateur, puis d'essayer d'obtenir un shell racine (encore une fois, en exploitant éventuellement un shellshock)

Bruteforcer le mot de passe Sudo/user peut constituer une tentative au cas où un shell racine ne pourrait pas être obtenu autrement, mais pour exploiter un service exécuté en tant que root par exemple, il ne sera pas nécessaire que l'attaquant force bruteforce le mot de passe Sudo/user.

6
kos
  1. Si j'ai appris quelque chose ces dernières années sur la sécurité, alors une chose: Rien n'est impossible.

  2. Tant que vous avez accès à un réseau, c'est certain. Chaque service exécuté sur votre système auquel vous pouvez accéder via le réseau est théoriquement vulnérable et constitue donc une faiblesse potentielle.

Et donc, pour un attaquant avec suffisamment d’idées, c’est possible. Vous pouvez sécuriser votre système autant que possible, mais vous ne pouvez jamais atteindre la sécurité à 100%.

Il est donc important d'évaluer ce qui est possible avec un effort technique justifiable et ce qui vous protège si bien que vous ne pouvez plus travailler vous-même.

3
A.B.

L'objectif de Sudo n'est pas lié à un mot de passe, mais plutôt de donner à certains utilisateurs des capacités radicales tout en en restreignant d'autres sur une machine sans leur demander de présenter leur nom d'utilisateur (mot de passe/clé/jeton de sécurité/etc). Par exemple, dans mon travail, les travailleurs quotidiens ne peuvent que démarrer/arrêter, installer et mettre à niveau leurs stations (à partir d'un référentiel d'entreprise ayant mis son veto) via Sudo. Ils ne bénéficient pas des autres libertés fondamentales telles que la suppression intentionnelle de /, le formatage de périphériques, l'ajout et la suppression d'utilisateurs, le choix des modules du noyau devant faire l'objet d'une liste noire ou de ce qui s'exécute dans la crontab (etc., etc.). Tandis que chez vous, votre Sudo permet un accès complet à la machine. En ce qui concerne le mot de passe, c'est en réalité le mot de passe de votre compte utilisateur requis par Sudo (le même que celui que vous utiliseriez pour vous connecter, si la connexion automatique n'est pas activée.) Et ce mot de passe comporte les mêmes vulnérabilités que tout autre mot de passe.

Mauvais conseil: Si vous voulez faire de la racine un compte normal sur un unix compatible Sudo (linux/Apple osx), exécutez la commande suivante:

Sudo -s
passwd
Enter your unix password:

À ce stade, root a un mot de passe normal et vous pouvez simplement vous déconnecter et vous connecter en tant que root avec le mot de passe mentionné "à l'ancienne".

En ce qui concerne la sécurité, si un programme (serveur Web, mysql, démon php, sshd) fonctionne sous un compte surélevé, disons root et possède un exploit connu, les attaquants n'auront peut-être pas besoin d'informations d'identification de sécurité pour accéder. Ils peuvent utiliser la vulnérabilité du programme et créer un nouveau shell à partir de ce programme exécuté en tant que root. Cependant, cela est assez rare car les responsables de la distribution sont conscients de problèmes similaires et font un travail remarquable pour créer un environnement par défaut bien pensé et généralement sécurisé.

Dans le autre système d'exploitation, une opération similaire à celle de Sudo consisterait à effectuer un clic droit et à s'exécuter en tant qu'administrateur système (ou le privilège UAC persistant).

2
user283885

Je sais que le mot de passe Sudo empêche mon ordinateur d'être piraté localement par une personne ayant un accès physique sur celui-ci (en fait, ce n'est pas le cas). Mon mot de passe est assez fort pour cela, mais je sais qu'il n'est pas assez fort si quelqu'un peut le forcer brutalement à distance. Quelqu'un peut-il accéder à mon ordinateur en mode racine à l'aide du mot de passe Sudo sans accès physique à l'ordinateur, sur une installation de bureau Ubuntu standard?

Le mot de passe Sudo n'est pas uniquement destiné à la protection locale, il a pour but d'ajouter une couche de sécurité supplémentaire à l'utilisation des privilèges root. Une bonne discussion peut être trouvée ici https://superuser.com/a/771523/467316

Votre mot de passe peut ne pas être aussi fort que vous le pensez. À l'heure actuelle, je craque entre 20 et 40% des hachages Active Directory de mon client pour ceux que j'ai vus auparavant, ceux qui ont de mauvaises règles de mot de passe se font craquer à 70%. Je recommande des mots de passe complexes à 16 caractères. Les cartes graphiques oclHashcat et Radeon peuvent faire beaucoup de dégâts. Ajoutez à cela tous les vidages de mot de passe de chaque violation des 5 dernières années et vous aurez tendance à vous procurer un bon dictionnaire.

Si vous utilisez SSH, faites quelques ajustements dans sshd_config

Sudo nano /etc/ssh/sshd_config

Les MUSTS à la sortie de la porte (le dernier pour désactiver le serveur FTP si vous ne l’utilisez pas).

Protocol 2
X11Forwarding no
PermitEmptyPasswords no
MaxAuthTries 5
#Subsystem sftp /usr/lib/openssh/sftp-server

Sauvegardez-le, redémarrez ssh

Sudo service ssh restart

Utilisation du cryptage à clé publique Commencez par créer vous-même une clé sur votre machine distante (à l’aide de puttygen ou de la saveur disponible pour votre système d’exploitation). Copiez la clé publique sur votre machine Ubuntu sous l’utilisateur que vous souhaitez connecter en tant que fichier allowed_keys (vous devrez probablement la créer).

Sudo nano /home/yourdumbusername/.ssh/authorized_keys

copier la clé publique dans ce format

ssh-rsa 23r0jfjlawjf342rffjfa89pwfj8ewfew98pfrfj8428pfwa9fupfwfcajwfpawf8rfapfj9pf892jpfjpwafj8a where-ever-you-have-your-private-key-for-your-own-notes

sauvegardez-le et configurez sshd_config pour autoriser la connexion par clé publique

Sudo nano /etc/ssh/sshd_config

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      %h/.ssh/authorized_keys

enregistrer et redémarrer ssh

Sudo service ssh restart

Essayez SSHing sur votre hôte Ubuntu à partir de votre ordinateur à clé privée en utilisant le cryptage à clé publique. Si tout s'est bien passé, revenez sur Ubuntu Host et désactivez l'authentification par mot de passe.

Sudo nano /etc/ssh/sshd_config

PasswordAuthentication no

Enregistrez et redémarrez ssh

Sudo service ssh restart

Essayez à nouveau de sshing à partir d'un ordinateur privé à clé pour confirmer.

Voulez-vous ajouter plus? configurez un compte non privilégié, activez PermitRootLogin no, redémarrez ssh, ajoutez votre clé publique à la nouvelle autorisation du compte, connectez-vous en tant que compte non privilégié, su à votre compte root ou privilégié lorsque vous avez besoin de rooter ou de privilégier votre chemin.

2
sonofapharmacist