Uma introdução ao Linux-PAM

O Linux-PAM (Pluggable Authentication Modules for Linux) é uma suíte de bibliotecas distribuídas que viabilizam ao administrador do sistema especificar a forma que as aplicações autenticam os seus usuários. Basicamente, é um mecanismo bastante flexível para autenticação de usuários.

[ Hits: 70.168 ]

Por: João Lucas Pereira de Santana em 18/06/2010


Realizando testes



Para realizar alguns testes, vamos retirar o identificador de comentário no arquivo /etc/security/access.conf da linha:

- : root: 192.168.

Como o arquivo /etc/security/access.conf declara que não é possível o usuário root acessar a partir da rede interna, podemos realizar um teste para verificar esta configuração:

ssh root@192.168.199.139
Password:
Permission denied (publickey,keyboard-interactive).

Mesmo informando a senha correta, não é possível logar no sistema. Como mencionamos anteriormente, sempre mantenha uma conexão reservada para reverter as configurações. Para tornar possível o acesso de root, volte a comentar a entrada correspondente do arquivo /etc/security/access.conf a partir de tal a conexão.

Outro teste é permitir as conexões somente do usuário placebo e quando estas partirem da máquina london. Para isto, basta descomentar as linhas:

+ : placebo : london
- : ALL : ALL

do arquivo /etc/security/access.conf e configurar o arquivo /etc/hosts para identificar a máquina da qual fará os conexões como london. Basta adicionar o IP da sua máquina seguindo pelo nome da máquina no arquivo /etc/hosts . Da seguinte forma:

192.168.199.40 london

Ao realizar a conexão, veremos que ela é aceita:

ssh placebo@192.168.199.139
Password:
Last login: Sun May 30 22:23:50 2010 from 192.168.199.40
Could not chdir to home directory /home/placebo: No such file or directory

Caso tente se conectar de um outra máquina, terá a seguinte mensagem:

ssh placebo@192.168.199.1229
Password:
Permission denied (publickey,keyboard-interactive).

Lembre-se de comentar as linhas dos arquivos utilizados para que possamos realizar mais alguns testes.

Para negar acesso de um usuário a partir de uma rede, retire o comentário da linha:

- : ALL : .hell.com .spam.net

do arquivo /etc/security/access.conf e configure o arquivo /etc/hosts para identificar a máquina da qual fará os conexões como london.hell.com. Da seguinte forma:

192.168.199.40 london.hell.com

Ao tentar conectar, veremos que ela será negada:

ssh placebo@192.168.199.139
Password:
Permission denied (publickey,keyboard-interactive).

Outro teste possível é limitar o número de processos permitidos ao usuário placebo. Se retirarmos o comentário da linha:

placebo    hard    nproc   0

do arquivo /etc/security/limits.conf, veremos que o usuário não conseguirá autenticar-se no sistema, mesmo digitando a senha correta.

ssh placebo@192.168.199.139
Password:
Read from remote host 192.168.199.139: Connection reset by peer
Connection to 192.168.199.139 closed.

Isso acontece porque o sistema não consegue criar processos para o usuário placebo, fazendo com que o mesmo não consiga autenticar-se no sistema.

Um resultado semelhante acontece se limitarmos o número de arquivos abertos (basta trocar o item nproc para nofile no arquivo /etc/security/limits.conf).

placebo    hard    nofile   0

Resultado:

ssh placebo@192.168.199.139
Password:
Connection to 192.168.199.139 closed by remote host.
Connection to 192.168.199.139 closed.

Bom, esta foi apenas uma breve introdução ao Linux-PAM. Continue realizando alguns testes com os arquivos fornecidos para entender um pouco mais sobre essa poderosa ferramenta de autenticação.

E lembre-se: SEMPRE mantenha uma conexão de root reservada quando utilizar o PAM. :-)

Referências:
Página anterior    

Páginas do artigo
   1. Motivação
   2. Sintaxe dos arquivos de configuração
   3. Mãos à obra
   4. Realizando testes
Outros artigos deste autor

Implementação LDAP e Java

Leitura recomendada

Metasploit Exploitation

Segurança em Software de Código Aberto

Shellter Project - Ferramenta para bypass de AV

Melhorando a segurança do Firewall com Bridges usando Snort_Inline no Debian Etch

Nikto - Tutorial básico e avançado

  
Comentários
[1] Comentário enviado por removido em 18/06/2010 - 15:10h

Muito bom este trabalho. Talvez retire um pouco do medo que os usuários do slackware tem do PAM. Que o diga o patrick volkerding, para quem estes módulos são o próprio cramunhão em pessoa!!!

[2] Comentário enviado por jucaetico em 23/06/2010 - 07:19h

Cara, muito bom artigo. Um ajuda pra galera que vai fazer a LPIC-2. Abraços

[3] Comentário enviado por dfsantos em 29/06/2010 - 12:25h

Parabéns amigo, artigo de primeira. Se puder, gostaria de ver uma abordagem mais profunda referente ao PAM em seus proximos artigos.

[4] Comentário enviado por eferro em 17/11/2014 - 09:30h

Parabéns predisposição em compartilhar conhecimento. Excelente artigo.

[5] Comentário enviado por rpfreitas em 28/11/2014 - 09:22h

Parabéns, ótimo tutorial simples e objetivo e fácil entendimento.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts