Basta è ora di difendersi, plesk (e non solo) ha pesanti vulnerabilità, exploit un po' qui e un po' la, veniamo attaccati tutto il giorno da tentativi di intrusione, basti leggere qualche riga di log per rendersi conto della situazione, centinaia di tentativi di accesso all'ssh al phpmyadmin (accesso diretto che per fortuna plesk non permette), agli ftp.
Ci sforziamo di mettere password da 14 caratteri piene di simboli strani, ma entrano lo stesso, ci inoculano script per spam mail, ci fanno blacklistare, ci fanno passare per delinquenti, ci buttano giù tutti i siti dei clienti, ci fanno passare per incompetenti, ci fanno perdere un sacco di tempo a ripristinare tutto.
E' ora di dire basta !
Basta con attacchi rivendicati da gruppi lamer indonesiani o russi, aiutiamoci, consigliamoci in questo thread !
Io non sono un sistemista, mi son sempre arrangiato in tutto, e così continuerò a fare, la maggior parte di noi che hanno preso un dedicato non sono sistemisti, ma grafici e programmatori.
Come prime richieste direi se qualcuno conosce il modo di bannare dalle porte 22, 21, e 8443 (ssh ftp e plesk) tutti gli ip fuori dal range italiano, almeno se voglio fare qualcosa si devono sbattere a trovare un proxy italiano, magari bloccare pure i proxy, visto che ho notato che alcuni siti si accorgono se ti colleghi con un proxy e ti bloccano, quindi immagino si possa fare.
Intanto do alcuni consigli miei di sicurezza per quanto riguarda plesk e centos.
1 ovviamente creare password impossibili da 14 caratteri alfanumerici, e visto che non so come si fa a bloccare la cosa, sconsigliare ai clienti di cambiare la loro password di cliente plesk, che combinazione è la stessa di ftp del dominio normalmente.
2 alla prima installazione del server o alla reinstallazione, rifiutare il partizionamento automatico che solitamente crea una micropartizione da 7 giga, invece impostare quella del sistema operativo almeno di un centinaio di giga, in quanto oltre al sistema operativo la partizione viene utilizzata da plesk per altre importantissime funzioni quali:
- File temporanei di migrazione
- file temporanei compressi per il download dei backup in locale
- altri file temporanei che si dimentica poi di cancellare
Il mancato partizionamento corretto può portare in caso di migrazione e download backup alla saturazione del disco, plesk diventa inaccessibile, e alcuni processi si bloccano utilizzando tutto il processore, in particolare il Perl.
I dischi vanno impostati in raid 1, di modo che in caso di rottura di uno dei due dischi non vada perso nulla.
3 Impostare i backup totali del server tra le due di notte e le sei del mattino sia in locale che in remoto, con l'opzione di sospensione domini durante il backup attiva; per il salvataggio locale in presenza di molti siti è consigliabile affittare un disco usb da 500 giga da montare su /var/lib/psa/dumps/, per diverse ragioni, plesk anche dalla versione 9 non è molto affidabile sui backup, soprattutto se abbiamo fatto l'aggiornamento dall'8 alla 9, a volte di danneggia ed esegue diversi backup invece di uno solo, a volte non mostrandoli tutti, è quindi necessario in caso di dubbio andare a controllare nella cartella dei dumps.
Settare diversi backup settimanali, magari 4 o 5, che si sovrascrivono a rotazione.
4 impostare il backup sull'ftp interno gratuito di ovh, almeno una volta alla settimana, ovh non permette la connessione di plesk per il ripristino del backup ma solo la scrittura, sarà quindi necessario una volta pieno l'ftp andare ad eliminare manualmente i file accedendo via ftp tramite la shell di comando del server.
In caso di ripristino invece è necessario svuotare la cartella dumps del server e scaricarci dentro il tar (o tgz non ricordo) dell'ultimo backup sicuro e decomprimerlo, a quel punto dalla gestione backup di plesk sarà possibile ripristinare tutti i siti in un colpo solo, se un sito è stato danneggiato singolarmente una volta decompresso il file sarà necessario andare a spulciare nei file, fino a trovare il backup dei dati del dominio ed eventuale database, andando poi a spostare i file nel dominio e ricaricando il database dal phpmyadmin, forse modificando il file xml di backup è possibile eseguire il ripristino del sito in modo automatico, facendolo comparire come backup singolo di dominio, ma non ci giurerei conoscendo plesk.
5 Non abilitare l'accesso ssh al cliente dal pannello, o se lo volete fare prima attivatelo e provate ad entrare voi con le credenziali per controllare cosa effettivamente può fare, in un mio test ero riuscito con dei semplici cd e cd .. ad entrare dentro i siti di altre persone -.-
6 Se possibile tenere abilitato dal pannello clienti il php safe mode, disabilitarlo solo se richiesto (joomla ecc ecc)
7 dal pannello "web hosting setting" non abilitare cgi, perl e python se non richiesto, grazie a una vulnerabilità si riuscivano ad uploadare nella cartella cgi-bin script cgi e perl dannosissimi, in questo modo anche se venisse inoculato li dentro codice malevolo non sarebbe possibile eseguirlo (per lo meno spero)
8 creare un template clienti e uno domini con opzioni sicure da usare come base per quando si creano domini e client, per evitare di commettere errori di sicurezza tutte le volte.
9 magari impostare delle hard disk quota, per evitare che un sito si espanda troppo in caso di attacco riempiendo il disco(non so se funzioni mai provato)
10 controllare che dentro il php.ini che (su plesk e centos) si trova in /etc/php.ini non ci siano attivate opzioni pericolose, i settaggi pericolosi direi che sono abbastanza soggettivi.
11 In caso di utilizzo anomalo dello spazio su una partizione o di spazio che continua a diminuire di decine di megabyte ad ogni secondo, accedere repentinamente ad ssh e tramite il comando top andate a visualizzare se qualche processo sta usando tutte le risorse (di solito c'è ) e uccidetelo, magari non ci sono problemi di sicurezza ma a causa di un errore di programmazione php una serie di richieste stanno andando in errore in modo ridondante, e il file dei log di qualche dominio sta letteralmente esplodendo, una volta ucciso il processo digitate df (sempre nella shell) per controllare l'effettivo spazio utilizzato sul disco (il grafico di plesk non è per forza aggiornato ), in caso di grave anomalia digitate qualcosa di simile a "find / -size +100000 -print" per cercare in tutto il server file più grossi di 100 mega, al posto di "/" potete mettere solamente "/var/" se il problema è solo nella partizione dati, il comando find è lento per interromperlo basta premere ctrl +c comunque.
12 se vi collegate al server dedicato usando putty, abilitate la registrazione dei log, in caso di errori gravi almeno potete raccontare cosa avete fatto, e i comandi lanciateli sempre in modalità verbose "v" almeno potete accorgevi in tempo di un comando errato dato bloccandolo in tempo con ctrl +c senza fare troppi danni.
Le cose sarebbero tantissime, spero di aver dato un valido aiuto, aiutatemi ad aiutarvi, se ho scritto delle stupidate correggetemi, sono un umile grafico tuttofare