GreenSQL Express — различия между версиями

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 16:41, 22 мая 2020.
 
(не показаны 4 промежуточные версии этого же участника)
Строка 26: Строка 26:
  
  
'''GreenSQL''' — это межсетевой экран с открытым исходным кодом, используемый для защиты баз данных от SQL-инъекций[https://ru.bmstu.wiki/SQL-%D0%B8%D0%BD%D1%8A%D0%B5%D0%BA%D1%86%D0%B8%D1%8F]. GreenSQL работает как прокси для команд SQL и имеет встроенную поддержку MySQL[https://ru.bmstu.wiki/MySQL].
+
'''GreenSQL''' — это межсетевой экран с открытым исходным кодом, используемый для защиты баз данных от [https://ru.bmstu.wiki/SQL-%D0%B8%D0%BD%D1%8A%D0%B5%D0%BA%D1%86%D0%B8%D1%8F SQL-инъекций]. GreenSQL работает как прокси для команд SQL и имеет встроенную поддержку [https://ru.bmstu.wiki/MySQL MySQL].
 
Логика работы основана на оценке команд SQL с использованием матрицы оценки риска. Каждому sql-запросу, GreenSQL присваивает некоторое число, обозначающее степень риска запроса. Если оно превышает заданное по конфигурации число, запрос отклоняется, в противном случае перенаправляется в БД. Также осуществляется блокировка известных административных команд БД (DROP, CREATE и т. Д.).
 
Логика работы основана на оценке команд SQL с использованием матрицы оценки риска. Каждому sql-запросу, GreenSQL присваивает некоторое число, обозначающее степень риска запроса. Если оно превышает заданное по конфигурации число, запрос отклоняется, в противном случае перенаправляется в БД. Также осуществляется блокировка известных административных команд БД (DROP, CREATE и т. Д.).
  
Строка 34: Строка 34:
 
GreenSQL работает как обратный прокси-сервер для соединений c БД. Это означает, что вместо соединения с БД напрямую приложение будет подключаться к серверу GreenSQL. GreenSQL анализирует запросы SQL и перенаправляет их на внутренний сервер БД.
 
GreenSQL работает как обратный прокси-сервер для соединений c БД. Это означает, что вместо соединения с БД напрямую приложение будет подключаться к серверу GreenSQL. GreenSQL анализирует запросы SQL и перенаправляет их на внутренний сервер БД.
  
[[Файл:greensql_arch.png|500px|thumb|left|Рисунок 1 - архитектура GreenSQL]]
+
[[Файл:greensql_arch.png|500px|мини|right|{{center|Рисунок 1 - архитектура GreenSQL}}]]
  
Механизм GreenSQL поддерживает СУБД Microsoft SQL 2000/2005/2008, MySQL 4.x/5.x, PostgreSQL 7.x/8.x и является кросс-платформенным. Среди официально поддерживаемых платформ Microsoft Windows Server 2003/2008, Ubuntu, CentOS. Поддерживаются 32-х и 64-х разрядные системы.
+
Механизм GreenSQL поддерживает СУБД [https://ru.bmstu.wiki/Microsoft_SQL_Server Microsoft SQL] 2000/2005/2008, [https://ru.bmstu.wiki/MySQL MySQL]4.x/5.x, [https://ru.bmstu.wiki/PostgreSQL PostgreSQL] 7.x/8.x и является кросс-платформенным. Среди официально поддерживаемых платформ [https://ru.bmstu.wiki/Microsoft_Windows_Server Microsoft Windows Server] 2003/2008, [https://ru.bmstu.wiki/Ubuntu Ubuntu], [https://ru.bmstu.wiki/CentOS CentOS]. Поддерживаются 32-х и 64-х разрядные системы.
Как видно из рисунка выше, GreenSQL вызывает сервер базы данных для выполнения команд SQL, веб-приложение подключается к серверу GreenSQL, как если бы это был сервер БД.
+
Как видно из архитектуры, GreenSQL вызывает сервер базы данных для выполнения команд SQL, веб-приложение подключается к серверу GreenSQL, как если бы это был сервер БД.
 
GreenSQL может быть установлен вместе с сервером БД на одном компьютере или может использовать отдельный сервер. По умолчанию GreenSQL прослушивает локальный порт 127.0.0.1:3305, перенаправляя запросы SQL на 127.0.0.1:3306 (настройка MySQL по умолчанию). Эти настройки можно изменить с помощью консоли GreenSQL.
 
GreenSQL может быть установлен вместе с сервером БД на одном компьютере или может использовать отдельный сервер. По умолчанию GreenSQL прослушивает локальный порт 127.0.0.1:3305, перенаправляя запросы SQL на 127.0.0.1:3306 (настройка MySQL по умолчанию). Эти настройки можно изменить с помощью консоли GreenSQL.
 
<ref name="GreenSQL_blog2" group="Источник"> GreenSQL Express FREE Database Security // Блог GreenSQL [2010-]. URL: https://lifeonweb.wordpress.com/2009/08/27/green-sql// (дата обращения: 10.05.2020). </ref>
 
<ref name="GreenSQL_blog2" group="Источник"> GreenSQL Express FREE Database Security // Блог GreenSQL [2010-]. URL: https://lifeonweb.wordpress.com/2009/08/27/green-sql// (дата обращения: 10.05.2020). </ref>
Строка 45: Строка 45:
 
== Режимы работы ==
 
== Режимы работы ==
 
Брандмауэр GreenSQL поддерживает несколько режимов работы:
 
Брандмауэр GreenSQL поддерживает несколько режимов работы:
=== 1. Режим симуляции(Simulation Mode) ===
+
=== Режим симуляции(Simulation Mode) ===
 
'''Режим симуляции'''- пассивная система обнаружения атак (IDS), только протоколирующая SQL-запросы и выдающая предупреждения на консоль управления.
 
'''Режим симуляции'''- пассивная система обнаружения атак (IDS), только протоколирующая SQL-запросы и выдающая предупреждения на консоль управления.
  
 
В этом режиме ничего не блокируется. GreenSQL работает как система IDS БД(Intrusion Detection System - система обнаружения вторжений). В данном режиме используется матричный механизм оценки рисков, чтобы находить подозрительные запросы и уведомлять администратора базы данных с помощью консоли управления GreenSQL.
 
В этом режиме ничего не блокируется. GreenSQL работает как система IDS БД(Intrusion Detection System - система обнаружения вторжений). В данном режиме используется матричный механизм оценки рисков, чтобы находить подозрительные запросы и уведомлять администратора базы данных с помощью консоли управления GreenSQL.
  
=== 2. Блокировка подозрительных команд(Blocking Suspicious Commands) ===
+
=== Блокировка подозрительных команд(Blocking Suspicious Commands) ===
 
'''Блокировка подозрительных команд'''- атаки не только обнаруживаются, но и блокируются (IPS) в соответствии с установленными правилами, указывающими на аномальность запроса.
 
'''Блокировка подозрительных команд'''- атаки не только обнаруживаются, но и блокируются (IPS) в соответствии с установленными правилами, указывающими на аномальность запроса.
  
 
В данном режиме используется эвристический движок для поиска вредоносных запросов и их автоматическая блокировка. В основном это система баз данных IPS (Intrusion Prevention System - система предотвращения вторжений). При этом вредоносный запрос не блокируется сразу. Сначала проверяется белый список команд(whitelist). Если команда была найдена в этом списке, она будет перенаправлен на сервер БД. Если нет, то в приложение будет отправлен пустой набор результатов. В этом режиме иногда могут возникать ложноположительные и ложноотрицательные ошибки. В результате некоторые корректные запросы могут быть заблокированы, или же наоборот, система может пропустить вредоносный запрос.
 
В данном режиме используется эвристический движок для поиска вредоносных запросов и их автоматическая блокировка. В основном это система баз данных IPS (Intrusion Prevention System - система предотвращения вторжений). При этом вредоносный запрос не блокируется сразу. Сначала проверяется белый список команд(whitelist). Если команда была найдена в этом списке, она будет перенаправлен на сервер БД. Если нет, то в приложение будет отправлен пустой набор результатов. В этом режиме иногда могут возникать ложноположительные и ложноотрицательные ошибки. В результате некоторые корректные запросы могут быть заблокированы, или же наоборот, система может пропустить вредоносный запрос.
  
=== 3. Режим обучения(Learning mode) ===
+
=== Режим обучения(Learning mode) ===
 
'''Режим обучения'''- предназначен для прогона и настройки правил в "чистой" среде, что позволяет сформировать белый список для предотвращения ложных
 
'''Режим обучения'''- предназначен для прогона и настройки правил в "чистой" среде, что позволяет сформировать белый список для предотвращения ложных
 
срабатываний впоследствии.
 
срабатываний впоследствии.
Строка 61: Строка 61:
 
В режиме обучения все запросы автоматически добавляются в белый список. Когда режим обучения заканчивается, автоматически включается активная защита. Если она включена, все неизвестные команды будут блокироваться. Также будет рассчитываться риск запросов,используя эвристические методы, и результат отображается в консоль управления GreenSQL.
 
В режиме обучения все запросы автоматически добавляются в белый список. Когда режим обучения заканчивается, автоматически включается активная защита. Если она включена, все неизвестные команды будут блокироваться. Также будет рассчитываться риск запросов,используя эвристические методы, и результат отображается в консоль управления GreenSQL.
  
=== 4. Активная защита от неизвестных запросов (db firewall) ===
+
=== Активная защита от неизвестных запросов (db firewall) ===
 
'''Активная защита от неизвестных запросов'''- блокирование всех неизвестных запросов.
 
'''Активная защита от неизвестных запросов'''- блокирование всех неизвестных запросов.
  
Строка 200: Строка 200:
 
После этого мы можем перейти в бразере по url=localhost/greensql-console и попадем в следующую форму. Если при первоначальной настройке ничего не менять, то логин/пароль по умолчанию admin/pwd.
 
После этого мы можем перейти в бразере по url=localhost/greensql-console и попадем в следующую форму. Если при первоначальной настройке ничего не менять, то логин/пароль по умолчанию admin/pwd.
  
[[Файл:greensql_login.png|500px|мини|центр|Рисунок 2 - форма ввода логина/пароля]]
+
[[Файл:greensql_login.png|500px|мини|центр|{{center|Рисунок 2 - форма ввода логина/пароля}}]]
  
 
Для начала работы необходимо создать прокси. В бесплатной версии можно создать только один прокси. Для создания перейдите в раздел Databases > Create proxy.
 
Для начала работы необходимо создать прокси. В бесплатной версии можно создать только один прокси. Для создания перейдите в раздел Databases > Create proxy.
  
[[Файл:greensql_proxy.png|600px|мини|центр|Рисунок 3 - Настройка прокси]]
+
[[Файл:greensql_proxy.png|600px|мини|центр|{{center|Рисунок 3 - Настройка прокси}}]]
  
 
* Proxy name — название прокси для идентификации внутри GreenSQL
 
* Proxy name — название прокси для идентификации внутри GreenSQL
Строка 217: Строка 217:
 
После создания прокси он будет запущен на указанном порту. Теперь достаточно задать правила для работы прокси, чтобы начать использовать GreenSQL в своем приложении.
 
После создания прокси он будет запущен на указанном порту. Теперь достаточно задать правила для работы прокси, чтобы начать использовать GreenSQL в своем приложении.
  
[[Файл:greensql_mode.png|600px|мини|центр|Рисунок 4 - Выбор режима работы приложения]]
+
[[Файл:greensql_mode.png|600px|мини|центр|{{center|Рисунок 4 - Выбор режима работы приложения}}]]
  
 
* Rule type — Тип правила (Learning mode, Database firewall, Risk based). В зависимости от того, какой тип выбран, изжменяются поля для заполнения.
 
* Rule type — Тип правила (Learning mode, Database firewall, Risk based). В зависимости от того, какой тип выбран, изжменяются поля для заполнения.
Строка 235: Строка 235:
 
С учетом данных конфигураций был получен следующий результат
 
С учетом данных конфигураций был получен следующий результат
  
[[Файл:test.jpeg|400px|мини|центр|Рисунок 5 - Тест производительности]]
+
[[Файл:test.jpeg|400px|мини|центр|{{center|Рисунок 5 - Тест производительности}}]]
  
 
На данном рисунке приводится сравнения количества обращений к БД при включенном и отключенном брандмауэре. В среднем получаем небольшое снижение производительности и скорости работы, около 2-12%
 
На данном рисунке приводится сравнения количества обращений к БД при включенном и отключенном брандмауэре. В среднем получаем небольшое снижение производительности и скорости работы, около 2-12%

Текущая версия на 16:41, 22 мая 2020

GreenSQL
Logo.jpeg
Постоянный выпуск: 1.3
Состояние разработки: Завершено
Написана на: C++,C
Операционная система: Windows, Linux
Платформа: кросс-платформенный
Лицензия: GPL
Веб-сайт greensql.net


GreenSQL — это межсетевой экран с открытым исходным кодом, используемый для защиты баз данных от SQL-инъекций. GreenSQL работает как прокси для команд SQL и имеет встроенную поддержку MySQL. Логика работы основана на оценке команд SQL с использованием матрицы оценки риска. Каждому sql-запросу, GreenSQL присваивает некоторое число, обозначающее степень риска запроса. Если оно превышает заданное по конфигурации число, запрос отклоняется, в противном случае перенаправляется в БД. Также осуществляется блокировка известных административных команд БД (DROP, CREATE и т. Д.).

[Источник 1]

Архитектура GreenSQL

GreenSQL работает как обратный прокси-сервер для соединений c БД. Это означает, что вместо соединения с БД напрямую приложение будет подключаться к серверу GreenSQL. GreenSQL анализирует запросы SQL и перенаправляет их на внутренний сервер БД.

Рисунок 1 - архитектура GreenSQL

Механизм GreenSQL поддерживает СУБД Microsoft SQL 2000/2005/2008, MySQL4.x/5.x, PostgreSQL 7.x/8.x и является кросс-платформенным. Среди официально поддерживаемых платформ Microsoft Windows Server 2003/2008, Ubuntu, CentOS. Поддерживаются 32-х и 64-х разрядные системы. Как видно из архитектуры, GreenSQL вызывает сервер базы данных для выполнения команд SQL, веб-приложение подключается к серверу GreenSQL, как если бы это был сервер БД. GreenSQL может быть установлен вместе с сервером БД на одном компьютере или может использовать отдельный сервер. По умолчанию GreenSQL прослушивает локальный порт 127.0.0.1:3305, перенаправляя запросы SQL на 127.0.0.1:3306 (настройка MySQL по умолчанию). Эти настройки можно изменить с помощью консоли GreenSQL. [Источник 2]


Режимы работы

Брандмауэр GreenSQL поддерживает несколько режимов работы:

Режим симуляции(Simulation Mode)

Режим симуляции- пассивная система обнаружения атак (IDS), только протоколирующая SQL-запросы и выдающая предупреждения на консоль управления.

В этом режиме ничего не блокируется. GreenSQL работает как система IDS БД(Intrusion Detection System - система обнаружения вторжений). В данном режиме используется матричный механизм оценки рисков, чтобы находить подозрительные запросы и уведомлять администратора базы данных с помощью консоли управления GreenSQL.

Блокировка подозрительных команд(Blocking Suspicious Commands)

Блокировка подозрительных команд- атаки не только обнаруживаются, но и блокируются (IPS) в соответствии с установленными правилами, указывающими на аномальность запроса.

В данном режиме используется эвристический движок для поиска вредоносных запросов и их автоматическая блокировка. В основном это система баз данных IPS (Intrusion Prevention System - система предотвращения вторжений). При этом вредоносный запрос не блокируется сразу. Сначала проверяется белый список команд(whitelist). Если команда была найдена в этом списке, она будет перенаправлен на сервер БД. Если нет, то в приложение будет отправлен пустой набор результатов. В этом режиме иногда могут возникать ложноположительные и ложноотрицательные ошибки. В результате некоторые корректные запросы могут быть заблокированы, или же наоборот, система может пропустить вредоносный запрос.

Режим обучения(Learning mode)

Режим обучения- предназначен для прогона и настройки правил в "чистой" среде, что позволяет сформировать белый список для предотвращения ложных срабатываний впоследствии.

В режиме обучения все запросы автоматически добавляются в белый список. Когда режим обучения заканчивается, автоматически включается активная защита. Если она включена, все неизвестные команды будут блокироваться. Также будет рассчитываться риск запросов,используя эвристические методы, и результат отображается в консоль управления GreenSQL.

Активная защита от неизвестных запросов (db firewall)

Активная защита от неизвестных запросов- блокирование всех неизвестных запросов.

В данном режиме все поступающие команды сравниваются со списком разрешенных команд, и если их нет в списке, то они автоматически блокируются.

[Источник 3]

Как GreenSQL находит вредоносные запросы?

GreenSQL находит подозрительные запросы, используя ряд методов:

  1. Путем определения административных и чувствительных команд SQL
  2. Путем подсчета риска запроса

Определение административных и чувствительных SQL команд

В данном случае используется механизм сопоставления команд по паттернам для поиска команд, которые считаются вредоносными. Например, следующие команды считаются вредоносными: административные команды базы данных(SHOW TABLES, CREATE TABLE); команды, которые пытаются изменить структуру БД(ALTER TABLE); команды, используемые для доступа к системным файлам.

Администратор в любой момент может утвердить вредоносный запрос, добавив его в белый список или изменив файл конфигурации со списком вредоносных шаблонов.

Расчет риска запроса

GreenSQL рассчитывает риск каждого запроса. Для нахождения аномалий GreenSQL использует собственный лексер языка SQL для поиска токенов SQL. После того, как риск рассчитан, GreenSQL может заблокировать запрос или просто создать предупреждающее сообщение (зависит от режима приложения). На риск запроса могут влиять:

  • Если запрос обращается к конфиденциальным таблицам (пользователи, учетные записи, кредитная информация)
  • Комментарии внутри команд SQL
  • Пустая строка пароля
  • “or” внутри запроса
  • выражение SQL, которое всегда возвращает истину (1=1)

[Источник 4]

Процесс установки

Рассмотрим процесс установки GreenSQL. Будем устанавливать приложение из исходных фалов их официального репозитория.[Источник 5]

1. Создаем папку для установки и клонируем репозиторий

$ mkdir install_dir && cd install_dir
git clone https://github.com/larskanis/greensql-fw

2. Скачиваем greensql-console

Для успешной сборки программы необходимы файлы greensql-console, также через консоль GreenSQL можно произоводить конфигурацию Скачаем их из репозитория. Там хранятся необходимые файлы, для взаимодействия с GreenSQL через web-интерфейс.

git clone https://github.com/larskanis/greensql-console

3. Подготавливаем пакеты для установки

Для успешной сборки также необходимы следующие пакеты: g++, make, libpcre3-dev, libmysqlclient-dev, libevent-dev, flex, bison, libpq. Список пакетов может изменяться в зависимости от системы, которую вы используете. Более детальную информацию по необходимым пакетам можно посмотреть в репозитории в файле compilation.txt. Установить данные пакеты можно при помощи команды

$ sudo apt-get install  g++ make libpcre3-dev libmysqlclient-dev libevent-dev flex bison libpq-dev

4. Запускаем скрипт, для сборки deb файла

$ ./build.sh
…
package created ../ directory

Видим, что deb-файл создался на директорию выше.

5. Создаем пользователя greensql

Существует несколько способов добавить нового пользователя. Это можно сделать вручную при помощи следующих команд.

$ groupadd greensql
$ useradd -M -g greensql -s /dev/null greensql

А можно добавить нового пользователя через sh-скрипт, который лежит в директории scripts

$ cd scripts && sudo ./setup_user.sh

6. Создаем конфигурационную бд

Данный этап можно пропустить, если вы заполнили поля конфигурации при установке deb-файла

$ sudo ./greensql-create-db.sh

7. Запускаем демон

$ sudo /etc/init.d/greensql-fw start
Чтобы проверить, что приложение успешно запущено, можно проверить статус демона. Если все хорошо, то в строке статуса сервиса будет написано Active.
$ systemctl status greensql-fw

[Источник 6]

Настройка конфигурации из браузера

Добавим возможность конфигурировать наш сервис GreenSQL из браузера.

1. Добавляем в корень нашего сервера файлы greensql-console

Переходим в корень сервера Apache(обычно это директория var/www/html) и копируем директорию greensql-console в нее. Отменим, что все операции внутри корня корня сервера будут требовать прав sudo.

$ sudo cp -avr ~/green_install/greensql-fw/greensql-console/ greensql-console

2. Изменяем кофигурационный файл

Заносим следующее содержимое в файл config.php.

##
<?php

# Uncomment the following line to switch to demo version
#$demo_version = 1;

# greensql version
$version = "1.3.0";

# Database Type, allowed values "mysql" and "pgsql"
$db_type = "mysql";

# Database IP address
$db_host = "127.0.0.1";

# Database Port Value.
$db_port = 3306;

# database name used to store greensql confiuration and alerts
$db_name = "greendb";

# database user and password
$db_user = "green";
$db_pass = "pwd";

# 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;

# Number of lines to show when displaying a table.
$limit_per_page = 10;

# Generated web pages cache
$cache_dir = "templates_c";

# Smarty directory location (optional)
$smarty_dir = "/usr/share/php/smarty";

?>

3. Делаем директорию templates_c/ доступной для записи

$ chmod 777 templates_c/

4. Перезагружаем сервер Apache

$ sudo systemctl restart apache2.service

5. Конфигурирование системы

После этого мы можем перейти в бразере по url=localhost/greensql-console и попадем в следующую форму. Если при первоначальной настройке ничего не менять, то логин/пароль по умолчанию admin/pwd.

Рисунок 2 - форма ввода логина/пароля

Для начала работы необходимо создать прокси. В бесплатной версии можно создать только один прокси. Для создания перейдите в раздел Databases > Create proxy.

Рисунок 3 - Настройка прокси
  • Proxy name — название прокси для идентификации внутри GreenSQL
  • Database type — тип защищаемой СУБД
  • Username и Password — логин и пароль для авторизации в СУБД. Не является обязательным, но их указание помогает при дальнейшей настройке выбирать объекты БД из списка, а не вводить вручную
  • Frontend IP — на каком IP будет работать прокси (актуально в случае нескольких сетевых подключений на машине). 0.0.0.0 означает работу на всех сетевых интерфейсах
  • Frontend Port — на каком порту будет работать прокси. Именно этот порт необходимо использовать в своем приложении для подключения к СУБД
  • Backend server name — название защищаемой СУБД. Может быть любым, необходим для идентификации внутри GreenSQL (я пишу localhost)
  • Backend IP — IP-адрес, на котором работает защищаемая СУБД (например, 127.0.0.1)
  • Backend port — порт, на котором работает защищаемая СУБД (обычно, для MySQL — 3306, для MSSQL — 1433, для PostgreSQL — 5432)

После создания прокси он будет запущен на указанном порту. Теперь достаточно задать правила для работы прокси, чтобы начать использовать GreenSQL в своем приложении.

Рисунок 4 - Выбор режима работы приложения
  • Rule type — Тип правила (Learning mode, Database firewall, Risk based). В зависимости от того, какой тип выбран, изжменяются поля для заполнения.
  • Database — название защищаемой базы данных в СУБД
  • Proxy — прокси, на который распространяется правило
  • IDS (Mode) — является общим для всех типов правил.
  • IPS/IDS — не использовать автоматическое распознавание атак
  • Active protection — блокировать потенциально опасные запросы
  • Monitoring — логировать и не блокировать потенциально опасные запросы

[Источник 7] [Источник 8]

Производительность

Так как GreenSQL работает как SQL-прокси, то это добавляет дополнительный уровень к существующей инфраструктуре приложения. Кроме того, с точки зрения сети, брандмауэр GreenSQL создает сетевой сокет при подключении к серверу БД. Все это добавляет некоторые накладные расходы. GreenSQL тестировался с помощью быстрой конфигурации: журналы приложений были отключены, был заранее подготовленный список разрешенных шаблонов, что позволило не делать расчет риска во время теста. С учетом данных конфигураций был получен следующий результат

Рисунок 5 - Тест производительности

На данном рисунке приводится сравнения количества обращений к БД при включенном и отключенном брандмауэре. В среднем получаем небольшое снижение производительности и скорости работы, около 2-12%

[Источник 4]

Источники

  1. GreenSQL Express FREE Database Security // Блог GreenSQL [2010-]. URL:https://greensql.wordpress.com/2010/12/21/greensql-express-free-database-security/ (дата обращения: 10.05.2020).
  2. GreenSQL Express FREE Database Security // Блог GreenSQL [2010-]. URL: https://lifeonweb.wordpress.com/2009/08/27/green-sql// (дата обращения: 10.05.2020).
  3. Защита СУБД с GreenSQL-FW // Хакер [2011-]. URL: https://xakep.ru/2011/02/16/54849/#toc01. (дата обращения: 15.05.2020).
  4. 4,0 4,1 GreenSQL Documentation // Официальный сайт GreenSQL из web-архива [2007 - 2011]. URL: http://web-arhive.ru/view2?time=20111211225825&url=http%3A%2F%2Fwww.greensql.net%2Fcommunity%2Fdocs (дата обращения: 09.05.2020).
  5. GreenSQL is an Open Source database firewall used to protect databases from SQL injection attacks // Репозиторий проекта на github [2007-]. URL:https://github.com/larskanis/greensql-fw (дата обращения: 09.05.2020).
  6. How to install and configure GreenSQL in Ubuntu 9.10 // Блог Jaime Frutos Morales's [2009-]. URL:https://acidborg.wordpress.com/2009/12/09/how-to-install-and-configure-greensql-in-ubuntu-9-10/ (дата обращения: 10.05.2020).
  7. Preventing MySQL Injection Attacks With GreenSQL // Сайт HowToForge [2009-]. URL:https://www.howtoforge.com/preventing-mysql-injection-attacks-with-greensql-on-debian-etch?__cf_chl_captcha_tk__=b737b988c3f7d19dee58f8c5b82ca8276ed70510-1589982295-0-AYngI1Z-QKIljjLborWvKFj8bOeGxoYA_zhr-3Kd0gyJKEOr7uDXLlyLyOvK9BjWHDl-PK63WjLzjvIsdj6iP2XbgrHAmT_1ad-gjoKqHw0upWIpQO0xrP9TmOye4aCCGme4U9q60UzP4U1WCzEKO_t9lwrMCSWDMwxOmuGWe8QuMWoRt4hAVeqAuSksfJYq9EVg4dyiqwxgMnef9fubCbbNbh_4lTCGJqL15_k2Adsst0SCoV2q4-mXkqMZEvUFtOAwhzarj3kvCwQOvBXLDJERaryIFKEmNUVdCrnyVDTIR7jX1YCDqDdmTLIFsi3gUK6VuhPdCxECt-diFUFxLS--DTuTv58xDvDQBYWxXlHtEs1SaDpdBv0i3eiz-m0pgrfIe5iKM3vCJ4vnuFilsKjnzmuTH7xvY2BtR_532Ze6mX-4GLdjWLZpAW1gjP219seSSmXHBpsAQ43DU0YFJyhJlpnrLDms7JVCz_w5X4tcTy7zUWLNojEnsYGyXblXqXSvV2CTPOnxqMAEVonDM6UXxKuoJ-FhOm_K3PlpsOCsgoM-MHH17Ms3wZQnQ5SENw#-installing-greensqlfw (дата обращения: 15.05.2020).
  8. GreenSQL: Защита SQL-серверов от инъекций // Хабр [2011 - ]. URL:https://habr.com/ru/post/117375/ (дата обращения: 15.05.2020).