---
title: "Segurança"
description: "O Éclair é um CMS seguro por padrão: sem banco de dados, Argon2id, autenticação de dois fatores, CSP rigorosa, verificação de integridade e revisão ofensiva."
url: "https://eclaircms.org/pt/documentacao/seguranca"
lang: "pt"
author: "Thierry Gustin"
published: "2026-10-30"
updated: "2026-11-01"
---

# Segurança

> **O essencial** — O Éclair é um CMS seguro por padrão: sem banco de dados, não oferece nenhuma brecha para a injeção de SQL; seus dados têm dupla proteção; o login combina Argon2id, proteção contra força bruta e autenticação de dois fatores; o site público aplica uma Content-Security-Policy rigorosa. Uma revisão de segurança ofensiva encontrou 17 falhas, todas corrigidas.

O Éclair é um CMS seguro por padrão, pensado para um ambiente hostil: hospedagem compartilhada e robôs que testam senhas o tempo todo. Você não precisa instalar nem ajustar nada para estar protegido. Este guia explica o que já vem trancado de fábrica, o que a administração monitora e os quatro gestos que reforçam ainda mais o seu site.

## Por que um site sem banco de dados é mais seguro?

Sem banco de dados, a injeção de SQL, um dos ataques mais comuns contra sites, simplesmente não tem o que atingir. Seus conteúdos são arquivos, e esses arquivos são protegidos duas vezes:

- as pastas `data/`, `app/` e `cache/` são bloqueadas para a web pelo arquivo `.htaccess`;
- cada arquivo de dados começa com a linha `<?php exit; ?>`: mesmo que um servidor ignorasse os `.htaccess`, nada seria exibido, e nenhuma sequência `<?php` pode ser gravada nele;
- os arquivos são privados (permissões 0600) e gravados de forma atômica: uma interrupção nunca deixa um arquivo pela metade.

A própria instalação é protegida: só é possível nas 2 horas seguintes à primeira visita, e o endereço do site só é usado para redirecionar os visitantes depois de ser verificado pelo próprio servidor.

## Como o login é protegido?

- **Senhas** protegidas com Argon2id (19 MiB de memória, 2 passagens), os parâmetros recomendados pelo [OWASP](https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html); bcrypt como alternativa. No mínimo 10 caracteres, senhas comuns recusadas.
- **Proteção contra força bruta**: cada tentativa é reservada antes de ser verificada, o que torna impossível passar do limite com requisições em paralelo. Os limites valem para a rede (endereço IPv4 ou bloco /64 em IPv6) e para a conta visada. Seu dispositivo de costume nunca é bloqueado por um atacante que erra de propósito.
- **Autenticação de dois fatores** (2FA) compatível com Google Authenticator, Microsoft Authenticator, 1Password ou Bitwarden, com QR code e 8 códigos de recuperação exibidos uma única vez. Depois de 10 códigos errados, a 2FA da conta fica bloqueada por 15 minutos e o titular é avisado por e-mail.
- **Senha solicitada de novo** nas ações sensíveis (backup, contas, configurações avançadas, troca de e-mail) depois de 15 minutos do login.
- **Sessões reforçadas**: nenhuma sessão antes do login, cookies `HttpOnly`, `Secure` e `SameSite=Strict`, logout por inatividade, botão “Desconectar todo mundo”. A administração é forçada para HTTPS assim que o site usa HTTPS.
- **Tokens CSRF** em todas as ações e verificação da origem das requisições.

## Como o site público é blindado?

| Proteção | O que ela impede |
| --- | --- |
| Content-Security-Policy rigorosa (nenhum script embutido, hash SHA-256 para o estilo) | A execução de scripts injetados |
| Anti-clickjacking, `nosniff`, `Referrer-Policy`, `Permissions-Policy`, HSTS opcional | A incorporação armadilhada, os vazamentos de informações |
| Nenhum redirecionamento aberto | O uso do seu domínio para redirecionar a um site malicioso |
| Conteúdo higienizado por lista de permissões | Links `javascript:` ou `data:`, mesmo disfarçados |
| Formulário de contato com campo-armadilha, token e limites | O spam, sem captcha: 5 mensagens por rede a cada 10 minutos, 100 por dia para o site inteiro |
| Imagens recodificadas no envio | As cargas ocultas e os dados EXIF ou GPS; SVGs e imagens que contenham código são recusados |

Os cabeçalhos de segurança dependem das configurações, nunca da requisição: uma página servida do cache envia os mesmos cabeçalhos a todo mundo, o que torna impossível o envenenamento do cache.

## O que a página Segurança monitora?

Restrita aos administradores, a página **Segurança** reúne suas ferramentas de controle:

![Página Segurança da administração do Éclair: nível de proteção em porcentagem, teste de proteção das pastas e verificação de integridade dos arquivos](https://eclaircms.org/media/2026/11/pt-security-page.webp)
*A página Segurança: cada ponto laranja indica uma proteção que você ainda pode ativar.*

1. **Nível de proteção**: uma porcentagem e o estado de cada proteção (HTTPS, endereço verificado, autenticação de dois fatores, endereço da administração, versão do PHP, HSTS…), com o botão **Verificar endereço do site**.
2. **Teste de proteção das pastas**: seu navegador tenta abrir arquivos internos, que devem continuar inacessíveis.
3. **Integridade dos arquivos**: cada arquivo do Éclair é comparado com a impressão digital original, e os arquivos suspeitos são sinalizados, como um script escondido na mídia ou um `.php` sem a linha de proteção em `data/`.
4. **Backup**: um arquivo compactado com todo o seu site, em um clique.
5. **Sessões e bloqueios** e depois o **registro de segurança**: logins, falhas, bloqueios, trocas de senha, backups.

Os registros são limitados a 1 MB: é impossível inflá-los para encher o disco.

## O que a revisão de segurança ofensiva revelou?

Antes da publicação, o Éclair foi atacado metodicamente: corridas entre requisições, força bruta, redirecionamentos, injeções, arquivos armadilhados. **17 falhas** foram encontradas, sendo 2 graves, 7 médias e 8 leves, e todas foram corrigidas. Os 13 cenários de ataque foram então repetidos na versão corrigida: todos neutralizados. O assistente de IA, que chegou com a versão 1.2.0, teve a sua própria revisão antes do lançamento.

Os testes automáticos do Éclair, que somam 550 verificações, reproduzem boa parte desses ataques. O detalhe das correções está no [changelog](https://eclaircms.org/pt/changelog).

## Quais gestos reforçam ainda mais o seu CMS seguro?

> **Os 4 gestos que contam** — 1. Ative a **autenticação de dois fatores** em Meu perfil, para cada administrador.  
> 2. Escolha um **endereço de administração personalizado** em Configurações › Avançado: menos robôs vão bater à porta.  
> 3. Clique em **Verificar endereço do site** em Segurança e depois ative o HSTS quando o HTTPS estiver funcionando perfeitamente.  
> 4. **Baixe um backup** antes de cada grande alteração, em Segurança › Backup.

Mantenha também o PHP atualizado na sua hospedagem: o Éclair funciona do PHP 8.1 ao 8.5, e o 8.3 é recomendado. Para o backup e as atualizações, veja o guia [Atualizar, fazer backup, mudar de hospedagem](https://eclaircms.org/pt/documentacao/atualizacoes).

## Perguntas sobre segurança

### O Éclair é mesmo um CMS seguro sem plugin de segurança?

Sim. Autenticação de dois fatores, proteção contra força bruta, cabeçalhos rigorosos, verificação de integridade e backup já vêm integrados. Sem plugins para atualizar, a principal fonte de falhas dos CMS tradicionais desaparece. O [comparativo com o WordPress](https://eclaircms.org/pt/eclair-vs-wordpress) quantifica essa diferença.

### Perdi o celular da autenticação de dois fatores: o que fazer?

Use um dos seus 8 códigos de recuperação. Se você os perdeu e nenhum outro administrador pode ajudar, siga o procedimento de emergência por FTP descrito em [Solução de problemas](https://eclaircms.org/pt/documentacao/solucao-de-problemas#forgot-password).

### Um atacante pode bloquear minha conta errando de propósito?

Não: seu dispositivo de costume nunca é bloqueado pelas falhas de outra pessoa. Os limites visam a rede do atacante e a conta, sem impedir você de fazer login de casa.

### O que fazer se a verificação de integridade apontar um arquivo modificado?

Se você não personalizou nada, substitua o arquivo pelo do pacote oficial. Se modificou o seu tema, é normal: os arquivos de app/theme aparecem como modificados.
