Início
» Como fazer
»
O que é preciso para alcançar uma classificação de segurança A+ no Nextcloud
O que é preciso para alcançar uma classificação de segurança A+ no Nextcloud
Seu site Nextcloud pode funcionar normalmente e ainda assim receber uma classificação baixa em uma verificação de segurança externa. Causas comuns incluem uma versão de servidor desatualizada ou obsoleta, ausência do cabeçalho HSTS ou um proxy reverso que oculta o HTTPS do Nextcloud. Comece atualizando o Nextcloud, impondo o HTTPS na borda do servidor web público, configurando a confiança do proxy de forma restrita e eliminando os avisos exibidos na página de administração do Nextcloud.
Não existe um padrão único e universal de "A+". A verificação de segurança oficial do Nextcloud avalia um servidor Nextcloud publicamente visível usando avisos conhecidos e verificações de segurança que ele pode realizar externamente; o SSL Labs avalia a configuração TLS. Considere qualquer classificação como um resultado pontual, não como prova de que o servidor é seguro ou garantia contra vulnerabilidades desconhecidas.
1. Identifique o scanner e atualize o servidor.
Anote qual scanner gerou a classificação antes de alterar as configurações. A verificação oficial do Nextcloud relata vulnerabilidades conhecidas, versões em fim de vida útil e problemas visíveis de segurança. Uma classificação somente para TLS pode vir do SSL Labs. Corrija os avisos do scanner que você está usando e execute a mesma verificação novamente; diferentes serviços usam critérios diferentes.
Nas configurações de administração do Nextcloud, verifique a versão do servidor e quaisquer avisos de segurança ou configuração. Atualize para uma versão compatível do Nextcloud e instale as atualizações de segurança mais recentes antes de ajustar os cabeçalhos. Uma versão antiga pode permanecer vulnerável mesmo que um verificador de cabeçalhos retorne A+. Se uma atualização não estiver disponível para o seu pacote de instalação, siga o caminho de atualização compatível com esse pacote em vez de substituir arquivos manualmente.
2. Exigir HTTPS e adicionar HSTS
Disponibilize a URL pública do Nextcloud via HTTPS com um certificado válido e redirecione o tráfego HTTP não criptografado para HTTPS. O guia de segurança do Nextcloud recomenda o uso de HTTPS em servidores de produção. Em seguida, adicione o protocolo HSTS (HTTP Strict Transport Security) no servidor ou proxy que envia a resposta HTTPS pública. O aviso administrativo do Nextcloud recomenda um Strict-Transport-Securitytempo máximo de resposta (max-age) de pelo menos 15.552.000 segundos.
Para o Nginx, adicione uma diretiva como esta ao bloco de servidor TLS ativo, substituindo o nome do host e preservando o restante da sua configuração do Nextcloud que já está funcionando corretamente:
Configure o HSTS no bloco de servidor HTTPS que envia respostas para visitantes públicos.
Use includeSubDomainssomente se todos os subdomínios também estiverem disponíveis via HTTPS. Não adicione a preloadflag opcional indiscriminadamente: as listas de pré-carregamento do navegador podem levar meses para remover um domínio após o envio. Se um proxy reverso lida com TLS, configure o HSTS nesse proxy público; configurá-lo apenas em um host interno do Nextcloud pode não alterar o cabeçalho que o scanner vê.
O Nextcloud já envia cabeçalhos básicos como X-Content-Type-Options` <header>`, X-Frame-Options`<header> Referrer-Policy`, `<header>` e ` X-Robots-Tag<header>` em um ambiente padrão. Evite adicionar versões duplicadas ou conflitantes antes de verificar a resposta. A configuração de exemplo do Nextcloud para Nginx mostra como servir esses cabeçalhos a partir do Nginx.
3. Configure um proxy reverso sem confiar em todos os clientes.
Se um proxy reverso estiver na frente do Nextcloud, liste apenas o endereço IP real desse proxy ou o intervalo de rede privada em `<server-ip>` trusted_proxies. O Nextcloud usa cabeçalhos de encaminhamento de IP do cliente apenas para proxies confiáveis; confiar em endereços incorretos pode permitir que os clientes falsifiquem seu IP aparente e comprometam os controles de acesso ou os registros.
Por exemplo, se o proxy de terminação TLS estiver em 10.0.0.10, mescle as entradas relevantes na $CONFIGmatriz existente em config/config.php:
Estas são apenas entradas de exemplo. Use o endereço IP real do proxy e mescle-as na matriz de configuração existente do Nextcloud.
Configure overwriteprotocolpara httpsque o TLS termine no proxy e, caso contrário, o Nextcloud detecte a conexão HTTP interna como HTTP pública. Se o seu proxy usar um cabeçalho forwarded-IP não padrão, configure-o forwarded_for_headerspara corresponder exatamente a ele. Não defina um intervalo de confiança amplo, como 0.0.0.0/0. Após editar o arquivo, verifique a configuração mesclada e teste o login, o compartilhamento e os links gerados.
4. Limpe os avisos restantes do Nextcloud.
Abra as configurações de Administração e revise a Visão geral ou os avisos de segurança e configuração. Resolva o aviso que aparecer em vez de aplicar diretrizes de segurança irrelevantes apenas para obter uma classificação.
HSTS ausente: verifique a resposta do endpoint HTTPS público, especialmente quando um proxy ou balanceador de carga encerra o TLS.
O servidor parece usar HTTP: confirme se o HTTPS está configurado na borda e, quando necessário, configurado overwriteprotocolpara o proxy confiável.
Modo de depuração ativado: mantenha debugdesativado em produção; ative-o apenas para solução de problemas específicos e desative-o novamente.
Aviso sobre proxy ou endereço IP do cliente: verifique o endereço de origem real do proxy e o cabeçalho encaminhado antes de alterar as configurações de proxy confiável.
Versão vulnerável conhecida ou em fim de vida útil: atualize o Nextcloud e os pacotes de servidor afetados por meio do processo de atualização suportado.
Restrinja as ações administrativas somente allowed_admin_rangesse os administradores tiverem intervalos de IP de gerenciamento estáveis e conhecidos. Um intervalo incorreto pode ocultar funções administrativas de administradores legítimos. O guia de segurança do Nextcloud também recomenda desativar a compressão HTTP para mitigar a vulnerabilidade BREACH; verifique a configuração do seu servidor web ou proxy para ver se a compressão está ativada para páginas autenticadas.
5. Verifique a resposta do público e execute as varreduras novamente.
Verifique o que um cliente externo realmente recebe, e não apenas o que o arquivo de configuração contém:
curl -I https://cloud.example.com
Confirme se a resposta inclui um cabeçalho HSTS com o max-age pretendido e se os cabeçalhos de segurança básicos do Nextcloud estão presentes. As ferramentas de desenvolvedor do navegador podem exibir os mesmos cabeçalhos de resposta. Se os valores forem diferentes da sua configuração, inspecione o terminador TLS, o proxy e quaisquer locais do Nginx em cache ou aninhados.
Analise os cabeçalhos retornados pela URL HTTPS pública; uma linha de configuração por si só não confirma o que os visitantes recebem.
Em seguida, execute a verificação de segurança oficial do Nextcloud no nome de host público e revise as configurações de administração novamente. Use o Qualys SSL Labs quando precisar de uma classificação TLS separada e detalhes adicionais. A verificação oficial requer um nome de host do Nextcloud acessível; ela não consegue avaliar uma instância somente privada a partir da internet pública.
Após as alterações, execute a verificação oficial no nome de host público; a classificação apresentada é apenas um instantâneo, não uma garantia de segurança.
Se a classificação permanecer abaixo de A+, use a descoberta específica para identificar a camada responsável. Corrija um problema de cada vez, verifique se o Nextcloud ainda funciona por meio de seu URL público e faça uma nova verificação. A classificação A+ é um sinal útil de configuração, mas a aplicação de patches, backups, controles de acesso e monitoramento contínuo continuam sendo necessários mesmo após a aprovação na verificação.