Aula 3: PAM — módulos de autenticação plugáveis, políticas de senha e controle de sessão

Aula 3: PAM — módulos de autenticação plugáveis, políticas de senha e controle de sessão

Nesta aula, você vai explorar o mundo dos módulos de autenticação plugáveis, mais conhecidos como PAM. A segurança de um sistema Linux vai além de simplesmente proteger arquivos; envolve também a forma como usuários interagem com o sistema. Conhecer o PAM permite que você configure políticas de senha eficazes, controle sessões de usuário e mantenha sua infraestrutura segura. Vamos entender como isso tudo funciona!

O que você vai aprender nesta aula

  • Introdução ao PAM
  • Como funcionam os módulos PAM
  • Configuração e manipulação de arquivos PAM
  • Aplicação de políticas de senha e controle de sessão

Introdução ao PAM

O PAM (Pluggable Authentication Modules) é uma estrutura flexível usada nas distribuições Linux para gerenciar a autenticação de usuários. Ao invés de cada aplicativo implementar seu próprio método de autenticação, ele utiliza os módulos PAM, que são plug-ins capazes de realizar esta tarefa de forma padronizada.

Os módulos PAM garantem uma forma consistente de realizar autenticações, autorizações, gerenciamento de senhas e manutenção de sessões de usuários. Pense nos módulos PAM como peças de um quebra-cabeça que se encaixam para personalizar processos de autenticação conforme as necessidades do sistema.

Como funcionam os módulos PAM

Cada módulo PAM realiza uma função específica no processo de autenticação. Esses módulos estão localizados, em geral, no diretório /lib/security/. Os arquivos de configuração PAM, por outro lado, ficam em /etc/pam.d/. Cada arquivo dentro deste diretório corresponde a um serviço/daemon do sistema e especifica como ele deve lidar com autenticação e sessões.

  • auth: Lida com o processo de autenticação inicial.
  • account: Garante que uma conta está autorizada a usar um serviço.
  • password: Gerencia o processo de atualização de senhas.
  • session: Gerencia tarefas associadas ao início e fim das sessões.

Configuração Prática de PAM com Exemplo

Para ilustrar como o PAM funciona, vamos configurar uma política de senha simples. Esta política irá requerer que senhas tenham pelo menos 8 caracteres, incluindo letras e números.

# Abra o arquivo de configuração do módulo de senhas com seu editor de texto preferido
sudo nano /etc/pam.d/common-password

# Adicione a seguinte linha para aplicar a política de senhas
password requisite pam_pwquality.so retry=3 minlen=8 dcredit=-1 ucredit=-1

Veja como funciona cada parte do comando:

  • password: Tipo de controle sendo configurado.
  • requisite: Se este módulo falhar, a falha é imediata.
  • pam_pwquality.so: Módulo que aplica regras de qualidade de senha.
  • retry=3: Permite ao usuário três tentativas para atender aos critérios.
  • minlen=8: Define o comprimento mínimo da senha.
  • dcredit=-1: Exige ao menos um dígito.
  • ucredit=-1: Exige ao menos uma letra maiúscula.

Políticas de Senhas e Controle de Sessão

Políticas de senhas são fundamentais para garantir a segurança de um sistema. Além disso, o PAM facilita o controle de sessões de usuário, possibilitando a execução de scripts no início ou no final de uma sessão. Este nível de controle é empregado em muitos projetos na JRT Technology Solutions, onde nossos especialistas ajustam políticas PAM para atender às necessidades específicas de cada cliente.

Por exemplo, para executar um script ao término de uma sessão, você pode adicionar uma entrada no arquivo de sessão correspondente, como /etc/pam.d/common-session:

session optional pam_exec.so /caminho/para_seu_script.sh

Resumo da Aula 3

Nesta aula, você explorou o PAM, uma poderosa ferramenta que ajuda a gerenciar a autenticação no Linux. Você aprendeu sobre a estrutura dos módulos PAM, como configurá-los e aplicou uma política de senha prática. Este conhecimento é crucial não apenas para proteger sistemas, mas também para personalizar o comportamento de autenticação de acordo com suas necessidades. Na próxima aula, entraremos em detalhes sobre a criptografia de dados e como ela se integra com os controles de segurança do Linux.

Quer aprender na prática com especialistas?

A JRT Technology Solutions oferece treinamentos e implementação de Segurança Linux para equipes corporativas.



Falar no WhatsApp

Thiago Paes Rodrigues

Com mais de 22 anos de experiência em Tecnologia da Informação, este profissional construiu uma trajetória sólida como empresário, atuando de forma estratégica na implementação de soluções tecnológicas que otimizam processos e impulsionam resultados em diferentes setores.