Субд oracle: обзор характеристик и возможностей базы данных

Предоставление прав

Для уменьшения уязвимости базы данных Oracle настоятельно рекомендует избегать предоставления прав пользователям Oracle типа , таких как права на удаление (т.е. любой) таблицы. Этой проблемы можно вообще избежать, отказавшись от выдачи объектных прав непосредственно пользователям. Кроме того, следует избегать предоставлять полномочия . Полномочия означают, что пользователь, которому они выданы, может, в свою очередь, предоставлять полномочия другим пользователям. В результате администратор баз данных может очень быстро потерять контроль над тем, кому и какие полномочия выдавались.

Непосредственно пользователям следует предоставлять роли, а не полномочия. Это значительно облегчает администрирование базы данных Oracle с большим количеством пользователей, в которой трудно проверить, какие полномочия были выданы непосредственно тому или иному пользователю. — это роль, используемая по умолчанию для каждого пользователя, созданного в базе данных. Удостоверьтесь, что этой роли не назначены никакие лишние роли или полномочия, поскольку каждый пользователь, в том числе такие создаваемые по молчанию пользователи, как и , будет автоматически наследовать эти роли и полномочия.

Следующий запрос показывает, что роль имеет более 12 000 полномочий объектного уровня:

Из более чем 12 000 объектных полномочий, предоставленных роли , свыше 100 являются полномочиями на выполнение пакетов , таких как , , , , и . Отзовите все важные полномочия выполнения у роли . Выдавайте важные полномочия пользователям посредством продуманного использования ролей.

Полномочия наделяют пользователя очень большими возможностями, включая удаление объектов базы данных и изменение таблиц словаря данных. Не стоит и говорить, что полномочия следует предоставлять очень расчетливо.

Почему 18с?

Читателям, которые не работают с СУБД от Oracle каждый день, поясню откуда взялась цифра 18. Дело в том, что после версии 12c Release 2 производитель решил изменить схему версионирования и перейти на годичный цикл выпуска новых версий своей СУБД. Таким образом, релиз 12.2.0.2 стали считать версией 18, а в будущем мы увидим 19, 20 и далее версии Oracle Database. Одновременно с этим, новый Product Manager по направлению Express Edition пообещал, что теперь и впредь мы будем наслаждаться новой версией XE практически одновременно с выпуском остальных редакций, т.е. также раз в год. Единственная разница будет состоять в том, что для XE не будет выпускаться патчей и исправлений безопасности, в отличие от SE и EE. Однакое, каждый следующий мажорный релиз XE будет включать в себя все исправления и изменения, сделанные в редакциях SE и EE за весь предыдущий год, что, конечно, не может не радовать. Особенно если учесть, что на протяжении 7 лет 11-ая версия XE также не получала никаких патчей и исправлений, но всё равно была сильно востребована у комьюнити.

В будущее с интеграцией сервисов Jenkins & Oracle APEX

В процессе управления большими объемами данных и их визуализацией мы все чаще сталкиваемся с необходимостью внедрения единого инструмента доступа к управлению функционалом в хранилище. Причем этот инструмент должен быть одинаково удобен и понятен всем сотрудникам подразделения по управлению данными: администраторам, аналитикам, разработчикам и тестировщикам.
Меня зовут Виталий, я отвечаю в Ростелекоме за направление автоматизации тестирования и внедрение DevOps процессов. В данной статье я расскажу об интересном решении данной проблемы в крупном хранилище данных компании Ростелеком.
И вот как мы пришли к такому набору инструментов для решения данной задачи.

Edition-Based Redefinition. Часть 2

Привет! Как и обещала в предыдущем посте про Edition-Based Redefinition — вот вторая часть.
Итак, с чем мы работаем? Наш основной production сервер — это Oracle 12С, Enterprise Edition

И, что важно отметить, на нем работает несколько десятков приложений одновременно

Почему мы заостряем на этом внимание? Технология относительно новая, она не совсем хорошо обкатана. И было бы нелогичным переводить на нее сразу какие-то критичные системы

Поэтому для себя решили, что будем потихоньку идти от менее критичных систем к более критичным. Соответственно, следующая проблема, которую нам необходимо было понять: как работать c технологией EBR и как организовать интеграцию в той ситуации, когда у нас одна схема версионирована, а другая — нет. В 12 версии Oracle, как оказалось, можно создавать неверсионные объекты, неверсионированные пакеты, неверсионированные представления в версионированной схеме для организации той самой интеграции.

Особенности

  • MVCC (англ. MultiVersion Concurrency Control) — многоверсионность данных для управления параллельными транзакциями.
  • Секционирование.
  • Автономные транзакции.
  • Automatic Storage Management — автоматическое управление хранением файлов БД.
  • Oracle Enterprise Manager — набор инструментов, предназначенных для управления и мониторинга СУБД Oracle и серверов, на которых они установлены.
  • Пакеты.
  • Поддержка последовательностей.
  • Аналитические функции в SQL.
  • Profile manager.
  • Oracle Label Security.
  • Streams.
  • Advanced Queuing.
  • Flashback Query.
  • RAC (англ. Real Application Clusters).
  • RAT (Real Application Testing) — позволяет значительно снизить затраты на испытание новой конфигурации программного или аппаратного обеспечения, так как способна точно воспроизвести на ней нагрузку рабочего сервера.
  • Data Guard — технология, позволяющая создать резервный сервер, который может работать в паре с основным, снижая нагрузку на него, и который может автоматически заменить основной сервер в случае его отказа или планового отключения (есть вариант с постоянной доступностью резервного сервера для чтения — Active Data Guard).
  • Total Recall — даёт возможность разгрузить базу данных от устаревшей, редко используемой информации, сохраняя при этом возможность доступа к ней, так что для пользователя базы данных это изменение остаётся незамеченным.
  • Объектные типы (в смысле объектно-ориентированного подхода).
  • Automatic Database Diagnostic Monitoring — автоматический мониторинг и диагностика баз для выявления проблем производительности и, возможно, автоматической корректировки (если таковая определена администратором).
  • Подсказки для изменения плана выполнения запроса.

dbca

Утилита Oracle   имеет графический интерфейс и режим командной строки, из которого вы можете настроить и создать базы данных Оракл. Визуальный инструмент прост в использовании и имеет весьма интуитивно понятный интерфейс. Используя  в средах Linux / Unix в графическом режиме убедитесь, что у вас установлено надлежащее программное обеспечение X (графическая оболочка), затем выполните команду и убедитесь, что установлена ваша переменная , например:

Dbca вызывается из командной строки операционной системы следующим образом:

Вам будет представлен ряд экранов, которые позволят вам выбирать варианты конфигурации. Вы можете выбрать опцию «Расширенный режим», которая дает вам больше контроля над такими аспектами, как размещение файлов и мультиплексирование онлайновых журналов повтора.

По умолчанию dbca создает базу данных Oracle 12c со следующими характеристиками:

  • Определяет табличное пространство SYSTEM как локально управляемое.
  • Определяет табличное пространство по умолчанию с именем USERS для любого пользователя, созданного без явно определенного табличного пространства по умолчанию.
  • Определяет временное табличное пространство по умолчанию с именем TEMP для всех пользователей.

Подобно подходу с использованием SQL*Plus, это все желаемые функции, которые обеспечивают хорошую основу для создания приложений с резервом производительности.

Утилита также позволяет создавать базу данных в «тихом режиме» без графического компонента. Использование в тихом режиме с файлом ответов является эффективным способом создания баз данных Oracle 12c последовательным и повторяемым образом. Этот подход также хорошо работает при установке на удаленных серверах, которые могут иметь медленное сетевое подключение или не иметь соответствующее программное обеспечение X.

Вы также можете запустить в бесшумном режиме с помощью файла ответов. В некоторых ситуациях использование в графическом режиме не представляется возможным. Это может быть связано с медленными сетями или отсутствием программного обеспечения X. Чтобы создать базу данных, используя в бесшумном режиме, выполните следующие действия:

  • Найдите файл dbca.rsp.
  • Сделайте копию файла dbca.rsp.
  • Измените копию файла dbca.rsp для вашей среды.
  • Запустите утилиту dbca в тихом режиме.

Сначала перейдите к месту, в котором вы скопировали программное обеспечение для установки базы данных Oracle, и используйте команду для поиска :

Скопируйте файл так, чтобы вы не изменяли оригинал (таким образом, у вас всегда будет хороший исходный файл):

Теперь отредактируйте файл mydb.rsp. Минимально вам необходимо изменить следующие параметры: GDBNAME, SID, SYSPASSWORD, SYSTEMPASSWORD, SYSMANPASSWORD, DBSNMPPASSWORD, DATAFILEDESTINATION, STORAGETYPE, CHARACTERSET, and NATIONALCHARACTERSET. Ниже приведен пример измененных значений в файле mydb.rsp:

Затем запустите утилиту dbca в тихом режиме, используя файл ответов:

Вы должны увидеть результат, например

Если вы посмотрите в файлах журнала, обратите внимание, что утилита использует утилиту rman для восстановления файлов данных, используемых для базы данных Oracle Database 12c. Затем он создает экземпляр и выполняет шаги после установки

На сервере Linux вы также должны иметь запись в файле для вашей новой базы данных Оракл.

Многие администраторы баз данных запускают dbca и настраивают базы данных в графическом режиме, но некоторые используют доступные им варианты с использованием файла ответов. Благодаря эффективному использованию файла ответов вы можете автоматически автоматизировать процесс создания базы данных. Вы можете изменить файл ответов для создания баз данных в Oracle ASM и даже создавать базы данных RAC. Кроме того, вы можете контролировать практически все аспекты файла ответов, аналогично запуску dbca в графическом режиме.

 Tip  

Сеть и служба слушателя

Сеть и служба слушателя (TNS Listener) — уязвимые места системы безопасности Oracle. Существует множество возможностей неумышленного оставления открытых путей для атаки базы данных. Вначале рассмотрим способы укрепления службы слушателя.

Защита слушателя

Как было показано в статье блогов, для слушателя всегда следует применять пароль, чтобы воспрепятствовать подключению неправомочных пользователей к базе данных Oracle. Помните, что организовать атаку на незащищенную службу TNS Listener довольно просто. Как только пароль для слушателя установлен, привилегированные действия, такие как остановка или запуск слушателя, не смогут выполняться без ввода соответствующего пароля.

Можно также запретить пользователю применять команду для вмешательства в функции слушателя. Для этого потребуется добавить следующую строку в файл конфигурации : 

По умолчанию этот параметр установлен в значение . Следует также избегать удаленного управления службой слушателя, поскольку ее пароль не шифруется при передаче по сети. Пароль слушателя хранится в файле , поэтому нужно защитить этот файл.

Защита сети

Одно из основных требований безопасности современных ориентированных на Интернет приложений баз данных — защита системы от внешнего мира с помощью брандмауэра. Когда брандмауэр установлен, поддерживайте его надежность, не допуская брешей в нем по какой бы то ни было причине — например, применение портов, используемых слушателем, для подключения к Интернету.

В дополнение к обычному брандмауэру можно использовать службу Oracle Net для создания дополнительного уровня защиты, названного серверными средствами контроля доступа. Серверные средства контроля доступа ограничивают возможность адреса в плане подключения к базе данных посредством службы слушателя. Существуют два способа ограничения адресов, через которые возможна установка подключений. В файле можно перечислить приглашенные (принимаемые) адреса, равно как и исключенные адреса. Всем сетевым адресам, перечисленным в списке приглашенных, подключение разрешено, а всем адресам в списке исключенных узлов доступ запрещен.

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

Для исключения адресов необходимо добавить следующую строку:

Запрет аутентификации удаленным клиентом

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

Приведенная настройка будет стимулировать аутентификацию пользователей сервером, что безопаснее доверия этой задачи операционной системе клиентов.

Установка параметров инициализации, связанных с безопасностью

Кроме параметра инициализации , для усиления безопасности базы данных Oracle можно использовать также следующие параметры.

  • sec_protocol_error_further_action

    Позволяет указывать действия, которые должна выполнять база данных (разрывать соединение или продолжать прием) при получении поврежденных пакетов от клиентов. При этом предполагается, что эти пакеты отправляются со злым умыслом.

  • sec_protocal_error_trace_action

    Позволяет указывать вид действий, которые должны предприниматься для отслеживания ошибки. Например, можно выполнять трассировку ошибки или отправлять предупреждение об ошибке.

  • sec_max_failed_login_attempts

    Позволяет задавать максимальное количество последовательных неудачных попыток подключения, которые может предпринять пользователей, оставаясь при этом действующим, даже при отключенном профиле пароля пользователя.

  • ldap_directory_sysauth

    Активизирует строгую аутентификацию (использующую мандаты Kerberos или сертификаты через протокол защищенных сокетов (Secure Sockets Layer — SSL)).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector