Comment restreindre l'accès des utilisateurs sur une machine Linux
- 2794
- 765
- Victor Charpentier
Objectif
Apprenez à restreindre l'accès des utilisateurs sur une machine Linux
Système d'exploitation et versions logicielles
- Système opérateur: - Toutes les distributions Linux
Exigences
- Autorisation
Difficulté
FACILE
Conventions
- # - nécessite que les commandes Linux soient exécutées avec des privilèges racine
directement en tant qu'utilisateur racine ou en utilisantSudo
commande - $ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier
Introduction
Dans ce tutoriel, nous allons apprendre à restreindre l'accès à une machine Linux en interagissant avec deux fichiers: / etc /
, qui nous a permis de spécifier à partir de la console qu'il est possible de se connecter directement comme racine, et / etc / Security / Access.confli
, dans lequel nous pouvons définir certaines règles pour restreindre l'accès aux utilisateurs ou groupes spécifiés de certaines origines.
Restreindre la connexion racine
La première chose que nous allons faire, c'est pour apprendre à modifier le / etc /
Fichier afin d'autoriser l'accès à racine directe uniquement sur certaines consoles spécifiques. Jetons un coup d'œil au fichier: voici à quoi il ressemble sur une machine CentOS7:
Console VC / 1 VC / 2 VC / 3 VC / 4 VC / 5 VC / 6 VC / 7 VC / 8 VC / 9 VC / 10 VC / 11 TTY1 TTY2 TTY3 TTY4 TTY5 TTY6 TTY7 TTY8 TTY9 TTY10 TTY11 TTYS0 TTYSCLP0 SCLP_LINE0 3270 / TTY1 HVC0 HVC1 HVC2 HVC3 HVC4 HVC5 HVC6 HVC7 HVSI0 HVSI1 HVSI2 XVC0
Ce que nous voyons là-bas, c'est juste une liste de tous les terminaux à partir desquels l'accès direct en tant qu'utilisateur racine est autorisé. Concentrons-nous sur le tty
Appareils pour l'instant. Ouvrez le fichier avec un éditeur de texte et commentez le tty1
entrée:
[…] # TTY1 TTY2 TTY3 TTY4 TTY5 TTY6 TTY7 TTY8 TTY9 TTY10 TTY11 […]
Enregistrer et quitter l'éditeur de texte. Maintenant, si nous passons au premier tty
en appuyant Ctrl + alt + 1
ou en courant chvt 1
, Et essayez de vous connecter en tant que racine, nous aurons le résultat suivant:
Comme prévu, le système nous a refusé l'accès comme racine à partir du tty spécifié. Pour acquérir des privilèges racine et accomplir des tâches administratives, nous devons ensuite nous connecter en tant qu'utilisateur normal, puis utiliser Sudo
ou su
(ou se connecter à partir d'un autre tty si elle est autorisée).
Sachez que cela n'affectera pas la capacité de se connecter comme racine lorsque vous utilisez SSH. Pour éviter ce comportement spécifique, vous devez configurer le serveur SSH, modifiant le / etc / ssh / sshd_config
fichier et définir le Permatlogine
directive de Non
Configuration des règles d'accès dans / etc / Security / Access.confli
Si la / etc /
Le fichier nous permet de spécifier à partir de quel terminal il est possible de nous connecter directement sous forme de racine, de configurer les règles d'accès dans le / etc / Security / Access.confli
fichier, nous pouvons autoriser ou refuser l'accès à des utilisateurs ou des groupes spécifiques à partir d'origine spécifique.
Insérer le PAM_ACCESS.So Module
Avant de mettre en place nos règles, nous devons modifier / etc / pam.d / connexion
, Pour ajouter le PAM_ACCESS.donc
module qui permettra pam
Pour scanner le accès.confli
déposer pour les règles que nous définirons. Utilisez votre éditeur de texte préféré pour modifier le fichier afin qu'il ait l'air de cette façon:
#% Pam-1.0 auth [user_unknown = ignorer le succès = ok ignore = ignorer default = bad] pam_securetty.Donc, l'autant Autal System-Auth L'authentique inclut le compte postlogin requis PAM_NOLOGINE.Donc, le compte requis PAM_ACCESS.Le compte inclut donc le mot de passe système-UTH inclut le système-AUTH # PAM_SELINUX.Si proche devrait être la première session de règle de session requise PAM_SELINUX.si proche de la session a nécessité PAM_LOGINUID.Donc Session en option PAM_CONSOLE.SO # PAM_SELINUX.L'ouverture ne doit donc être suivie que des sessions à exécuter dans la session de contexte de l'utilisateur requise PAM_SELINUX.Donc, la session ouverte a nécessité Pam_Namespace.Donc ses session en option PAM_KEYINIT.Donc, la session de révocation de force inclut la session System-Auth incluez Postlogin -Session en option PAM_CK_CONNECTER.donc
Ce que nous avons fait, c'est d'ajouter le compte requis PAM_ACCESS.donc
ligne à la fin du compte
section. Maintenant que nous configurons pam
Nous pouvons commencer à parler des règles d'accès.
La syntaxe des règles
Pour définir une règle dans le accès.confli
fichier, nous devons respecter une syntaxe très simple et claire. Une règle est composée de trois sections, séparées par un côlon:
Permission: utilisateurs: origines
La première partie de la règle spécifie les autorisations et se compose d'un -
ou +
Signe: le premier crée ce que nous pouvons appeler une règle «refuser», tandis que le second spécifie une règle où les autorisations d'accès sont accordées.
Dans la deuxième partie, nous fournissons les sujets de la règle. La section se compose d'une liste de groupes ou de noms de connexion. Pour éviter les conflits entre les utilisateurs et les groupes qui peuvent être nommés de la même manière, les entrées de groupe peuvent être spécifiées entre parenthèses, mais seulement si le NodeFGroup
L'option est définie dans le / etc / pam.d / connexion
fichier que nous avons modifié ci-dessus, à la fin de la ligne que nous avons ajouté.
La troisième partie de la règle spécifie la source à partir de laquelle l'accès est autorisé ou refusé, ce qui y est: un ou plusieurs tté
, Noms d'hôte, adresses hôtes ou domaines.
Mots clés
La syntaxe des règles nous a même permis d'utiliser des mots clés puissants. Tout d'abord nous avons TOUS
. Ce mot clé correspondra toujours: par exemple, lorsqu'il est utilisé dans la deuxième section, il correspondra à tous les utilisateurs ou groupes possibles, ou lorsqu'il est utilisé dans le troisième, toutes les sources possibles.
Le AUCUN
Le mot-clé a l'effet opposé exact de TOUS
, et LOCAL
, qui n'a du sens que dans le origines
La section de la règle correspondra à chaque chaîne qui ne contient pas de '.'. Enfin un mot-clé très puissant est SAUF
ce qui nous permet de spécifier des exceptions à une règle définie.
Quelques exemples
Le fichier fournit des exemples utiles, regardons certains d'entre eux. Tout d'abord, nous avons ce qui suit:
- : Tout sauf la racine: TTY1
Cette ligne nous permettrait d'obtenir le résultat opposé que nous avons obtenu auparavant en modifiant le / etc /
Fichier: tout d'abord, nous avons le -
signe, ce qui signifie que c'est un refuser
règle. Dans la section suivante, séparée par un côlon, nous avons Tout sauf la racine
,qui spécifie que la règle doit être appliquée à tous les utilisateurs sauf racine
, Et dans la troisième section, nous voyons que la règle spécifiée n'est valable que lorsque quelqu'un essaie d'accéder à tty1
.
Un autre exemple, cette fois avec plusieurs noms d'utilisateur:
-: wsbscaro wsbsecr wsbspac wsbsym wscosor wstaiwde: tout
La règle interdit l'accès aux utilisateurs WSBSCARO, WSBSECR, WSBSPAC, WSBSYM, WSCOSOR et WSTAIWDE de toutes les sources (voir le TOUS
mot-clé en action)
Quelque chose de plus complexe. Cette fois, la règle nie l'accès à tous les utilisateurs qui ne sont pas membre du groupe de roues local
Connects:
-: Tout sauf (roue): local
Enfin un exemple qui spécifie une règle pour une connexion distante:
+ : Racine: 192.168.200.1 192.168.200.4 192.168.200.9
Comme nous devons maintenant comprendre, cette règle permet racine
Pour accéder au système uniquement à partir des adresses IP spécifiées.
Un cas de test
Nous pouvons vérifier ce que nous avons dit ci-dessus avec un cas de test: construisons une règle pour refuser l'accès à egdoc
(mon compte sur ce système) de tty1
et ajoutez-le à la fin du / etc / Security / Access.confli
déposer:
-: Egdoc: TTY1
Maintenant, si nous passons à tty1
Et essayez de vous connecter, nous obtenons cette réponse grossière du système:
Veuillez noter que l'ordre des règles spécifiées dans le / etc / Security / Access.confli
Le fichier est vraiment important, car les règles sont évaluées par ordre d'apparence.
Tutoriels Linux connexes:
- Choses à installer sur Ubuntu 20.04
- Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
- Fichiers de configuration Linux: 30 premiers
- Téléchargement Linux
- Linux peut-il obtenir des virus? Exploration de la vulnérabilité de Linux…
- Meilleure distribution Linux pour les développeurs
- Choses à faire après l'installation d'Ubuntu 22.04 Jammy Jellyfish…
- Commandes Linux: les 20 meilleures commandes les plus importantes que vous devez…
- Installez Arch Linux dans VMware Workstation
- Commandes Linux de base
- « SSH dans Linux votre ordinateur depuis Android avec Termux
- Comment utiliser Getopts pour analyser une option de script »