Вспоминаем, что у нас в первую очередь запросы не должны напрямую уходить в базу данных в чистом виде. Мы должны обработать ввод пользователя и только потом пытать вытащить из базы ответ. Соответсвенно тут у нас будет:
- валидация входных данных (принимаем на вход ожидаемый для нас формат);
- параметризация запроса (мы обрабатываем вводимые данные и только потом отдаём их в запрос в БД).
Дальше представим, что наш Жулик пытается вытащить пароли администратора. Здесь мы конфигурируем саму БД и права доступа к ней:
- применяем принцип наименьших привилегий (учётка из веба не должна иметь прав администратора, только на конкретные таблицы и минимально необходимые операции - Select, Insert, Update);
- хранимые процедуры (изолирует БД от внешнего мира, не даём прямой доступ к таблицам, только на выполнения конкретных процедур);
- отключение неиспользуемого или небезопасного функционала (база).
И последнее, про что не стоит забывать на сегодняшний день - это мониторинг и уровень сети:
- ставим сигнатурный и поведенчески WAF (web application firewall) - отсекаем вредные запросы ещё до попадания таковых на сервер;
- аудит и логирование (аномалии, ошибки синтаксиса, попытка доступа к защищённым таблицам - повод присмотреть к таким события внимательнее).
#ПолеСобесов
🧠 Кибер ПТУ | 👨🏫 Менторство ИБ
📂 Другие каналы
Post #473
2.22K
- 🤓 6
- 👨💻 2
- ❤ 1
- 🔥 1