Pular para o conteúdo principal

Capítulo 5.4 - Boas Práticas

Objetivos de Aprendizagem​

Ao final deste capítulo, você será capaz de:

  • Aplicar boas práticas de segurança
  • Gerenciar usuários de forma segura
  • Compreender o princípio do menor privilégio
  • Implementar políticas de senhas
  • Auditar permissões

Princípio do Menor Privilégio​

Conceito​

Conceder apenas as permissões necessárias, nada além disso.

Vantagens:

  • Redução da superfície de ataque
  • Limitação dos danos em caso de comprometimento
  • Conformidade com a segurança

Gestão de Usuários​

Criação​

Boas práticas:

  • Criar usuários com UID ≥ 1000
  • Grupo principal dedicado
  • Diretório home com permissões 700
  • Shell apropriado (não usar /bin/false para usuários normais)
# Bom exemplo
sudo useradd -m -s /bin/bash -u 1001 -g users user1
sudo chmod 700 /home/user1

Remoção​

Boas práticas:

  • Desativar antes de remover (usermod -L)
  • Fazer backup de dados importantes
  • Verificar processos ativos
  • Limpar diretórios e arquivos
# Processo recomendado
sudo usermod -L user1 # Bloquear
sleep 30 # Aguardar
sudo pkill -u user1 # Matar processos
sudo userdel -r user1 # Remover

Gestão de Grupos​

Organização​

Boas práticas:

  • Grupos por projeto/equipe
  • Grupos por função (developers, admins)
  • Evitar grupos muito amplos
  • Documentar os grupos
# Exemplo de organização
sudo groupadd projeto-alpha
sudo groupadd developers
sudo groupadd admins

Membros​

Boas práticas:

  • Adicionar apenas usuários necessários
  • Revisar regularmente os membros
  • Remover usuários inativos
  • Documentar as adições

Senhas​

Política​

Configuração em /etc/login.defs:

# Duração mínima (dias)
PASS_MIN_DAYS 1

# Duração máxima (dias)
PASS_MAX_DAYS 90

# Aviso (dias antes da expiração)
PASS_WARN_AGE 7

Complexidade​

Configuração com PAM:

# /etc/pam.d/common-password (Ubuntu/Debian)
password requisite pam_pwquality.so retry=3 minlen=8 difok=3

Requisitos:

  • Comprimento mínimo (8+ caracteres)
  • Complexidade (maiúsculas, minúsculas, números, símbolos)
  • Não usar palavras do dicionário
  • Não repetir caracteres

Expiração​

# Forçar troca no próximo login
sudo chage -d 0 user1

# Definir expiração
sudo chage -E 2024-12-31 user1

# Ver informações
chage -l user1

Permissões de Arquivos​

Diretórios do Sistema​

Boas práticas:

  • /etc: 755 (root:root)
  • /bin, /sbin: 755 (root:root)
  • /home: 755 (root:root)
  • /home/user: 700 (user:user)
  • /tmp: 1777 (root:root, sticky bit)

Arquivos de Configuração​

Boas práticas:

  • Permissões restritivas (600-644)
  • Proprietário root ou serviço
  • Não permitir execução, exceto quando necessário
# Exemplo
sudo chmod 600 /etc/shadow
sudo chmod 644 /etc/passwd
sudo chmod 640 /etc/group

Uso do sudo​

Configuração​

Boas práticas:

  • Usar sudo em vez de root direto
  • Limitar os comandos autorizados
  • Registrar as ações
  • Timeout apropriado
# /etc/sudoers
# Conceder acesso completo
user1 ALL=(ALL:ALL) ALL

# Limitar a comandos específicos
user1 ALL=(ALL) /usr/bin/systemctl, /usr/bin/docker

# Sem senha (atenção!)
user1 ALL=(ALL) NOPASSWD: ALL

Verificação​

# Ver privilégios sudo
sudo -l

# Ver histórico
sudo cat /var/log/auth.log | grep sudo

Auditoria e Monitoramento​

Verificar Permissões​

# Arquivos com permissões amplas
find /home -type f -perm -o+w

# Arquivos SUID/SGID
find / -type f -perm /4000 # SUID
find / -type f -perm /2000 # SGID

# Diretórios world-writable
find / -type d -perm -o+w

Monitoramento de Conexões​

# Usuários conectados
who
w

# Histórico de conexões
last
lastlog

# Tentativas falhas
sudo grep "Failed password" /var/log/auth.log

Segurança do Root​

Boas Práticas​

Nunca:

  • Conectar diretamente como root
  • Compartilhar a conta root
  • Usar root para tarefas normais

Sempre:

  • Usar sudo
  • Limitar o acesso root
  • Registrar ações do root
  • Alterar a senha do root regularmente

Resumo​

Neste capítulo, você aprendeu:

Menor privilégio: Conceder apenas as permissões necessárias
Usuários: Criação segura, remoção adequada
Grupos: Organização lógica, membros controlados
Senhas: Política forte, expiração
Permissões: Restritivas, auditoria regular
sudo: Configuração adequada, registro de ações
Auditoria: Verificações regulares, monitoramento


Próximos Passos​

Módulo 6: Shell Scripting (com crons)
Módulo 7: Rede e Configuração


Capítulo criado em: Dezembro 2024