Node.js: proteggere le app ExpressJS con Helmet

Node.js: proteggere le app ExpressJS con Helmet

Helmet è un'utile modulo che aggiunge un ulteriore layer di sicurezza alle nostre app in ExpressJS.

Helmet è utile per proteggere l’applicazione da alcune vulnerabilità web note configurando le intestazioni HTTP in modo appropriato.

Attualmente, Helmet non è altro che una raccolta di nove funzioni middleware più piccole che impostano le intestazioni HTTP relative alla sicurezza:

  • csp imposta l’intestazione Content-Security-Policy per impedire attacchi XSS (cross-site scripting) e altri attacchi da altri siti.
  • hidePoweredBy rimuove l’intestazione X-Powered-By.
  • hpkp aggiunge le intestazioni Public Key Pinning per impedire attacchi man-in-the-middle con certificati contraffatti.
  • hsts imposta l’intestazione Strict-Transport-Security che rafforza connessioni (HTTP su SSL/TLS) sicure per il server.
  • ieNoOpen imposta X-Download-Options per IE8+.
  • noCache imposta le intestazioni Cache-Control e Pragma per disabilitare la memorizzazione in cache della parte client.
  • noSniff imposta X-Content-Type-Options per impedire ai browser di effettuare l’analisi MIME di una risposta fuori dal contenuto dichiarato.
  • frameguard imposta l’intestazione X-Frame-Options per fornire la protezione clickjacking.
  • xssFilter imposta X-XSS-Protection per abilitare il filtro XSS (Cross-site scripting) nei browser web più recenti.

Installate Helmet come qualsiasi altro modulo:


npm install --save helmet

Successivamente, per utilizzarlo nel codice:


const helmet = require('helmet');
app.use(helmet());

Torna su