<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>HSTS - Matteo Cisilino</title>
	<atom:link href="https://www.cisilino.com/tag/hsts/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.cisilino.com</link>
	<description>Guide su WordPress, server e sicurezza</description>
	<lastBuildDate>Fri, 30 Oct 2026 16:05:46 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.4</generator>
	<item>
		<title>Paranoic Hardening: header di sicurezza e sessione amministrativa</title>
		<link>https://www.cisilino.com/2026/10/30/manuale-csdn-paranoic-hardening/</link>
					<comments>https://www.cisilino.com/2026/10/30/manuale-csdn-paranoic-hardening/#respond</comments>
		
		<dc:creator><![CDATA[matteocisilino]]></dc:creator>
		<pubDate>Fri, 30 Oct 2026 16:05:46 +0000</pubDate>
				<category><![CDATA[Manuale CSDN]]></category>
		<category><![CDATA[Cisilino Site Defense Network]]></category>
		<category><![CDATA[header di sicurezza]]></category>
		<category><![CDATA[HSTS]]></category>
		<category><![CDATA[manuale CSDN]]></category>
		<guid isPermaLink="false">https://www.cisilino.com/?p=981</guid>

					<description><![CDATA[<p>Come usare la scheda Paranoic Hardening del plugin CSDN: header HTTP, HSTS, verifica e autologout, con l'ordine di attivazione e i rischi.</p>
<p>The post <a href="https://www.cisilino.com/2026/10/30/manuale-csdn-paranoic-hardening/">Paranoic Hardening: header di sicurezza e sessione amministrativa</a> first appeared on <a href="https://www.cisilino.com">Matteo Cisilino</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>La scheda “<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Paranoic Hardening” del plugin CSDN raccoglie le opzioni più delicate: gli header di sicurezza HTTP, HSTS e il logout automatico degli amministratori inattivi. Qui cambi il comportamento del browser di chi visita il sito, non solo quello del server. Per questo è tutto disattivato di default.</p>
<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" src="https://www.cisilino.com/wp-content/uploads/2026/10/manuale-csdn-paranoic-hardening.webp" alt="Schema di WordPress con la scheda Paranoic Hardening del plugin CSDN evidenziata" width="1200" height="630"/></figure>
<h2>Dove si trova</h2>
<p>Nel menu laterale di WordPress vai su <strong>Impostazioni</strong> e scegli <strong>Cisilino Site Defense Network</strong> (punto 1 dell&#8217;immagine). Apri la scheda “<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Paranoic Hardening” (punto 2). Per salvare serve il permesso <code>manage_options</code>; su multisite serve <code>manage_network_options</code>.</p>
<p>La scheda ha quattro sezioni. Al punto 3 trovi “Paranoic Hardening — Header di sicurezza HTTP”. Al punto 4 c&#8217;è “HTTP Strict Transport Security (HSTS)”. Il punto 5 è “Verifica header di sicurezza”. Il punto 6 è “Autologout amministratori per inattività”.</p>
<h2>A cosa serve</h2>
<p>Gli header sono istruzioni che il sito manda al browser insieme a ogni pagina. Il plugin li invia con l&#8217;hook <code>send_headers</code> di WordPress, senza toccare il file <code>.htaccess</code>. Quindi non rischi un errore 500 e funzionano anche senza <code>mod_headers</code>.</p>
<p>Gli header riguardano solo il sito pubblico. Non vengono mai inviati nell&#8217;area di amministrazione. Il plugin non offre una Content-Security-Policy e non invia X-XSS-Protection.</p>
<h2>Come si usa il Paranoic Hardening</h2>
<h3>Header di sicurezza HTTP (punto 3)</h3>
<ul>
<li><strong>X-Content-Type-Options</strong> invia <code>nosniff</code>. Il browser non “indovina” il tipo dei file. Il rischio è praticamente nullo.</li>
<li><strong>X-Frame-Options</strong> invia <code>SAMEORIGIN</code>. Il sito non può più essere incorporato in un <code>&lt;iframe&gt;</code> di un altro dominio. Se un sito partner mostra le tue pagine, smetterà di farlo.</li>
<li><strong>Referrer-Policy</strong> invia <code>strict-origin-when-cross-origin</code>. Verso altri domini viaggia solo il dominio, non il percorso. Statistiche di terzi che vogliono il referrer completo non lo riceveranno.</li>
</ul>
<p>Spunta le caselle che ti servono e premi <strong>Salva Paranoic Hardening</strong>. Vedrai l&#8217;avviso “Impostazioni Paranoic Hardening salvate e applicate.” Le caselle che non spunti vengono salvate come disattivate.</p>
<h3>HSTS (punto 4)</h3>
<p>HSTS dice al browser di usare sempre https con il tuo dominio. Ci sono tre caselle: “Attiva HSTS”, “includeSubDomains” e “Preload”. L&#8217;header inviato ha <code>max-age=31536000</code>, cioè un anno. Il valore è fisso e non si cambia.</p>
<p>Il plugin rifiuta l&#8217;attivazione se la pagina non è stata aperta in https. In quel caso salva il resto e mostra un avviso rosso: “Impostazioni salvate, ma HSTS NON è stato attivato: questa richiesta non è arrivata in https. Apri il pannello in https e riprova.” Se la pagina è in http, le tre caselle sono anche disabilitate.</p>
<p>Se spegni “Attiva HSTS”, al salvataggio vengono azzerate anche “includeSubDomains” e “Preload”. Se riattivi HSTS, devi rispuntarle.</p>
<h3>Verifica header di sicurezza (punto 5)</h3>
<p>Premi <strong>Verifica ora</strong>. Il plugin fa una richiesta reale alla home del sito e controlla quali header arrivano davvero. Il risultato compare nel riquadro, con la data dell&#8217;ultimo test.</p>
<ul>
<li>Verde: “Tutti gli header attesi sono presenti nella risposta reale del sito.”</li>
<li>Rosso: gli header attivi che non sono arrivati. Può essere un proxy, una CDN o un altro plugin che li rimuove. HSTS risulta mancante anche se l&#8217;indirizzo della home è http e non porta a https, perché il plugin lo invia solo su richieste https.</li>
<li>Blu: “Nessun header attivo da verificare: attiva almeno un&#8217;opzione qui sopra e salva.”</li>
<li>Rosso con “Richiesta di verifica fallita”: la richiesta non è andata a buon fine.</li>
</ul>
<p>Il test controlla la presenza dell&#8217;header, non il suo valore. Non parte da solo: devi premerlo tu.</p>
<h3>Autologout amministratori (punto 6)</h3>
<p>Questa sezione del Paranoic Hardening ha un suo pulsante, <strong>Salva autologout amministratori</strong>. Spunta “Attiva” per disconnettere gli amministratori inattivi. Poi imposta il “Timeout di inattività (secondi)”. Se il browser blocca il <code>localStorage</code> (per esempio in navigazione privata), il controllo non scatta mai e non vieni disconnesso.</p>
<p>Il valore predefinito è 900, cioè 15 minuti. Il minimo è 60 e il massimo è 86400. Se scrivi un numero fuori dai limiti, il plugin lo porta al valore ammesso più vicino. Per esempio 30 diventa 60. L&#8217;avviso resta verde, quindi rileggi il numero nel campo dopo il salvataggio.</p>
<p>Vengono disconnessi solo gli utenti con il permesso <code>manage_options</code>. Editor e autori non vengono toccati. L&#8217;inattività è misurata nel browser: contano mouse, tastiera, scroll e tocco. La sessione si chiude come con “Esci” e le modifiche non salvate in un form aperto vanno perse.</p>
<h2>Ordine consigliato di attivazione</h2>
<ol>
<li>Apri il pannello in https.</li>
<li>Attiva X-Content-Type-Options, salva e premi “Verifica ora”.</li>
<li>Attiva Referrer-Policy, salva e verifica.</li>
<li>Controlla che nessun sito incorpori il tuo, poi attiva X-Frame-Options, salva e verifica.</li>
<li>Attiva l&#8217;autologout con un timeout generoso, per esempio 1800. Riducilo solo dopo qualche giorno.</li>
<li>Per ultimo valuta HSTS, senza includeSubDomains e senza Preload.</li>
</ol>
<p>Attiva una opzione alla volta. Se qualcosa si rompe, sai subito quale è stata.</p>
<h2>Il rischio di HSTS, includeSubDomains e Preload</h2>
<p><strong>Attenzione:</strong> HSTS non si disfa dal sito. Se togli la spunta, il plugin smette di inviare l&#8217;header, ma i browser che l&#8217;hanno già ricevuto lo ricordano fino alla scadenza. Il plugin non invia mai <code>max-age=0</code>, quindi non ha un “annulla”. Lo dice anche il banner della scheda: gli effetti possono restare visibili per settimane o mesi.</p>
<p>Con HSTS attivo il browser rifiuta ogni connessione non https al dominio. Se il certificato scade o si rompe, il browser non mostra più nemmeno la schermata “continua comunque”. Il sito resta irraggiungibile da quel browser.</p>
<ul>
<li><strong>includeSubDomains</strong> estende la regola a tutti i sottodomini. Un solo sottodominio senza https valido, anche di test o futuro, diventa irraggiungibile per chi ha già visitato il sito. Attivalo solo se tutti i sottodomini sono e saranno https.</li>
<li><strong>Preload</strong> aggiunge solo il flag <code>preload</code> all&#8217;header. Da solo non iscrive il sito: l&#8217;invio alla lista dei browser si fa a mano su hstspreload.org. La lista è dentro i browser, e uscirne richiede settimane. Considera Preload una scelta definitiva.</li>
</ul>
<p>Salva sempre dalla versione https del pannello. Le caselle disabilitate non vengono inviate dal browser: salvando da una pagina http, HSTS e le sue sotto-opzioni si spengono.</p>
<h2>Cosa succede dietro le quinte</h2>
<p>Le impostazioni del Paranoic Hardening sono opzioni di WordPress, non regole del server. L&#8217;autologout stampa uno script solo nelle pagine di amministrazione. Lo script registra l&#8217;ultima attività nel <code>localStorage</code> del browser e ogni 5 secondi controlla il timeout. Alla scadenza chiede a <code>admin-ajax.php</code> di eseguire il logout e ti porta alla pagina di login. Il salvataggio finisce nel Registro attività solo se hai cambiato qualcosa.</p>
<h2>Se qualcosa non va</h2>
<ul>
<li>Il riquadro è rosso dopo “Verifica ora”: un proxy, una CDN o un altro plugin sta togliendo gli header. Controlla la loro configurazione.</li>
<li>Un sito partner non mostra più le tue pagine: togli la spunta a X-Frame-Options e salva.</li>
<li>Non riesci ad attivare HSTS: riapri il pannello con l&#8217;indirizzo https.</li>
<li>Per controllare a mano gli header puoi usare gli strumenti sviluppatore del browser o <code>curl -I</code> sull&#8217;indirizzo https del sito.</li>
</ul>
<p>Per capire meglio come funziona HSTS, leggi la pagina <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Strict-Transport-Security" target="_blank" rel="noopener">Strict-Transport-Security su MDN</a>. Spiega max-age, includeSubDomains e preload con precisione.</p>
<p>Precedente: <a href="https://www.cisilino.com/?p=980">Scheda Test: verificare che le protezioni funzionino</a>. Successivo: <a href="https://www.cisilino.com/?p=982">Registrazione utenti: chi può creare account</a>. Per l&#8217;indice generale vai al <a href="https://www.cisilino.com/?p=972">capitolo 1 del manuale</a>.</p><p>The post <a href="https://www.cisilino.com/2026/10/30/manuale-csdn-paranoic-hardening/">Paranoic Hardening: header di sicurezza e sessione amministrativa</a> first appeared on <a href="https://www.cisilino.com">Matteo Cisilino</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.cisilino.com/2026/10/30/manuale-csdn-paranoic-hardening/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
