5 façons d’améliorer la sécurité des comptes utilisateur Linux

La première et la plus cruciale étape vers la sécurisation des serveurs et des systèmes Linux consiste à empêcher les parties malveillantes d’accéder de manière non requise. Un contrôle approprié des comptes d’utilisateurs est l’un des nombreux moyens d’améliorer la sécurité de votre système.

Un compte d’utilisateur renforcé empêche le système des méthodes d’attaque les plus courantes d’élévation horizontale ou verticale des privilèges. Par conséquent, en tant qu’administrateur système Linux, vous êtes également responsable de la protection de votre serveur via des techniques de sécurité efficaces.

Cet article couvre certains contrôles de sécurité de base des comptes d’utilisateurs pour empêcher les accès inutiles et corriger les éventuelles failles de compromission du système.


1. Restreindre l’accès au compte root

Par défaut, chaque installation de système Linux configure un compte root accessible à toute personne de l’extérieur via SSH. Cependant, l’accès au compte root via SSH ou l’accès de plusieurs utilisateurs à l’intérieur du système peut entraîner des problèmes de répudiation.

Par exemple, un attaquant peut utiliser la force brute pour se connecter en tant qu’utilisateur root et accéder au système.

Pour restreindre l’accès root inutile depuis l’intérieur/l’extérieur du système Linux, vous pouvez :

Créer un nouveau superutilisateur

Pour accorder des autorisations sudo ou root à un compte d’utilisateur Linux standard, ajoutez l’utilisateur au sudo groupe comme suit :

usermod -aG sudo username

Passez maintenant au compte utilisateur à l’aide de la commande su et vérifiez ses privilèges root en exécutant une commande accessible uniquement à l’utilisateur root :

UTILISEZ LA VIDÉO DU JOUR
su - username
sudo systemctl restart sshd

L’activation des autorisations sudo offre de bons avantages en matière de sécurité, tels que :

  • Vous n’avez pas besoin de partager les mots de passe root avec les utilisateurs réguliers.
  • Il vous aide à vérifier toutes les commandes exécutées par les utilisateurs réguliers, ce qui signifie qu’il stocke les détails de qui, quand et où l’exécution de la commande dans le /var/log/sécurisé déposer.
  • En outre, vous pouvez modifier le /etc/sudoers fichier pour limiter les autorisations de superutilisateur des utilisateurs réguliers. Vous pouvez utiliser la commande su -l pour vérifier les autorisations root actuelles d’un utilisateur.

Désactiver la connexion SSH racine

Pour désactiver l’accès root SSH sur votre système, ouvrez d’abord le fichier de configuration principal.

sudo vim /etc/ssh/sshd_config

Décommentez maintenant la ligne suivante pour définir les autorisations de connexion root sur non:

PermitRootLogin no

Enregistrez le fichier et redémarrez le sshd service en tapant :

sudo systemctl restart sshd

Désormais, chaque fois que vous essayez de vous connecter en SSH au système en tant qu’utilisateur root, vous recevez le message d’erreur suivant :

Permission denied, please try again.

2. Définir les dates d’expiration sur les comptes

Un autre moyen efficace de contrôler les accès inutiles consiste à définir des dates d’expiration sur les comptes créés pour une utilisation temporaire.

Par exemple, si un stagiaire ou un employé a besoin d’accéder au système, vous pouvez définir une date d’expiration lors de la création du compte. Il s’agit d’une mesure de précaution au cas où vous oublieriez de retirer ou de supprimer manuellement le compte après qu’il ait quitté l’organisation.

Utilisez le changement commande avec l’utilitaire grep pour récupérer les détails d’expiration du compte pour l’utilisateur :

chage -l username| grep account

Sortir:

Account expires : never

Comme indiqué ci-dessus, il n’affiche aucune date d’expiration. Utilisez maintenant le mod utilisateur commande avec le -e indicateur pour définir la date d’expiration dans le AAAA-MM-JJ format et vérifiez la modification à l’aide de la commande chage ci-dessus.

usermod -e 2021-01-25 username
chage -l username| grep account

3. Améliorer la sécurité du mot de passe du compte

L’application d’une politique de mots de passe forts est un aspect important de la sécurisation des comptes d’utilisateurs, car les mots de passe faibles permettent aux attaquants de pénétrer facilement dans vos systèmes via des attaques par force brute, par dictionnaire ou par table arc-en-ciel.

Le choix d’un mot de passe facile à mémoriser peut offrir une certaine commodité, mais il ouvre également des possibilités pour les attaquants de deviner les mots de passe à l’aide d’outils et de listes de mots disponibles en ligne.


Définir la date d’expiration du mot de passe

De plus, Linux propose des options par défaut à l’intérieur /etc/logins.defs fichier qui vous permet de définir le vieillissement du mot de passe du compte. Utilisez le changement commande et grep les détails d’expiration du mot de passe comme suit :

chage -l username | grep days
variables Valeur par défaut Usage Valeur idéale
PASS_MAX_DAYS 9999 Le nombre de jours par défaut pour utiliser un mot de passe qui dépend du type de configuration de votre compte 40
PASS_MIN_DAYS 0 Empêche les utilisateurs de changer leur mot de passe immédiatement 5
PASS_MIN_LEN 5 Oblige l’utilisateur à définir des mots de passe d’une certaine longueur 15
PASS_WARN_AGE 0 Avertit l’utilisateur de changer le mot de passe avant d’être forcé de le faire sept

Pour les comptes en cours d’utilisation, vous pouvez contrôler le vieillissement du mot de passe à l’aide du changement pour définir PASS_MAX_DAYS, PASS_MIN_DAYS et PASS_WARN_AGE sur 40, 5 et 7.

chage -M 40 -m 5 -W 7 username

Hachages de mot de passe

Une autre façon de renforcer la sécurité du mot de passe du compte consiste à stocker les hachages de mot de passe dans le fichier /etc/shadow. Les hachages sont des fonctions mathématiques à sens unique qui prennent le mot de passe comme entrée et produisent une chaîne non réversible.

Auparavant, sur les systèmes Linux, chaque fois qu’un utilisateur saisissait son mot de passe pour se connecter, le système générait son hachage et le recoupait avec celui stocké dans /etc/passwd déposer.

Cependant, il y a un problème avec l’accès au fichier passwd, c’est-à-dire que toute personne ayant accès au système peut lire le fichier et déchiffrer le hachage avec des tables arc-en-ciel.

Par conséquent, Linux enregistre désormais les hachages à l’intérieur du /etc/ombre fichier avec l’ensemble d’autorisations d’accès suivant :

ls -l /etc/shadow
---------- 1 root root 1626 Jan 7 13:56 /etc/shadow

Il vous est toujours possible d’installer Linux avec les anciennes méthodes de stockage des hachages. Vous pouvez modifier cela en exécutant le pwconv commande, de sorte qu’il enregistrera automatiquement les hachages de mot de passe dans le /etc/ombre déposer. De même, vous pouvez activer l’autre méthode (/etc/passwd fichier) à l’aide du pwunconv commander.

4. Supprimer les comptes d’utilisateurs inutilisés

Un acteur malveillant peut exploiter des comptes inutilisés et expirés dans le système, en renouvelant ce compte et en le faisant apparaître comme un utilisateur légitime. Pour supprimer un compte inactif et les données associées chaque fois qu’un utilisateur quitte l’organisation, recherchez d’abord tous les fichiers liés à l’utilisateur :

find / -user username

Ensuite, désactivez le compte ou définissez une date d’expiration comme indiqué ci-dessus. N’oubliez pas de sauvegarder les fichiers appartenant à l’utilisateur. Vous pouvez choisir d’attribuer des fichiers à un nouveau propriétaire ou de les supprimer du système.

Enfin, supprimez le compte utilisateur à l’aide de la commande userdel.

userdel -f username

5. Restreindre l’accès à distance à un groupe d’utilisateurs spécifique

Si vous hébergez un serveur Web sur votre machine Linux, vous devrez peut-être autoriser uniquement des utilisateurs spécifiques à utiliser SSH à distance dans le système. OpenSSL vous permet de limiter les utilisateurs en vérifiant s’ils appartiennent à un groupe spécifique.

Pour cela, créez un groupe d’utilisateurs nommé ssh_gp, ajoutez les utilisateurs auxquels vous souhaitez accorder un accès à distance au groupe et répertoriez les informations du groupe d’utilisateurs comme suit :

sudo groupadd ssh_gp
sudo gpasswd -a username ssh_gp
groups username

Maintenant, ouvrez le fichier de configuration principal OpenSSL pour inclure le groupe d’utilisateurs autorisé ssh_gp.

sudo vim /etc/ssh/sshd_config
AllowGroups ssh_gp

N’oubliez pas de décommenter la ligne pour garantir une inclusion réussie dans le groupe. Une fois terminé, enregistrez et quittez le fichier et redémarrez le service :

sudo systemctl restart sshd

Maintenir la sécurité des comptes d’utilisateurs sous Linux

De nos jours, la plupart des organisations hébergent des infrastructures critiques telles que des serveurs Web, des pare-feu et des bases de données sur Linux, et la compromission de tout composant interne constitue une menace importante pour l’ensemble de l’infrastructure.

Compte tenu de l’importance de la configuration, la gestion et la sécurisation des comptes utilisateurs est un défi fondamental auquel sont confrontés les administrateurs Linux. Cet article a répertorié certaines mesures de sécurité qu’un administrateur de compte doit prendre pour protéger le système contre les menaces potentielles dues à des comptes d’utilisateurs non protégés.


gestion des comptes utilisateurs sous linux
Le guide complet de la gestion des utilisateurs sous Linux

La gestion des utilisateurs est une tâche cruciale que tout administrateur système Linux devrait maîtriser. Voici le guide ultime de gestion des utilisateurs pour Linux.

Lire la suite


A propos de l’auteur

Source-133