Cambiando hosting può capitare a volte di imbattersi in errori di difficile risoluzione, che rimangono ostici anche dopo aver cercato per molto tempo sul web. E’ il caso di questo errore, che si presenta su di un hosting appena configurato, con sistema operativo Linux CentOs 7.9.2009 su cui gira il pannello amministrativo Plesk.
L’errore viene visualizzato come problema critico nella schermata di salute del sito (Site Health) di WordPress, ed occorre in realtà 2 volte: un primo controllo restituisce un errore con le REST API, ed un secondo controllo restituisce il medesimo errore utilizzando la funzione di loopback.

In entrambi i casi l’errore restituito è il seguente:

curl error 35: peer reports incompatible or unsupported protocol version. (http_request_failed)

Effettuando una breve ricerca in rete si trovano diverse soluzioni, che sono però purtroppo inadeguate al caso specifico, ed anzi rischiano di generare problemi ulteriori. Viene infatti suggerito di aggiornare la versione di cURL, che su CentOs 7 è abbastanza datata, 7.29.0, ma è anche basilare per la stabilità del sistema e non va assolutamente manipolata, oppure si attribuisce la colpa del bug al certificato SSL Let’s Encrypt (che effettivamente nell’esempio in questione era stato utilizzato, ma non era la causa del malfunzionamento).

In realtà il problema è dovuto ad una mancata configurazione del Transport Security Layer (TLS), ovvero in taluni server è abilitata di default solamente la versione più recente, la 1.3, mentre i processi automatici di WordPress utilizzano la precedente 1.2 (e non solo loro, anche diversi browser ancora utilizzati dagli utenti non sono aggiornati alla 1.3).
Il bug si risolve quindi abilitando entrambe le versioni di TLS, la 1.2 e la 1.3, mentre è assolutamente da raccomandare il lasciare disabilitate le versioni ancor precedenti, dalla 1.1 in giù, in quanto deprecate e considerate insicure.

Per abilitare entrambe le versioni ci si collega via SSH al server, e si digita il seguente comando:

plesk bin server_pref -u -ssl-protocols 'TLSv1.2 TLSv1.3'

L’abilitazione del TLS 1.2 può provocare degli errori di vulnerabilità che andranno prevenuti attivando la voce “Versioni e cifre TLS di Mozilla” nell’estensione SSL.it di Plesk, ed impostandone il valore a “Intermedia (consigliata)“.

Un rapido controllo mediante il tool di SSL labs può confermare la presenza delle due versioni abilitate e delle corrette Cipher Suites, quindi si torna alla schermata Site Health di WordPress e si controlla l’effettiva risoluzione del problema.


0 commenti

Lascia un commento

Segnaposto per l'avatar

Il tuo indirizzo email non sarà pubblicato.