Aggiornamento sulla Sicurezza WordPress. Botnet all’attacco di siti WordPress.

Il Defiant Threat Intelligence Team ha recentemente iniziato a tracciare un comportamento anomalo di una campagna di attacchi Brute Force organizzata contro siti WordPress. Questa campagna ha creato una botnet di siti Web WordPress infetti per eseguire ulteriori attacchi verso altri siti WordPress, nel tentativo di bucare l’autenticazione XML-RPC, per accedere agli account con privilegi.

Negli ultimi trenta giorni, sono stati rilevati da alcuni WAF, cinque milioni di tentativi di autenticazione maligni associati a questo tipo di campagna.

Gli autori delle minacce (gli hacker) utilizzano un gruppo di quattro server C2 (command and control) per inviare richieste a oltre 14.000 server proxy forniti da un provider proxy russo chiamato best-proxy.ru. Usano questi proxy per rendere anonimo il traffico C2. Le richieste passano attraverso i server proxy e vengono inviate a oltre 20.000 siti WordPress infetti. Questi siti stanno eseguendo uno script di attacco che attacca altri siti WordPress mirati. Lo schema seguente illustra la catena di sequenza d’attacco.

In questo articolo, descriveremo questa catena di attacco in dettaglio in modo che ricercatori, venditori e team per le operazioni di sicurezza possano beneficiarne. In alcuni casi sono stati omessi o cancellati i dati, perché i server C2 e i siti WordPress infetti sono ancora online e potrebbero essere sfruttati da altri. Attualmente sono in corso manovre di esperti, team organizzati che stanno condividendo i dati con le forze dell’ordine relative a questa indagine. Inoltre si stanno fornendo dati agli stessi host interessati per aiutarli a rimediare alle macchine infette nelle loro reti.

Identificazione di script Brute Force

Nella ricerca di questa campagna è stato determinato che gli IP che eseguivano gli attacchi Brute Force erano quasi tutti associati ai popolari provider di hosting web (italiani e non) e che gli attacchi erano tutti rivolti all’interfaccia XML-RPC di WordPress su /xmlrpc.php.

E’ stato anche notato che le stringhe User-Agent associate a queste richieste corrispondevano a quelle utilizzate dalle applicazioni comunemente viste interagendo con l’interfaccia XML-RPC, come wp-iphone e wp-android. Poiché in genere queste applicazioni memorizzano le credenziali localmente, è stato inusuale vedere da parte loro, una quantità così significativa di accessi non riusciti, il che ha attirato l’attenzione dei team di sicurezza. Sono stati identificati oltre 20.000 siti slave WordPress che stavano attaccando altri siti WordPress.

WordPress che attacca WordPress

Con questi dati in mano, hanno continuato ad identificare gli script di attacco Brute Force presenti su siti WordPress infetti, corrispondenti agli attacchi che stavamo singolarmente monitorando. Gli script mirano all’interfaccia XML-RPC dei siti WordPress per testare le coppie nome utente / password, Utilizzando uno spoof a caso delle stringhe User-Agent di ogni richiesta:

foreach ($request as $i => $id) {
 $xmlualist = array("Poster", "WordPress", "Windows Live Writer", "wp-iphone", "wp-android", "wp-windowsphone");
 $xmlual = $xmlualist[array_rand($xmlualist)];

Lo script brute force accetta l’input di comando e controllo (C2) tramite POST per definire alcune impostazioni di esecuzione, come un array JSON di domini mirati e un wordlist locale da utilizzare:

if ($_POST['secret']=='111'){
    $timer = time();
    libxml_use_internal_errors(true);
    ini_set('memory_limit', '-1');
    ini_set('max_execution_time', 500000000000);
    $request = array();
    if(checkWordsList($_POST['wordsList'], $_POST['path'], $_POST['hash'])){
        $domainsData = json_decode($_POST['domainsData'], true);
        foreach($domainsData as $item){
            $brutePass = createBrutePass($_POST['wordsList'], $item['domain'], $item['login'], $_POST['startPass'], $_POST['endPass']);
            $request[] = array('id'=>$item['id'], 'user'=>$item['login'], 'request'=>createFullRequest($item['login'], $brutePass),'domain'=>'http://' . trim(strtolower($item['domain'])).'/xmlrpc.php', 'brutePass'=>$brutePass);
        }

Generazione dinamica di Wordlist

Le Wordlist associate a questa campagna contengono piccole serie di password molto comuni. Tuttavia, lo script include funzionalità per generare dinamicamente password appropriate basate su modelli comuni. Alcuni esempi di questi modelli sono:

%DomainPattern%
%nome utente%
%Username%1
%Username%123
%Username%2018
%Username%2017
%Username%2016

In altre parole, se lo script Brute Force tenta di accedere a esempio.com come utente, genererà password come esempio, alice1, alice2018 e così via. Anche se è improbabile che questa tattica abbia successo su un determinato sito, può essere molto efficace se utilizzata su larga scala con un numero elevato di obiettivi.

Funzionalità Multicall

L’interfaccia XML-RPC di WordPress ha visto un aumento degli attacchi Brute Force nel 2015, quando gli attacchi che sfruttano la funzionalità multicall sono diventati popolari. In breve, utilizzando questa interfaccia un utente malintenzionato potrebbe inviare un numero elevato di coppie utente/password in una singola richiesta. WordPress testerebbe ogni coppia e restituirebbe un elenco di successi e fallimenti. Questa tecnica ha reso il processo di attacco brute force molto più facile da avviare su scala, dal momento che un dispositivo attaccante avrebbe solo bisogno di inviare un singolo batch di credenziali e attendere una risposta.

Lo script Brute Force in questa campagna è costruito per eseguire questo tipo di attacco multicall di default. Il frammento di codice seguente mostra la funzione che, quando viene fornito un nome utente e una serie di password, assemblerà un singolo oggetto XML contenente tutte le password da tentare di forzare.

function createFullRequest($login, $passwords){
    $xml = createRequestXML();
    for($i = 0; $i < count($passwords); $i++){ $xml = addElementXML($xml, $login, $passwords[$i]); } $request = $xml->saveXML();
    return $request;
}

I sistemi C2 che impartiscono istruzioni allo script Brute Force possono facoltativamente definire variabili $startPass e $endPass, che indicano allo script di tentare solo un sottoinsieme di password su un determinato elenco invece di eseguire l’intero set.

Attacchi Multicall non più efficaci (principalmente)

Molti utenti di WordPress non sanno che questo attacco multicall XML non è più efficace. Una patch per wp-include/class-wp-xmlrpc-server.php è stata introdotta in WordPress 4.4. Con questa patch, se un tentativo di accesso in una richiesta XML-RPC non riesce su un sito Web target, quel sito Web fallirà immediatamente tutti i tentativi successivi nella stessa richiesta, anche se le credenziali sono valide.

La patch XML-RPC per WordPress 4.4 è stata rilasciata in modo silenzioso e non è stata divulgata nelle note di rilascio. Inoltre non è stato sottoposto a backport in precedenti sezioni di WordPress come la maggior parte delle correzioni di sicurezza, nonostante fosse una patch relativamente poco invasiva. Per chiarire, anche se un sito è sull’ultima versione di sicurezza di un ramo WordPress dalla versione 4.3 e precedenti, può essere vulnerabile a questo metodo di attacco.

Gli aggressori di questa campagna sembrano essere consapevoli di questo miglioramento. Un certo numero di richieste da sistemi C2 a siti (precedentemente) infetti sono stati intercettati da WAF esterni, tutte queste richieste definiscono lo stesso valore per i parametri $startPass e $endPass sopra descritti. Ciò significa che gli script di attacco finiscono per tentare l’autenticazione con una combinazione utente/password alla volta, deprecando efficacemente la funzionalità multicall dello script stesso.

Infrastruttura di Attacco rivelata

Come accennato in precedenza, siamo stati in grado di catturare le richieste inviate dai sistemi C2 alla rete di siti WordPress infetti e abbiamo avuto successo nell’acquisire una grande quantità di informazioni da questi dati.

Server C2 centrali identificati

La catena di attacco in questa campagna ha fatto uso di più livelli di astrazione tra l’attaccante e i siti di destinazione. Gli attacchi Brute Force vengono eseguiti da una rete di siti WordPress infetti, che ricevono istruzioni tramite una rete di server proxy, quindi in genere sarebbe molto difficile tenere traccia dei server C2 centrali dietro a tutto il resto. Siamo stati fortunatiLa fortuna sta nel fatto che, chi attacca abbia commesso alcuni errori nella loro implementazione degli script Brute Force.

Poiché gli script utilizzano entrambi elenchi di parole memorizzati nello stesso sito WordPress infetto, includono funzionalità per rigenerare queste liste di parole, se necessario:

function checkWordsList($filename, $path, $hash){
    if(file_exists($_SERVER["DOCUMENT_ROOT"].'/'.$filename) and md5_file($_SERVER["DOCUMENT_ROOT"].'/'.$filename) == $hash){
        return true;
    }else{
        downloadCurlTarg($path, $_SERVER["DOCUMENT_ROOT"].'/'.$filename);
        if(file_exists($_SERVER["DOCUMENT_ROOT"] . '/' . $filename) and md5_file($_SERVER["DOCUMENT_ROOT"] . '/' . $filename) == $hash){
            return true;
        }else{
            return false;
        }
    }
}

 

La funzione checkWordsList() passa un valore $path che definisce un indirizzo remoto contenente la wordlist da utilizzare. Se manca la wordlist locale, lo script scaricherà la lista dall’indirizzo indicato. Questo percorso viene fornito insieme al resto dei dati POST inviati dai server proxy allo script brute force. Le richieste intercettate dai WAF includevano questo percorso, che conteneva un indirizzo IP.

Questo IP indicava un server che conteneva una pagina di accesso, che suggeriva di aver trovato qualcosa di grande.

Sono stati poi identificati un totale di quattro server di comando e controllo attivi coinvolti nella campagna di Brute Force.

Accesso all’interfaccia C2

Una breve analisi dei siti C2 ha rivelato che, nonostante la pagina di accesso, l’autenticazione di questi sistemi non è stata effettivamente applicata. Il tentativo di accedere alle pagine dell’interfaccia C2 attiverebbe un re-indirizzamento 302 alla pagina di accesso, ma l’applicazione ha comunque inviato i dati della pagina accanto al re-indirizzamento.

Richiesta cURL alla home page di un server C2. Notare il re-indirizzamento 302 su /login.php e la risposta HTML che lo segue.

Usando BurpSuite, è stata creata una regola proxy che ignora questo re-indirizzamento dell’accesso, dando la possibilità di esplorare liberamente l’interfaccia dell’applicazione C2. Contenute all’interno dell’interfaccia c’era una serie di funzionalità, inclusa la possibilità di accedere a un elenco di “slave”, che si riferivano ai siti WordPress infetti contenenti script Brute Force.

Una vista disponibile nell’interfaccia C2 che mostra un elenco di log esportati dall’hacker.

Connessione identificata a Best-Proxies.ru

Con l’accesso alle interfacce di questi server C2, sono stati in grado di identificare la relazione tra questi server e i server proxy che inviano comandi ai siti “slave”. Ogni server conteneva un file nel suo webroot denominato proxy.txt. Questo file contiene un elenco di quasi diecimila indirizzi proxy SOCKS, con indirizzi IP e porte. Questi indirizzi IP coincidevano con i server proxy identificati in precedenza, suggerendo che C2 utilizzi questo file per selezionare casualmente un proxy durante l’emissione di ciascun attacco. Sono stati identificati 14.807 server proxy.

È interessante notare che il file proxy.txt su uno dei server C2 non conteneva un elenco di indirizzi proxy, ma conteneva invece un documento HTML. Il documento era una copia di un errore 503 Servizio non disponibile, incluso un collegamento a api.best-proxies.ru. Anche in questo documento c’era il testo russo che si traduce in “Errore di autorizzazione: il periodo di validità di questa chiave è scaduto, è possibile acquistare una nuova chiave”.

Si scopre anche che gli hacker hanno dimenticano di pagare le bollette.

Screenshot del documento di errore memorizzato su un server C2, suggerendo che l’utente malintenzionato non ha rinnovato la chiave API utilizzata per accedere agli elenchi dei proxy.

Date le circostanze, è probabile che il server C2 indirizzi il proprio elenco di proxy SOCKS da api.best-proxies.ru memorizzando direttamente la risposta dell’API in proxy.txt. Quando l’API restituisce un errore, questo errore sovrascrive l’elenco dei proxy.

Collaborazione con le autorità competenti

Una grande quantità di dati preziosi è stata raccolta come parte di questa indagine. A causa della natura del lavoro svolto, sono stati mantenuti i contatti con numerose agenzie di polizia in tutto il mondo. Mentre in generale vengano condivisi dati con la maggior parte dei blog nella rete, come gli indirizzi IP e altri indicatori di compromesso, in questo caso è stato scelto scelto di conservare alcune di queste informazioni al fine di evitare interferenze con possibili indagini future.

Oltre alle forze dell’ordine, sono stati contattati alcuni provider di hosting che identificati con un gran numero di siti “slave” infetti. La speranza è che fornire queste informazioni possa aiutare a limitare l’efficacia di questa campagna riducendo il numero di siti attivi che vengano lanciati ulteriori attacchi.

Cosa dovrebbero fare i proprietari dei siti?

Per evitare che il vostro sito cada vittima di attacchi di Brute Force come questi, è utile implementare restrizioni e blocchi per accessi non riusciti. Esistono sistemi e procedure che offrono una robusta protezione brute force e che bloccano gli IP che lanciano tali attacchi.

Consultate un professionista che sappia indirizzarvi verso le corrette procedure di difesa da adottare in casi come questi.

Se ritenete che il Vostro sito sia infetto e lanci attacchi come descritto di questa campagna, Vi preghiamo di prendere in considerazione l’utilizzo dei nostri servizi di Management su Server Dedicati, VPS e siti. Avendo una certa familiarità con questi casi e possiamo garantire che il Vostro problema possa essere gestito in modo corretto e competente.

Non esitate di contattarci per avere maggiori informazioni, e servizio audit in tempo reale.

In Conclusione

Il Defiant Threat Intelligence Team ha identificato una vasta campagna di attacchi Brute Force contro i siti web di WordPress. Questi attacchi sono stati lanciati da script maligni collocati su altri siti WordPress, che hanno ricevuto istruzioni da una botnet con una sofisticata catena di attacco, utilizzando un provider proxy stanziato in Russia.

Non esitate di contattarci per avere un miglior controllo ed effetto sul vostro sito o applicazione, in modo che non possa rivelarsi dannoso per la vostra attività e il futuro della vostra reputazione in Rete.

 

Nuovo WordPress 5.0: come e quando aggiornare.

wordpress 5.0

WordPress 5.0 è stato già rilasciato il 7 dicembre 2018 in Italiano. Questa versione contiene un’importante modifica all’editor di WordPress. Il nuovo editor, nome in codice Gutenberg, rappresenta un notevole passo in avanti nella funzionalità. Usa un nuovo sistema basato su blocchi per la modifica che ti consente di incorporare una vasta gamma di contenuti nei tuoi post e pagine e consentendo molta flessibilità nel tracciare quei blocchi sulla pagina stessa.

Una volta che Gutenberg e WordPress 5.0 si sono stabilizzati, forniranno benefici a lungo termine agli utenti di WordPress e alla comunità. Ma a breve termine, questo cambiamento potrebbe introdurre delle difficoltà per alcuni proprietari di siti WordPress. In questo articolo discuteremo di alcuni punti che aiuteranno a decidere quando passare a WordPress 5.0 e a formulare una strategia di successo per effettuare efficacemente l’aggiornamento.

Perché WordPress sta cambiando l’editor?

Il team di sviluppo di WordPress ha parlato di Gutenberg per un bel po’ di tempo. L’obiettivo, secondo Matt Mullenweg, è “semplificare la prima esperienza utente con WordPress – per coloro che stanno scrivendo, modificando, pubblicando e progettando pagine web. L’esperienza di editing ha lo scopo di fornire agli utenti una migliore rappresentazione visiva di come appariranno i loro post o pagina quando vengono pubblicati”.

Nel complesso, siamo d’accordo sul fatto che Gutenberg sarà un enorme balzo in avanti nell’uso di WordPress per creare contenuti online. Ma, come dichiarato da Matt, l’obiettivo è semplificare l’esperienza per l’utente principiante. Per il resto di noi che hanno assemblato e sviluppato una serie di strumenti per colmare le lacune nelle carenze del vecchio editor, questo sarà un periodo di adattamento.

Potenziali problemi con i plug-in e i temi legacy

WordPress è attivo da oltre 15 anni e in questo periodo sono stati creati milioni di siti web utilizzando l’attuale framework di editing. Spesso i siti vengono creati e mai aggiornati su temi più moderni. Ci sono un gran numero di plugin abbandonati installati su siti WordPress – plugin che non sono più mantenuti attivamente dai loro sviluppatori. Nessuno sta testando questi plugin abbandonati o temi precedenti per vedere come si comportano con Gutenberg.

Oltretutto in aggiunta alla complessità, molti di questi siti possono essere ospitati su servizi di hosting WordPress gestiti che si aggiorneranno automaticamente alla nuova versione di WordPress.

Alcuni proprietari di siti WordPress potrebbero non essere in grado di modificare in modo efficace le pagine che avevano precedentemente pubblicato. Alcuni potrebbero anche non essere in grado di accedere alla loro schermata di modifica. Possono verificarsi errori del server 500 o schermi bianchi per alcuni utenti. Oppure tutto può funzionare senza problemi, anche con i plugin precedenti o un tema precedente.

Con oltre 60.000 plug-in unici nella directory ufficiale di WordPress, non è possibile testare tutti i plugin con il nuovo editor. I plugin mantenuti attivamente sono, per la maggior parte, testati dagli autori dei plugin stesso. I plugin abbandonati non saranno stati testati, quindi spetta a voi testare se WordPress 5.0 funzionerà con questi plugin.

Lo stesso vale per i temi. Molti temi sono mantenuti attivamente dai loro autori. In altri casi, un tema potrebbe essere stato creato come un singolo progetto per un cliente o creato per la comunità e quindi lasciato e non mantenuto. Questi temi non mantenuti non sono stati testati con Gutenberg e WordPress 5.0.

Se si prevedono problemi di compatibilità con WordPress 5.0, è possibile mantenere l’attuale editor di WordPress installando il plugin WordPress Classic Editor. Vi Consigliamo di farlo prima del tempo, piuttosto che proviate a utilizzare il nuovo editor con codice incompatibile. Ma vale anche la pena sottolineare che Gutenberg e WordPress 5.0 sono un significativo passo avanti che permette di modificare con potenza e flessibilità i suoi contenuti. Vale quindi la pena investire il tempo necessario per rendere il sito compatibile, modificandolo se necessario e sfruttando i vantaggi di un nuovo editor basato su blocchi di contenuto.

Come faccio a sapere se sono pronto?

Hai un ambiente di test per il tuo sito web? Hai provato il nuovo editor Gutenberg? Stai usando una versione moderna di PHP? Ottimo, probabilmente sarai preparato per WordPress versione 5.0. Come per tutte le versioni principali, consigliamo di aggiornare prima in ambiente di test per cercare eventuali problemi.

Cercate anomalie con tutti i layout di pagina. È inoltre opportuno tornare indietro nel tempo nell’ambiente di test e rivedere post e pagine meno recenti per assicurarsi che siano pronti per il nuovo editor.

Come sempre eseguite il backup sia dei file del sito che del database prima di qualsiasi aggiornamento, in particolare con un aggiornamento di questa portata.

Se il vostro provider di hosting auto-aggiorna la versione.

Se il sito fruisce in l’hosting WordPress gestito, molto probabilmente il tuo provider di hosting aggiornerà automaticamente WordPress per voi. Il tuo provider WordPress dovrebbe conservare i backup dei siti precedenti. Rivolgetevi al vostro ISP per vedere quale supporto fornisce a fronte del nuovo editor di WordPress e quando si aggiorneranno a WordPress 5.0. Alcuni provider infatti, attendono fino a gennaio del prossimo anno per eseguire l’aggiornamento.

Quali sono le implicazioni per la sicurezza con Gutenberg?

Al momento non siamo a conoscenza di problemi di sicurezza con WordPress 5.0 o Gutenberg. Il progetto viene spostato in produzione ad un ritmo talmente rapido che incrementa il rischio sulla sicurezza, poiché ciò riduce la quantità di tempo disponibile per il test e il debug.

In questa fase dell’evoluzione di WordPress, ci sono un gran numero di team di sicurezza a livello globale che hanno gli occhi puntati sul codice e stanno conducendo ricerche per determinare se ci sono vulnerabilità nelle nuove versioni di WordPress. Non appena emergerà un problema, si dovranno affrontare tutte le procedure necessarie.

Una volta rilasciato WordPress 5.0, ci sarà probabilmente una serie di piccole versioni che emergeranno nelle settimane successive. Vi consiglio di monitorare il blog ufficiale di WordPress e se verrà annunciato un aggiornamento per la sicurezza, eseguite l’upgrade il prima possibile.

Un punto di vista pratico.

Codice Riscritto

Gutenberg è basato su React, un framework JavaScript molto popolare utilizzato e gestito da aziende come Facebook e Instagram. Gutenberg si avvale di molte altre tecnologie moderne come la REST API, ESnext + JSX, WebPack, ecc.

Per come è strutturato, Gutenberg apre un mondo completamente nuovo per gli sviluppatori, in termini di “sviluppo dei blocchi”. Ricordate, tutto in Gutenberg riguarda i blocchi. Quindi probabilmente sentirete molto spesso questo termine.

Ma questo può anche complicare le cose, dato che in questi casi gli sviluppatori dovrebbero imparare nuovi linguaggi. Tuttavia, per fortuna, la community di WordPress è venuta subito in soccorso e ci sono già ottimi progetti open source come create-guten-block. Si tratta essenzialmente di un dev-toolkit a configurazione zero (#0CJS) che consente sviluppare blocchi di Gutenberg in pochi minuti, senza configurare React, webpack, ES6/7/8/Next, ESLint, Babel, ecc.

L’altro aspetto negativo di tutto questo è che la maggior parte (non tutti) dei temi e dei plugin di WordPress devono essere riscritti per funzionare con Gutenberg. Principalmente quelli che interagiscono con l’editor di WordPress. Yoast SEO è un ottimo esempio di uno sviluppatore di plugin di WordPress sia salito a bordo molto in fretta! Hanno rilasciato il loro primo aggiornamento per Gutenberg a luglio 2017 e da allora ne hanno rilasciati ancora. Anche se all’inizio erano un po’ preoccupati per l’accessibilità di Gutenberg.

WordPress 5.0 comprende anche Twenty Nineteen, il nuovo tema minimal distribuito con supporto completo a Gutenberg, sia dal front che dal back-end.

Cosa Succede ai Contenuti Correnti?

Cosa succede ai contenuti che avete creato nell’editor classico quando vengono aperti nel nuovo editor Gutenberg? Fondamentalmente, l’intero post apparirà come una grande finestra dell’editor TinyMCE. Lo hanno fatto per preservare il formato dei contenuti di tutti i vostri post e delle vostre pagine. Per sfruttare l’editor Gutenberg, dovrete selezionare l’opzione “Converti in blocchi”. Tutto verrà automaticamente convertito nei nuovi blocchi di Gutenberg.

Cosa Succede agli Shortcode?

Lo stesso vale per gli shortcode. È stato inserito un form nell’editor classico utilizzando uno shortcode. Quindi, nell’editor di Gutenberg, selezioniamo nuovamente “Converti in blocchi”. Lo shortcode viene quindi trasformato in un blocco shortcode di Gutenberg. Il modulo di contatto viene così reso correttamente nel front-end.

Risolvere i Problemi di Aggiornamento WordPress

Come avviene con ogni nuova versione di WordPress, c’è sempre qualcuno che incontra dei problemi, e questo è dovuto alle migliaia di temi e plugin che coesistono attualmente sul mercato. Ecco alcuni modi per risolvere problemi comuni:

  1. Vi trovate di fronte allo schermo bianco della morte? Questo problema viene comunemente risolto semplicemente riavviando PHP e cancellando la cache a pagina intera del vostro sito WordPress.
  2. Vedete una schermata con la scritta “Briefly unavailable for scheduled maintenance. Check back in a minute” che non vuole andar via? Il vostro sito potrebbe essere bloccato in modalità di manutenzione.
  3. Provate a disattivare tutti i plugin per vedere se questo risolve il vostro problema. Quindi riattivateli uno per uno finché non trovate il plugin che potrebbe richiedere un aggiornamento dallo sviluppatore.
  4. Provate a passare a un tema WordPress predefinito, ad esempio Twenty Nineteen (una volta che sarà disponibile). Se questo risolve il vostro problema, potrebbe essere necessario contattare lo sviluppatore del tema.
  5. Cercate i problemi ed eseguite una diagnosi delle anomalie JavaScript nel vostro browser. Questo può essere particolarmente utile se si rompe un componente cruciale come il Visual Editor (TinyMCE).

In Conclusione

WordPress 5.0 e Gutenberg costituiscono il più grande aggiornamento di WordPress. Coinvolge tutti, a partire dal modo in cui gli utenti interagiscono con l’editor e scrivono contenuti, al modo in cui gli sviluppatori creano plugin e temi. Solo il tempo dirà quanto successo avrà il progetto Gutenberg. Ma, a parte tutto, è meglio iniziare a testare il prima possibile per evitare interruzioni del vostro sito WordPress.

Rivolgetevi sempre a personale competente in materia, e che sappia intervenire adeguatamente per risolvere i problemi che non sono di poco conto, per chi ricerca un user friendly CMS.

Per ulteriori informazioni contattateci in privato per avere una corretta analisi sulla fattibilità di aggiornamento dei vostri siti WordPress 5.0 e non.