Home > Altro > Impedire l’attacco MySQL Injection con GreenSQL su Debian Etch o Lenny

Impedire l’attacco MySQL Injection con GreenSQL su Debian Etch o Lenny

logo

GreenSQL e’ un tipo di firewall open source che permette di proteggere il database dagli SQL Injection. Esso lavora come un proxy ed e’ stato progettato per supportare MySQL. La logica di funzionamento si basa su una tabella di rischi dei comandi Mysql bloccando quelli he risultano essere di amministrazione.

In pratica GreenSQL lavora come un reverse proxy al quale tutti si collegano prima di eseguire i comandi, se GreenSQL li ritiene validi passa la richiesta al server MySQL secondo ilseguente schema:

greensql-architecture.previewPer default GreenSQL lavora sulla porta 3305 girando tutte le richieste al server Mysql sulla porta 127.0.0.1:3306.

Si puo’ configurare i modalita’ differenti che sono:

  • Simulation Mode (database IDS): Non effettua nessuna operazione ma permette l’analisi del comportamento di GreenSQL
  • Blocking Suspicious Commands (database IPS): In questa modalita’ effettua un analisi euristica per cercare query giudicate “illegali” e le blocca automaticamente. In questa modalita’ si richia di bloccare falsi positivi e far eseguire query che risultano essere falsi negativi
  • Learning mode: si usa per evitare i problemi del Blocking Suspicious mode. Permette di visionare l’analisi della query e “informare” di volta in volta il software se bloccare o no questo tipo di operazioni.
  • Active protection from unknown queries (db firewall): dopo un certo periodo di “apprendimento” nella modalita’ learning mode il sistema puo’ passare alla fase successiva (bene, ho imparato tutto, ora sono pronto ad operare da solo!)

Passiamo ora all’installazione:

Si scarichi l’ultima versione del software dalla url del sito www.greensql.net in particolare la “GreenSQL Firewall” riferito alla vostra piattaforma.

successivamente:

dpkg -i greensql-fw_<VERSIONE>

Al momento dell’installazione verranno richieste le seguenti informazioni:

What is the name of the server used to store GreenSQL configuration db (MySQL server)? <– localhost
What is the database name for the GreenSQL configuration? <– greendb
Would you like to set up the database and tables automatically? <– Yes
What is the username of the MySQL administrator? <– root
Enter the MySQL administrator password <– yourrootsqlpassword (Inserire la password dell’utente root di Mysql)
Confirm this password <– yourrootsqlpassword (ri-confermare la password)
What is the GreenSQL db username? <– greensql
What is the GreenSQL user password? <– greensqlpassword (sostituire con la password dell’utente greensql)

Dopo l’installazione il server greensql girera’ sulla porta 3305. provate ad accedervi con il comando:

mysql -h 127.0.0.1 -P 3305 -u root -p

Dopo aver digitato la password di root dovreste andare sul prompt di mysql (quit per uscire).

A questo punto il sistema e’ pronto per essere utilizzato. Non dovete far altro che avere l’accortezza di modificare i vostri script di configurazione chiedendo di connettersi sulla porta 3305 piuttosto che la 3306.

Se ad esempio il vostro bel CMS Joomla e’ gia’ impostato per effettuare la connessione sulla porta di default allora editate il configuration.php nella sezione specifica. Ad esempio se trovate qualcosa del tipo:

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');

sostituitela con:

$link = mysql_connect('localhost:3305', 'mysql_user', 'mysql_password');

Installiamo ora la greensql-console che permette di gestire, manutenere ed impostare tutte le caratteristiche di GreenSQL.

Scaricate sempre dal link per i download scaricate la “Management Console” relativa alla vostra piattaforma. In una cartella raggiungibile attraverso il web pubblicate il file e da shell lanciate il comando:

tar xvfz greensql-console-<VERSIONE>
cd greensql-console
vi config.php

Editate i campi:

$db_name = "greendb";
$db_user = "green";
$db_pass = "greensqlpassword";

Accertatevi di aver impostato i permessi tella cartella template_c a 777:

chmod 777 templates_c

Ora potete accedere via web alla management Console dalla URL:

http://www.nomesito.it/greensql-console

Da qui potete verificare tutte le operazioni che effettua il GreenSQL con le varie possibilita’ di operare.

Infine per fermare e riavviare il servizio potete eseguire i comandi:

/etc/init.d/greensql-fw stop
/etc/init.d/greensql-fw start

Buon lavoro

Categorie:Altro Tag:
  1. Nessun commento ancora...
  1. Nessun trackback ancora...