Per chi non lo conoscesse GreenSQL è un software open source in grado di proteggere i database degli utenti da attacchi di tipo SQL injection.
Questo database firewall lavora come un proxy, interponendosi tra le applicazioni e il database server da queste utilizzato, e dalla versione 1.2 (rilasciata il 2 dicembre) oltre al supporto MySQL integra anche quello per PostgreSQL.
La logica di funzionamento è in tutto e per tutto simile a quella di un normale firewall TCP/IP che protegge la rete dagli attacchi provenienti dall’esterno.
GreenSQL infatti è progettato per filtrare i comandi SQL inviati al database e bloccare eventuali tentativi di SQL injection o modifiche non autorizzate a tabelle sensibili (DROP,CREATE su tabelle amministrative ad esempio).
Le modalità di funzionamento messe a disposizione da GreenSQL sono le seguenti:
- “Simulation Mode” (database IDS): vengono unicamente registrate tutte le richieste considerate “pericolose” e ne viene data notifica all’amministratore;
- “Blocking Suspicious Commands” (database IPS): utilizza i propri database e motore euristico per individuare e bloccare tutte quelle query SQL sospette;
- “Learning mode”: consente di apprendere quali sono le query consentite e inserirle in una white-list;
- “Active protection from unknown queries” (db firewall): da abilitare dopo un periodo di apprendimento al fine di bloccare tutte le query che non vengono riconosciute previo calcolo del relativo fattore di rischio.
Sul sito del progetto viene consigliato un uso che preveda prima un periodo di addestramento seguito poi dall’attivazione della modalità db firewall: questo per evitare potenziali problemi di falsi positivi e falsi negativi che possono verificarsi nel caso si usi la modalità database ips.
GreenSQL è disponibile come pacchetto per le distribuzioni CentOS 5.4, Debian 5.0, Fedora 12, Ubuntu 8.10 E 9.04, oltre che sotto forma di codice sorgente da compilare (licenza GPLv2).