Шифрование паролей в СУБД Oracle

       

Рекомендации по повышению безопасности


С учетом результатов данной статьи становится понятно, что в системах с повышенными требованиями к безопасности для обеспечения надежной аутентификации следует использовать более сильные средства, чем парольная защита СУБД Oracle. Рекомендации естественно вытекают из описанных выше уязвимостей.

  1. Придерживаться принципа минимума привилегий при назначении ролей и выдаче привилегий.
  2. Усилить политику безопасности при выборе паролей, ограничив снизу минимальную длину пароля 10-12 знаками. Эти действия реализуются путем настройки профиля и выполнения скрипта utlpwdmg.sql. Скрипт utlpwdmg.sql рекомендуется изменить, с тем, чтобы применять в нем свои технологии генерации паролей.
  3. Запретить удаленное подключение как DBA (файл init.ora, spfile.ora). remote_os_authentication=FALSE
  4. Несмотря на наличие бреши, связанной с sys.user$, установить аудит SELECT-выражений выполняемых над таблицами, содержащими столбец PASSWORD:

    audit select on sys.link$; audit select on sys.user_history$; audit select on sys.dba_users; audit select on sys.KU$_ROLE_VIEW; audit select on sys.KU$_DBLINK_VIEW; audit select on sys.KU$_10_1_dblink_view; audit select on sys.KU$_USER_VIEW; audit select on sys.exu8phs; audit select on sys.user_db_links; audit select on sys.exu8rol; audit select on sys.KU$_psw_hist_list_view;

  5. Настройка IP-адресов, с которых возможно подключение к БД (файлы sqlnet.ora, protocol.ora):

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

  6. Настроить шифрование TNS-трафика. Использовать создание защищенного канала при установке соединения, например, алгоритм Диффи-Хеллмана.
  7. В ОС Unix настроить список IP-адресов, с которых возможно подключение к серверу:

    файлы hosts.allow, hosts.deny

  8. Обеспечить подключение к серверу только по SSH.
  9. Максимально ограничить доступ потенциального злоумышленника к хешам паролей.

    Настроить права на файл паролей pwSID.ora и файл system.dbf так, чтобы исключить доступ всех пользователей, кроме владельца софта (обычно это учетная запись oracle в ОС). Т.е. члены группы dba не смогут просмотреть этот файл.

  10. Настройка аудита в ОС.
  11. В системах с повышенными требованиями к безопасности следует обратить внимание на привилегии пользователей, которые имеют доступ к БД через Интернет и не использовать привилегированных пользователей для web-приложений.
  12. Не забывать про важность организационных мер (ограничение круга лиц, которые имеют доступ к серверу и ОС, к root, к бэкапам, подписка о неразглашении, меры наказания), которые являются не менее серьезным барьером, чем парольная защита.



Содержание раздела