Chiunque gestisca un server spera di non trovarsi mai sotto attacco; ma le violazioni possono accadere, quindi abbiamo raccolto qui alcuni suggerimenti per proteggere il proprio server, oltre ad alcuni consigli su cosa fare in caso di attacco.
Iniziamo con qualche consiglio e procedura per la sicurezza:
La prevenzione inizia durante la procedura di installazione, quando è necessario scegliere una password di root che sia di complessità elevata. Per fare un esempio, P@ssw0rd non è una password sicura, la sua complessità è nulla a fini di sicurezza.
In caso di necessità puoi utilizzare il tool per la generazione di password complesse su http://www.safepasswd.com/
Non lasciare la tua password dove qualcuno può vederla e ricorda di disattivare l'opzione di memorizzazione dei dati del browser: è facile violare un computer e lasciare memorizzate le password può rivelarsi molto pericoloso.
I keylogger sono virus in grado di registrare sequenze di tasti digitati sulla tastiera dei computer; in tal modo è possibile "leggere" le password e inoltrarle ad hackers che possono abusarne. Assicurati di avere un software antivirus installato sul tuo computer, per impedire l'installazione di programmi keylogger.
La presenza di applicazioni accessibili a chiunque possa accedere al tuo computer (autorizzato o meno) può risultare in abusi.
Un esempio: se solo determinati utenti sono autorizzati ad accedere via FTP o SSH, assicurati che le applicazioni sia protette dall'accesso tramite altri IP.
Monitora il server utilizzando un'applicazione watchdog. Se ti accorgi che alcune applicazioni stanno causando problemi che non possono essere originati dai tuoi siti web, questo può significare che ci sono problemi sul server.
Nota bene: un'applicazione watchdog sarà utile anche per informarti in caso di componenti del server non aggiornate; gli aggiornamenti sono sono sempre raccomandati, a meno che le applicazioni che stai usando non richiedano specifiche versioni dei componenti.
a. Elimina i file non necessari: assicurati di non pubblicare mai online documentazione, file readme, changelog o altre informazioni che siano sufficienti per identificarti univocamente sulla rete e che possano rendere facile per un hacker accedere ai siti web e ai dati.
b. Gestisci e configura in modo attento e accurato i diritti che assegni alle applicazioni
Molto spesso file e applicazioni vengono caricati con chmod777. Questo significa che chiunque possa accedere ai file sarà in grado di leggere, scrivere o eseguirli; a meno che non sia necessario, blocca i diritti in modo che solo gli utenti autorizzati possano avere accesso ai file.
c. Salva i dati sensibili in formato sicuro, ad esempio in un database
Purtroppo sono ancora in molti a usare semplici file di testo per memorizzare i dati sensibili; questi file però non sono crittografati e se finiscono nelle mani di hacker possono essere utilizzati per ogni tipo di azioni indesiderate.
d. Assicurati che non sia possibile abusare i contenuti che pubblichi
Il contenuto può essere usato per lanciare attacchi ad altri server, quindi accertati di proteggerlo in modo efficace. Una cosa che accade molto spesso sono le (My)SQL injection: per approfondire ti consigliamo di visitare http://it.wikipedia.org/wiki/SQL_injection
e. Il software gratuito non sempre è gratis
Spesso le versioni gratuite di applicazioni web a pagamento sono reperibili gratis su internet. Altrettanto spesso però all'interno di queste applicazioni è contenuto del codice che viene utilizzato per accedere a dati protetti.
In caso si verifichino problemi con il tuo server potresti aver bisogno di reinstallarlo o di migrare a una nuova macchina; il modo più veloce per riportare tutto online è quello di avere a disposizione un backup dei dati. Ricorda che è sempre bene salvare il backup in un luogo diverso dal server.
Come regola generale, dunque:
mantieni sempre il sistema aggiornato e non correre rischi, proteggi il tuo server e il tuo lavoro!
Gli attacchi da parte di hacker sono eventi molto comuni, ecco qualche istruzione su cosa si può fare per prevenirli sul tuo server.
Puoi utilizzare la modalità di Ripristino del server (opzione Recovery Mode sul tuo Pannello di controllo) se la password di root è stata cambiata.
Nota bene: quando il server si trova in modalità di Ripristino tutti i siti web, le caselle di posta ecc non sono disponibili.
(Solo se hai installato il pannello di gestione Plesk)
Se sono state cambiate entrambe le password (root e Plesk), cambia prima la password di root seguendo le istruzioni del passo precedente; procedi poi a cambiare la password di Plesk tramite una connessione SSH.
In SSH digita:cat /etc/psa/.psa.shadow
(questo mostrerà la password).
Se il file shadow è stato cancellato, digita:
#/etc/rc.d/init.d/psa stopall
(questo fermerà i servizi Plesk); quindi:
#/usr/local/psa/mysql/bin/safe_mysqld -skip-grant-tables &
o
#/usr/bin/safe_mysqld -skip-grant-tables &
(questo avvia MySQL e salta la tabella grant [password]); infine digita
#/usr/local/psa/mysql/bin/mysql mysql
(questo farà il login in MySQL).
Digita poi:
#use mysql
#FLUSH PRIVILEGES
#SET PASSWORD FOR admin=PASSWORD(your-password-here)
ora copia questa riga e sostituisci "your-password-here" con la nuova password che desideri impostare);
#exit
(di nuovo in MySql e sarai loggato nella shell come root)
#killall mysqld
o
#/etc/rc.d/init.d/mysqld restart
(questo arresterà il demone MySql)
#/etc/rc.d/init.d/psa start
(questo riavvia Plesk, che a sua volta avvierà il demone MySql utilizzando la nuova password).
La risoluzione di questo problema dipende da come la casella di posta è stata settata.
Se la casella di posta si trova sui sistemi di Register.it (cioè non sul tuo server)
Accedi al tuo Pannello di controllo e seleziona il nome del dominio. Clicca su Email poi su Configura la tua casella di posta; qui troverai l'opzione per cambiare la password della posta.
Se la casella di posta si trova su Plesk
Accedi al server e seleziona il dominio; vai a Account di posta e seleziona l'account. Dalle impostazioni delle preferenze potrai cambiare la password.
Se si verifica una cosa del genere significa che qualcuno ha probabilmente rubato il nome utente e la password per l'accesso FTP.Devi creare e configurare un nuovo utente FTP. Come nel caso della casella di posta, ci sono 2 modi per farlo:
1. Se usi l'FTP di Register.it (non quello di Plesk):
Accedi al tuo Pannello di controllo e seleziona il nome del dominio. Vai su FTP ed elimina l'utente esistente per poi crearne uno nuovo con una nuova password.
2. Se usi l'FTP di Plesk:
Accedi al server e seleziona il dominio; vai a Impostazioni Hosting Web e modifica le impostazioni utente per FTP. Se usi Plesk 10 hai la possibilità di creare più utenti, eliminare quelle esistenti e crearne di nuovi. Se avevi impostato via SSH utenti con accessi ristretti, dovrai eliminarli da qui.
Se un'applicazione è stata violata o ritieni che ci sia stata una completa violazione del server, la scelta migliore è quella di reinstallare il server stesso. Questa operazione può essere effettuata dal Pannello di controllo e ti permetterà di ricominciare da zero. Anche se ciò significa un downtime per i tuoi siti web, questo rimane il modo migliore e più sicuro per assicurarsi che nessuno abbia più alcun accesso al server.
Ricorda l'importanza di avere un backup completo e aggiornato dei dati.