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: