Antimalware
La sezione Antimalware analizza i file dei tuoi siti alla ricerca di malware, web shell e file di WordPress modificati. La trovi nel menu di amministratori, rivenditori e utenti; ognuno vede solo i propri siti. Non viene mai eliminato niente in automatico: sei tu a decidere cosa fare di ogni segnalazione.
Come funziona
Ogni scansione usa due motori, insieme:
- Scanner integrato: veloce e senza dipendenze, riconosce le tecniche più usate dalle backdoor: codice offuscato eseguito con
eval, comandi presi dalla richiesta web ($_POST,$_GET…), funzioni scelte dal browser,preg_replacecon il modificatore/e, codice PHP nascosto dentro le immagini, file PHP nella cartella dei caricamenti,.htaccesscon esecuzione automatica, cron che scaricano ed eseguono codice, e i nomi delle web shell più diffuse (c99, r57, wso, alfa…). Dalla 0.85.0 riconosce anche i redirect verso altri siti di chi arriva dai motori di ricerca (spam SEO) e le immagini fatte eseguire come PHP negli.htaccess, gli include di file con il nome nascosto in caratteri esadecimali, i piccoli script di caricamento usati per mettere web shell, gli amministratori di WordPress creati nel codice con la password scritta dentro, il JavaScript offuscato che carica altro codice (anche nei file.jse.html) e gli spam mailer più diffusi. Le regole sono volutamente prudenti, per limitare i falsi positivi. - ClamAV (antivirus con firme): riconosce i malware conosciuti. Lo installa
panel-agent setup antimalware(chiamato dainstall.sheupgrade.sh). Poiché il demone di ClamAV tiene in memoria circa 1–1,5 GB di firme, il pannello sceglie la modalità in base alla RAM del server: demone sempre attivo con almeno 4 GB, su richiesta (le firme si caricano solo durante la scansione, senza demone in memoria) sui server più piccoli come quelli da 2 GB, niente ClamAV sotto ~1,5 GB — in quel caso restano lo scanner integrato e i controlli di WordPress. Puoi forzare la modalità nelle Impostazioni. Con il demone attivo le analisi passano daclamdscan, molto più veloce; se manca, il pannello lo installa da solo alla prima analisi.
Se il sito è WordPress, il pannello controlla anche l'integrità: confronta i file del core e dei plugin con quelli ufficiali di wordpress.org.
Dalla 0.85.0, inoltre:
- I file originali non vengono segnalati. Se un file è identico, byte per byte, a quello pubblicato su wordpress.org (WordPress, un plugin o un tema della directory ufficiale), le regole euristiche non lo segnalano: un plugin di sicurezza che contiene i nomi delle web shell come elenco di firme non è più un allarme. Le firme di ClamAV valgono sempre, perché anche un pacchetto ufficiale può essere compromesso.
- Viene controllato anche il database. Il pannello cerca gli script offuscati negli articoli e nelle pagine e il codice nascosto nelle impostazioni (widget, temi, plugin). Controlla che l'indirizzo del sito (home e siteurl) non punti a un altro dominio e segnala i nuovi amministratori comparsi dall'ultimo controllo: al primo controllo prende nota di quelli che ci sono. Il controllo legge soltanto e usa la connessione di WordPress, senza leggere la password del database.
Le regole nuove si applicano ai file che cambiano e, per tutti gli altri, alla scansione completa della settimana.
Ogni segnalazione ha una gravità (critica, alta, media, bassa), una spiegazione in italiano, un consiglio su cosa fare, il percorso del file, la riga e un frammento del codice sospetto (ripulito e accorciato).
Le scansioni girano come operazioni in background a bassa priorità (nice/ionice) con l'utente del sito, quindi non rallentano il sito. Sono incrementali: dopo la prima analisi completa vengono ricontrollati solo i file nuovi o cambiati (per data, dimensione e impronta), con una scansione completa una volta a settimana. Dalla 0.83.1 ogni scansione ricontrolla anche i file con una segnalazione aperta: se le regole aggiornate non la confermano più, la segnalazione si chiude da sola. Di notte il pannello analizza i siti a turno, uno alla volta. Dalla 0.81.2 ogni scansione gira in un gruppo di memoria separato dal pannello (un quarto della RAM, almeno 1 GB) e l'elenco dei file controllati resta su disco: anche un sito con milioni di file non può più rallentare o fermare il pannello. Se una scansione supera la sua memoria si ferma solo lei, con un errore nella pagina del sito.
Storico delle analisi
La scheda Storico della pagina Antimalware elenca le analisi di tutti i tuoi siti degli ultimi 1, 7, 30 o 60 giorni: quando, il sito, il tipo (incrementale o completa, notturna o lanciata a mano e da chi), i file controllati e quanti erano nuovi o cambiati, se ClamAV ha lavorato (se no, il motivo), le segnalazioni nuove e aperte, la durata e l'esito. Solo quelle con problemi lascia le analisi non riuscite, quelle in cui ClamAV ha dato errore e quelle con segnalazioni nuove. La pagina di ogni sito ha in fondo il suo storico. Si tengono le ultime 60 analisi di ogni sito, circa due mesi di notti.
Cosa puoi fare di una segnalazione
- Quarantena: il file viene spostato in una cartella nascosta fuori dal sito (non è più raggiungibile dal web) e reso illeggibile. È reversibile: Ripristina lo rimette al suo posto con i permessi originali. Lo spostamento è sicuro contro i collegamenti simbolici e gli hard link.
- Elimina: cancella per sempre un file già in quarantena (con conferma).
- Falso positivo: la segnalazione non viene più mostrata finché il file non cambia (la lista si basa sull'impronta del contenuto, non solo sul percorso).
- Ripara WordPress: rimette i file ufficiali del core (dopo una copia di sicurezza automatica).
wp-contentewp-config.phpnon vengono mai toccati. - Rimetti l'originale (dalla 0.85.0): per un file di WordPress, di un plugin o di un tema di wordpress.org, il pannello scarica il pacchetto ufficiale della versione installata, controlla che il file corrisponda alle impronte pubblicate e lo mette al posto di quello segnalato. Il file di prima va in quarantena: Rimetti il file di prima lo ripristina, Elimina il file di prima lo cancella. Per i plugin che non sono su wordpress.org il pannello lo dice e non tocca niente.
- Falso positivo in tutti i siti (amministratori, dalla 0.85.0): lo stesso file, riconosciuto dalla sua impronta, non viene più segnalato in nessun sito del server. È utile per una libreria usata da molti siti. L'elenco è nella pagina Antimalware, alla voce Falsi positivi di tutto il server: se togli una voce, il file torna a essere segnalato. Solo un amministratore può riaprire queste segnalazioni.
- Più segnalazioni insieme (dalla 0.85.0): con le caselle a sinistra scegli le segnalazioni, oppure Seleziona tutte, e applichi in una volta Metti in quarantena, Rimetti gli originali o Segna come falsi positivi. Alla fine il pannello dice quante sono andate a buon fine e perché le altre no.
Nelle Impostazioni (amministratori) puoi attivare le scansioni notturne e sceglierne la fascia oraria, la modalità di ClamAV, gli avvisi via email per le nuove minacce critiche e alte, e — se vuoi — la quarantena automatica delle sole minacce «critiche» (sconsigliata se non hai familiarità con i falsi positivi).
Oltre alle scansioni, la protezione in tempo reale controlla ogni file nel momento in cui viene scritto.