web-dev-qa-db-fra.com

Qu'est-ce que PAM et pourquoi AWS l'active-t-il par défaut?

Je souhaite uniquement me connecter à mon instance EC2 à l'aide de SSH, mais mon sshd_config a UsePAM yes. Qu'est-ce que c'est et est-ce que je serai verrouillé hors de mon instance si je la règle à no?

De plus, je règle un cronjob pour vérifier si mon videur ZNC est activé et que mon /var/log/auth.log en est rempli:

CRON [5216]: pam_unix (cron: session): session fermée pour l'utilisateur znc-admin

Comme vous pouvez le constater, il y a une chose pam_unix qui renvoie à ma première question.

2
modkooc

Pam est les modules d'authentification enfichables.

C'est un backend pour l'authentification, qui gère l'authentification pour les applications sur un système. Comme son nom l'indique, il est enfichable. Vous pouvez avoir plusieurs plugs fournissant une authentification à partir de différentes sources. Une source commune est la combinaison de/etc/passwd et de/etc/shadow. D'autres peuvent être LDAP, Kerberos, NIS ou des lecteurs d'empreintes digitales.

En bref, il fournit une interface cohérente aux applications, telles que login et ssh, pour s’authentifier.

Il se compose de quatre parties:

  1. Comptes - garder une trace des noms d'utilisateur.
  2. Authentification - vérification des mots de passe (ou empreintes digitales .. ou ...)
  3. Gestion de session - actions à effectuer pour démarrer et terminer une session, comme la comptabilité.
  4. Mise à jour du mot de passe - mise à jour des mots de passe et application des normes de mot de passe.

Si nous regardons man sshd_config, nous pouvons lire ce qui suit:

UsePAM
Active l'interface du module d'authentification enfichable. Si la valeur est "yes", cela activera l'authentification PAM à l'aide de ChallengeResponseAuthentication et de PasswordAuthentication, en plus du traitement du compte PAM et du module de session pour tous les types d'authentification.

Étant donné que l'authentification par demande-réponse PAM remplit généralement un rôle équivalent à l'authentification par mot de passe, vous devez désactiver soit PasswordAuthentication, soit ChallengeResponseAuthentication.

Si UsePAM est activé, vous ne pourrez pas exécuter sshd (8) en tant qu'utilisateur non root. La valeur par défaut est "non".

Vous pouvez le définir sur no si vous ne souhaitez pas utiliser PAM. Sur une seule instance permanente, il n'y a aucune grosse raison d'utiliser PAM - vous n'avez généralement qu'une seule source d'authentification (/ etc/passwd// etc/shadow). . D'un autre côté, il n'y a pas de grande raison de changer non plus dans cet environnement.

Ce que vous voyez dans votre journal fait partie des modules de la session: il enregistre les utilisateurs authentifiés - dans ce cas, un script a été exécuté sous cet utilisateur. Ceci est normal et ne vous préoccupez pas, ni même ne vous souciez de rien.

Éditer: comme l'utilisateur le savait brutalement - do not le définir sur no sauf si l'authentification par clé publique fonctionne ou si vous activez d'autres schémas d'authentification par mot de passe. Avec ssh, il est également possible de changer de configuration, de redémarrer ssh et d’essayer de vous connecter avant en vous déconnectant du shell actuel. De cette façon, vous pouvez revenir si vous êtes bloqué.

4
vidarlo