44
<Insert Picture Here> Database Change Management, Configuration, Provisioning, Masking Packs Сергей Томин Консультант Oracle CIS

Database Change Management, Configuration, Provisioning

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Database Change Management, Configuration, Provisioning

<Insert Picture Here>

Database Change Management, Configuration, Provisioning, Masking

Packs

Сергей ТоминКонсультантOracle CIS

Page 2: Database Change Management, Configuration, Provisioning

Безопасность становится важнейшей проблемой

Безопасность

Постоянно была в списке

важнейших 10 проблемсогласно опросам CIO

на протяжении последних 5 лет †

† Gartner Annual Worldwide Survey of CIOs, 2004 through 2008

Page 3: Database Change Management, Configuration, Provisioning

DBA практики для обеспечения

Безопасности

• Эталонное ПО (software gold images) с уже установленнымипатчами

• Конфигурационные политики для всех компонентовинфраструктуры

• Маскирование секретных данных перед тем, как отдатьбазу данных другим лицам

• Автоматизация переноса изменений из разработческойбазы данных в промышленную

Page 4: Database Change Management, Configuration, Provisioning

DBA практики для обеспечения

Безопасности

• Эталонное ПО (software gold images) с уже установленнымипатчами

• Конфигурационные политики для всех компонентовинфраструктуры

• Маскирование секретных данных перед тем, как отдатьбазу данных другим лицам

• Автоматизация переноса изменений из разработческойбазы данных в промышленную

Page 5: Database Change Management, Configuration, Provisioning

Безопасность ПО – Проблемы

• Использование стандартизированного ПО

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

Page 6: Database Change Management, Configuration, Provisioning

Использование стандартизированного ПО

• ПО с установленными патчами– Стандартные установки ПО для баз

данных– Сокращает риски безопасности– Обеспечивает проверенную,

предсказуемую производительность

• Клонировние эталонного ПО– Образ ПО может отпатчирован до любого

уровня

• Образ ПО можно копировать с узлаили из Библиотеки ПО

• Дополнительная пост-конфигурация, например, созданиеБД

• Параллельное клонирование нанесколько узлов

• Поддерживает одиночную базуданных и RAC

• Клонирование баз данных(дополнительно)– Клонирование баз данных использует

быструю, проверенную RMAN технологию

Page 7: Database Change Management, Configuration, Provisioning

Установка патчей безопасности:

Проблемы для DBA

Найти уязвимые установки EM автоматически связывает

патчи с уязвимыми установками

Загрузить нужный патч EM

� Загружает нужный патч

� Также поддерживает автономный

режим, если нет прямой связи с

Oracle Metalink

Тестирование патча EM поддерживает размещение и

санкционирование патчей в

Software Library

EM полностью автоматизирует

применение патчей как для

одиночной БД, так и для RAC

Применить патч ко всем

системам в установленные

сроки

Page 8: Database Change Management, Configuration, Provisioning

– Зайти в EM

– Сделать один раз

• Сконфигурировать Proxy и Metalink данные (также возможно во времяинсталляции)

– Перейти на страницу управления ПО

– Выбрать DB Patching процедуру

– Выбрать патч

– Выбрать объекты, на которые будемустанавливать патч

– Запустить по расписанию

Установка патча на одиночную БД

Без EM С EM

Одновременное, более простоепатчирование несколькихустановок баз данных

•Зайти на Metalink

•Загрузить патч с Metalink

•Для каждого сервера

•Зайти как OS пользователь

•Для каждого ORACLE_HOME

•Разместить патч

•Рекурсивно установить переменные(ORACLE_HOME, ORACLE_SID и т.д.)

•Остновить listener

•Остановить БД

•Запустить opatch

•Для каждой базы данных

•Запустить БД в upgrade режиме

•Применить изменения к словарю

•Откомпилировать объекты БД

•Проверить наличие invalid объектов

•Остановить БД

•Стартовать БД в нормальном режиме

•Стартовать listener

•Проверить патч

Последовательное патчирование длякаждой установки базы данных

Page 9: Database Change Management, Configuration, Provisioning

С EM– Зайти в EM

– Сделать один раз

• Сконфигурировать Proxy и Metalink данные

(также возможно во время инсталляции)

– Перейти на страницу управления ПО

– Выбрать RAC Patching процедуру

– Выбрать патч

– Выбрать экземпляры для RAC (по умолчанию

ВСЕ)

– Запустить по расписанию

• Зайти на Metalink

•Загрузить патч с Metalink

•Для каждого узла кроме одного ( на n-1 узлах), в

ORACLE_HOME

•Разместить патч

•Рекурсивно установить переменные (ORACLE_HOME, ORACLE_SID и т.д.)

•Остановить listener

• Для каждого экземпляра, разделяющегоORACLE_HOME

•Остановить экземпляр

• Запустить opatch

• Стартовать listener

•Для каждого экземпляра, разделяющегоORACLE_HOME

•Стартовать экземпляр

•На одном узле

• Применить изменения к словарю

•Откомпилировать объекты БД

•Проверить наличие invalid объектов

• Проверить патч

Без EM

Поочерёдное патчирование RAC Database

Последовательное патчированиекаждого RAC экземпляра

Оркестрированное, болеепростое патчирование всех RAC

баз данных

Page 10: Database Change Management, Configuration, Provisioning

Пример:Bayer

• Управление патчами дорого и трудоёмко для 2000 баз данных на 500 узлах

• Много баз данных Oracle, разные версии на разных платформах (windows,

Solaris 64 bit и Linux)

• Квартальные CPUs отнимают много времени (требуется применять в течении

45 дней)

Проблема

• Использование EM процедур для применения CPU, одиночных

патчей и patchsets

• Клонирование эталонных образов ПО, с уже установленными

патчами, на новые серверы

Решение

Выигрыш

• Быстрая установка патчей

• Низкий, допустимый уровень отказа на одну операцию

• ~1 час ручного труда сократился до минуты

• ~4 часа для патчей на всех серверах сократились до 10 минут

Page 11: Database Change Management, Configuration, Provisioning

DBA практики для обеспечения

Безопасности

• Эталонное ПО (software gold images) с уже установленнымипатчами

• Конфигурационные политики для всех компонентовинфраструктуры

• Маскирование секретных данных перед тем, как отдатьбазу данных другим лицам

• Автоматизация переноса изменений из разработческойбазы данных в промышленную

Page 12: Database Change Management, Configuration, Provisioning

Конфигурации и Безопасность –

Проблемы

• Сложности управления конфигурациями

– Увеличение темпов изменений и исправлений

– Сложная, гетерогенная, распределённая IT инфраструктура

– Сложная топология – появление сервисных моделей

• Соблюдение стандартов Безопасности и следованиелучшим практикам

– Усиление государственного регулирования, т.е. SOX, ITIL, CIS, COBIT и т.д.

– Поддержка целостности конфигураций

– Устранение уязвимостей в безопасности

• Управление Незапланированными Простоями

– Незапланированные инфраструктурные изменения, приводящиек простоям, должны быть минимизированы/исключены

Page 13: Database Change Management, Configuration, Provisioning

Соблюдение правил с помощью политик

• Используйте Oracle “best practices”политики– ~ 300 готовых политик дляавтоматической оценки систем

– Отчёты с отклонениями

• Постоянный мониторинг соответствия– Сводная информация и детали

– Уровень соответствия (0-100%)

– Уведомления о несоответствии

– Отслеживание изменений уровня соответствияс течением времени

– Может использоваться в шаблонахмониторинга

Monitor Policies

Reports Security

CMDB

Page 14: Database Change Management, Configuration, Provisioning

Автоматические Проверки Безопасности

Всё Oracle ПО

1. Security alerts

2. Critical patches

Host1. Detect open ports2. Detect insecure services

Application Server

1. HTTPD has minimal privileges

2. Use HTTP/S

3. Apache logging should be on

4. Demo applications disabled

5. Disable default banner page

6. Disable access to unused directories

7. Disable directory indexing

8. Forbid access to certain packages

9. Disable packages not used by DAD owner

10. Remove unused DAD configurations

11. Redirect _pages directory

12. Password complexity enabled

13. Use HTTP/S

Database Services

1. Enable listener logging

2. Password-protect listeners

3. Disable direct listener administration

4. Disallow remote OS roles and authentication

5. Disallow use of remote password file

6. Restrict access to external procedure service

Database User Privileges

1. Disable install and demo accounts

2. Disallow default user/password

3. PUBLIC has execute System privilege

4. PUBLIC has execute Object privilege

5. PUBLIC has execute UTL_FILE privilege

6. PUBLIC has execute UTL_SMTP privilege

7. PUBLIC has execute UTL_HTTP privilege

8. PUBLIC has execute UTL_TCP privilege

9. PUBLIC has execute DBMS_RANDOM

10. Password complexity

11. Restrict number of failed login attempts

12. Authentication protocol fallback

13. Connect and Resource grants

Page 15: Database Change Management, Configuration, Provisioning

Политики соответствия

• Объяснениевозможныхпоследствийнарушения

• Рекомендации поустранениюнесоответствий

• Возможность– Включать и отключать

политики для каждогообъекта

– Добавлятькомментарии

– Скрытие сообщений онарушениях

• Отчёт о скрытыхнарушениях

Page 16: Database Change Management, Configuration, Provisioning

Группы политик

Page 17: Database Change Management, Configuration, Provisioning

Изменение уровня соответствия для группы политик

Page 18: Database Change Management, Configuration, Provisioning

Configuration Change Console (планируется)Приобретённая технология от Active Reasoning

• Постоянноеотслеживаниеизмененийконфигурации вреальном времени

• Интеграция сRemedy и Peregrine

• Аудит конфигурацийприложений(databases, OS иmiddleware)

• Готовые проверкидля соответствияSOX, COBIT и PCI

Page 19: Database Change Management, Configuration, Provisioning

Configuration Change Console: Typical Controls

• Access and Security Controls– Changes to Access Control Lists– Access to (Browse or Read) Sensitive, Critical

or Quarantined Files– DBA Actions Against Quarantined Tables– Activity of Developers on Production Systems– Changes to Permissions/Attributes on Critical

Files– Changes to OS and password security settings

• Change and Emergency Controls– Elevated Privilege User Actions– Critical Application Configuration Change– Critical OS Configuration Change– Change Management System Integration

• Automatic Event Reconciliation to Change Requests

• Unauthorized Change Tickets• Emergency Change without Subsequent

Approval• Change Requests for which No Action

Occurs in Time Window

• Database • Database Logins

• Schema Changes to Critical Tables, Views, Stored Procedures, etc.

• Content Changes – Any Query Result Set

• Audit Trail – DBAs and Privilege Users

• Table Inventory on Regular Intervals

• IT Operations• Scheduled Tasks / Actions

• Security Software – Always On

• Data Retention and Disposal Policies

• File Integrity and Archiving

• Segregation of Duties• Validate User Executing Change

• Automated, tool-based change detection

• Development activities in production

• Separate test environment

• Configuration Controls• Detect changes to OS, Application,

middleware, and utility Configurations

• Monitor changes to firewall, router and other network device configurations

Page 20: Database Change Management, Configuration, Provisioning

• Было продемонстрировано аудиторам, что Transcontinental

“контролирует” свою инфраструктуру

•Единый реестр конфигураций для всех серверов, где, чтоработает, какие патчи установлены

•Автоматизированное управление соответствием и

конфигурациями освободило администраторов для

стратегической, более ценной деятельности.

Пример: Transcontinental

• Отслеживание соответствия требованиям десятков баз

данных, включая RAC и Dataguard конфигурации

• Необходимость автоматического мониторинга нарушения

политик и “дрейфа конфигураций”

Проблема

• Oracle Configuration Management и Provisioning Pack позволили

Transcontinental

• ВнедрениеВнедрение соответствиясоответствия стандартамстандартам черезчерез круглосуточныйкруглосуточный мониторингмониторинг

нарушенийнарушений

•• ОбнаруживатьОбнаруживать ““дрейфдрейф конфигурацийконфигураций””

•• АвтоматическиАвтоматически уведомлятьуведомлять DBA DBA оо новыхновых патчахпатчах безопасностибезопасности

Решение

Выигрыш

Page 21: Database Change Management, Configuration, Provisioning

DBA практики для обеспечения

Безопасности

• Эталонное ПО (software gold images) с уже установленнымипатчами

• Конфигурационные политики для всех компонентовинфраструктуры

• Маскирование секретных данных перед тем, как отдатьбазу данных другим лицам

• Автоматизация переноса изменений из разработческойбазы данных в промышленную

Page 22: Database Change Management, Configuration, Provisioning

Безопасность Данных – Проблемы

• Использование реальных данных внепромышленных системах повышает рискнарушения политик безопасности.

• Ручные процессы маскирования данныхгромоздки, подвержены ошибкам и немасштабируемы

• Отсутствие единого, унифицированного процессадля маскирования данных приводит к появлению втестовых базах данных несогласованных инезащищённых данных

Page 23: Database Change Management, Configuration, Provisioning

Использование кофиденциальных данных строго

регулируется законодательством

• Законы ограничивают использование конфиденциальныхданных и требуют контроля доступа к ним (кто, где, как ипочему)– Payment Card Industry Data Security Standard (PCI DSS) 6.3.4

– Graham-Leach-Bliley Act (GLBA) and Sarbanes-Oxley Act (SOX)

– Health Insurance Portability and Accountability Act (HIPAA)

– Communications Act (Title 47,222)

• 90% компаний не соответствуют этим законам, возможны штрафы и расходы на восстановление

• Тестовые системы более уязвимы для взлома

• Ущерб от взлома должен быть возмещён– Database Security Breach Notification Act (California SB 1386)

– $239/запись

– До $35M/взлом

– И это только, если данные не оказались в Internet…

Page 24: Database Change Management, Configuration, Provisioning

Де-Идентификация ИнформацииСделать конфиденциальные данные безопасными для

использования вне рабочих систем

• Называется маскирование данных, затемнениеданных, обезличивание данных...

• Необратимая замена в базе данныхконфиденциальной информации несекретнымиданными для предотвращения доступа к нейнеавторизованными пользователями

• Обычно конфиденциальные данные заменяются напохожие на реальные значения, чтобы их можно былоиспользовать в тестовых системах

Page 25: Database Change Management, Configuration, Provisioning

Маскирование конфиденциальных данных

• Использует общую библиотекуформатов масок

• Автоматическая поддержка ссылочнойцелостности при маскированиипервичных ключей

• Предварительный просмотр образцовданных перед маскированием

• Обмен определениями масок спомощью шаблонов масок

• Определить один раз – использоватьмного раз

Cloned Database

MaskProduction Database

60.004417123456789112BENSON

80.004408041254369873AGUILAR

AMTCREDIT_CARDL_NAME

60.004408041234567890BKJHHEIEDK

80.004111111111111111ANSKEKSL

AMTCREDIT_CARDL_NAME

Page 26: Database Change Management, Configuration, Provisioning

Библиотеки Форматов

• Маски

– Случайное число

– Случайная строка

– Случайная дата в заданныхпределах

– Перемешивание

– Подстрока

– Другой столбец

• Пользовательская функция

– Номер паспорта

– Страховой номер

– Номер кредитной карты

Page 27: Database Change Management, Configuration, Provisioning

Пользовательские форматы масокТест уведомления по e-mail

Page 28: Database Change Management, Configuration, Provisioning

Определения Маскирования

• Ассоциируют форматы с базойданных

– Привязывают форматы кмаскируемым столбцам

– Определяют зависимыестолбцы

• Автоматически определяетотношения по внешнему ключу

• Неявные отношения задаютсявручную через зависимыестолбцы

• Выгрузка/Загрузка определенийв XML формате

• Создание новых определенийна основе существующих

Page 29: Database Change Management, Configuration, Provisioning

Обеспечение Ссылочной Целостности

Database-enforced

Application-enforced

Page 30: Database Change Management, Configuration, Provisioning

Встроенные проверки возможности

маскирования

• Сохраняется уникальность

• Формат маски соответствуеттипу столбца

• Достаточно свободногоместа

• Наличие default Partitions для секционированных посписку значений таблиц

Page 31: Database Change Management, Configuration, Provisioning

Шаги МаскированияSecurity

Admin

DBA

Identify Data

Formats

Identify Sensitive Information

Format Library

Masking Definition

StagingProd Test

Review Mask Definition

Execute Mask

Clone Prod to Staging

Clone Staging to Test

Page 32: Database Change Management, Configuration, Provisioning

Производительность

• Оптимизация– Параллелизм операций для таблиц > 1 миллиона строк– Сбор статистики до и после маскирования– Создание таблиц в режиме NOLOGGING

Тестовые результаты• Linux x86 4 CPU: Single core Pentium 4 (Northwood) [D1])• Memory: 5.7G• Масштабируемость по столбцам– 215 маскируемых столбцов из 100 таблиц– 60GB Database– 20 минут

• Масштабируемость по строкам– 100 миллионов строк в таблице, 6 маскируемых столбцов– Случайные числа– 1.3 часа

Page 33: Database Change Management, Configuration, Provisioning

Data Masking

• Помогает обмениватьсяпромышленными данными, соответствуя политикамконфиденциальности.

• Обеспечиваетединообразное применениеформатов масок дляразных баз данных

• Увеличиваетпродуктивность DBA, автоматизируя процессобнаружения имаскированияконфиденциальных данных.

Page 34: Database Change Management, Configuration, Provisioning

DBA практики для обеспечения

Безопасности

• Эталонное ПО (software gold images) с уже установленнымипатчами

• Конфигурационные политики для всех компонентовинфраструктуры

• Маскирование секретных данных перед тем, как отдатьбазу данных другим лицам

• Автоматизация переноса изменений из разработческойбазы данных в промышленную

Page 35: Database Change Management, Configuration, Provisioning

Изменения и безопасность - проблемы

• Product Compliance:

– Как избежать простоев из-занежелательных изменений в рабочихбазах данных

• Обновления Приложений:

– Как ускорить обновление приложений, автоматизируя обновлений модулейприложения в базе данных

• Разработка Приложений:

– Как увеличить продуктивность, быстросинхронизуя изменения враспределённых системах (разработка, тестирование, эксплуатация).

Page 36: Database Change Management, Configuration, Provisioning

Production Compliance

• Предотвращениенежелательных измененийв рабочих базах данных

– Безопасность: ЗловредныйSQL

– Производительность: Index, partitions

– Функциональность: Tables, PL/SQL

Index

Нормальнаяпроизв-сть

Потеряпроизв-ти

Page 37: Database Change Management, Configuration, Provisioning

Надзор за приложениями

• Создать baseline схемыприложения

• Наилучшая практика: Еженедельно сравниватьтекущую схему сbaseline

Page 38: Database Change Management, Configuration, Provisioning

Обнаружение нежелательных изменений - Безопасность

• Зловредный SQL• Неавторизованное изменение прав

доступа– GRANT– USER– PRIVILEGES

Page 39: Database Change Management, Configuration, Provisioning

Обнаружение нежелательных изменений –Производительность и функциональность

• Index

• Tables

• PL/SQL objects– Functions

– Triggers

– Procedures

Page 40: Database Change Management, Configuration, Provisioning

Безопасная передача изменений БД

• Захват изменений втестовой БД

• Передача изменений изтестовой в промежуточную, а затем в рабочую БД

• Сокращение рисканеавторизованныхизменений

• Аудит изменений, чтобысоответствовать стандартам(ITIL, ...)

Production

Staging TrainingDev

Reporting

SynonymGrantConstraint

Table Index Partition

Trigger Package Function

Init.ora User Tablespace

Page 41: Database Change Management, Configuration, Provisioning

Change Management

1. Run Dictionary Comparison job

2. Identify all schema and initialization parameters differences in report.

Обнаружение изменений схемы: До и Сейчас

Before1. Identify databases, test and production

2. Get access to application schema

3. Write script to get table column parameters

4. Run script on first database

5. Run script on second database

6. Visually compare results

7. Write new script for indexes

8. Re-run script

9. Repeat for all other database objects

10. Generate a report listing changes

11. Write script to apply changes

12. Apply changes

13. Repeat above steps to verify changes

14. Re-run this for training and production

15. Re-run this for development and production

Пример: Сравнение тестовой и рабочей схем

Page 42: Database Change Management, Configuration, Provisioning

Change Management

� Руководители проектов:Управление обновлениемприложений эффективнои с толком

� DBAs: Помогает саудитом изменений, обеспечиваетсоответствие стандартам

� Разработчики: Помогаетизбежать ошибок, потерьданных, простоев приизменениях

Page 43: Database Change Management, Configuration, Provisioning

DBA практики для обеспечения

Безопасности

�Эталонное ПО (software gold images) с ужеустановленными патчами

�Конфигурационные политики для всех компонентовинфраструктуры

�Маскирование секретных данных перед тем, как отдатьбазу данных другим лицам

�Автоматизация переноса изменений из разработческойбазы данных в промышленную

Page 44: Database Change Management, Configuration, Provisioning