A coisa mais crucial para um administrador do sistema entender é como os arquivos de configuração do PAM fornecem o link entre serviços e PAMs que realizam as atividades reais de autenticação. Você não precisa compreender o trabalho interno de Pam. Pam pode alterar significativamente a segurança do seu sistema Linux. Configurações incorretas podem proibir total ou parcialmente o acesso à sua máquina.
Interfaces de Linux-Pam no Ubuntu 20.04
Quatro grupos de gerenciamento diferentes lidam com as tarefas de autenticação PAM separadamente. Quando um usuário típico solicita um serviço restrito, esses grupos lidam com várias partes da solicitação:
Como validar um programa Linux-Pam no Ubuntu 20.04
Um aplicativo ou programa deve estar "ciente do PAM" ou expressamente construído e compilado para usar o PAM. Use o comando "LDD" para ver se um programa foi construído usando a biblioteca PAM para determinar se é "cedido de pam" ou não. Quando o comando "ldd /bin /su" é executado, o arquivo "libpam.Então ”é destacado na segunda linha que suporta a consulta. A validação é mostrada na captura de tela abaixo:
O diretório /etc /pam.d/ contém a configuração para Linux-pam. Vá para o diretório PAM inserindo o seguinte comando no terminal do seu sistema operacional Linux:
O instantâneo anterior mostra que se pode examinar o conteúdo inserindo o comando "LS" no diretório PAM. O servidor SSHD deve ser instalado se não estiver listado como um serviço que implementa Pam. O SSH, também conhecido como Secure Shell, é um aplicativo de rede que criptografa a transmissão de dados e permite que vários tipos e usuários de computador se conectem com segurança e remotamente em uma rede a vários sistemas. O comando a seguir adquire o pacote OpenSsh-Server:
Você pode então entrar novamente no diretório PAM, verificar os serviços e ver que o SSHD foi adicionado depois de terminar de instalar todos os arquivos. O serviço SSHD é destacado no “/etc/pam.diretório d ”.
Como configurar um programa Linux-Pam no Ubuntu 20.04
Cada chamada de cada módulo PAM resulta em sucesso ou falha. O resultado é tratado por Pam usando sinalizadores de controle. Os sinalizadores de controle especificam a importância relativa do sucesso ou falha de cada módulo com o objetivo geral de estabelecer a identidade do usuário com o serviço, e os módulos podem ser empilhados em uma determinada ordem. Existem quatro sinalizadores de controle pré -configurados disponíveis:
Basta digitar o seguinte comando dentro do diretório PAM:
Como você pode ver, o termo das bandeiras de controle, que descrevemos anteriormente no seguinte arquivo PAM:
A diretriz geral a seguir deve ser usada ao escrever a configuração principal:
Se você deseja impedir que os usuários root se conectem a qualquer sistema sobre o SSH, deve restringir o acesso ao serviço SSHD. Além disso, o acesso aos serviços de login deve ser restrito.
Vários módulos limitam o acesso e os privilégios concedidos, mas podemos utilizar o módulo incrivelmente adaptável e rico em recursos/Lib/Security/Pam ListFile.então. Vá para o /etc /pam.D/ Diretório, abra o arquivo do serviço de destino e faça as alterações necessárias da seguinte forma:
O regulamento a seguir deve ser inserido no arquivo:
Anteriormente, o tipo de módulo é auth (ou contexto). A bandeira de controle indica que, apesar de quão bem os outros módulos estão executando, se o módulo for utilizado, ele deve ter sucesso ou o resultado geral será uma falha. Um meio de ativar ou negar serviços com base em qualquer arquivo é fornecido pelo Pam ListFile.então módulo. orerr = sucesso é um argumento para o módulo. O item = usuário é um argumento do módulo que descreve o conteúdo do arquivo que precisa ser verificado. A opção Sense = Negar Module indica a ação a ser tomada se o item estiver localizado no arquivo. Caso contrário, o curso de ação oposto é solicitado. O arquivo com um item por linha é especificado pelo arquivo de opção do módulo =/etc/ssh/netiedusers.
A raiz do nome deve ser adicionada ao arquivo/etc/ssh/netiedusers após a criação:
Depois de fazer as permissões necessárias, salve as modificações e feche o arquivo:
Com a regra anterior em vigor, Pam será instruído a verificar o/etc/ssh/netiedusers e impedir que todos os usuários listados usem os serviços SSH e Login que avançam.
Conclusão
Programas que dependem da autenticação podem garantir que apenas aplicativos autorizados estejam em um sistema operacional Linux devido à API de alto nível robusta conhecida como PAM. Tem muito poder, mas também é bastante difícil de compreender e operar. Para aplicativos e serviços em execução no Linux, o PAM oferece suporte a autenticação dinâmica. O desempenho de um módulo pode ser avaliado usando qualquer um dos sinalizadores de controle listados neste manual. O PAM é frequentemente usado em muitos sistemas seguros, porque é mais amigável e confiável do que o mecanismo de autenticação de senha e usuário convencional.