Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
DBShield — Файрвол для баз данных, написанный на Go | Kitploit
Инструменты/GitHubGitHub/nim4/dbshield
Оборонительные ИнструментыВеб-безопасностьБезопасность Баз ДанныхОбнаружение Аномалий
GitHubnim4/dbshield

DBShield

Файрвол для баз данных, написанный на Go

РепозиторийСайт
68416178 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Linux Windows Go Report Card codecov Dev chat GoDoc MIT licensed

DBShield

Защищает ваши данные, проверяя входящие запросы от сервера приложений и отклоняя аномальные.


Как это работает?

Например, так веб-сервер обычно взаимодействует с сервером базы данных:

Пример веб-сервера и БД

Добавив DBShield перед сервером базы данных, мы можем защитить его от аномальных запросов. Для обнаружения аномальных запросов сначала запускаем DBShield в режиме обучения. Режим обучения пропускает любые запросы, но записывает информацию о них (шаблон, имя пользователя, время и источник) во внутреннюю базу данных.

Режим обучения

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

Режим защиты


Демонстрация

Для демонстрации мы используем sqlmap(инструмент автоматического внедрения SQL-кода и захвата базы данных) для эксплуатации уязвимости SQL-инъекции в user.php

В первом сценарии sqlmap успешно эксплуатирует SQL-инъекцию, когда веб-приложение подключено напрямую к базе данных (MySQL). Во втором сценарии мы изменяем user.php таким образом, чтобы DBShield встал между веб-приложением и базой данных, что приведет к блокировке попытки внедрения и сбою sqlmap.

Демонстрация

Примеры вывода

CLI

root@kitploit:~
$ go run main.go
2016/10/15 16:25:31 [INFO]  Config file: /etc/dbshield.yml
2016/10/15 16:25:31 [INFO]  Internal DB: /tmp/model/10.0.0.21_postgres.db
2016/10/15 16:25:31 [INFO]  Listening: 0.0.0.0:5000
2016/10/15 16:25:31 [INFO]  Backend: postgres (10.0.0.21:5432)
2016/10/15 16:25:31 [INFO]  Protect: true
2016/10/15 16:25:31 [INFO]  Web interface on https://127.0.0.1:8070/
2016/10/15 16:25:33 [INFO]  Connected from: 10.0.0.20:35910
2016/10/15 16:25:33 [INFO]  Connected to: 10.0.0.21:5432
2016/10/15 16:25:33 [INFO]  SSL connection
2016/10/15 16:25:34 [DEBUG] Client handshake done
2016/10/15 16:25:34 [DEBUG] Server handshake done
2016/10/15 16:25:34 [INFO]  User: postgres
2016/10/15 16:25:34 [INFO]  Database: test
2016/10/15 16:25:34 [INFO]  Query: SELECT * FROM stocks where id=-1 or 1=1
2016/10/15 16:25:34 [WARN]  Pattern not found: [53 55 51 52 55 52 50 53 55 51 53 49 115 116 111 99 107 115 53 55 51 53 50 105 100 54 49 52 53 53 55 51 55 57 53 55 52 48 52 53 55 51 55 57 54 49 53 55 51 55 57] (SELECT * FROM stocks where id=-1 or 1=1)
2016/10/15 16:25:34 [WARN]  Dropping connection

Веб-интерфейс

Веб-интерфейс


Установка

Получить его

root@kitploit:~
$ go get -u github.com/nim4/DBShield

Затем можно посмотреть справку с помощью аргумента "-h":

root@kitploit:~
$ $GOPATH/bin/DBShield -h
DBShield 1.0.0-beta3
Usage of DBShield:
  -a	get list of abnormal queries
  -c file
      config file (default "/etc/dbshield.yml")
  -h	show help
  -k	show parsed config and exit
  -l	get list of captured patterns
  -version
      show version

и запустить его с вашей конфигурацией, например:

root@kitploit:~
$ $GOPATH/bin/DBShield -c config.yml

см. пример конфигурационного файла

⚠️ ПРЕДУПРЕЖДЕНИЕ: Не используйте сертификаты по умолчанию в производственных средах!


Поддерживаемые СУБД:


Планы

(Отсортировано по приоритету)

  • Улучшить документацию
  • Добавить Microsoft SQL Server
  • Добавить больше аргументов командной строки
  • Достичь 90% покрытия тестами
  • Поддержка Oracle SSL
Скачать инструмент
База данныхЗащитаSSL
DB2YesNo
MariaDBYesYes
MySQLYesYes
OracleYesNo
PostgresYesYes