• 47663
  • 64
  • 22
Нравится блог?
Подписывайтесь!

GreenSQL: Защита SQL-серверов от инъекций

Иногда возникает необходимость использовать клиент-серверное программное обеспечение, реализующее нужный функционал, но крайне уязвимое к SQL-инъекциям. В основном это веб-сайты, сетевые приложения и другие сервисы, доступ к которым открыт широкому кругу пользователей, в том числе и злоумышленникам. В силу различных причин не всегда есть возможность предотвратить SQL-инъекции на уровне приложения — исходный код может быть закрыт, либо, в случае открытого кода, недостаточно знаний для внесения в него изменений, либо эта операция является дорогостоящей.

Обеспечить безопасность приложения в данном случае поможет GreenSQL — файрволл или прокси для SQL-серверов. Сервис GreenSQL размещается между вашим приложением и SQL-сервером, принимает sql-запросы от приложения и в зависимости от степени его благонадежности либо перенаправляет их на целевой SQL-сервер, либо отвергает.



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-х разрядные системы.

Что касается стоимости, существует несколько модификаций программы — бесплатная Express, Lite и Pro с ежемесячной оплатой. Основное отличие платных версий от бесплатной, если опустить техподдержку и автоматическое обновление, — возможность модифицировать запросы на лету и работа с безопасными SSL-соединениями.

Каждая из версий GreenSQL поддерживает несколько режимов работы.

Risk Based — IPS/IDS реализует базовый алгоритм идентификации потенциально опасных SQL-запросов. Т.е. GreenSQL производит семантический разбор запроса и по косвенным признакам определяет степень его благонадежности. Калькуляция степени опасности производится с учетом следующих параметров:

  • операции, изменяющие структуру таблиц
  • запросы к служебным таблицам и базам
  • запросы с использованием доступа к файловой системе
  • административные запросы, например, SHOW TABLES, SHOW CREATE TABLE
  • операции сравнения, всегда возвращающие ИСТИНУ, например, 1=1, field=field
  • комментарии внутри запроса
  • использование OR в запросе
  • операции над таблицами, содержащими личную информацию, например, users, accounts, payments
  • передача в запросе пустого пароля, например, password='', pwd='', passw=''

Необходимые заблокированные запросы можно добавить в список разрешенных (whitelist).

Database Firewall — активный режим защиты, который пропускает только запросы, находящиеся в списке разрешенных (whitelist).

Learning Mode — режим обучения, в ходе которого все запросы (вернее, шаблоны запросов) попадают в список разрешенных (whitelist). Таким образом, можно в режиме обучения прогнать в хвост и гриву свое приложение, чтобы он собрал базу «чистых» запросов, а затем включить «боевой» режим с блокировкой всех неизвестных запросов (Database Firewall + Active protection).

Настройки программы

GreenSQL запускается как сервис (демон). Управление настройками происходит через веб-интерфейс, расположенный по адресу 127.0.0.1:5000.


Логин/пароль по умолчанию admin/pwd

После авторизации вы попадаете на страницу статистики работы приложения. Перейдите в раздел System > License, и укажите лицензионный ключ, который вы найдете в письме со ссылкой для скачивания (для возможности скачивания необходима регистрация на сайте разработчика).

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

  • 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)

После создания прокси он будет запущен на указанном порту. Теперь достаточно задать правила для работы прокси (Policy), чтобы начать использовать GreenSQL в своем приложении. В принципе, уже на этом этапе можно попробовать настроить свое приложение на работу с GreenSQL, правда, работать оно будет в «прозрачном» режиме.

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

Теперь можно попробовать настроить свое приложение на использование GreenSQL.

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

Тест производительности взят с официального сайта GreenSQL. Суть теста такова, что посредством Apache Bench производилось несколько замеров в 400 обращений и 10 конкурентными запросами. Результат тестов представлен на изображении.

GreenSQL поставляется с хорошей документацией по использованию. Здесь я не пытался ее перевести, а скорее, обозначил общее назначение и настройки базового функционала программы. Предыдущие версии GreenSQL (до 1.2, текущая — 1.5) распространялись под лицензией GPL.

 
18 апреля 2011, 11:21
1693

Loading...

Комментарии

YXA
0
0
Классное ПО, спасибо за инфу. Но было бы еще лучше, если бы реальные тесты были произведены и c MS SQL и Postgre, по себе знаю различия в производительности могут быть серьезными.
Постараюсь найти тесты с MS SQL и PostgreSQL
YXA
0
0
Просто речь о чем, производил тесты производительности для 1С 8.1, на двух выше озвученных платформах, люди в грудь себя били, что MS круче производительность выше, в итоге после 10 одновременных серьезных нагрузок и оптимизации Postgre, MS стала проигрывать 1-2 пункта
Любое дополнительное звено в обороне системы, может стать как защитой, так и прямым трояном имея какой либо эксплойт. Как следствие, такие программы приучают не думать программистов о безопасности. имхо.
YXA
0
0
Согласен, но это решение для аутсорсинга, там где нет спецов, в своей бы фирме не поставил.
С этим согласен. Как выход.

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Исламская ипотека в Казахстане: в этом году выйдет на розничный рынок

Исламская ипотека в Казахстане: в этом году выйдет на розничный рынок

Многие клиенты, вздыхая о харамном ссудном проценте местных банков, сокрушались по поводу отсутствия у нас халяльного кредитования. Поддержка исламского банкинга на уровне МФЦА есть...
DanaJarlygapova
24 марта 2017 / 18:28
  • 20996
  • 59
Рианна за $2 млн. Очередные понты от «ЭКСПО-2017»

Рианна за $2 млн. Очередные понты от «ЭКСПО-2017»

Концерт Рианны всё-таки состоится летом в рамках культурно-зрелищных и спортивных мероприятий ЭКСПО-2017. Рианна крута, с этим никто не спорит. Но соберёт ли «Астана Арена» 30 тысяч зрителей при...
openqazaqstan
сегодня / 14:29
  • 8614
  • 11
Компания LG Electronics открыла предзаказ на новый флагман LG G6

Компания LG Electronics открыла предзаказ на новый флагман LG G6

LG Electronics объявляет о начале предварительного заказа онлайн на новый смартфон LG G6. Оформить предзаказ можно на сайтах магазинов электроники до 16 апреля 2017 года.
LG Electronics
24 марта 2017 / 14:20
  • 5197
  • 0
Беременность по-американски. Никто не ждет до 40 дней, с малышом гуляют с первого дня

Беременность по-американски. Никто не ждет до 40 дней, с малышом гуляют с первого дня

Мои волшебные 9 месяцев протекали в новой среде и далеко от всех родственников и подружек. Никто из моих знакомых в США на тот момент не успел обзавестись малышом, поэтому мне не с кем было...
Zarema_
23 марта 2017 / 9:25
  • 5236
  • 20
Страну, где так строят дороги, победить невозможно!

Страну, где так строят дороги, победить невозможно!

Шестиминутный ролик про строительство автомобильной дороги в США - это как острый нож в пузо нашим чиновникам. Они же подавятся бешбармаком, увидев его! Похлеще любого пропагандистского фильма...
Timur_Tregulov
24 марта 2017 / 11:26
  • 4702
  • 39
Это вам не Дисней. Реальный прототип «Красавицы и Чудовища»

Это вам не Дисней. Реальный прототип «Красавицы и Чудовища»

Многие уверенны на 100%, что сказка «Красавица и Чудовище» - это интересная выдумка ее создателей. Однако, действия, происходящие в мультфильме и фильме, имели место в истории, и у главных героев...
Naomi_K
24 марта 2017 / 18:42
  • 4900
  • 34
Семь причин почему вам надо перестать откладывать переезд за границу

Семь причин почему вам надо перестать откладывать переезд за границу

Вы думаете о переезде за границу, но постоянно откладываете дату, потому что вас беспокоит тысяча мелочей, которые могут пойти не так? У меня есть семь причин, почему пора перестать мотать нервы...
Lesch
24 марта 2017 / 17:50
  • 3831
  • 14
Гонения на «Свидетелей Иеговы». Кому это выгодно?

Гонения на «Свидетелей Иеговы». Кому это выгодно?

Я не "Свидетель Иеговы". Мне приходилось защищать в судах и кришнаитов и коммунистов, хотя я и не разделяю их убеждений. Я защищаю свободу совести. Сегодня "Свидетели Иеговы", завтра,- каждый из вас.
nasreddin
25 марта 2017 / 17:18
  • 4002
  • 49
Страна обыденной роскоши: Ташкент-Самарканд-Бухара

Страна обыденной роскоши: Ташкент-Самарканд-Бухара

Узбекистан - это страна, где роскошь стала обыденностью. Это и повсеместный зелёный крупнолистовой чай. И вкусная натуральная еда с минимумом специй. И то, что дети играют среди исторических памятников.
MadinaR
25 марта 2017 / 10:37
  • 3234
  • 59