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 racine
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 :
- Ajouter un autre utilisateur et accordez-lui les privilèges root
- Désactiver la connexion racine SSH
Créer un nouveau superutilisateur
À accorder les autorisations sudo ou root à un compte d'utilisateur Linux standard, ajoutez l'utilisateur au sudo groupe comme suit :
usermod -aG sudo nom d'utilisateur
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 :
su - nom d'utilisateur
sudo systemctl redémarrer 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/secure 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 non
Enregistrez le fichier et redémarrez le sshd service en tapant :
sudo systemctl redémarrer 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 :
Autorisation refusée, veuillez réessayer.
2. Définir des 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 de l'utilisateur :
chage -l nom d'utilisateur | compte grep
Sortir:
Le compte expire: jamais
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 nom d'utilisateur
chage -l nom d'utilisateur | compte grep
3. Améliorer la sécurité du mot de passe du compte
L'application d'une politique de mot de passe fort est un aspect important de la sécurisation des comptes d'utilisateurs, car les mots de passe faibles permettent aux attaquants de s'introduire facilement dans vos systèmes via Force brute, dictionnaire ou 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 nom d'utilisateur | jours grep
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 | 7 |
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.
changement -M 40 -m 5 -W 7 nom d'utilisateur
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 à l'intérieur 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/shadow fichier avec l'ensemble d'autorisations d'accès suivant :
ls -l /etc/ombre
1 racine racine 1626 7 janvier 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/shadow 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 :
trouver / -user nom d'utilisateur
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 nom d'utilisateur
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 nom d'utilisateur ssh_gp
nom d'utilisateur des groupes
Maintenant, ouvrez le fichier de configuration principal OpenSSL pour inclure le groupe d'utilisateurs autorisé ssh_gp.
sudo vim /etc/ssh/sshd_config
Autoriser les groupes 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 redémarrer 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 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.
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
- Linux
- Sécurité
- Contrôle de compte d'utilisateur
- Sécurité
- Conseils de sécurité
Rumaisa est rédactrice indépendante au MUO. Elle a porté plusieurs casquettes, de mathématicienne à passionnée de sécurité de l'information, et travaille maintenant en tant qu'analyste SOC. Ses intérêts incluent la lecture et l'écriture sur les nouvelles technologies, les distributions Linux et tout ce qui concerne la sécurité de l'information.
Abonnez-vous à notre newsletter
Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !
Cliquez ici pour vous abonner