$ linux modulo_6
Projeto final: servidor seguro
Junte tudo que você configurou nos módulos anteriores em um único runbook de verificação — o checklist que você rodaria antes de considerar um servidor pronto para produção.
O que você vai fazer
- Provisionar um servidor do zero com usuário nominal e sudo
- Acesso apenas por chave SSH, com hardening do sshd
- Rodar sua aplicação como serviço systemd com restart automático
- Firewall ativo e Fail2ban protegendo o SSH
- Rotina de backup com Restic já testada com restore
1. Checklist de verificação
Depois de aplicar os módulos 1 a 5 em um servidor de teste, rode os comandos abaixo em sequência. Cada um confirma uma camada diferente do runbook: identidade, serviço, firewall e backup.
systemctl is-enabled irn-worker
sudo ufw status numbered
sudo fail2ban-client status sshd
restic snapshots
Se os quatro comandos retornarem o esperado — serviço habilitado, regras de firewall ativas na ordem correta, jail do SSH rodando e pelo menos um snapshot de backup — o servidor está no ponto que definimos como "pronto para produção" nesta trilha.
2. Checklist de entrega
- Usuário administrativo nominal, sem login direto como root (módulo 1)
PasswordAuthentication noePermitRootLogin nono sshd, validados comsshd -t(módulo 2)- Aplicação rodando como unit systemd com
Restart=on-failure(módulo 3) - UFW com política padrão de negar entrada, liberando só as portas necessárias (módulo 4)
- Fail2ban ativo na jail de SSH (módulo 4)
- Backup Restic com política de retenção definida e um restore já testado (módulo 5)
DICA DE PRODUÇÃO Guarde esse checklist como runbook. Rodar as mesmas quatro verificações depois de cada mudança de infraestrutura evita regressões silenciosas de segurança.
EXERCÍCIO FINAL
Em um servidor de teste (pode ser uma VM ou container), aplique tudo dos módulos 1 a 5 e rode o checklist de verificação completo. Confirme que os quatro comandos retornam o estado esperado antes de considerar o projeto concluído.