Последовательный подход к вопросу безопасности СУБД является довольно разумным и именно его я и придерживаюсь, поэтому начнем с ситуации, когда у нас нет никакой информации о системе, к которой мы пытаемся получить доступ, равно как и никаких логических прав. Единственное, за что мы можем «зацепиться» в таком случае, это открытые порты сервера, на котором функционирует СУБД. Oracle обладает как минимум одним сетевым сервисом, который обеспечивает сетевое функционирование СУБД и, как правило, всегда запущен, – это сетевая служба TNS Listener (далее – Листенер).
Разумеется, возможна ситуация, когда на сервере установлены дополнительные компоненты системы, такие как Oracle Application Server и прочие сервисы (об атаках на них будет рассказано в следующих статьях моего блога), но сейчас нас интересует самая типичная ситуация. И первое, с чем нужно ознакомиться как злоумышленнику, так и администратору, имеющим дело с Oracle, это с Листенером.
Листенер Oracle – компонент сетевого доступа к СУБД Oracle. Это отдельный процесс, который принимает по своему протоколу клиентские запросы на соединение и направляет их для обработки в соответствующий серверный процесс СУБД. Листенер поддерживает соединения по протоколам SNMP и SSL. Обычно атаки на Листенер рассматриваются как первый этап цепочки атак на СУБД. Соответственно, вероятность компрометации СУБД в большой степени зависит от правильной конфигурации Листенера. Незащищенный (неправильно сконфигурированный с точки зрения безопасности) Листенер предоставляет нарушителю возможность осуществления огромного спектра атак, включая удаленное выполнение команд и атаки типа «отказ в обслуживании».