480 likes | 736 Views
Oracle9 i R2 Защита Баз Данных. Содержание. Вопросы безопасности в Internet Oracle9i - защита баз данных Дополнительные возможности безопасности Oracle9i. Вопросы безопасности в Internet (1/2). Заказ прочитан или изменен при передачи?. Защищенность связи Уязвимые хранилища данных
E N D
Содержание • Вопросы безопасности в Internet • Oracle9i - защита баз данных • Дополнительные возможности безопасности Oracle9i
Вопросы безопасности в Internet(1/2) Заказ прочитан или изменен при передачи? • Защищенность связи • Уязвимые хранилища данных • Распределение прав доступа Криптографическая защита каналов связи Номер вашей кредитной карты хранится не зашифрованным? Криптографическая защита хранимой информации Пользователь видит только свой заказ? Частная виртуальная база данных
Вопросы безопасности в Internet (2/2) Можете ли Вы поддерживать 100,000 пользователей? • Маштабируемость • Простота использования • Узнайте своих пользователей Объединение служб каталогов Легко ли пользоваться и администрировать? Enterprise User Security Кто запрашивает данные из web? Proxy authentication
Содержание • Вопросы безопасности в Internet • Oracle9i - защита баз данных • Дополнительные возможности безопасности Oracle9i
Обеспечение безопасности Oracle9iAS Oracle9i DB Internet SSL ASO OLS SSO Firewall Защита базы данных Oracle Label Security Oracle Advanced Security iAS SSO Server Browser-to-iAS SSL Oracle Internet Directory
sqlplus Oracle9i, защита баз данных • Защита баз данных • Невозможно обойти программную защиту сервера • Безопасность Oracle9i на много лет опережает конкурентов • Oracle обладает множеством патентов по безопасности • Основные особенности • Proxy Authentication • Частная виртуальная база данных • Тонкий аудит • Роли приложения • Криптографическая защита хранимой информации App Oracle9i DB
Новое в защите Oracle9i • Oracle9i Release 1 • Proxy authentication: дополнительные протоколы и полномочия • VPD: полное приложение, частичный FGAC, GUI • Защищенные роли приложений • Тонкий аудит • Криптографическая защита данных: сертификация FIPSRNG • Oracle9i Release 2 • Поддержка синонимов VPD policy • Привилегии для любого объекта • Улучшенный инструментарий аудита для администратора
Проблема e-business:Проблемы безопасности среднего уровня • Кто является настоящим пользователем? • Не слишком ли много привилегий имеет средний уровень? • Можно ли не предоставлять пользователям прямого доступа к данным? • Как/кого проверять? • Можно ли повторно проверить клиента? Клиент A Клиенты A, B или C? Сервер Приложений Клиент B База Данных Клиент C
Решение:Proxy Authentication • Кто является настоящим пользователем? • Направляйте аутентификацию напрямую к серверу данных • Сохраняйте аутентификацию в течение всего процесса • Не слишком ли много привилегий имеет средний уровень ? • Ограничьте привилегии среднему уровню • Разреште среднему слою регистрироваться только как конкретным пользователям, использующим конкретные роли • Как проверять? • Проверяйте соответствие действий пользователя его правам • Можно ли повторно проверить клиента? • Обычно не требуется, но такая возможность имеется
Oracle9i DB Oracle9i Proxy Authentication Подьзователь A 2. Средний уровень пропускает сертификат пользователя к базе данных 1. Пользователь входит в средний суровень Пользователь B Пользователь A Пользователь C Пользователь B Сервер Приложений Пользователь C Oracle9i Пользователь D Пользователь D 3. База Данных получает роли пользователей и соединяется со схемой приложения Oracle Internet Directory
Улучшенная Oracle9iR1 Proxy Authentication • Расширенная поддержка протоколов • OCI, Thick JDBC, Thin JDBC • Дополнительные полномочия Proxy • DN, сертификат • Имя, пароль (8i) • Пользователи Proxy database или enterprise users • Интеграция с Enterprise User Security • Пользователи зарегистрированы в каталоге служб • Обеспечивает улучшенную защиту трехуровневой модели
Приемущества Proxy Authentication • Ограничение полномочий • Больше не существует пользователей среднего уровня с избыточными привилегиями • Роли в приложении ограничивают пользователя только привилегиями внутри приложения • Маштабируемость • поддержка «легких» сессий • Вторичная регистрация пользователя не вызывает дополнительной загрузки сети • Обеспечение доступа • Сохраняет идентификацию пользователя • Проверяетсоответствие действий пользователя его правам
Проблема e-business:Необходимость безопасности управляемой данными • E-commerce требует ориентированной на пользователя, управляемой данными защиты • Клиенты должны видеть только свои документы • Стоимость владения • Построение защиты в одном месте, но не в нескольких • Hosting: один уровень, отсутствие дорогих подсетей • Проблема защиты приложения • Проблема ad-hoc запроса: миновать приложение без регистрации
Решение:Частная Виртуальная База Данных • Доступ к базе данных управляется на уровне базы данных • Тонкий контроль доступа: усиленно на сервере • Приложение: Определяет условия доступа • Пользователи могут получать только те данные, к которым у них есть доступ • Условия доступа могут отличаться в зависимости от типа пользователя Менеджер видит заказы только своих клиентов ЗАКАЗЫ Менеджер SELECT * FROM ORDERS; Клиенты Клиент видит только собственные заказы
Oracle9i Частная Виртуальная База Данных • Определение групповой политики для любой таблицы, представления или синонима • Администратор приложения связывает PL/SQL пакет с таблицей, используя Oracle API (dbms_rls) • Динамическая перезапись SQL • Изменение запроса основано на PL/SQL пакете, связанном с таблицей, представлением или синонимом • Условие “Where” прикреплено к SQL выражению PL/SQL Package: Sales.Enforce_Access Менеджер А where terr_id=10; SELECT * FROM ORDERS; where terr_id=20; Менеджер В
Улучшения Oracle9iR1 VPD • Контекст приложения • Создание разделяемых, повторно используемых в нескольких сессиях контекстов приложения • Приложение идентифицирует пользователя в соответствии с контекстом • Поддержка нескольких протоколов (OCI, thick JDBC, thin JDBC) • Преимущества • Поддержка объединения (пула) соединений • Поддержка proxy аутентификации пользователя приложения • Идентификация пользователя позволяет использовать пользовательскую или групповую политику безопасности • Поддержка трехуровневой архитектуры
Oracle9i DB Контекст Общего Приложения 2. Приложение определяет, что пользователь А имеет «золотые» права 3. Приложение создает Золотые, Серебряные и Бронзовые контексты 4. Приложение устанавливает идентификатор_пользователя равным «золотой» 1. Пользователь A Сервер Приложений 7. Приложение устанавливает идентификатор_пользователя равным «бронзовый» 6. Приложение определяет, что пользователь B имеет «бронзовые» права 5. Пользователь B
Улучшения Oracle9iR1 VPD • Раздельное тонкое управление доступом • Group security policies -> policy groups • В соответствии с контекстом приложения можно определить, какие политики нужно использовать • По умолчанию всегда используется DEFAULT policy group • Преимущества • Группы разработки не должны согласовывать политики безопасности • В зависимости от приложения используются различные групповые политики
Раздельное тонкое управление доступом 1. В зависимости от контекста выбирается групповая политика 2. В зависимости от контекста выбирается групповая политика Групповая политика «принятие заказа» Групповая политика «обработка заказа» Обработка заказа Общая группа прав Принятие заказа ЗАКАЗЫ
Улучшения Oracle9iR1 VPD • Oracle Policy Manager • Графический интерфейс для использования политик в работе с таблицами и представлениями и управлением контекстами приложений • Также может использоваться для управления политиками Oracle Label Security • Функции групп политик должны быть доработаны • Преимущества • Упрощенное администрирование • Единое средство управлением политиками VPD и OLS
Единое визуальное средство управления политиками VPD и Oracle Label Security Oracle Policy Manager
VPD Policy Улучшения Oracle9iR2 VPD • Поддержка синонимов VPD • Использование политик тонкого контроля доступа к таблицам, представлениям и теперь к синонимам • Поддержка общих и частных синонимов связанных с таблицей или представленем • Преимущества • Производительность: Позволяет приложениям отказаться от использования представлений • Возможность обновить функцию политик без перекомпиляции • Существующий PL/SQL API не изменен • Предоставляет широкое использование VPD • Таблица, представление или синоним
Преимущества VPD (1/2) • Хорошая маштабируемость для Internet приложений • Переписанные запросы полностью оптимизированы и могут быть распределены • Работает в 2х- или в 3х-уровневых системах • Гибкий Контекст приложений • Каждое приложение может иметь свои «атрибуты защищенности» • Установка «атрибутов защищенности» посредством Login - триггера • Встроенные атрибуты для IP адреса, имени пользователя, DN из сертификата и т.д. для использования контроля доступа • Общий контекст приложений может быть использован серверами среднего уровня даже если VPD не установлен
Преимущества VPD (2/2) • Уменьшение стоимости прав собственности • Создайте защиту на сервере один раз • Сертифицируйте основной защитный код, а не множество приложений • Снятие проблемы безопасности приложения • Защита улучшена, неважно каким образом пользователь получает данные • Возможности хранения • Храните данные нескольких компаний в одной базе данных, вместо нескольких
Авторизация и роли в Oracle • Авторизация пользователей посредством прав и привилегий • Роли назначаются пользователям базы базы данных • Опытным пользователям даются «расширенные» права • Требование • Пользователи должны иметь доступ к данным только через приложение • Проблемы • Невозможно узнать, какое приложение имеет доступ к данным (злоумышленное приложение С может выдавать себя за SQL*Plus) • Роли подтверждаемые паролем требуют безопасного способа вводить пароль
Oracle9i DB Сервер Приложений Улучшение Oracle9iR1: Защищенные права приложения Пользователь A Пользователь B Oracle Internet Directory Пользователь C • Защищенные роли приложения это роли указанные в пакете • Пакет может произвести любую проверку, прежде чем выполнится директива SET ROLE • Обеспечивает гибкость доступа пользователя
Защищенные роли приложения CREATE ROLE approle USING hr.secrole • Пакет выполняет любую провеку • Если используется аутентификация proxy, то можно убедитсья что пользователь соединен через средний уровень посредством SYS_CONTEXT(‘USERENV’, ‘PROXY_USER’) • Другая полезная информация по сессии • IP_ADDRESS: откуда пользователь подключился • AUTHENTICATION_DATA: включает сертификат X.509 • Приемущества • В 3х-уровневых системах можно убедиться, что пользователь зашел через приложение – в противном случае доступ к данным запрещен! • Большая защищенность • Можно улучшить доступ из любой точки
Улучшение авторизации Oracle9iR2 • Предоставление привилегий любому объекту • Новая системная привилегия • Позволяет пользователям предоставлять (и отзывать) привилегии согласно правам доступа к другому объекту этого владельца • Усиленные привилегии администратора • Не предоставляет этих привилегий рядовым пользователям • Преимущества • Сильные новые привилегии делают управление проще • Позволяют использовать модель делегирования привилегий • Улучшает модель безопасности приложений, которые ранее обладали однократным соединением за сессию • ускорение установки таких приложений
Проблема e-business:Неправильное использование данных • Определение неправильного использования законных привилегий пользователя • Например, слежение за данными (пример: почему пользователь обращается к своей записи так часто с 29 июля?) • Определение вторжения • Например, хакерская атака • Проверка доступа • Проверка факта доступа безотносительно того, как был осуществлен доступ к данным
Решение: Тонкий аудит • Позволяет просматривать доступ к данным основываясь на содержании • Прикрепляет политику аудита к таблице или представлению • С условием ‘WHERE’ (только выражение SELECT) • Проверять только интересующие собтия • Уменьшать ошибки аудита путем ввода специального атрибута • База данных записывает точный запрос в проверочную запись после срабатывания триггера проверки • Обработчик событий может оповестить администратора (например, запись в log, послать страницу)
Тонкий аудит • Использует пакет PL/SQL DBMS_FGA для приложения политик к таблицам или представлениям • Параметр Audit_condition указывает на условие проверки • Параметр Audit_column указывает, какие колонки нужно отметить для проверки. По умолчанию все колонки. • ADD_POLICY, DROP_POLICY, ENABLE_POLICY, DISABLE_POLICY DBMS_FGA.ADD_POLICY(‘hr’, ‘emp’, ‘sal_snoop’, ‘SAL>500000’, ‘salary’)
Политика аудита ... WHERE SALARY >500000 AUDIT COLUMN = SALARY Записи проверки SELECT NAME, SALARY FROM EMP WHERE NAME = LELLISON, <timestamp>, <username>, etc. Тонкий аудит Не проверяется SELECT NAME, ADDRESS FROM EMP SELECT NAME, SALARY FROM EMP WHERE NAME=LELLISON Работники
Тонкий аудит • Приемущества • Возможность записи действий пользователя в расширенном виде • Определение вторжений посредством обработчика событий • Уменьшение неточных проверок позволяет облегчить анализ записей проверок
Расширенные возможности аудита для администратора в Oracle9iR2 • Предыдущие версии • Oracle7 осуществлял запись всех системных действий в Log • Oracle8i улучшен с помощью LogMiner для лучшего доступа и контроля log-файлов. • Проверяли log-файлы сохраненные в SYS схеме. • Oracle9iR2 улучшена с помощью проверки SYS средствами операционной системы • Дать администраторам DBA все привилегии Oracle, и дать проверяющему права root в ОС • Преимущества: • Облегчает проверку действий SYS • Требует отдельного аудит-администратора
Проблема e-business:Защита Уязвимой Хранимой информации • Дополнительного уровня защиты требует особенно уязвимая информация: • Номера кредитных карт • Торговые соглашения • Идентификационные номера • Необходимо уменьшить угрозу • Хакерских атак, посягательств на файлы баз данных • Злоумышленных действий администраторов баз данных
Решение:Криптографическая защита хранимых данных • Oracle9i обладает простым интерфейсом криптографической защиты • DBMS_OBFUSCATION_TOOLKIT package • DES и 3DES шифрование • Контрольные суммы MD5 • Управление ключами • Приложение должно обеспечивать создание, управление, восстановление ключей • Криптографические ключи должны где-то храниться • Могут храниться в файле базы данных, в ОС, на дискете и пр.
Криптографическая защита хранимых данных • Предварительные условия • Не является заменой управления доступом • Не является «непробиваемым» решением • Все же требует переодических проверок администратором баз данных • Использует принцип «наименьших привилегий» и контроля доступа на уровне строк базы данных • Oracle9i предоставляет генератор ключей FIPS-140 • Предназначен для генерации ключей шифрования • Требует создания приложения для управления ключами
Криптографическая защита хранимых данных • Партнерские решения • Protegrity Secure.Data шифрует данные баз данных Oracle9i • nCipher nShield предоставляет аппаратную криптографическую защиту для баз данных Oracle9i • FIPS 140 level 3-certified • Application Security, Inc. обладает средством криптографической защиты баз данных Oracle (пока beta-версия) • Eruces обладает решением в области криптографической защиты
Содержание • Вопросы безопасности в Internet • Oracle9i - защита баз данных • Дополнительные возможности безопасности Oracle9i
Oracle Advanced Security Oracle Label Security Дополнительные возможности безопасности Oracle9i Oracle9iAS Oracle9i DB возможности Пакет безопасности Oracle9i - Общая защита - Сетевая безопасность - Инфраструктура открытых ключей (PKI) Защита Web - Web SSO - SSL - Proxy authentication Передовая защита - VPD - криптографическая защита данных - Proxy аутентификация - Аудит VPD - Защита на уровне таблиц и схем - Управление доступом, основанное на метках безопасности
Метки безопасности Oracle9i • Дополнительная опция защитыOracle9i • Уже настроенная, мощная система безопасности • Создана на компонентах VPD: FGAC & Application Ctx • Среда управления доступом, основанная на метках безопасности Label Based Access Control (LBAC) • Разработка соответствует с государственным (не РФ!) и коммерческим требованиям к безопасности уровня строк БД • Доступ к данным основан на метках уязвимости • Расширение возможностей VPD путем добавления управления доступом основанном на метках безопасности • Те же преимущества VPD, но не требует настройки • Готовый продукт, не нужно ничего «писать» самому
Метки безопасности Oracle Авторизация. Метки безопасности Oracle Confidential : Partners Oracle9i OLS Application Table Project AX703 B789C JFS845 SF78SD Location Boston Denver Boston Miami Department Finance Engineering Legal HR Метка уязвимости Public Confidential: Partners Company Confidential Company Confidential OK OK
Дополнительные возможности безопасности Oracle • Защита компьютерных сетей • Шифрование (Net8 Native, SSL, Java) • Strong Authentication (3rd Party, X.509) • Single Sign-On (3rd Party, Entrust, PKI) • Enterprise User Security • Централизованное управление пользователями • Database Single Sign-On • Интеграция с LDAP • маштабируемость • Инфраструктура открытых ключей (PKI)
Store Al, Bo, Cy, their passwords and roles User Roles Mailstp Scott User 200 Ravi Admin 200 Wallet Al Mgr 400 Bo Mgr 300 Cy Mgr 500 Sales_mgr User Roles Group Wallet Scott User 2684 Ravi Admin 1622 Bo Mgr 2600 Cy Mgr 2630 Al Mgr 1000 HR_mgr Enterprise User Security Oracle Internet Directory Connect / Al SSL Users App Server Sales Database Connect / Bo Connect Cy/tiger Password User HR Database Connect Cy/tiger Cy
Преимущества дополнительной защиты Oracle • Объединяет различные технологии защиты в одном продукте • Единое средство для защиты • Клиенты, которые приобрели ASO в прошлом теперь получат PKI and Enterprise User Security • Облегчает управление безопасностью и пользователями • Простота установки криптографической защиты • 6 параметров sqlnet.ora • Сильное шифрование для всех клиентов • Установка по умолчанию • Цена в зависимости от конфигурации
Содержание • Вопросы безопасности в Internet • Oracle9i защита баз данных • Oracle9i вопросы безопасности
Безопасность Oracle9i 1. Пользователь регистрируется на среднем уровне Средний уровень передает идентификацию пользователя к базе даных Internet Oracle9i DB Oracle9iAS ASO OLS Firewall 4. База данных осуществляет тонкий контроль доступа каждого пользователя используя VPD и Oracle Label Security, зашифровывает уязвимые данные и проверяет пользователей 3. База данных возвращает авторизацию пользователя; соединяет пользователя с приложением Oracle Internet Directory