• Базы данных
  • Oracle
  • Сжатие данных в целях экономии места и ускорения работы Oracle

Некоторые вопросы безопасности в Oracle - Рекомендации по защите

ОГЛАВЛЕНИЕ


Рекомендации по защите

Приведем некоторые рекомендации, необходимые для повышения уровня защищенности Oracle, многие из которых применимы и к другим базам данных.

1. При установке системы в рабочую среду:

  • устанавливайте только необходимые для бизнес-процесса компоненты. Не устанавливайте тестовые примеры схем;
  • смените пароли к административным учетным записям SYS и SYTEM на удовлетворяющие требованиям безопасности;
  • при выборе имен баз данных (SID) используйте названия, состоящие не менее чем из восьми символов, включая буквы и специальные символы, но не совпадающие с именем хоста в DNS или Netbios;
  • установите последние критические обновления перед вводом системы в эксплуатацию.

2. При настройке системы после установки:

  • создайте учетную запись пользователя в операционной системе, от имени которого будет запускаться база данных Oracle, установите для нее надежный пароль и лишите ее административных привилегий;
  • установите пароль на доступ к службе Listener. Использование установки LOCAL_OS_AUTHENT не рекомендуется, так как не защищает локальный доступ к службе и усложняет удаленное администрирование (см. листинг 1);
  • включите протоколирование всех попыток подключения к Listener для обнаружения попыток перебора паролей (см. листинг 2);
  • максимально ограничьте доступ к локальным конфигурационным файлам tnsnames.ora, оставив права на чтение лишь пользователю, от имени которого запускается база данных, так как пароль на подключение к Listener хранится в конфигурационном файле;
  • ограничьте доступ к приложениям, через которые можно узнать SID, или модифицируйте информацию, выводимую этими приложениями;
  • отключите неиспользуемые учетные записи и смените пароли учетных записей, установленных по умолчанию;
  • введите как административные, так и программные ограничения на длину и сложность пароля. Программно это можно реализовать настройкой профилей пользователей в базе данных Oracle. Основные параметры профиля, влияющие на безопасность, могут быть настроены путем изменения таких параметров, как FAILED_LOGIN_ATTEMPTS (число неудачных попыток регистрации), PASSWORD_LIFE_TIME (время действия пароля, рекомендуется менять раз в два месяца), PASSWORD_VERIFY_FUNCTION (имя функции для проверки длины и сложности пароля).

Пример установки числа неудачных попыток входа, равного пяти:

alter profile DEFAULT
limit FAILED_LOGIN_ATTEMPTS 5;
alter user SCOTT
profile DEFAULT;

  • проанализируйте привилегии и роли пользователей и оставьте только самые необходимые, руководствуясь известным принципом наименьших привилегий. Как минимум, необходимо ограничить для роли PUBLIC доступ к таким пакетам, как UTL_SMTP, UTL_TCP, UTL_HTTP, UTL_FILE. Также максимально ограничьте доступ на выполнение JAVA-процедур;
  • ограничьте доступ к базе данных по IP-адресам, разрешив доступ только с Web-сервера, если база данных используется с ним в связке или только из подсети пользователей базы данных. Для этого можно воспользоваться межсетевым экраном или настройками конфигурационного файла protocol.ora. В конфигурационный файл необходимо внести строки:

tcp.validnode_checking = YES
tcp.excluded_nodes =
{Список запрещенных адресов}
tcp.invited_nodes =
{Список разрешенных адресов}

3. Периодические проверки:

  • регулярно устанавливайте последние критические обновления. Если обновления для существующей уязвимости еще не вышли, ограничьте доступ пользователей на запуск уязвимых процедур;
  • периодически проводите проверку учетных записей на наличие стандартных или словарных паролей. Для этого можно воспользоваться утилитой oscanner, которая удаленно осуществляет как проверку стандартных учетных записей, так и подбор по словарю. Для локальной проверки можно воспользоваться утилитой checkpwd, которая предполагает знание аутентификационных данных администраторов. При запуске она подключается к базе данных с аутентификационными данными заданного пользователя, делает выборку из таблицы с хешами паролей пользователей и сверяет эти хеши со стандартными. Также утилита осуществляет подбор паролей по словарю и проверяет, заблокирована ли учетная запись;
  • периодически отключайте неактивные учетные записи, например учетные записи уволенных сотрудников;
  • периодически анализируйте привилегии и роли пользователей и оставляйте только самые необходимые;
  • следите за документацией.

Эти основные рекомендации помогут наиболее полно защитить базу данных без применения дополнительных программно-аппаратных средств. Подробную информацию о защите Oracle можно найти в официальном документе Oracle Database Security Checklist, последняя версия которого доступна по адресу

http://www.oracle.com/technology/deploy/security/ pdf/twp_security_checklist_db_database.pdf.

Александр Поляков (Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.) — аналитик, специалист по информационной безопасности компании Digital Security

Листинг 1. Установка пароля на доступ к Listener


Листинг 2. Включение протоколирования подключения к Listener