Como Configurar o Upgrade Insecure Requests no NGINX e Garantir Segurança Máxima no Seu Website!

Num mundo digital onde a segurança é uma prioridade, saber configurar o Upgrade Insecure Requests no NGINX torna-se essencial! Esta função poderosa obriga o navegador a converter automaticamente todas as requisições HTTP para HTTPS, assegurando comunicações 100% encriptadas entre cliente e servidor e melhorando, inclusive, o SEO do seu site. Com este guia, descubra todos os passos para proteger a sua página e garantir uma navegação segura para os seus visitantes.

Passo-a-Passo para Configurar o Upgrade Insecure Requests no NGINX

1. Adicione o Upgrade Insecure Requests Globalmente

Primeiro, aceda ao ficheiro de configuração do NGINX, normalmente localizado em /etc/nginx/nginx.conf. Para abri-lo, utilize o comando:

Bash
sudo nano /etc/nginx/nginx.conf

⚠️ Nota: É crucial ter permissões administrativas para editar este ficheiro, garantindo que qualquer alteração seja segura e autorizada.

2. Inserir o Cabeçalho Upgrade Insecure Requests

Dentro do ficheiro nginx.conf, localize o bloco http. Aqui, adicione a linha de comando que força o navegador a fazer upgrade de todas as solicitações para HTTPS:

add_header Content-Security-Policy "upgrade-insecure-requests";

Exemplo de Configuração Completa:

Bash
http {
    ...
    add_header Content-Security-Policy "upgrade-insecure-requests";
    ...
}

Testar o Upgrade Insecure Requests

Para garantir que a configuração está ativa, reinicie o NGINX:

Bash
sudo systemctl restart nginx

Agora, utilize uma ferramenta como curl para verificar os cabeçalhos de resposta do seu site e confirmar a presença de Content-Security-Policy: upgrade-insecure-requests:

Bash
curl -I http://oseusite.com

Configuração no Bloco de Servidor NGINX

Aceda à Configuração do Bloco de Servidor

Edite o bloco de servidor específico do domínio em /etc/nginx/sites-available/seudominio:

Bash
sudo nano /etc/nginx/sites-available/seudominio

Configurar o Upgrade Insecure Requests para o Bloco do Servidor

No bloco location /, adicione:

Bash
server {
    ...
    location / {
        add_header Content-Security-Policy "upgrade-insecure-requests";
    }
    ...
}

Isto assegura a segurança de cada bloco de servidor, ideal para múltiplos domínios ou subdomínios.

Exemplos Avançados de Upgrade Insecure Requests no NGINX

1. Atualização Condicional por Método de Requisição

Esta configuração permite aplicar o upgrade apenas para determinados métodos de requisição, como GET ou POST:

Nginx
map $request_method $upgrade_insecure {
    POST 0;
    default 1;
}

server {
    location / {
        if ($upgrade_insecure) {
            add_header Content-Security-Policy "upgrade-insecure-requests";
        }
    }
}

2. Atualização Baseada em User-Agent

Para uma configuração mais direcionada, aplique o upgrade apenas para determinados navegadores, como Chrome ou Firefox:

Nginx
map $http_user_agent $upgrade_condition {
    ~*chrome 1;
    ~*firefox 1;
    default 0;
}

server {
    location / {
        if ($upgrade_condition) {
            add_header Content-Security-Policy "upgrade-insecure-requests";
        }
    }
}

3. Aplicação do Upgrade por Caminho Específico

Ideal para proteger secções sensíveis do site, como uma área segura /secure-area/:

Nginx
server {
    location /secure-area/ {
        add_header Content-Security-Policy "upgrade-insecure-requests";
    }
}

4. Integração com Outros Cabeçalhos de Segurança

Combine o upgrade com cabeçalhos de segurança adicionais para uma proteção robusta:

Nginx
server {
    location / {
        add_header Content-Security-Policy "upgrade-insecure-requests; default-src https:";
        add_header X-Content-Type-Options nosniff;
        add_header X-Frame-Options SAMEORIGIN;
    }
}

5. Logging Personalizado de Upgrades

Monitorize e faça auditorias de segurança ao registar requisições HTTP que foram atualizadas para HTTPS:

Nginx
map $scheme $log_upgrade {
    http 1;
    default 0;
}

server {
    location / {
        if ($log_upgrade) {
            access_log /var/log/nginx/upgrade.log;
            add_header Content-Security-Policy "upgrade-insecure-requests";
        }
    }
}

Conclusão

Ao configurar o Upgrade Insecure Requests no NGINX, assegura que todo o tráfego HTTP é automaticamente redirecionado para HTTPS, elevando a segurança do seu site e melhorando o SEO. Mantenha o seu servidor atualizado e protegido, garantindo uma experiência de navegação segura e confiável para os utilizadores.

Artigos Relacionados