g2d
di g2d
pubblicato circa un anno fa

DataBase Firewall un esempio GreenSQL

Per difendersi dagli attacchi di tipo SQL Injection esistono dei Database Firewall, l'articolo offre una breve introduzione a GreenSQL, un db firewall OpenSource

Gli attacchi hacker sono ormai all'ordine del giorno, una SQL injection può danneggiare un applicativo in modo anche compromettente.

E' spesso frequente che il danno apportato da un attacco non si manifesti subito ma dopo qualche giorno, in modo tale da rendere molto complesse anche le procedure di backup.

E' si vero che la migliore soluzione è scrivere applicativi immuni da questo tipo di attacco, ma chi ospita siti di terzi, o più in generale un provider come può difendersi da tutto ciò ?

Esistono soluzioni pensate proprio per arginare questo problema, dei sistemi che fungono da reverse proxy tra WebServer e DBServer che hanno il compito di difendere i dati da queste problematiche.

In quest'articolo presentiamo GreenSQL un Database Firewall Open Source.

GreenSQL è compatibile con MySQL e PostgreSQL.
Implementando una logica di reverse proxy, va configurato tra Web Server e DB Server in altre parole significa che l'applicazione web non dovrà essere configurata per connettersi al DB direttamente, ma si dovrà connettere al Database Firewall, il quale solo dopo aver analizzato la query ed aver stabilitò che essa sia sicura, la inoltrerà al DB Server.

La figura seguente mostra il processo implementato da GreenSQL

GreenSQL contatta il DB Server per eseguire i comandi SQL, mentre l'applicazione colloquia direttamente con il Database firewall.

GreenSQL può essere utilizzato in quattro modalità:

  • Simulation Mode (database IDS)
    In questa modalità nulla è bloccato, il firewall funge da IDS, notificando le query sospette sulla console
  • Blocking Suspicious Commands (database IPS)
    In questa configurazione GreenSQL usa il proprio motore euristico per trovare la query illegali e bloccarle automaticamente, implementando un basilare IPS.
  • Learning mode
    Questa modalità consiste nell'addrestrare GreenSQL affinche conservi tutte le query SQL in una whitelist, al termine dell'addestramento il sistema passerà da solo in una modalità di protezione
  • Active protection from unknown queries
    Questa è la modalità DB Firewall, tutte le query sconosciute non saranno eseguite, delle query sconosciute il firewall calcolerà solamente il rischio e ne darà evidenza all'amministratore.

Distribuzione

GreenSQL è distribuito in tre versioni:

  • Community
  • Pro
  • Light

La matrice delle caratteristiche è disponibile alla pagina DOWNLOAD del sito ufficiale.

Performance

Un ultima doverosa riflessione e da spendere sulle performance, la prima reazione che si ha, per chi non lo ha mai usato, è quella di vedere un nodo intermedio tra applicazione e DB, il che sembrerebbe penalizzante per le performance.

Tuttavia i meccanismi di caching di GreenSQL permettono di garantire comunque buone prestazioni, e di non appesantire con le medesime query il DB Server.

Condividi su:

Esprimi un voto:

  • Current rating: 4.0/5
  • 1
  • 2
  • 3
  • 4
  • 5

Argomenti chiave:

Ultimi commenti Ultimi commenti

Esegui il Login oppure registrati per scrivere un commento.
Cerca nel sito...
Ultime recipes

Un utilissimo tool di shell che effettua un dettagliato e comodo report su MySQL MySQL Report un tool di shell per tenere tutto sotto controllo

Un utilissimo tool di shell che effettua un dettagliato e comodo report su MySQL


Vai alla recipe

Un utilissimo tool per sniffare il traffico Client/Server TCP/IP di MySQL MySQLSniffer sniffare il traffico TCP di MySQL

Un utilissimo tool per sniffare il traffico Client/Server TCP/IP di MySQL


Vai alla recipe

Verificare l'integrità, riparare gestire chiavi e memoria di tabelle MyISAM attraverso myisamchk riparare file MyISAM

Verificare l'integrità, riparare gestire chiavi e memoria di tabelle MyISAM attraverso il file myisamchk


Vai alla recipe

Un tool per comprimere le tabelle MyISAM fino a oltre il 50% myisampack comprimere file MyISAM

Un tool per comprimere le tabelle MyISAM fino a oltre il 50%


Vai alla recipe

mysqlshow le info di base sui database, tabelle e colonne senza utilizzare alcun mysqlshow visualizzare le informazioni sul database MySQL

mysqlshow le info di base sui database, tabelle e colonne senza utilizzare alcun client


Vai alla recipe

Utilizzando UNION / UNION ALL su campi int unsigned zerofill,
ho notato che MysqlUNION / UNION ALL su campi int unsigned zerofill. di DebUsr
Vai al tip

Utilizzo di funzioni come alias di campo tramite l'impiego di prepared statementReport con alias di campo dinamici di john_revelator
Vai al tip

Può capitare che sia necessario eseguire un dump di database in formato Comma SeparatedEsecuzione dump in formato CSV (tabelle in engine MyIsam esportate in formato CSV) di ghigomatto
Vai al tip

E' possibile eseguire le query SQL contenute in un file di testo. Questo è utileEseguire le query da un file di testo di Sante Caserio
Vai al tip

Se vogliamo fare il backup di tutti i database con mysqldump, e ne abbiamo parecchiFare il backup di tutti i database di Sante Caserio
Vai al tip

Salve,vorrei chiedervi un aiutino per una query che mi infastidisce un pò.
Ho 4 aiuto per una query! di fighterdorico Vai al topic

Salve,vorrei chiedervi un aiutino per una query che mi infastidisce un pò.
Ho 4 aiuto per una query! di fighterdorico Vai al topic

Salve,vorrei chiedervi un aiutino per una query che mi infastidisce un pò.
Ho 4 aiuto per una query! di fighterdorico Vai al topic

Salve a tutti.

Ho una tabella con lettere accentate.
Le lettere vengono visualizzate ordinamento tabelle di ditch Vai al topic

Salve a tutti.

Ho una tabella con lettere accentate.
Le lettere vengono visualizzate ordinamento tabelle di ditch Vai al topic