Превенция на MySQL инжекция атаки с GreenSQL на Debian Etch
27 октомври, 2008 – 7:04 am
Това ръководство показва как можете да инсталирате GreenSQL и уеб интерфейса на Debian Etch сървър.
Не давам никакви гаранции, че това ще работи при вас!
1 Предварителна забележка
Това е тестван на Debian Etch сървър с вече инсталиран Apache и MySQL. Използван е виртуалния хост www.example.com с root /var/www/web1/web за инсталация на GreenSQL уеб интерфейс.
2 Инсталиране на greensql-fw
GreenSQL Проектът предвижда бинарен пакет за Debian Etch на http://www.greensql.net/public/releases/Debian_Etch/ (за различни дистрибуции може да немрите пакети на http://www.greensql.net/public/releases/)
Изтеглете и инсталирайте .deb пакета като:
wget http://www.greensql.net/public/releases/Debian_Etch/i386/greensql-fw_0.9.2_i386.deb
dpkg -i greensql-fw_0.9.2_i386.deb
(това е за i386 система)
Ще видите следните въпроси:
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 (replace this with your root MySQL password)
Confirm this password <– yourrootsqlpassword (replace this with your root MySQL password)
What is the GreenSQL db username? <– green
What is the GreenSQL user password? <– greensqlpassword (replace this with a password of your choice for the green MySQL user)
След инсталацията greensql-fw ще работи на адрес 127.0.0.1 с порт 3305 (по подразбиране MySQL порт е 3306). Можете да проверите:
server1:~# netstat -tap | grep greensql
tcp 0 0 localhost.localdom:3305 *:* LISTEN 4499/greensql-fw
server1:~#
За да проверите дали greensql-fw работи добре, можете да опитате да се свържете с MySQL чрез GreenSQL proxy:
Въведете вашата MySQL root парола и би трябвало да сте логнати. greensql-fw вече е готов за работа.
Ако искате вашата уеб апликация да се свърже с MySQL чрез greensql-fw, вие трябва да промените техните MySQL настройки. Например ако имате PHP апликация с следващите редове (пр. config.php)…
$link = mysql_connect(‘localhost’, ‘mysql_user’, ‘mysql_password’);
[...]
… трябва да я смените с
$link = mysql_connect(‘127.0.0.1:3305′, ‘mysql_user’, ‘mysql_password’);
[...]
3 Инсталиране на greensql-console
GreenSQL уеб интерфейс (greensql-console) може да се изтегли от http://sourceforge.net/project/showfiles.php?group_id=199511&package_id=236915
. За инсталация в /var/www/web1/web ще процедира по следния начин:
wget http://heanet.dl.sourceforge.net/sourceforge/greensql/greensql-console-0.4.2.tar.gz
tar xvfz greensql-console-0.4.2.tar.gz
Това създава поддиректория greensql-console в /var/www/web1/web. Сега трябва да коригираме greensql-console конфигурацията:
vi config.php
В config.php, уверете се, че правилно сте попълвали паролата за green MySQL потребител (в ред $db_pass):
<? # Uncomment the following line to switch to demo version #$demo_version = 1; # greensql version $version = "0.4.0"; # MySQL Database IP address $db_host = "127.0.0.1"; #MySQL Database Port Value. $db_port = 3306; # MySQL database name used to store greensql confiuration and alerts $db_name = "greendb"; # MySQL database user and password $db_user = "green"; $db_pass = "greensqlpassword"; # If you run greensql-fw service on the same computer you can specify # location of it's log file. It will be visible as part of the console. $log_file = "/var/log/greensql.log"; # Number of lines to show when viewing log file. $num_log_lines = 200; # Generated web pages cache $cache_dir = "templates_c"; ?>
После направете templates_c/ директорията writable:
Отворете браузъра и отидете на http://www.example.com/greensql-console. Логнете се с потребител admin и парола pwd:

В GreenSQL уеб интерфейс, сега можете да видите кои MySQL запитвания са блокирани и с какъв рейтинг, за които можете да направите whitelist като казвате на greensql-fw какво да блокира и какво да разрешава за всяка отделна база данни. И да не забравите да промените паролата за admin потребителя.

Стартиране и спиране на greensql-fw
/etc/init.d/greensql-fw start
И може да намерите GreenSQL log в /var/log/greensql.log.
4 Връзки
- GreenSQL: http://www.greensql.net/
- MySQL: http://www.mysql.com/
- Debian: http://www.debian.org/
- Основен: Falko Timme