Rendi sicuro WordPress

Back

Introduzione

Questo documento descrive la procedura per mettere in sicurezza le applicazioni WordPress tramite la client authentication fornita da LBL® Global Distributed Gateway.
La client authentication è il processo per cui un client si connette in maniera sicura al server, attraverso lo scambio reciproco di certificati digitali.

La procedura serve quindi per mettere in sicurezza l’area wp-admin di Worpress, garantendo l’accesso solo ai client autorizzati tramite certificato digitale. Per ottenere questo risultato, implementeremo un listener in SSL con client authentication su una porta a scelta, 444 nel nostro caso. Genereremo poi un nuovo truststore in cui inseriremo il certificato client digitale che dovrà essere importato sul browser.

Figure 1: Without client authentication

Figure 2: Client authentication

Prerequisiti

Prima di iniziare la procedura, bisogna avere impostato in modo corretto l’SSL offloading su LBL.

Per maggiori informazioni, fare riferimento al documento “SSL offloading” presso il sito www.oplon.net.

Creazione keystore

Per creare un nuovo keystore:

1. Dal menu laterale andare su Files->Keystores e cliccare sul pulsante “+” per creare un nuovo keystore “wordpress_admin.jks”;

Figure 3: Keystore

2. Selezionare il keystore appena creato e cliccare sul pulsante “modifica”;

3. Cliccare sul pulsante “+” per creare un certificato e compilare i campi (Alias password deve essere la stessa password inserita nel punto 1);

4. Cliccare sul pulsante “Export” per salvare sul proprio PC il certificato.

Figure 4: Export Keystore

Import certificato su browser

In questa sezione viene spiegato come importare il certificato su Firefox. Browser diversi hanno procedure simili per importare i certificati.

1. Una volta aperto Firefox andare sul menu e andare su Opzioni-> Privacy e sicurezza;

2. Scorrere fino alla sezione “Certificati”;

3. Cliccare su “Mostra certificati…” e selezionare il tab “Certificati personali”;

4. Cliccare su “Importa…”, selezionare il certificato creato nella sezione 4 e salvare.

Creazione listener con client authentication

A questo punto bisogna creare il listener con client authenticaton a cui sarà permesso di richiedere la pagina di login:

1. Collegarsi nella propria installazione LBL® Global Distributed Gateway;

2. Creazione del listener con un nuovo gruppo:

1.1 Creare un nuovo gruppo duplicandolo dal gruppo esistente per le porte 80 e 443;

1.2 Cambiare il nome del gruppo appena creato in http_https_wp_admin;

1.1 Generare un nuovo listener copiando il listener con porta 443;

1.2 Impostare il campo endPointsGrouping del nuovo listener con http_https_wp_admin;

1.3 Impostare il campo port a 444.

3. Andare nel pannello delle impostazioni del nuovo listener e impostare a true il campo needClientAuthentication;

4. Nel campo trustCertificateURIPath caricare il certificato creato nella sezione 4;

5. Inserire la password del keystore nel campo trustKeyStorePassword;

6. Salvare e reinizializzare.

Figure 5: SSL CLient parameters

Test listener con client authentication

Verificare che le modifiche apportate abbiano permesso di accedere alla pagina di login WordPress con HTTPS nella porta scelta digitando sulla barra di ricerca l’indirizzo del sito, per esempio https://www.mysite.com:444/wp-admin.

Redirect porta 80 e 443

In questa sezione viene spiegato come rendere inacessibile la pagina di login per richieste in HTTP e HTTPS.

Si considera che i listener in porta 80 e in porta 443 appartengano allo stesso endpointGrouping.

1. Collegarsi nella propria installazione LBL® Global Distributed Gateway;

2. Andare nel pannello Virtual Domain di uno dei due listener;

3. Creare un nuovo endpoint e impostare la redirezione come segue:

redirectTo uriPathMatcher SSL Enable
/ ^/+wp-login.php(.*) false true

Table 1: Endpoint

Figure 6: Endpoint

4. Salvare e reinizializzare;

5. Visitare la pagina, ad esempio www.mysite.com/wp-admin, sia in HTTP che in HTTPS e verificare che non si riesca ad accedere alla pagina di login.

Sei interessato alle nostre soluzioni?