Cybersecurity

Come il sito protegge se stesso, e te

Un sito che insegna alle persone a gestire i propri sistemi deve dare l'esempio. Questa pagina mostra come è protetto breaktherule.org: il flusso, la logica e il design, in parole semplici.

Il flusso

Tre cicli girano insieme: uno a ogni visita, uno ogni giorno, uno a ogni modifica.

Il flusso della sicurezza: a ogni visita Cloudflare, il codice del sito e il browser proteggono chi visita; ogni giorno quattro controlli automatici cercano nuove debolezze e scrivono un rapporto; ogni modifica è controllata e revisionata prima di andare online A ogni visitaUna persona, o unattaccante, aprebreaktherule.orgCloudflare, davanti al sitoSolo connessionecifrata (HTTPS, TLS1.2 o più recente,HSTS)Nome di dominiofirmato (DNSSEC, CAA)Firewall, anti-bot, almassimo 20 richiesteAPI ogni 10 secondiIl codice del sitoIl modulo di contattoaccetta un messaggiosolo dopo cheTurnstile conferma chelo ha inviato un umanoLimiti di lunghezza,formati rigidi, incaso di errore sirifiutaNessun account, nessuncookie, nessun nome,email o indirizzo IPconservatoIl browserIntestazioni disicurezza: esegui sologli script del sito,non mostrare mai ilsito dentro un'altrapaginaOgni giorno, da soloQuattro controlli giranoalle 05:23 UTC:vulnerabilità note nelledipendenze, segreti intutta la storia delcodice, file che nondevono mai esseresalvati, schemipericolosi nel codiceProblema serio?noAnnotato nelriepilogodell'esecuzionesìSi apre una segnalazionee chi mantiene il sitoviene avvisatoquandoun'esecuzionesuccessivaè pulitaLa segnalazione si chiudeda solaOgni esecuzione finiscecon un rapporto:vulnerabilità aperte,controlli di oggi, cosaanticipare. Anche quandonon è successo niente.A ogni modificaUna modifica vieneproposta alla luce delsole, con la suadocumentazioneControlli automatici:tipi, test, una prova dipubblicazione, ilchangelogRevisionata e approvatada chi mantiene il sito?noNiente vaonlinesìPubblicata. Una piccolacorrezione di sicurezzain una dipendenza puòessere pubblicata dasola, entro una regolarigida

La logica

  • A strati. Nessuna protezione è perfetta da sola, quindi ce ne sono diverse, una dietro l'altra, come le mura, il portone e la cassaforte di un castello.
  • In caso di dubbio, no. Quando un controllo non può girare, o non può rispondere, la risposta è no. Un messaggio viene rifiutato invece che accettato sulla fiducia, e un controllo giornaliero che non è partito conta come un problema.
  • Il minimo dei dati. Ciò che non viene mai raccolto non può uscire: nessun account, nessun cookie, e nessun nome, email o indirizzo IP conservato con un messaggio.
  • I segreti fuori dal codice. Il codice è scritto come se tutti potessero leggerlo, perché un giorno sarà così. L'unico segreto vive su Cloudflare, e i controlli giornalieri cercano segreti e file vietati in tutta la storia del codice.
  • Le macchine guardano ogni giorno, le persone decidono. Quattro controlli automatici cercano nuove debolezze ogni mattina e scrivono un rapporto, anche quando non è successo niente. Una persona lo legge e decide.
  • Niente va online senza un ok. Ogni modifica è revisionata e documentata prima di essere pubblicata. L'unica eccezione è una correzione di sicurezza in una dipendenza, pubblicata da sola solo se è piccola e ogni controllo è verde.

Il design

Tutto è gratuito e open source: il piano gratuito di Cloudflare, gli strumenti gratuiti di GitHub e scanner che chiunque può scaricare. Niente chiama un'IA e niente richiede un servizio a pagamento, così le stesse protezioni possono essere copiate da chiunque gestisca un piccolo sito.

Tutto è scritto. La documentazione del progetto descrive ogni protezione, il suo stato e come verificarla da qualsiasi computer, così una modifica che nessuno si aspettava salta all'occhio.

Tutto segue i quattro passi del sito stesso: accettare il processo, capirlo, trovare la parte che non funziona, infrangere la regola e migliorarla. Il rapporto giornaliero esiste per trovare quella parte prima che lo faccia qualcun altro.

Hai trovato un problema di sicurezza?

Scrivi a 59495@proton.me, descrivendo il problema e come riprodurlo. Lo stesso indirizzo è in security.txt, il file standard in cui un sito dice a chi segnalare.