Vai al contenuto principale

Sicurezza WordPress Headless: Checklist Completa

2 min lettura min di lettura
Checklist sicurezza WordPress headless 2026: HTTPS, WAF, 2FA, CORS, fail2ban, SSL/TLS

Un’architettura headless WordPress offre vantaggi di sicurezza intrinseci, ma richiede configurazioni specifiche. Ecco la checklist completa per proteggere il tuo stack.

Separazione Backend/Frontend

Il primo livello di sicurezza è nascondere completamente WordPress:

  • ✅ CMS su sottodominio dedicato (es. cms.tuosito.it)
  • ✅ Firewall IP whitelist per accesso admin
  • ✅ Nessun link diretto dal frontend al backend
  • ✅ Robots.txt che blocca indicizzazione CMS

Autenticazione REST API

Opzione 1: Application Passwords (WordPress 5.6+)

// Genera password applicazione in WP Admin → Utenti → Profilo
const auth = btoa('username:app-password-generated');

fetch('https://cms.example.com/wp-json/wp/v2/posts', {
  headers: { 'Authorization': 'Basic ' + auth }
});

Opzione 2: JWT Token

Plugin consigliato: JWT Authentication for WP REST API

// Login per ottenere token
const response = await fetch('https://cms.example.com/wp-json/jwt-auth/v1/token', {
  method: 'POST',
  body: JSON.stringify({ username, password })
});

const { token } = await response.json();

// Usa token per API calls
fetch('https://cms.example.com/wp-json/wp/v2/posts', {
  headers: { 'Authorization': 'Bearer ' + token }
});

Hardening WordPress CMS

  1. Disable XML-RPC: add_filter('xmlrpc_enabled', '__return_false');
  2. Hide WP version: Remove wp_head() meta tag
  3. Limit login attempts: Plugin Limit Login Attempts Reloaded
  4. 2FA: Google Authenticator o Authy
  5. SSL/TLS: Certificato Let’s Encrypt con auto-renewal
  6. File permissions:
    • Directories: 755
    • Files: 644
    • wp-config.php: 440 o 400

Nginx Security Headers

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header Referrer-Policy strict-origin-when-cross-origin;
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline';";

Monitoring & Audit

  • 📊 Fail2Ban: Ban IP dopo tentativi login falliti
  • 🔍 Wordfence: Scan malware automatico
  • 📝 Activity Log: Plugin Simple History
  • 🔔 Uptime monitoring: UptimeRobot o Pingdom

Backup Strategy

  • Frequenza: Giornaliera per DB, settimanale per file
  • ☁️ Storage: AWS S3 o Google Cloud Storage
  • 🔄 Retention: 30 giorni rolling
  • Test restore: Mensile su staging environment

Auriti Design implementa questa checklist completa su tutti i progetti headless, garantendo sicurezza enterprise-grade.

Juan Camilo Auriti

Juan Camilo Auriti

GEO, AEO & AI Consultant — Creatore di GEO Optimizer e GEOReady

Vuoi ottimizzare il tuo sito per AI search?

Audit GEO gratuito su GEOReady oppure consulenza personalizzata.

Condividi LinkedIn