Aller au contenu principal

Sécurité avec sudo

Objectifs de la séance

  • Comprendre le rôle et l'importance de la commande sudo
  • Apprendre à utiliser sudo pour exécuter des commandes nécessitant des privilèges d'administrateur
  • Installer et configurer sudo à partir du compte root

Notions théoriques

La commande sudo (SuperUser DO) permet à des utilisateurs autorisés d'exécuter certaines commandes en tant qu'un autre utilisateur, généralement l'utilisateur root.

sudo est un moyen efficace d'administrer un système Linux sans avoir à se connecter en tant que root, ce qui peut être risqué.

Le Principe du “Moindre Privilège”

Le principe du “moindre privilège” stipule que les utilisateurs doivent avoir le niveau de privilège le plus bas nécessaire pour accomplir leurs tâches.

astuce

Le principe du “moindre privilège” c'est : "Ne donnez pas plus de privilèges que ce qui est strictement nécessaire".

attention

Le principe du “moindre privilège” est un concept fondamental en sécurité informatique qui vise à **réduire les risques de sécurité **en limitant la surface d’attaque potentielle

Pourquoi utiliser sudo ?

Utiliser sudo présente plusieurs avantages :

  • Sécurité accrue : En limitant l'accès aux privilèges d'administrateur, on réduit le risque de modifications accidentelles ou malveillantes du système.
  • Auditabilité : Les actions effectuées avec sudo sont généralement enregistrées dans des journaux, ce qui permet de suivre qui a fait quoi et quand.
  • Contrôle granulaire : Il est possible de configurer sudo pour permettre à certains utilisateurs d'exécuter uniquement des commandes spécifiques avec des privilèges élevés.
  • Réduction des erreurs : En utilisant sudo, les utilisateurs sont moins susceptibles de faire des erreurs critiques, car ils n'ont pas un accès complet au système.

Installation de sudo

Sur certaines distributions Linux, sudo est déjà installé. Si ce n'est pas le cas, vous pouvez l'installer en vous connectant en tant que root et en utilisant le gestionnaire de paquets de votre distribution. Par exemple, sur une distribution basée sur Debian ou Ubuntu, vous pouvez utiliser la commande suivante :

apt update
apt install sudo

Configuration de sudo

Après avoir installé sudo, vous devez configurer les utilisateurs autorisés à l'utiliser. Cela se fait en modifiant le fichier /etc/sudoers ou en ajoutant des utilisateurs à un groupe spécifique (souvent sudo ou wheel, selon la distribution).
Pour éditer le fichier sudoers, il est recommandé d'utiliser la commande visudo, qui vérifie la syntaxe avant de sauvegarder les modifications. Par exemple :

visudo

Utilisation de sudo

Pour exécuter une commande avec sudo, il suffit de préfixer la commande avec sudo. Par exemple, pour mettre à jour la liste des paquets sur une distribution basée sur Debian ou Ubuntu, vous utiliseriez :

sudo apt update

Vous serez invité à entrer votre mot de passe utilisateur pour confirmer l'action. Une fois authentifié, la commande s'exécutera avec les privilèges d'administrateur.

Précautions d'utilisation

  • Utilisez sudo avec précaution : Ne l'utilisez que lorsque c'est nécessaire et assurez-vous de comprendre la commande que vous exécutez.
  • Ne partagez pas votre mot de passe : Votre mot de passe sudo est personnel et ne doit pas être partagé.
  • Limitez les utilisateurs : N'accordez l'accès sudo qu'aux utilisateurs de confiance et qui en ont réellement besoin.
  • Surveillez les journaux : Consultez régulièrement les journaux d'activité de sudo pour détecter toute activité suspecte.

Pratique

Étape 1 : Se connecter en tant que root

Pour cette séance, nous devons nous connecter en tant que root. Pour cela, nous utiliserons la commande su -. Ouvrez un terminal et tapez :

su -
astuce

La commande 'su -' est différente de la commande 'su' ! Elle charge l'environnement de l'utilisateur cible. Si vous n'ajoutez pas le tiret - vous n'aurez pas les variables d'environnement de root.

Entrez le mot de passe de root lorsque vous y êtes invité.

Étape 2 : Installer sudo

Une fois connecté en tant que root, nous pouvons installer sudo.

Sur certains systèmes Linux, sudo est déjà installé. Et pour votre sécurité vous avez probablement déjà installé sudo.

info

Si sudo n'est pas installé, ou si vous ne savez pas s'il est installé, vous pouvez l'installer avec la commande suivante (en super-utilisateur) :

apt update
apt install sudo

Étape 3 : Autoriser un utilisateur à utiliser sudo

Pour autoriser un utilisateur à utiliser sudo, vous devez ajouter cet utilisateur au fichier sudoers.

C'est à dire que nous ajoutons l'utilisateur dans le groupe sudo.

Pour ajouter l'utilisateur sio au groupe sudo nous allons utiliser la commande adduser.

Pour cela, vous pouvez suivre les étapes ci-dessous :

  1. Vous devez être connecté en tant qu'utilisateur root pour exécuter cette commande, car elle nécessite des privilèges d'administrateur.

Si besoin, saisissez la commande suivante, pour se connecter en tant que root :

su - 
  1. Tapez la commande suivante :
adduser sio sudo
  1. Appuyez sur Enter.

Cette commande ajoute l'utilisateur 'sio' au groupe sudo. Cela signifie que l'utilisateur 'sio' peut maintenant exécuter des commandes avec des privilèges d'administrateur en utilisant la commande sudo.

Remarque : Après avoir ajouté un utilisateur à un nouveau groupe, l'utilisateur doit se déconnecter puis se reconnecter pour que les modifications prennent effet.

Étape 4 : Utiliser sudo

Maintenant que vous avez autorisé un utilisateur à utiliser sudo, vous pouvez vous déconnecter de root et vous reconnecter en tant que cet utilisateur. Pour cela, tapez exit pour vous déconnecter de root, puis utilisez su - sio pour vous connecter en tant que l'utilisateur.

Une fois connecté en tant que l'utilisateur, vous pouvez utiliser sudo pour exécuter des commandes nécessitant des privilèges d'administrateur. Par exemple, pour mettre à jour la liste des paquets disponibles, vous pouvez utiliser la commande suivante :

sudo apt update

Vous serez invité à entrer votre mot de passe la première fois que vous utilisez sudo dans une session. Les commandes suivantes avec sudo ne vous demanderont pas de mot de passe pendant un certain temps.

astuce

Voici quelques astuces d'utilisation de sudo :

  1. Passer à l'utilisateur root : Pour obtenir un shell avec les privilèges de l'utilisateur root, vous pouvez utiliser sudo su. Soyez très prudent lorsque vous travaillez en tant que root, car vous avez la possibilité de modifier n'importe quel fichier sur le système, y compris ceux nécessaires à son fonctionnement.

    sudo su
  2. Voir l'historique des commandes sudo : Vous pouvez voir l'historique des commandes exécutées avec sudo en utilisant la commande sudo avec l'option -l. Cela peut être utile pour le dépannage ou pour vérifier ce qu'un utilisateur a fait avec les privilèges de superutilisateur.

    sudo -l
  3. Exécuter plusieurs commandes avec sudo : Si vous avez plusieurs commandes à exécuter avec sudo, vous pouvez les séparer par des points-virgules et les entourer de guillemets. Par exemple :

    sudo sh -c "commande1 ; commande2 ; commande3"

Test de mémorisation/compréhension


Qu'est-ce que la commande 'sudo' permet de faire ?


Comment installer 'sudo' à partir du compte root ?


Pourquoi faut-il se connecter en root pour installer sudo ?


Comment autoriser un utilisateur à utiliser 'sudo' ?


Qu'est-ce qui est affiché à l'écran lorsque vous tapez votre mot de passe pour 'sudo' ?


Pourquoi est-il recommandé d'utiliser 'sudo' plutôt que de se connecter directement en tant que root ?


Que fait la commande 'su -' en plus de la commande 'su' ?



attention

Rappelez-vous que l'utilisation de sudo donne un grand pouvoir et une grande responsabilité. N'utilisez sudo que lorsque c'est absolument nécessaire et assurez-vous de comprendre la commande que vous exécutez.