pam

Tutoriel Linux Pam pour la sécurité

Tutoriel Linux Pam pour la sécurité
PAM signifie Pluggable Authentication Modules qui fournit un support d'authentification dynamique pour les applications et les services dans un système d'exploitation Linux. C'est un mécanisme de sécurité qui permet une protection via PAM au lieu de demander un nom d'utilisateur et un mot de passe. PAM est responsable de l'authentification des fichiers en cours d'exécution. Chaque application se compose de plusieurs fichiers configurables, et chacun se compose d'une pile de plusieurs modules. Ces modules sont ensuite exécutés de haut en bas, puis le PAM génère la réponse, qu'elle soit réussie ou non en fonction du résultat.

PAM le rend beaucoup plus facile pour les administrateurs et les développeurs car il modifie seul le fichier de code source et nécessite une interaction minimale. Ainsi, PAM peut également être défini comme une interface de programmation d'applications généralisée pour les services liés à l'authentification. Au lieu de réécrire le code, il est modifié tout seul.

Interfaces du module Pam

Authentification: c'est le module qui se charge de l'authentification ; il vérifie le mot de passe.
Compte: Une fois que l'utilisateur s'est authentifié avec les informations d'identification correctes, la section du compte vérifie la validité du compte, comme l'expiration ou les contraintes de connexion, etc.
Mot de passe: Il est uniquement utilisé pour changer le mot de passe.
Session: Il gère les sessions, contient le compte de l'activité de l'utilisateur, la création de boîtes aux lettres, crée le répertoire personnel de l'utilisateur, etc.

Didacticiel

  1. Pour vérifier si votre application utilise LINUX-PAM ou non, utilisez la commande suivante dans votre terminal :

    $ ldd /bin/su

    Comme on peut le voir à la ligne 2 de la sortie, il existe un lipbpam.donc fichier qui confirme la requête.

  2. La configuration de LINUX-PAM se trouve dans le répertoire /etc/pam.ré/. Ouvrez le terminal de votre système d'exploitation Linux et allez dans le répertoire pam en tapant la commande : $ cd /etc/pam.ré/

    Il s'agit du répertoire qui contient d'autres services prenant en charge PAM. On peut


    vérifiez le contenu en exécutant la commande $ ls   dans le répertoire de pam, comme indiqué dans la capture d'écran ci-dessus.

    si vous ne trouvez pas sshd en tant que service prenant en charge PAM, vous devez installer le serveur sshd.

    SSH (ou shell sécurisé) est un outil de mise en réseau crypté conçu pour permettre à différents types d'ordinateurs/utilisateurs de se connecter en toute sécurité à divers ordinateurs à distance sur un réseau. Vous devez installer le package openssh-server que vous pouvez faire en exécutant la commande suivante dans votre terminal.

    $sudo  apt-get   install openssh-server

    Il installera tous les fichiers, puis vous pourrez entrer à nouveau dans le répertoire pam et vérifier les services et voir que sshd a été ajouté.

  3. Tapez ensuite la commande suivante. VIM est un éditeur de texte qui ouvre des documents en texte brut pour que l'utilisateur puisse les voir et les modifier. $vim sshd

    Si vous souhaitez quitter l'éditeur vim et que vous ne pouvez pas le faire, appuyez sur la touche Echap et les deux points (:) en même temps, ce qui vous met en mode insertion. Après les deux points, tapez q et appuyez sur Entrée. Ici q signifie quitter.

    Vous pouvez faire défiler vers le bas et voir tous les modules qui ont été décrits précédemment avec des termes tels que requis, inclure, requis, etc. Quels sont ces?

    Ils sont appelés drapeaux de contrôle PAM. Entrons dans leurs détails avant de plonger dans beaucoup plus de concepts de services PAM.

Drapeaux de contrôle PAM

  1. Obligatoire: Doit passer pour aboutir au succès. C'est la nécessité dont on ne peut se passer.
  2. Requis: Doit réussir sinon aucun autre module n'est exécuté.
  3. Suffisant: Il est ignoré en cas d'échec. Si ce module est passé, aucun autre indicateur ne sera vérifié.
  4. Optionnel: Il est souvent ignoré. Il n'est utilisé que lorsqu'il n'y a qu'un seul module dans l'interface.
  5. Inclure: Il récupère toutes les lignes des autres fichiers.

Maintenant, la règle générale pour écrire la configuration principale est la suivante : type de service control-flag module module-arguments

  1. UN SERVICE: C'est le nom de l'application. Supposons que le nom de votre application soit NUCUTA.
  2. TAPER: C'est le type de module utilisé. Supposons ici que le module utilisé soit le module d'authentification.
  3. CONTROL-DRAPEAU : C'est le type d'indicateur de contrôle utilisé, l'un des cinq types décrits précédemment.
  4. MODULE: Le nom de fichier absolu ou le chemin relatif du PAM.
  5. MODULE-ARGUMENTS : C'est la liste séparée des jetons pour contrôler le comportement du module.

Supposons que vous souhaitiez désactiver l'accès de l'utilisateur root à tout type de système via SSH, vous devez restreindre l'accès au service sshd. De plus, l'accès aux services de connexion doit être contrôlé.

Il y a plusieurs modules qui restreignent l'accès et donne des privilèges mais on peut utiliser le module /lib/security/pam_listfile.donc qui est extrêmement flexible et possède de nombreuses fonctionnalités et privilèges.

  1. Ouvrez et modifiez le fichier/l'application dans l'éditeur vim pour le service cible en entrant dans le /etc/pam.ré/ répertoire d'abord.

La règle suivante doit être ajoutée dans les deux fichiers :

authentification requise pam_listfile.so\onerr=succeed item=user sense=deny file=/etc/ssh/deniedusers

Où auth est le module d'authentification, requis est l'indicateur de contrôle, le pam_listfile.donc module donne les privilèges de refus aux fichiers, onerr=succeed est l'argument du module, item=user est un autre argument du module qui spécifie les listes de fichiers et le contenu pour lequel il doit être vérifié, sense=deny est un autre argument du module qui le fera si item trouvé dans un fichier et file=/etc/ssh/deniedusers qui spécifie un type de fichier qui ne contient qu'un élément par ligne.

  1. Créez ensuite un autre fichier /etc/ssh/deniedusers et ajoutez root comme nom dedans. Cela peut être fait en suivant la commande : $sudo vim /etc/ssh/deniedusers
  1. Ensuite, enregistrez les modifications après avoir ajouté le nom de racine et fermez le fichier.
  2. Utilisez le chmod commond pour changer le mode d'accès du fichier. La syntaxe de la commande chmod est
 chmod   [référence][opérateur][mode] fichier

Ici, les références sont utilisées pour spécifier une liste de lettres qui indique à qui donner la permission.

Par exemple, ici vous pouvez écrire la commande :

$sudo   chmod   600  /etc/ssh/deniedusers

Cela fonctionne de manière simple. Vous spécifiez les utilisateurs auxquels l'accès à votre fichier est refusé dans le fichier /etc/ssh/deniedusers et définissez le mode d'accès pour le fichier à l'aide de la commande chmod. À partir de maintenant, en essayant d'accéder au fichier en raison de cette règle, PAM refusera à tous les utilisateurs répertoriés dans le fichier /etc/ssh/deniedusers tout accès au fichier.

Conclusion

PAM fournit un support d'authentification dynamique pour les applications et les services dans un système d'exploitation Linux. Ce guide indique un certain nombre d'indicateurs qui peuvent être utilisés pour déterminer le résultat du résultat d'un module. C'est pratique et fiable. pour les utilisateurs que le mot de passe traditionnel et le mécanisme d'authentification du nom d'utilisateur, et donc PAM est souvent utilisé dans de nombreux systèmes sécurisés.

OpenTTD contre Simutrans
Créer votre propre simulation de transport peut être amusant, relaxant et extrêmement attrayant. C'est pourquoi vous devez vous assurer que vous essay...
Tutoriel OpenTTD
OpenTTD est l'un des jeux de simulation d'entreprise les plus populaires. Dans ce jeu, vous devez créer une merveilleuse entreprise de transport. Cepe...
SuperTuxKart pour Linux
SuperTuxKart est un excellent titre conçu pour vous apporter l'expérience Mario Kart gratuitement sur votre système Linux. C'est assez stimulant et am...