Feito com Chinaski

Segurança por construção

O Chinaski não depende de você configurar a segurança , o comportamento seguro já vem embutido, e o caminho preguiçoso é o caminho seguro. Esta página explica o que isso significa: proteções que já vêm ativadas, salvaguardas que são estruturais em vez de opcionais, e notas honestas sobre o que ainda exige uma escolha consciente.

Proteções que simplesmente estão ligadas

Quatro padrões que a linha-resumo desta página cita , você recebe os quatro com zero configuração:

  • Scripts e estilos verificados , todo asset do admin é verificado por hash (SRI) pelo navegador antes de executar. Uma biblioteca adulterada é recusada, não executada.
  • Política de conteúdo estrita , toda resposta do admin carrega uma CSP baseada em nonce: apenas scripts marcados pelo servidor executam, nada é enquadrado por outros sites, e uma lista de recursos do navegador não utilizados (câmera, microfone, geolocalização e companhia) fica desativada. Sem configuração; é simplesmente como as respostas são construídas.
  • Nenhuma confiança em IPs forjados , rate limits e bloqueios contam você por um IP de cliente que o servidor consegue realmente verificar. Endereços fornecidos por headers só são acreditados vindos de um proxy confiável; quem conecta diretamente tem o seu endereço verdadeiro.
  • Bloqueios que persistem , logins com falha repetidos bloqueiam o IP de origem por janelas crescentes (um minuto, depois cinco, depois trinta), e a contagem sobrevive a reinicializações, então reiniciar não zera um ataque.

Salvaguardas que vêm da forma do sistema

Algumas propriedades de segurança nem são configurações , são consequências da arquitetura:

  • O seu site público nunca executa o código do CMS. O site publicado são arquivos simples servidos pelo seu servidor web; logins, formulários e uploads acontecem em uma superfície de administração separada. Uma vulnerabilidade em um não coloca automaticamente os leitores no raio da explosão.
  • Nenhum JavaScript em runtime no site público , por construção, não por promessa. Não existe mecanismo pelo qual adicionar um rastreador, um beacon ou um script de terceiros às suas páginas; não há nada para configurar errado.
  • Segredos nunca ficam legíveis em texto puro. As credenciais de e-mail, armazenamento em nuvem e integrações são criptografadas no banco de dados com uma chave derivada do segredo mestre da instância; nem a API as retorna.
  • Senhas usam um hash moderno e atualizável. O hashing segue uma biblioteca gerenciada, de modo que o esquema possa ser fortalecido ao longo do tempo sem deslogar ninguém nem reescrever contas.
  • Privilégios são impostos no servidor. Papéis e restrições de conteúdo por usuário são verificados no servidor para cada ação privilegiada; o navegador não consegue ser convencido a passar por eles.
  • Abuso é limitado onde quer que possa acontecer: login, registro, recuperação de senha, envios de formulários e uso da API têm limites por IP ou por chave ativados por padrão, com desacelerações deliberadas para requisições abusivas e URLs honeypot que registram as sondas de scanners.
  • O servidor roda encaixotado. O sandboxing do systemd deixa o sistema de arquivos somente leitura fora do diretório próprio da aplicação, bloqueia escalonamento de privilégios e limita memória/CPU; o instalador define permissões de arquivo restritivas como parte da configuração, não como um passo manual posterior.
  • O segredo mestre começa legível apenas pelo dono. O arquivo que o guarda é criado sem acesso de grupo ou de outros antes de o servidor rodar pela primeira vez.
  • Cada login, falha, bloqueio e sonda de scanner é registrado em forma estruturada e pesquisável , assim "o que aconteceu" tem resposta depois do fato.

Padrões sensatos onde existe escolha

Algumas proteções são padrões em vez de mandatos, e isso é dito com clareza:

  • A proteção contra spam em formulários públicos vem ativada para novos formulários (widget de verificação) , você pode desligá-la por formulário, mas precisa escolher isso.
  • O autorregistro está desligado. As pessoas não podem criar as próprias contas a menos que você habilite.
  • Os cookies são Secure, HttpOnly e SameSite com tempo de vida de 8 horas , administradores são deslogados diariamente de propósito.
  • O modo airgap desliga toda chamada de saída que o servidor pudesse algum dia fazer, se a sua instalação precisar poder testemunhar que não telefona para casa.

O que o projeto declara sobre si

Posicionamento honesto e declarado (da própria documentação do projeto):

  • É direcionado em parte a "security-focused organizations … where what you don't ship matters as much as what you do."
  • Ele "doesn't telephone home": sem telemetria, sem validação de licença, sem dependências de CDN, sem fontes baixadas de mais ninguém.
  • A lista dele de dependências pequenas, estáveis e empacotadas no sistema operacional é, em si, a postura de segurança , menos partes, mais velhas e de mudança mais lenta significam uma superfície de ataque menor que a de ecossistemas que adicionam pacotes às centenas.

O princípio da página é simples: a pessoa que esquece de pensar em segurança é a beneficiária padrão. Nada nesta lista é opt-in exceto o que é deliberadamente opt-out-able (a verificação de bot por formulário, o autorregistro, as chaves de airgap) , e a documentação diz a você qual é qual.

Leia este site em