Sono sempre di più le aziende che utillizzano software open source come Drupal o Wordpress per lo sviluppo dei propri siti o blog aziendali.
Ma nel contempo sono sempre di più le imprese vittime di cracker che sfruttano appunto la diffusione di queste applicazioni per lanciare i propri attacchi.
Se avete pensato usare le applicazioni open source per queste attività, vi illustriamo alcuni dei problemi di sicurezza di tali applicazioni e vi suggeriamo anche alcune eventuali soluzioni.
Le più comuni vulnerabilità nelle applicazioni Web open source
Il dato di fatto è che i cracker amano le applicazioni Web open source perché sono gratuite e offrono un facile accesso al loro codice sorgente. Se, per esempio, un cracker riesce a effettuare su un singolo dispositivo hardware il deployment di uno script con lo scopo di rubare informazioni o prendere il controllo di un’applicazione Web, può facilmente riprodurre questi devastanti risultati per colpire più utenti o più siti Web che condividono lo stesso codice di base.
Ecco perché:
- Molte applicazioni open source dipendono da vecchie versioni di linguaggi di scripting, che rimangono soggette a exploit.
- I moduli che collegano applicazioni open source devono essere mantenuti separati dal progetto principale. Se non si applicano le patch a questi moduli, l’intera applicazione può risultare compromessa.
- Progetti open source più piccoli spesso rimangono senza patch per lunghi periodi di tempo. Questa finestra temporale estesa espone i file a un alto rischio di exploit.
- I cracker creano bot pensati specificamente per sfruttare la vulnerabilità delle applicazioni.
- Il blocco di privilegi amministrativi è una comune pratica che permette ai cyber-criminali di compromettere facilmente il codice.
- Gli attacchi cross-site scripting e SQL jniecton causano comunemente problemi alle piattaforme open source.
Mettere un lucchetto alle applicazioni Web open source
Ci sono una serie di consigli generali per mettere in sicurezza l’esecuzione di un’applicazione Web open source:
- Aumento del livello di sicurezza delle applicazioni (incluso il sistema operativo e il database). Le installazioni del sistema operativo e dei database devono essere finalizzate con estrema attenzione. Evitate le impostazioni predefinite e mantenete rigidi controlli sulle autorizzazioni. Riscrivete le estensioni dei file per mascherare il tipo di applicazione e rimuovete tutte le funzioni e caratteristiche non necessarie per chiudere il maggior numero di “buchi” virtuali possibile. Inoltre applicate le patch. Soprattutto in un ambiente open source, gli aggiornamenti sono utili a prevenire compromissioni. Le stesse regole si applicano anche ai linguaggi di scripting che possono essere utilizzati sul vostro server.
- Aumento del livello di sicurezza del server. Rimuovete quelle informazioni (come i response header) che potrebbero contribuire alla creazione di un bot o potrebbero consentire a un cracker di identificare la versione e il tipo di applicazioni in esecuzione su un server. Non dimenticate mai le patch ed eseguite controlli manuali frequenti dei log del server per aiutare a identificare eventi insoliti.
- Password più efficaci e controllo degli accessi. Definite password contenenti caratteri speciali, alfanumerici, maiuscole e minuscole e non usate mai termini da dizionario. Inoltre, modificate tali password con regolarità. Controllate l’accesso alle password d’amministrazione e fornite le credenziali del database solo se necessario. Non utilizzare mai un account di root per un utente del database; bloccate completamente tutti gli accessi pubblici e le porte alle aree di amministrazione del sito e limitate l’apertura di un server da ogni singola porta, ad eccezione delle 80/443 (queste sono rispettivamente tenute a trasmettere le pagine web tramite HTTP/HTTPS).
- Controllo dei log di sistema. Analizzate con attenzione i log di sistema e assicuratevi che non contengano tentativi di accesso non autorizzato andato a buon fine. Eseguite regolarmente l’audit delle vulnerabilità e lo scan delle applicazioni (almeno con cadenza trimestrale) per favorire una veloce identificazione di minacce, violazioni e attività sospette.
- Valutare l’utilizzo di un Web Application Firewalls (WAF). I WAF ispezionano il traffico Web prima che possa raggiungere il codice ed evitano che i visitatori malintenzionati possano accedere ai servizi forniti dall’applicazione. La capacità di bloccare un attacco aumenta in modo esponenziale quando i WAF operano in concomitanza con i sistemi di intrusion preventio e intrusion detection e altre barriere a livello di rete.
Tenere sotto controllo i tentativi di violazione delle applicazioni Web open source
La crescita e la popolarità dei sistemi open source nella gestione dei contenuti hanno cambiato il panorama della sicurezza, aumentando i pericoli a cui si può andare incontro.
Ma con l’aiuto di uno sviluppatore con esperienza nella sicurezza delle applicazioni Web (e il loro ambiente di hosting), è possibile implementare i metodi che abbiamo citato e tenere quindi a bada i cyber-criminali. Con le dovute precauzioni, una certa attenzione ai dettagli e una costanza nell’aggiornamento dei propri siti, le aziende che utilizzano applicazioni Web open source (o prevedono di utilizzarle) possono operare con tranquillità, traendo successo dalle proprie implementazioni.