O PAM torna muito mais fácil para administradores e desenvolvedores, pois faz alterações no arquivo de código-fonte por conta própria e requer interação mínima. Portanto, o PAM também pode ser definido como uma interface de programação de aplicativo generalizada para serviços relacionados à autenticação. Em vez de reescrever o código, ele é modificado por conta própria.
Interface do Módulo Pam
Auth: É o módulo responsável pela autenticação; verifica a senha.
Conta: Depois que o usuário se autentica com as credenciais corretas, a seção da conta verifica a validade da conta, como expiração ou restrições de tempo de login, etc.
Senha: É usado apenas para alterar a senha.
Sessão: Gerencia as sessões, contém o relato da atividade do usuário, criação de caixas de correio, cria o diretório pessoal do usuário, etc.
Tutorial
- Para verificar se seu aplicativo usa LINUX-PAM ou não use o seguinte comando em seu terminal:
$ ldd / bin / suComo podemos ver na linha 2 da saída, existe um lipbpam.então o arquivo que confirma a consulta.
- A configuração do LINUX-PAM está no diretório / etc / pam.d /. Abra o terminal do seu sistema operacional Linux e vá para o diretório pam digitando o comando: $ cd / etc / pam.d /
Este é o diretório que contém outros serviços que suportam PAM. Um pode
verifique o conteúdo executando o comando $ ls dentro do diretório de pam como mostrado na imagem acima.se você não encontrar o sshd como um serviço que suporta PAM, você deve instalar o servidor sshd.
SSH (ou shell seguro) é uma ferramenta de rede criptografada projetada para permitir que diferentes tipos de computadores / usuários façam login com segurança em vários computadores remotamente em uma rede. Você precisa instalar o pacote openssh-server, o que você pode fazer executando o seguinte comando em seu terminal.
$ sudo apt-get install servidor opensshIrá instalar todos os arquivos e então você pode entrar novamente no diretório pam e verificar os serviços e ver que o sshd foi adicionado.
- Em seguida, digite o seguinte comando. VIM é um editor de texto que abre documentos de texto simples para o usuário ver e editar. $ vim sshd
Se quiser sair do editor vim e não conseguir fazê-lo carregue na tecla Esc e dois pontos (:) ao mesmo tempo que o coloca no modo de inserção. Após os dois pontos, digite q e pressione enter. Aqui, q significa desistir.
Você pode rolar para baixo e ver todos os módulos que foram descritos anteriormente com termos como obrigatório, incluir, requisito, etc. O que são aqueles?
Eles são chamados de Bandeiras de Controle PAM. Vamos entrar em seus detalhes antes de mergulhar em muito mais conceitos de serviços PAM.
Sinalizadores de controle PAM
- Obrigatório: Deve passar para o sucesso do resultado. É a necessidade da qual não se pode prescindir.
- Requisito: Deve passar, caso contrário, nenhum módulo adicional será executado.
- Suficiente: É ignorado se falhar. Se este módulo for aprovado, nenhum sinalizador adicional será verificado.
- Opcional: Muitas vezes é ignorado. Só é usado quando há apenas um módulo na interface.
- Incluir: Ele busca todas as linhas de outros arquivos.
Agora, a regra geral para escrever a configuração principal é a seguinte: tipo de serviço, sinalizador de controle, módulo, argumentos do módulo
- SERVIÇO: Este é o nome do aplicativo. Suponha que o nome do seu aplicativo seja NUCUTA.
- MODELO: Este é o tipo de módulo usado. Suponha que aqui o módulo usado seja o módulo de autenticação.
- CONTROL-FLAG: Este é o tipo de sinalizador de controle usado, um entre os cinco tipos descritos antes.
- MÓDULO: O nome do arquivo absoluto ou o caminho relativo do PAM.
- ARGUMENTOS DE MÓDULO: É a lista separada de tokens para controlar o comportamento do módulo.
Suponha que você queira desabilitar o acesso do usuário root a qualquer tipo de sistema via SSH, você precisa restringir o acesso ao serviço sshd. Além disso, os serviços de login devem ter acesso controlado.
Existem vários módulos que restringem o acesso e dão privilégios mas podemos usar o módulo / lib / security / pam_listfile.tão que é extremamente flexível e tem muitas funcionalidades e privilégios.
- Abra e edite o arquivo / aplicativo no editor vim para o serviço de destino inserindo no / etc / pam.d / diretório primeiro.
A seguinte regra deve ser adicionada em ambos os arquivos:
auth required pam_listfile.então \ onerr = item bem-sucedido = sentido do usuário = arquivo negado = / etc / ssh / deniedusersOnde auth é o módulo de autenticação, obrigatório é o sinalizador de controle, o pam_listfile.então o módulo dá os privilégios de negação aos arquivos, onerr = sucesso é o argumento do módulo, item = usuário é outro argumento do módulo que especifica listagens de arquivos e o conteúdo que deve ser verificado, sense = deny é outro argumento do módulo que irá se o item for encontrado em um arquivo e arquivo = / etc / ssh / deniedusers que especifica um tipo de arquivo que contém apenas um item por linha.
- Em seguida, crie outro arquivo / etc / ssh / deniedusers e adicione root como o nome nele. Isso pode ser feito seguindo o comando: $ sudo vim / etc / ssh / deniedusers
- Em seguida, salve as alterações após adicionar o nome raiz a ele e feche o arquivo.
- Use o comando chmod para mudar o modo de acesso do arquivo. A sintaxe do comando chmod é
Aqui, as referências são usadas para especificar uma lista de letras que indica a quem dar permissão.
Por exemplo, aqui você pode escrever o comando:
$ sudo chmod 600 / etc / ssh / deniedusersIsso funciona de maneira simples. Você especifica os usuários que têm acesso negado ao seu arquivo no arquivo / etc / ssh / deniedusers e define o modo de acesso para o arquivo usando o comando chmod. De agora em diante, ao tentar acessar o arquivo devido a esta regra, o PAM negará a todos os usuários listados no arquivo / etc / ssh / deniedusers qualquer acesso ao arquivo.
Conclusão
O PAM fornece suporte de autenticação dinâmica para aplicativos e serviços em um sistema operacional Linux. Este guia indica uma série de sinalizadores que podem ser usados para determinar o resultado do resultado de um módulo. É conveniente e confiável. para usuários do que a senha tradicional e o mecanismo de autenticação de nome de usuário e, portanto, o PAM é frequentemente usado em muitos sistemas seguros.