Come gestire la sicurezza di un sito web?
Partiamo dall’assioma che nessun sistema informatico può essere protetto se attaccato costantemente e se l’agente infettante continua ad auto-replicarsi migliorando, di volta in volta, il suo asset e “imparando” dallo scarto.
La sicurezza informatica dunque, è una pratica che deve essere assolta continuamente, perseguita e preseverata, tanto quanto il pirata informatico assolve, perseguita e persevera il suo attacco.
MA!
In questa partita a scacchi, i due antagonisti, si misurano sulla validità dei loro continui sforzi, in un ciclo che vede contrapposti, gli uni nei confronti degli altri, sempre e continuamente perdenti o vincenti in base alle loro capacità individuali e di studio e, della sua conseguente applicazione.
DETTO CIO’
Vediamo come un proprietario di un sito web possa proteggersi dal malware tenendo in considerazioni le cose già dette e sapendo che tutte le soluzioni possono diventare obsolete da un giorno all’altro.
Qualcuno ha detto che l’ amministrazione di un sito web è quasi un lavoro a tempo pieno.
Questo dipende moltissimo dalla voglia di dare un buon servizio, tenendo in considerazione che ogn’uno di noi, vuole sentirsi per gli altri il centro del suo mondo.
Il Dottor Site e Mister Web in lui guardava con amore la nonnina, mentre lei gli donava le sue amorevoli raccomandazioni… Intanto, Mister Web portava all’attenzione del Dottor Site sul collo della vecchia e così facendo gli faceva rammentare la vetustà delle sue spoglie. Ciò causava nell’animo del dottore una paura profonda e l’ineluttabilità della sofferenza per la predestinata perdita di una importante figura di riferimento per il suo animo. Quel “bambino”, considerava la nonna, buona ed immacolata come una santa figura angelica, mentre per Mister Web, la decadenza e la vecchiaia erano il senso della debolezza del fisico contrapposta alla potenza del virtuale.
Il suono suadente della voce della saggia rendeva l’avvertimento immanente come lo scandire della pendola che faceva da sfondo a quei suoni di campagna. Sentiamo redarguire con queste raccomandazioni il suo nipotino per poi seguire l’arringa delle soluzioni di Site che nel presente viveva nella sua aula gremita di alunni che affezionati seguivano con grande interesse le soluzioni che aveva elaborato per loro.
Caro nipote: “Al primo posto c’è la scelta di un hosting sicuro e stabile in grado di eseguire in velocità tutte le chiamate senza intoppi e non dimenticare che l’ALTA QUALITA’ DEI SERVIZI AGGIUNTIVI OFFERTI SONO LA GARANZIA DI COMODITA’ E OSPITALITA’.
Non scegliere, ma cerca le versioni più testate.
La casistica insegna… Come del resto insegnano anche le testate!
Ricorda anche che se fai delle inserzioni pubblicitarie sul tuo blog molto dipenderà dalla cura della sicurezza anche del tuo fornitore si sa che gli utili hanno la priorità sulla sicurezza e il tuo blog sarà quindi influenzato dalla politica del partner commerciale che sceglierai.
Se vuoi sentirti sicuro resta libero da vincoli pubblicitari
LA LISTA DELLA NONNA CONTINUA ANCHE PER VOI.
Non usate un Shared Hosting, meno controllo, meno potenza, meno sicurezza, ma se dopotutto vi volete impiccare con le tue vostre mani, cercate almeno di utilizzare una corda che ti dia il modo di usare
Apache_mod_rewrite e file php.ini locali per ignorare le impostazioni predefinite.
Evitate di continuare in questo vostro intento con le configurazioni server scadenti e i provider che utilizzano impostazioni ammortizzate come register_globals ON, Magics Quotes o che non impostano open_basedir.
Se poi ancora, perseguite queste strade, così pubblicizzate da tutti i motori di ricerca che, in ragione del loro guadagno, e solo in ragione di ciò, permettono una destabilizzazione della Rete mettendo in prima pagina offerte da fenomeni da baraccone di webhost a prezzi ridicoli e che continuamente mentono spudoratamente, sulle loro reali potenzialità al costo di una pizza, abbiate almeno cura, che questi vi avvertano quando il loro server viene violato!
C99 Dettagli Shell: Appendice B – programma di utilità c99.php | Progetto Honeynet
Qui vi vengono fornite alcune importanti risorse elaborate dal gruppo di ricerca che come organizzazione no profit dona una protezione aggiornata per server web quando è configurato in modo sbagliato oppure vi aiuterà a capire come proteggervi da attacchi brute-force verso password FTP tramite shell, codice PHP.
Mister Web come una pentola a pressione, inizia a fischiare come un treno a vapore in dirittura di un ostacolo e scalza l’attenzione del Dottor Site con un cambio repentino di rotta che porta l’attenzione del dottore ad un allontanamento progressivo dalla realtà e quindi il Dottor Site e Mister Web in lui viene riportato di colpo nell’agorà del Web dove il fuoco dell’intuito e della scienza avviluppano tutti i commensali che di energia nutrono la loro essenza con Web che prendeva il sopravvento prendendo possesso tramite i neuroni di Site che venivano plasmati come nodi i connessione I/O.
Le subroutine (Funzione informatica) immesse in lui gli donavano una estasi che potenziava esponenzialmente il suo battito cardiaco che accellerava ad un ritmo vertiginoso portandolo in sincronia con un altro spazio tempo. Tutti i suoi neuroni concentrandosi sincopatamente nel suo cervello lo canalizzavano in uno stato di brama di flussi sincrotronici che, a cicli non armonici, gli permettevano di generare un campo di forza che non giungeva da una deiezione energetica.
Lo stato che si generava il lui, era di ipoventilazione. Milioni di filamenti si presentavano al suo sguardo focalizzato, già tessuti, le interconnessioni come una rete neuronale, ma senza alcun nodo, tutta l’energia non fluiva nella Rete, ma di fatto la precostituiva lasciandola così come posta in un limbo senza una base temporale, che con il tempo si ricostituiva.
I Mastini dell’economia intanto vigilavano su questa e non ne raccoglievano i frutti anche se ciò, non era il loro vero scopo.
Il dottore a quel punto trasalì e riprese il suo insegnamento avvertendo:- “Non lasciatevi ingannare da offerte di Banda illimitata, illimitato spazio disco o database illimitato, ecc. ecc.. Tutto ciò è irreale ed ha un costo da pagare molto più caro del costo reale. Invece, assicuratevi che siano utilizzate e supportate le patch aggiornate sulla sicurezza e che le versioni Apache, PHP, MySQL, ecc… siano le più stabili e non le ultime arrivate.
LA PROGRAMMAZIONE NON E’ UNA CORSA ALL’ULTIMA MODA! Ma un continuo sviluppo e prova delle soluzioni adottate.
Le patch che andremo adesso a evidenziare sono destinate soprattutto per programmatori ISV (Indipendent Software Vendor) con configurazioni LAMP (Linux, Apache, MySQL, PHP) e solo alcune di queste, possono essere utilizzate per gli amanti dei sistemi Microsoft IIS o altre tipologie di siti ASP.
Iniziamo subito specificando che nella maggior parte gli attacchi su PHP può essere fermato con il mod_rewrite e mod_security.
Si possono così fermare, con successo immediato, molti dei più malevoli tentativi di:
exploit tipici, tentativi di hacking, bot cattivi e quindi il malware, questi quindi cari alunni possono essere già bloccati con Apache .htaccess.
Questo stesso file potete utilizzarlo per proteggere tramite password, le directory o anche limitare l’accesso alle directory sensibili in base all’indirizzo IP.
Continuerò dicendovi che per i server dedicati che utilizzano MySQL l’istallazione iniziale e molto più sicura, ma PostgreSQL è ancora meglio. Mi rendo conto però, che questo fantastico database è più utilizzato per configurazioni informatiche che devono supportate delle chiamate che fanno in prima istanza della sicurezza una necessità imprescindibile come banche, sistemi militari etc.. e questo si sà va a scapito del dialogo e della multimedialità.
Naturalmente io penso e credo che il SQLite sia il futuro e opterò sempre per questo complesso database che può stare tutto dentro un Rfid.
Ma solo una ristretta cerchia d’avanguardia mi può capire e so che tutti e, io per primo, ve lo sconsiglieranno.
La sua estrema apparente semplicità, nasconde complesse pratiche di calcolo costruttivo per cui il MySQL va benissimo ed hanno entrambi una manualistica molto completa per procedere in sicurezza e creare account sicuri. Manuali MySQL
Dunque… Se siete sopravvissuti al primo suicidio dell’hosting condiviso, sappiate che se persevererete in questa soluzione si aggiungerà anche la possibilità di non aver nessun controllo sulla statistica e sugli accessi ed è per questo che è molto importante scegliere il giusto hosting con garanzie di controllo sul reale consumo della banda, sua velocità e stabilità.
Il PHP non può essere trattato come se fosse la soluzione di tutti in nostri problemi perchè spesso esso conduce alla sbagliata consapevolezza che tutto sia risolvibile con una phatc, ma le perniciose stringhe di calcolo nascondono sempre difficoltà che presenta l’elaboratore di calcolo tramite il motore Zend. Questa macchina tecnologica non pone la sicurezza in primo piano e per vero, va compreso che il principio da cui trae energia è senz’altro la semplicità e la flessibilità della computazione delle quary che permettono accessi e risposte boleane a tutto campo ed è per questo che bisogna lavorare se è posssibile con il file php.ini principale ben settato su server dedicati o con un file php.ini locale su hosting condiviso.
Vi scriverò sulla lavagna ora delle risorse interessanti collegate direttamente al sito PHP dove i colleghi della Zend offrono il loro supporto free a tutti noi. Grazie per questo.
- Elenco delle direttive del php.ini
- Elenco delle sezioni php.ini
- Descrizione dei parametri core di php.ini
- Ultime predefinito per i file php.ini
- PHP Inizializzazione e configurazione
- Configurazione di Runtime
- Php.ini
Utilizzare PHP disable_functions
Disabilita le funzioni pericolose del PHP che non sono necessari per il tuo sito. Di seguito è riportato un tipico esempio di un sito Joomla:
disable_functions = show_source, sistema, shell_exec, passante, exec, phpinfo, popen, proc_open
Impostare PHP open_basedir
Questa direttiva limita i file aperti da PHP per la directory:
open_basedir = / home / utente / public_html
Non utilizzare PHP safe_mode
Non usare PHP safe_mode , fornisce un falso senso di sicurezza.
safe_mode = 0
Impostare register_globals PHP su off
Questa direttiva molto importante, permette o meno, le registrazioni EGPCS (Environment, GET, POST, Cookie, Server) queste variabili, come variabili generali, diventano subito disponibili per tutti gli script PHP.
Badate che possono essere facilmente sovrascrivibili alle vostre. Anche se, si può facilmente disattivare questa impostazione dal vostro sito su hosting condiviso.
Ma si deve rimanere altrettanto preoccupati anche per gli altri siti che girano su un server dedicati, perché possono essere altrettanto vulnerabile da attacchi eseguiti internamente, dal server stesso al tuo sito.
register_globals = 0
Non utilizzare PHP allow_url_fopen
Questa opzione consente l’URL-aware fopen wrappers che permette l’accesso al URL come file.
Wrapper predefiniti sono forniti per l’accesso ai file remoti utilizzando il protocollo ftp o http, alcune estensioni come zlib può registrare, wrapper aggiuntivi.
allow_url_fopen = 0
Sessioni
Su hosting condiviso si consiglia di utilizzare la propria directory temp per i file di sessione in modo che non vengano dirottati. Si noti la cartella sessions è al di sopra della directory pubblica per una maggiore sicurezza. Per fare questo aggiungere la seguente riga:
session.save_path = / home / user / temp
In più, spero troviate interessante, un ulteriore livello di protezione che potrà essere fornito con uno script di sicurezza come Bad Behavior che è disponibile anche come plugin WordPress.
Attenzione anche ai redirect di traffico indesiderato utilizzando l’indirizzo IP in geolocalizzazione .
Ma questo, sarà tema di un’altra lezione.
Il Dottor Site e Mister Web a lui gli confidava la sua calma che traspariva da una luce blu intensa che Site vedeva quando chiudeva gli occhi per asciugarsi la fronte dal sudore con il fazzoletto candido che portava sempre con se, prima di aggiustarsi in testa, con un gesto franco della mano, il suo Borsalino uscendo salutando il Proffessor Cloud che, entrando, gli dava il cambio dell’ora.