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