L' sudo
utilisation d' un utilisateur pour accéder à un serveur et exécuter des commandes au niveau racine est une pratique très courante chez Linux et Unix Systems Administrator. L'utilisation d'un sudo
utilisateur est souvent associée à la désactivation de l'accès root direct à son serveur dans le but d'empêcher tout accès non autorisé.
Dans ce tutoriel, nous couvrirons les étapes de base pour désactiver l'accès root direct, créer un utilisateur sudo et configurer le groupe sudo sur CentOS, Debian et FreeBSD.
Conditions préalables
- Un serveur Linux nouvellement installé avec votre distribution préférée.
- Un éditeur de texte installé sur le serveur que ce soit nano, vi, vim, emacs.
Étape 1: installer sudo
Debian
apt-get install sudo -y
CentOS
yum install sudo -y
FreeBSD
cd /usr/ports/security/sudo/ && make install clean
ou
pkg install sudo
Étape 2: ajouter l'utilisateur sudo
Un sudo
utilisateur est un compte utilisateur normal sur une machine Linux ou Unix.
Debian
adduser mynewusername
CentOS
adduser mynewusername
FreeBSD
adduser mynewusername
Étape 3: ajout du nouvel utilisateur au groupe de roues (facultatif)
Le groupe de roues est un groupe d'utilisateurs qui limite le nombre de personnes capables su
de rooter. L'ajout de votre sudo
utilisateur au wheel
groupe est entièrement facultatif, mais il est conseillé.
Remarque: Dans Debian, le sudo
groupe est souvent trouvé à la place de wheel
. Vous pouvez cependant ajouter manuellement le wheel
groupe à l'aide de la groupadd
commande. Pour les besoins de ce tutoriel, nous utiliserons le sudo
groupe pour Debian.
La différence entre wheel
et sudo
.
Dans CentOS et Debian, un utilisateur appartenant au wheel
groupe peut exécuter su
et accéder directement à root
. Pendant ce temps, un sudo
utilisateur aurait dû utiliser le sudo su
premier. Essentiellement, il n'y a pas de réelle différence, sauf pour la syntaxe utilisée pour devenir root , et les utilisateurs appartenant aux deux groupes peuvent utiliser la sudo
commande.
Debian
usermod -aG sudo mynewusername
CentOS
usermod -aG wheel mynewusername
FreeBSD
pw group mod wheel -m mynewusername
Étape 4: vérifier que votre sudoers
fichier est correctement configuré
Il est important de s'assurer que le sudoers
fichier situé dans /etc/sudoers
est correctement configuré afin de permettre sudo users
une utilisation efficace de la sudo
commande. Pour ce faire, nous afficherons le contenu /etc/sudoers
et les modifierons le cas échéant.
Debian
vim /etc/sudoers
ou
visudo
CentOS
vim /etc/sudoers
ou
visudo
FreeBSD
vim /etc/sudoers
ou
visudo
Remarque: La visudo
commande s'ouvrira en /etc/sudoers
utilisant l'éditeur de texte préféré du système (généralement vi ou vim) .
Commencez à examiner et à modifier sous cette ligne:
# Allow members of group sudo to execute any command
Cette section /etc/sudoers
ressemble souvent à ceci:
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
Dans certains systèmes, vous pouvez ne pas trouver à la %wheel
place de %sudo
; dans ce cas, ce serait la ligne sous laquelle vous commenceriez à modifier.
Si la ligne commençant par %sudo
Debian ou %wheel
CentOS et FreeBSD n'est pas mise en commentaire (préfixée par #) , cela signifie que sudo est déjà configuré et est activé. Vous pouvez ensuite passer à l'étape suivante.
Étape 5: Autoriser un utilisateur qui n'appartient ni à wheel
ni au sudo
groupe à exécuter la sudo
commande
Il est possible d'autoriser un utilisateur n'appartenant à aucun des groupes d'utilisateurs à exécuter la sudo
commande en les ajoutant simplement /etc/sudoers
comme suit:
anotherusername ALL=(ALL) ALL
Étape 6: redémarrage du serveur SSHD
Pour appliquer les modifications apportées /etc/sudoers
, vous devez redémarrer le serveur SSHD comme suit:
Debian
/etc/init.d/sshd restart
CentOS 6
/etc/init.d/sshd restart
CentOS 7
systemctl restart sshd.service
FreeBSD
/etc/rc.d/sshd start
Étape 7: Test
Après avoir redémarré le serveur SSH, déconnectez-vous puis reconnectez-vous en tant que votre sudo user
, puis essayez d'exécuter certaines commandes de test comme suit:
sudo uptime
sudo whoami
N'importe laquelle des commandes ci-dessous permettra sudo user
au devenir root
.
sudo su -
sudo -i
sudo -S
Remarques:
- La
whoami
commande reviendra root
lorsqu'elle sera associée à sudo
.
- Vous serez invité à entrer le mot de passe de votre utilisateur lors de l'exécution de la
sudo
commande, sauf si vous demandez explicitement au système de ne pas demander sudo users
son mot de passe. Veuillez noter que ce n'est pas une pratique recommandée.
Facultatif: autoriser sudo
sans saisir le mot de passe de l'utilisateur
Comme expliqué précédemment, ce n'est pas une pratique recommandée et est inclus dans ce didacticiel à des fins de démonstration uniquement.
Afin de permettre à votre sudo user
exécuter la sudo
commande sans être invité à entrer son mot de passe, le suffixe de la ligne d'accès /etc/sudoers
avec NOPASSWD: ALL
comme suit:
%sudo ALL=(ALL:ALL) ALL NOPASSWD: ALL
Remarque: vous devez redémarrer votre serveur SSHD pour appliquer les modifications.
Étape 8: désactiver l'accès direct à la racine
Maintenant que vous avez confirmé que vous pouvez utiliser votre sudo user
sans problème, il est temps pour la huitième et dernière étape de désactiver l'accès direct à la racine.
Tout d'abord, ouvrez à l' /etc/ssh/sshd_config
aide de votre éditeur de texte préféré et recherchez la ligne contenant la chaîne suivante. Il peut être préfixé par un #
caractère.
PermitRootLogin
Quel que soit le préfixe ou la valeur de l'option dans /etc/ssh/sshd_config
, vous devez modifier cette ligne comme suit:
PermitRootLogin no
Enfin, redémarrez votre serveur SSHD.
Remarque: N'oubliez pas de tester vos modifications en tentant de SSH dans votre serveur en tant que root
. Si vous ne pouvez pas le faire, cela signifie que vous avez réussi toutes les étapes nécessaires.
Ceci conclut notre tutoriel.