Pluggable Authentication Modules

A estrutura do módulo de autenticação plugáveis (PAM) permite aos administradores do sistema incorporar vários mecanismos de autenticação em um sistema existente por meio do uso de módulos plugáveis.

Os aplicativos que estão habilitados para o uso do PAM podem ser conectados a novas tecnologias sem que os aplicativos existentes sejam modificados. Essa flexibilidade oferece aos administradores as seguintes opções:

  • Selecionar qualquer serviço de autenticação no sistema para um aplicativo
  • Usar vários mecanismos de autenticação para um determinado serviço
  • Incluir novos módulos de autenticação sem modificar os aplicativos existentes
  • Usar uma senha incluída anteriormente para autenticação em vários módulos

A estrutura de um PAM é composta por uma biblioteca, módulos plugáveis e um arquivo de configuração. A biblioteca do PAM implementa a interface de programação de aplicativos (API) do PAM e é usada para gerenciar as transações do PAM e chamar a interface de programação de serviços (SPI) do PAM definida nos módulos plugáveis. Os módulos plugáveis são carregados dinamicamente pela biblioteca com base no serviço responsável pela chamada e sua entrada no arquivo de configuração. O êxito é determinado não somente pelo módulo plugável, mas também pelo comportamento definido para o serviço. Pelo conceito de empilhamento, um serviço pode ser configurado para autenticação por meio de vários métodos de autenticação. Caso haja suporte, os módulos também podem ser configurados para usar uma senha já enviada anteriormente, em vez de solicitar uma entrada adicional.

O administrador do sistema pode configurar um sistema AIX para usar o PAM por meio da modificação do atributo ' auth_type na estrofe usw do arquivo/etc/security/login.cfg. A configuração auth_type = PAM_AUTH configura comandos ativados pelo PAM para chamar a API do PAM diretamente para autenticação em vez de usar as históricas rotinas de autenticação AIX . Essa configuração é uma decisão tomada no tempo de execução e não requer a reinicialização do sistema para entrar em vigor. Para obter mais informações sobre o atributo auth_type, consulte a referência do arquivo /etc/security/login.cfg. Os seguintes comandos e aplicativos nativos AIX foram modificados para reconhecer o atributo auth_type e ativado para autenticação do PAM:
  • login
  • passwd
  • su
  • ftp
  • telnet
  • rlogin
  • rexec
  • rsh
  • snappd
  • imapd
  • dtaction
  • dtlogin
  • dtsession

A ilustração a seguir mostra a interação entre os aplicativos habilitados para PAM, a biblioteca do PAM, o arquivo de configuração e os módulos PAM em um sistema que foi configurado para utilizar o PAM. Os aplicativos habilitados para o PAM chamam a API do PAM na biblioteca do PAM. A biblioteca determina o módulo adequado a ser carregado na entrada do aplicativo no arquivo de configuração e chama o SPI do PAM no módulo. A comunicação entre o módulo do PAM e o aplicativo se dá por meio do uso de uma função de conversação implementada no aplicativo. O êxito ou a falha do módulo e o comportamento definido no arquivo de configuração determinam, então, a necessidade de carregamento de outro módulo. Se for necessário, o processo continua; caso contrário, o resultado é transmitido para o aplicativo.

Figura 1. Estrutura do PAM e Entidades. Essa ilustração mostra como os comandos habilitados para o PAM usam a biblioteca do PAM para acessar o módulo de PAM adequado.