24 Giugno 2019

Sicurezza WordPress : WordFence, Sucuri, iThemes Security ? Cancellateli subito ORA !

Quali plugin utilizzare per la sicurezza di un blog WordPress ? Alcune considerazioni.

Uno dei temi più discussi e richiesti sia da appassionati che da sviluppatori nel mondo WordPress è senza dubbio quello relativo alla sicurezza delle installazioni. L’obiettivo è proteggere i propri siti web da intrusioni, attacchi e, in generale, da quelle entità insidiose e malevole comunemente note come hacker. In questo contesto, si cercano soluzioni efficaci per blindare il proprio ambiente digitale.

Se ci si addentra nei forum online, nei gruppi Facebook dedicati o nelle newsletter tematiche, la risposta più comune e quasi canonica riguarda l’adozione di plugin specifici per la sicurezza. Tra i più popolari in questo campo, troviamo WordFence, Sucuri e iThemes Security. Non è raro che venga suggerita l’installazione di più di uno di questi plugin, talvolta in combinazione, per ottenere una copertura di sicurezza considerata più completa.

WordFence

Descrizione:
WordFence è uno dei plugin di sicurezza più popolari per WordPress, offrendo una vasta gamma di funzionalità per proteggere il tuo sito web. Tra le sue caratteristiche principali, troviamo la scansione dei malware, il firewall, e la protezione da attacchi di forza bruta. Il plugin è noto per la sua interfaccia user-friendly e per la possibilità di monitorare il traffico in tempo reale, consentendo agli amministratori di sito di reagire prontamente a qualsiasi potenziale minaccia.

Sito Ufficiale:
WordFence Official Site


Sucuri

Descrizione:
Sucuri è un altro plugin di sicurezza altamente considerato nella comunità WordPress. Offre una suite completa di strumenti per la sicurezza, tra cui un firewall per applicazioni web (WAF), monitoraggio dei malware e protezione da DDoS. Sucuri è particolarmente apprezzato per il suo servizio di pulizia del sito, che aiuta a rimuovere i malware e a ripristinare siti web compromessi.

Sito Ufficiale:
Sucuri Official Site


iThemes Security

Descrizione:
iThemes Security è un plugin di sicurezza robusto e versatile per WordPress, con una serie di funzionalità progettate per proteggere il tuo sito web da vari tipi di vulnerabilità. Alcune delle sue funzioni includono la protezione da attacchi di forza bruta, la scansione dei malware e l’implementazione di misure di sicurezza come la modifica dei prefissi delle tabelle del database e la protezione del file .htaccess.

Sito Ufficiale:
iThemes Security Official Site

Tuttavia, quello che spesso rimane in ombra è l’effetto collaterale di tali soluzioni sulle performance del sito web. Questi plugin, scritti principalmente in PHP—a causa delle limitazioni intrinseche di questo linguaggio in termini di performance—hanno un costo computazionale non trascurabile. Per ogni visita sul sito e per una serie di azioni specifiche, come ad esempio il processo di login, questi script avviano una sequenza di operazioni volte a garantire la sicurezza. Queste operazioni, però, possono incidere negativamente sul tempo di risposta del sito (latenza) e sull’utilizzo delle risorse di sistema, in particolare la CPU.

In altre parole, c’è un trade-off tra sicurezza e performance: l’installazione di plugin di sicurezza potrebbe fornire un livello di protezione più elevato, ma al prezzo di un peggioramento delle prestazioni del sito. Questo è un aspetto cruciale da considerare, soprattutto per chi è focalizzato sulle Web Performance e desidera offrire un’esperienza utente ottimale senza compromessi.

Come funzionano questi plugin di sicurezza ? Vediamo WordFence ad esempio.

Direttamente la loro sito : https://www.wordfence.com/blog/2017/01/how-wordpress-firewall-works/ riportiamo la versione tradotta in italiano.

Quando attivi il firewall di Wordfence, utilizziamo una tecnica che indica al tuo server web di eseguire il codice del firewall di Wordfence prima di qualsiasi altro codice PHP sul tuo sito web. Il modo in cui lo facciamo è includere una direttiva nel tuo file .htaccess chiamato ‘auto_prepend_file’. Questa direttiva punta al codice di Wordfence e garantisce che Wordfence venga eseguito prima di qualsiasi altra cosa.

Una volta configurato il tuo sito Web per l’avvio del firewall di Wordfence, qualsiasi richiesta arrivi, indipendentemente dal file PHP a cui tenta di accedere, verrà prima elaborata da Wordfence per verificare se è sicura o meno. Il nostro firewall WordPress eseguirà la richiesta attraverso il suo set di regole, eseguendo un’analisi dettagliata ad alte prestazioni e prenderà una decisione per bloccare la richiesta o consentirla.

Il codice del firewall che esegue questa decisione prima di qualsiasi altra cosa, incluso WordPress. Ciò significa che il codice WordPress non è stato caricato e il database non è ancora connesso. Questo rende il codice del firewall di Wordfence incredibilmente veloce . Possiamo bloccare una richiesta malevola prima ancora che si connetta al tuo database e prima che il voluminoso codice WordPress e l’ambiente API siano caricati.

Il codice firewall di Wordfence viene eseguito prima di qualsiasi altra cosa, incluso WordPress. Ma ha anche la possibilità di trasferire i dati a WordPress e ottenere dati dall’API di WordPress. Questo ci consente di incorporare l’identità dell’utente nel nostro set di regole in modo che possiamo decidere se autorizzare o meno l’accesso di un utente, basandosi non solo sul contenuto della richiesta, ma su chi sono e su quale livello di accesso hanno all’interno di WordPress.

L’utilizzo di questo modello di esecuzione ad alte prestazioni significa che gli hacker raggiungono solo il superfluo firewall di Wordfence e non riescono a ottenere oltre. Visitatori del sito amici, crawler e utenti possono accedere al tuo sito web completo. Ciò mantiene il tuo sito Web WordPress veloce e sicuro.

Alte prestazioni ? Davvero ? In quale contesto ?

Il termine “alte prestazioni” è un concetto relativo che può variare notevolmente a seconda del contesto in cui viene utilizzato. Per fare un analogo automobilistico, una Ferrari è indiscutibilmente veloce se paragonata a una berlina di serie, ma potrebbe non essere la più veloce se messa a confronto con una vettura da Formula 1. Quindi, la velocità e le prestazioni sono sempre relative e dipendono dai criteri di paragone che si adottano.

Criteri di Valutazione per i Plugin WordPress

Nel contesto dei plugin di sicurezza per WordPress, “alte prestazioni” potrebbe riferirsi all’efficacia nel rilevare e prevenire minacce, alla facilità d’uso, o all’efficienza nell’utilizzo delle risorse di sistema. Tuttavia, l’uso del termine diventa ambiguo quando si considerano anche le implicazioni sulle performance del sito, soprattutto per siti web con elevati livelli di traffico.

PHP e i Limiti Inerenti

Consideriamo, ad esempio, un plugin WordPress che funge da WAF (Web Application Firewall). Anche se fosse progettato per operare nel modo più efficiente possibile, l’uso del linguaggio PHP presenta delle sfide intrinseche. PHP è notoriamente meno veloce di altri linguaggi di programmazione e può diventare un collo di bottiglia, soprattutto quando deve eseguire operazioni complesse o numerose durante ogni singola visita al sito. Il suo modello di esecuzione bloccante significa che ogni operazione deve completarsi prima che la successiva possa iniziare, il che può rallentare significativamente il sito.

Il Dilemma della Performance per Siti ad Alto Traffico

Pertanto, anche se un plugin di sicurezza basato su PHP potrebbe essere “ad alte prestazioni” in termini di capacità di rilevare e neutralizzare minacce, potrebbe non essere la soluzione ideale per un sito WordPress che deve gestire un elevato volume di traffico. In questi casi, la necessità di eseguire controlli di sicurezza “ad ogni visita” può diventare un fattore limitante significativo, impattando negativamente sia la latenza che l’utilizzo delle risorse di CPU.

Ricordiamoci sempre che PHP è un linguaggio lentissimo.

Come riportato da moltissimi Benchmark, PHP ha un consumo di CPU davvero elevato se paragonato ad altri linguaggi come node.js da cui abbiamo riportato il grafico qui sotto. Questo ha un forte impatto sulle performance.

 

 

Ve lo immaginate un sito che per ogni singola visita debba eseguire anche una sola banalissima operazione in PHP ? Ci si rende o conto o no che il linguaggio di programmazione PHP è quanto di più lento possa esistere ? Ci rendiamo conto che se abbiamo 1000 o più visitatori online è impensabile azionare PHP per ogni visitatore onde evitare un rallentamento importante delle prestazioni fino ad un crash del sistema ?

Prendiamo ad esempio questa schermata di 5 giorni fa. Un noto blog ad alto traffico con circa 15 mila utenti connessi al minuto, ovvero circa 250 utenti al secondo. Avrebbe davvero senso eseguire un processo PHP per ogni utente ? No. Ovviamente.

I nostri consigli

La sicurezza online è un tema che preoccupa ogni gestore di siti web, e nel vasto ecosistema di WordPress, le opzioni per proteggere il vostro sito possono sembrare infinite. Tuttavia, non tutte le soluzioni si adattano alle esigenze di ogni tipo di sito.

Valutazione Critica dei Plugin di Sicurezza

La nostra raccomandazione più sincera riguarda la cautela nella scelta di installare plugin di sicurezza per WordPress. Questi strumenti possono essere molto efficaci, ma è essenziale considerare l’ambiente in cui saranno utilizzati.

Per Siti Istituzionali a Basso Traffico

Se gestite un sito istituzionale con aggiornamenti sporadici e un volume di traffico relativamente basso, l’uso di questi plugin potrebbe essere una scelta accettabile. Tuttavia, è bene essere consapevoli che ciò comporterà un incremento nel carico di lavoro del server e un aumento della latenza. Il lato positivo è che otterrete un livello di sicurezza maggiore per il vostro sito web.

Per Siti WordPress ad Alto Traffico

Per i siti WordPress con un elevato volume di traffico, il consiglio più prezioso che possiamo offrire è di evitare l’installazione di questi plugin. L’impatto sulle performance potrebbe essere notevole e potenzialmente dannoso.

Soluzioni WAF Lato Sistemistico

Se avete un requisito imperativo per una soluzione di sicurezza che agisca come un WAF (Web Application Firewall), la nostra raccomandazione è di esplorare opzioni lato sistemistico piuttosto che affidarsi a plugin WordPress. Ad esempio, potete considerare NAXSI, un firewall di sicurezza open-source per server web NGINX, o il più tradizionale e collaudato mod_security per Apache.

Soluzioni di Sicurezza in Outsourcing

Se preferite optare per servizi di sicurezza gestiti, una soluzione come il piano commerciale di CloudFlare, che parte da circa 25€ al mese, può fornire un efficace servizio di Web Application Firewall senza appesantire il vostro sistema o causare crash.

In definitiva, la chiave è scegliere la soluzione di sicurezza più adatta al vostro ambiente specifico, tenendo sempre in considerazione sia le esigenze di sicurezza che le implicazioni sulle performance del sito.

Hai dei dubbi? Non sai da dove iniziare? Contattaci !

Abbiamo tutte le risposte alle tue domande per aiutarti nella giusta scelta.

Chatta con noi

Chatta direttamente con il nostro supporto prevendita.

0256569681

Contattaci telefonicamente negli orari d’ufficio 9:30 – 19:30

Contattaci online

Apri una richiesta direttamente nell’area dei contatti.

INFORMAZIONI

Managed Server S.r.l. è un player italiano di riferimento nel fornire soluzioni avanzate di sistemistica GNU/Linux orientate all’alta performance. Con un modello di sottoscrizione dai costi contenuti e prevedibili, ci assicuriamo che i nostri clienti abbiano accesso a tecnologie avanzate nel campo dell’hosting, server dedicati e servizi cloud. Oltre a questo, offriamo consulenza sistemistica su sistemi Linux e manutenzione specializzata in DBMS, IT Security, Cloud e molto altro. Ci distinguiamo per l’expertise in hosting di primari CMS Open Source come WordPress, WooCommerce, Drupal, Prestashop, Joomla, OpenCart e Magento, affiancato da un servizio di supporto e consulenza di alto livello adatto per la Pubblica Amministrazione, PMI, ed aziende di qualsiasi dimensione.

Red Hat, Inc. detiene i diritti su Red Hat®, RHEL®, RedHat Linux®, e CentOS®; AlmaLinux™ è un marchio di AlmaLinux OS Foundation; Rocky Linux® è un marchio registrato di Rocky Linux Foundation; SUSE® è un marchio registrato di SUSE LLC; Canonical Ltd. detiene i diritti su Ubuntu®; Software in the Public Interest, Inc. detiene i diritti su Debian®; Linus Torvalds detiene i diritti su Linux®; FreeBSD® è un marchio registrato di The FreeBSD Foundation; NetBSD® è un marchio registrato di The NetBSD Foundation; OpenBSD® è un marchio registrato di Theo de Raadt. Oracle Corporation detiene i diritti su Oracle®, MySQL®, e MyRocks®; Percona® è un marchio registrato di Percona LLC; MariaDB® è un marchio registrato di MariaDB Corporation Ab; REDIS® è un marchio registrato di Redis Labs Ltd. F5 Networks, Inc. detiene i diritti su NGINX® e NGINX Plus®; Varnish® è un marchio registrato di Varnish Software AB. Adobe Inc. detiene i diritti su Magento®; PrestaShop® è un marchio registrato di PrestaShop SA; OpenCart® è un marchio registrato di OpenCart Limited. Automattic Inc. detiene i diritti su WordPress®, WooCommerce®, e JetPack®; Open Source Matters, Inc. detiene i diritti su Joomla®; Dries Buytaert detiene i diritti su Drupal®. Amazon Web Services, Inc. detiene i diritti su AWS®; Google LLC detiene i diritti su Google Cloud™ e Chrome™; Microsoft Corporation detiene i diritti su Microsoft®, Azure®, e Internet Explorer®; Mozilla Foundation detiene i diritti su Firefox®. Apache® è un marchio registrato di The Apache Software Foundation; PHP® è un marchio registrato del PHP Group. CloudFlare® è un marchio registrato di Cloudflare, Inc.; NETSCOUT® è un marchio registrato di NETSCOUT Systems Inc.; ElasticSearch®, LogStash®, e Kibana® sono marchi registrati di Elastic N.V. Hetzner Online GmbH detiene i diritti su Hetzner®; OVHcloud è un marchio registrato di OVH Groupe SAS; cPanel®, L.L.C. detiene i diritti su cPanel®; Plesk® è un marchio registrato di Plesk International GmbH; Facebook, Inc. detiene i diritti su Facebook®. Questo sito non è affiliato, sponsorizzato o altrimenti associato a nessuna delle entità sopra menzionate e non rappresenta nessuna di queste entità in alcun modo. Tutti i diritti sui marchi e sui nomi di prodotto menzionati sono di proprietà dei rispettivi detentori di copyright. Ogni altro marchio citato appartiene ai propri registranti. MANAGED SERVER® è un marchio registrato a livello europeo da MANAGED SERVER SRL, Via Enzo Ferrari, 9, 62012 Civitanova Marche (MC), Italia.

Torna in alto