Mentre analizzavo le intestazioni di risposta di TurboLab.it relative ad una richiesta GET ho notato che l'intestazione X-Frame-Options presenta un valore invalido (X-Frame-Options: SAME-ORIGIN).
Colgo l'occasione per suggerire l'adozione di un paio di intestazioni che non richiedono modifiche di alcun genere ma sono benefiche in quanto garantiscono un incremento della sicurezza per chi visita il sito:
In particolare sarebbe una buona idea adottare la CSP (Content Security Policy). Appena possibile cercherò di elaborare una configurazione di base permissiva su cui modellare quella definitiva.
EDIT: Noto solo ora che le intestazioni vengono applicate solo a turbolab.it: bug.turbolab.it, ad esempio, ne è sprovvisto.
Ho corretto X-Frame-Options (avevo fatto un copia-incolla da un sito che, evidentemente, riportava un'indicazione sbagliata)... Però lo lasciamo a SAMEORIGIN, e non DENY, perché potrei aver bisogno di usare qualche frame interno qua e là.
Bene per gli altri due: ho messo anche loro.... ma cerchiamo di tenere le antenne dritte per captare problemi di compatibilità!!
Per CSP: potrebbe crearci qualche problemino, quindi prima di perdere due ore a farlo tutto per bene... fammi vedere delle bozze che così ne valutiamo insieme la fattibilità!
Zane ha scritto:Vero. Fatto così perché presto sarà tutto solo https
Vi sono nuovi sviluppi riguardo al da farsi alla scadenza dell'attuale certificato?
EDIT: Sto cercando di elaborare la configurazione per il CSP, ho alcune domande: i font vengono caricati da dove (locale, indirizzo remoto ?), quali risorse vengono incorporate nelle pagine (non JS (via frame / iframe, plugin / audio-video)).
Vi sono eval() nel js utilizzato?
Per evitare malfunzionamenti pensavo, in un primo tempo, di abilitare la CSP grezza in modalità solo reporting (non filtra nulla ma registra ed inoltra le violazioni della policy ad una reltiva pagina del sito che le raccoglie). Maggiori informazioni QUI e QUI.
L'ho provata in maniera discretamente approfondita e non sembra causare alcun problema (la mia configurazione di default blocca i plugin sociali, quindi non sono sicuro che questi funzionino correttamente).
Come pagina d'esempio a cui inoltrare il report ho scelto: https://turbolab.it/csp/report.php (può essere cambiata a piacimento).
Cosa fa?
Vieta il caricamento di risorse non fornite attraverso https
Script: permette l'inclusione di script inline, provenienti dallo stesso host, consente eval (credo sia necessario a jquery) e dai domini consentiti (whitelist di quelli utilizzati su TLI).
CSS: permette l'inclusione di css inline, provenienti dallo stesso host e dai domini consentiti (whitelist di quelli utilizzati su TLI).
Immagini: permette l'inclusione se provenienti dallo stesso host e dai domini consentiti (whitelist di quelli utilizzati su TLI + imageshack + imgur + dropbox).
Font: permette l'inclusione se provenienti dallo stesso host e dai domini consentiti (whitelist per futuri font di google)
Media: permette l'inclusione se provenienti dallo stesso host (<audio>, <video>): al momento non utilizzato
Embed (non iframe): permette l'inclusione se provenienti dallo stesso host: al momento non utilizzato
Frame: permette l'inclusione se provenienti dallo stesso host e dai domini consentiti (whitelist di quelli utilizzati su TLI).
P.S.: Vi sono due configurazioni poiché la CSP presenta, in alcuni browser, implementazioni non standard (cambia principalmente il tag). Maggiori informazioni QUI.
EDIT: Mi aspetto una grande quantità di segnalazioni di violazione della policy (inoltrate alla pagina di report) causate dalla presenza di immagini fornite via http o domini non standard (discussioni come "topolone" & co.).
EDIT 2: Ho provato la policy in locale attraverso l'estensione CSP Tester (Chrome).
Con il precedente messaggio non intendevo in alcun modo fare pressione e metterti fretta.
Questa funzionalità rappresenta sicuramente un miglioramento secondario.
Secondo me, il vero problema che bisogna cercare, in qualche modo, di risolvere è riguardante la posta elettronica inviata da TurboLab.it classificata come spam da Microsoft e (potenzialmente) da altri provider.
P.S.: Pensi sia una buona idea menzionare il problema nelle e-mail inviate (chiedendo il contributo volontario degli utenti nel segnalarle come legittime) ed in fase di registrazione per le iscrizioni non VIP (mediante un avviso) ? Un'ulteriore possibilità sarebbe quella di pubblicare un post informativo sul portale e di porlo in evidenza per informare gli iscritti che non frequentano assiduamente TLI ma postano domande o abilitano gli aggiornamenti di una discussione di cui non verrebbero mai notificati correttamente perchè sepolti nella cartella di posta indesiderata.
Tutti, tranne l'X-Frame-Options (che deve valutare Zane a seconda dell'uso che ne fa (ad occhio dovrebbe anch'esso andare bene)), dovrebbero poter essere aggiunti al CDN senza procurare alcun genere di problemi.
Inserendo un messaggio, dichiari di aver letto e accettato il regolamento di partecipazione.
Nello specifico, sei consapevole che ti stai assumendo personalmente la totale responsabilità delle tue affermazioni, anche in sede civile e/o penale,
manlevando i gestori di questo sito da ogni coinvolgimento e/o pretesa di rivalsa.
Dichiari inoltre di essere consapevole che il messaggio sarà visibile pubblicamente, accetti di diffonderlo con licenza
CC BY-NC-SA 3.0 (con attribuzione a "TurboLab.it") e rinunci ad ogni forma di compensazione (economica o altro).
Rinunci inoltre esplicitamente a qualsiasi pretesa di cancellazione del messaggio.