Обеспечение безопасности СУБД на примере БД «Автоматизация проведения соревнований по фигурному катанию»

 Обеспечение безопасности СУБД на примере БД «Автоматизация проведения соревнований по фигурному катанию»

Содержание
Введение
1 Выбор метода обеспечения безопасности
1.1 Краткий обзор средств шифрования Oracle Database
1.2 Прозрачное шифрование данных
1.2.1 Краткое описание управления ключами шифрования
1.2.2 Этапы внедрения
1.3 Протокол аутентификации Radius
2 Обеспечение безопасности СУБД Oracle
2.1 Прозрачное шифрование данных
2.1.1 Определение местоположения бумажника
2.1.2 Создание бумажника
2.1.3 Вопросы производительности
2.2 Настройка Radius
2.3 Аудит базы данных
3 Разработка базы данных
3.1 Постановка задачи
3.2 Анализ предметной области
3.3 Концептуальное проектирование
3.4 Логическое проектирование
3.4.1 Создание пользователей, логинов и задание им
паролей
3.4.2 Схема отношений, составленные на языке определения
данных ( ddl, data definition language)
3.5 Физическое проектирование
4 Создание клиентского приложения
5 Безопасность жизнедеятельности
5.1 Анализ потенциально опасных и вредных факторов,
воздействующих на рабу технического оператора в процессе
обслуживания и работы с системой
5.2 Расчетная часть
5.2 Вывод
6 Технико-экономическое обоснование
6.1 Расчет затрат на разработку информационных технологий
6.2 Расчет цены программного продукта
6.3 Вывод
Заключение
Список использованной литературы
Приложение А
Приложение Б
Приложение В
Приложение Г
Приложение Д


1.1 Краткий обзор средств шифрования Oracle Database

Шифрование данных является ключевым компонентом при реализации
принципа глубокой многоуровневой защиты, а также важным элементом
защиты данных во время передачи и хранения. Впервые Oracle представил базу
данных с программным интерфейсом (API) для шифрования данных в Oracle8i.
На данный момент многие клиенты использую интерфейсы шифрования в базе
данных Oracle для повышения безопасности конфиденциальных данных
приложений. Достижение прозрачности чтения/записи зашифрованных данных
посредством использования крипто-API, требует внедрения функции вызовов
внутри самого приложения или использования предустановленного триггера
БД [1].
Представления данных приложения также могут нуждаться в
расшифровывании, прежде чем они будут переданы в приложение. Кроме того,
управление ключами шифрования должно производиться программным путем.
Oracle Advanced Security Transparent Data Encryption (TDE), впервые
представленная в Oracle Database 10g Release 2, является самым передовым
решением в области шифрования. TDE обеспечивает встроенное управление
ключами шифрования и полную прозрачность шифрования конфиденциальных
данных. Используемый при этом механизм шифрования баз данных основан на
использовании команд DDL, полностью исключающих необходимость в
изменении приложений, создании программных средств управления ключами
шифрования, триггеров и представлений в базах данных.
Краткое описание Oracle Database Encryption представлено в таблице 1.
Oracle Advanced Security (OAS) обеспечивает секретность и
конфиденциальность информации.
Oracle Advanced Security состоит из трех основных частей:
 шифрование трафика от клиента к серверу приложений (SSL);
 шифрование трафика от сервера приложений к базе данных (SQL Net);
 прозрачное шифрование данных на диске (Transparent Data Encryption)
[2].
Все соединения СУБД Oracle могут быть зашифрованы с помощью OAS.
Oracle Advanced Security реализует требования стандарта ISO 27001 в п.
A.10.8.4, A.10.9.2, A.11.4.2, А.12.3.
OAS позволяет защищать все входящие и исходящие соединения СУБД
Oracle. Для каждого соединения создается секретный ключ, обеспечивающий
безопасность всего сетевого трафика. OAS делает невозможным скрытую
модификацию, добавление или удаление части передаваемых данных [1].
Поддерживаются следующие алгоритмы шифрования и обеспечения
целостности данных:
 AES (128, 192, 256).
 RC4 (40, 56, 128, 256).
 3DES (2 и 3 ключа).
 MD5.
 SHA1.
Кроме того, в случае поддержки в информационной системе
инфраструктуры открытого ключа PKI доступно SSL - шифрование. Простая
конфигурация позволяет не изменять приложение. Включение шифрования и
обеспечения целостности данных производится путем настройки сетевых
конфигураций на стороне сервера и клиента. Т. к. нет необходимости менять
приложение, эти способы обеспечения безопасности доступны практически для
всех, а их конфигурирование и использование являются очень простыми.
Строгая аутентификация для Oracle Database 11g OAS обеспечивает
возможность для организации использовать существующую инфраструктуру
безопасности, например, Kerberos, PKI, RADIUS для осуществления строгой
аутентификации в СУБД Oracle 11 g. Связь протоколов аутентификации и
Oracle Advanced Security представлена на рисунке 1.
Рисунок 1 - Oracle Net Service с протоколами аутентификации

1.2 Прозрачное шифрование данных

Средствами TDE обеспечивается шифрование данных перед записью на
диск и расшифровывание данных, прежде чем они возвращаются в приложение.
Процесс зашифровывания и расшифровывания выполняется на уровне SQL и
полностью прозрачен для прикладных программ и пользователей. Резервные
копии баз данных, записанные на диск или магнитную ленту, будут содержать
эти данные в зашифрованном виде. TDE, при необходимости, может быть
использовано в сочетании с Oracle RMAN для зашифровывания всей СУБД
Oracle в ходе резервирования на диски.
Преимущества прозрачного шифрования данных
 встроенное управление ключами шифрования;
 прозрачное шифрование защищаемых данных (по столбцам) в
прикладных программах;
 прозрачное шифрование табличных пространств (Впервые в 11g);
 прозрачное шифрование файлов/LOBS (Впервые в 11g);
 интеграция аппаратного модуля безопасности (HSM) (Впервые в 11g).

1.2.1 Краткое описание управления ключами шифрования

TDE автоматически создает ключ шифрования, когда проводится
зашифровывание данных столбца в таблице базы данных. Ключ шифрования -
уникальный для каждой таблицы. Если в таблице зашифровывается более
одного столбца, то для каждого из столбцов используется один и тот же ключ
шифрования. Ключи шифрования для таблиц сохраняются в справочнике
Oracle и зашифровываются при помощи первичного ключа (мастер-ключа)
шифрования TDE. Первичный ключ шифрования сохраняется вне базы данных
в «тубусе для ключей» Oracle Wallet (файл формата PKCS#12), который
зашифрован с помощью пароля, определяемого администратором безопасности
или DBA в процессе создания [1].
Новым в Oracle Database 11g Advanced Security является возможность
сохранять первичный ключ в устройстве HSM, используя PKCS#11 интерфейс.
Краткое описание прозрачного шифрования данных представлено на
рисунке 2.
Рисунок 2 - Краткое описание прозрачного шифрования данных
1.2.2 Этапы внедрения

В связи с тем, что TDE прозрачно для существующих приложений (не
требуются создавать триггеры и представления баз данных), процесс
шифрования стал проще по сравнению с традиционными решениями на основе
использования API. Следующие шаги могут быть использованы для
применения TDE:
1) инициализация мастер-ключа;
2) определение данных для зашифровывания (PII данные, кредитные
карты);
3) проверка: поддерживает ли TDE выбранный тип данных, а также, не
используются ли данные колонки в качестве внешних ключей;
4) зашифровывание конфиденциальных данных, используя TDE.

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

SQL> alter system set key identified by "password";

Эта команда создает «тубус для ключей» (Oracle Wallet) и использует
указанный в команде пароль для зашифровывания в соответствии со
стандартом PKCS#5. Oracle Wallet сохраняет историю уже использованных
мастерключей и делает их доступными, когда данные, зашифрованные старым
ключом, считываются с резервных носителей.
До того как база данных сможет расшифровать табличные ключи для
зашифровывания и расшифровывания прикладных данных, необходимо
открыть «тубус для ключей» Wallet, который содержит первичный ключ
шифрования. Конечно, можно запустить базу данных и работать в ней без
открытия Wallet, но при попытке получить доступ к зашифрованным данным
база данных выдаст сообщение об ошибке. Закрывать Wallet (и ограничивать
тем самым доступ к данным) целесообразно только в ходе работ по
техническому обслуживанию, когда доступ к базе данных разрешен
специалисту, занимающемуся поддержкой.
Мастер-ключ может быть изменен при повторном запуске команды “alter
system”.

SQL> alter system set key identified by "password";

При изменении мастер-ключа все табличные ключи в справочнике Oracle
будут обновлены (расшифрованы и зашифрованы вновь). Стандарт
безопасности данных PCI (DSS) 1.1 требует «обновлять ключи шифрования, не
реже одного раза в год». Изменение мастер-ключа приведет к обновлению
зашифрованных ключей столбцов, используя новый мастер-ключ, а
зашифрованные данные в таблицах останутся без изменений.
Пароль Wallet может быть изменен независимо от мастер-ключа
шифрования, он используется исключительно для зашифровывания данных
файла Wallet на диске. Для этого можно воспользоваться программой Oracle
Wallet Manager или утилитой 'orapki'.

Определение конфиденциальных данных
Процесс поиска конфиденциальных данных, таких как номера
социального страхования и кредитных карт, может оказаться затруднительным,
особенно в комплексных приложениях. Единственный метод, которым можно
воспользоваться, – это поиск в справочнике Oracle по названию столбца и типу
данных, которые часто используются для хранения подобной информации.

SQL> select column_name, table_name, data_type from dba_tab_cols
where column_name like '%SOCIAL%' or column_name like '%SSN%' or
column_name like '%SECNUM%' or column_name like "%SOC%' and
owner='';

Типы данных, поддерживаемых TDE
TDE поддерживает наиболее распространенные типы данных. Они
представлены в таблице 2.

Т а б л и ц а 2 - Типы данных, поддерживаемых TDE
TDE не может быть использован для зашифровывания столбцов, которые
используются во внешнем ключе. Для того чтобы проверить, является ли
колонка частью внешнего ключа, изучаются данные из справочника Oracle.

Зашифровывание данных с помощью TDE
Чтобы зашифровать существующие столбцы в таблице:

SQL> alter table figure_skater modify ( fs_name encrypt);

В ходе выполнения транзакции по зашифровыванию поддерживается
последовательное чтение данных.
Транзакции DML (вставить, обновить, удалить), выполняемые в течение
транзакции зашифровывания, будут запрашивать 'изменения online '.
Transparent Data Encryption поддерживает работу с индексами,
минимизируя дополнительный поиск в зашифрованном столбце.
Когда столбец с индексами готов к зашифровыванию,сначала
рекомендуется удалить существующие индексы, зашифровать столбец, а затем
заново создать индексы.
Смена ключа таблицы/столбца
При выполнении команды "alter table” ключ таблицы или столбца, размер
ключа и алгоритм могут быть независимо изменены:

SQL> ALTER TABLE judge REKEY;
SQL> ALTER TABLE judge REKEY USING 'AES256';
SQL> ALTER TABLE judge ENCRYPT USING 'AES128';

Изменение ключа таблицы или столбца приведет к повторению
шифрования данных в таблице.
За время существования таблицы, ее данные могут фрагментироваться,
расположиться в ином порядке, разделяться по категориям, увеличиваться в
количестве и перемещаться внутри табличного пространства; это может
привести к возникновению неиспользуемых блоков со старыми, недоступными
копиями данных внутри файла базы данных. Когда шифруется существующий
столбец, шифруется только его самая последняя "действующая" копия, при
этом могут оставаться данные в незашифрованном виде в «старых» копиях
данных столбца.
Для минимизации риска оставить конфиденциальные данные в
незашифрованном виде при шифровании Oracle рекомендует создавать новое
табличное пространство, перемещать таблицы приложений в него, и удалять
старое табличное пространство.....


Толық нұсқасын 30 секундтан кейін жүктей аласыз!!!


Қарап көріңіз 👇


Пайдалы сілтемелер:
» Туған күнге 99 тілектер жинағы: өз сөзімен, қысқаша, қарапайым туған күнге тілек
» Абай Құнанбаев барлық өлеңдер жинағын жүктеу, оқу
» Дастархан батасы: дастарханға бата беру, ас қайыру