Skip to content

Latest commit

 

History

History
71 lines (43 loc) · 3.44 KB

File metadata and controls

71 lines (43 loc) · 3.44 KB

Checklist de Segurança

Segurança não é um produto, mas um processo constante. Para que o seu Advanced ToDo Pro opere de forma segura em um servidor Linux com Docker e Nginx, é essencial seguir as melhores práticas da indústria.

Abaixo, apresento o documento oficial de segurança para o seu ambiente de produção.

  1. Panorama da Segurança em Camadas A segurança de uma aplicação moderna é dividida em camadas: o Sistema Operacional (Host), o Contentor (Docker) e a Rede (Nginx).

  2. Documentação: Checklist de Segurança para Produção Camada 1: O Servidor Linux (Host) Acesso via SSH: Nunca utilize passwords. Use chaves SSH (RSA/Ed25519) e desative o login de root no ficheiro /etc/ssh/sshd_config.

Firewall (UFW): Bloqueie todas as portas, exceto as estritamente necessárias:

22 (SSH)

80 (HTTP)

443 (HTTPS)

Fail2Ban: Instale e configure o Fail2Ban para banir automaticamente IPs que tentem ataques de força bruta no SSH.

Camada 2: Docker & Contentores Utilizador Não-Root: No seu Dockerfile, evite rodar o Nginx como root se possível, ou garanta que o Docker daemon está configurado para o isolamento de user namespaces.

Limitação de Recursos: No seu docker-compose.yml, defina limites de memória e CPU para evitar que um ataque de negação de serviço (DoS) derrube o servidor inteiro.

Imagens Atualizadas: Utilize sempre a versão alpine do Nginx, pois possui uma superfície de ataque reduzida devido ao seu tamanho mínimo.

Camada 3: Nginx (Proxy Reverso) & Aplicação SSL/TLS (HTTPS): Utilize o Certbot (Let's Encrypt) para gerar certificados gratuitos. O tráfego entre o utilizador e o servidor deve ser sempre encriptado.

Headers de Segurança: Configure o Nginx para enviar cabeçalhos que protejam contra ataques comuns:

X-Frame-Options: DENY (Evita Clickjacking).

X-Content-Type-Options: nosniff.

Content-Security-Policy: Define de onde o seu site pode carregar scripts (ex: Toastify, FontAwesome).

  1. Implementação: Configuração Segura do Nginx Adicione estas linhas ao seu ficheiro de configuração do Nginx (dentro do contentor ou no host) para fortalecer a aplicação:

    Previne que o site seja exibido dentro de um iframe

    add_header X-Frame-Options "SAMEORIGIN";

    Proteção contra XSS (Cross-Site Scripting)

    add_header X-XSS-Protection "1; mode=block";

    Força o navegador a não "adivinhar" o tipo de ficheiro

    add_header X-Content-Type-Options "nosniff";

    Referrer Policy para proteger a privacidade

    add_header Referrer-Policy "no-referrer-when-downgrade";

  2. Documentação Técnica para Auditoria:

Ameaça,Proteção Implementada,Por que é útil? Injeção de Script,CSP & Sanitização no JS,Impede que códigos maliciosos roubem dados do LocalStorage. Acesso Indevido,Chaves SSH & Firewall,Garante que apenas administradores autorizados acedam ao servidor Linux. Divulgação de Dados,HTTPS (SSL),Encripta os dados das tarefas enquanto viajam pela internet.

  1. Passo a Passo: Manutenção de Segurança Atualização Mensal: Execute sudo apt update && sudo apt upgrade no host Linux.

Rebuild de Imagens: A cada 3 meses, faça um novo docker-compose build --pull para garantir que as bibliotecas do Nginx têm os últimos patches de segurança.

Logs: Verifique os logs do Docker (docker logs advanced-todo-pro) semanalmente para identificar padrões de acesso suspeitos.

Com este checklist, a sua aplicação está pronta para enfrentar o ambiente real da internet de forma profissional e resiliente.