Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Аутентификация на основе инфраструктуры сертификатов




Безопасность систем баз данных.

Книга: Смирнов «Безопасность систем баз данных» 2007 год.

Введение в безопасность баз данных

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

1) Конфиденциальность

2) Целостность

3) Доступность

Необходимой частью любой защищенной информационной системы является функция регистрация различных событий в системе (аудит). Аудит не относится ни к 1, ни к 2, ни к 3, так как систему не защищает, но помогает разработчику и владельцу. В СУБД Oracle аудит встроенный и его можно применять в разработке.

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

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

Большая часть угроз, которым подвержена система баз данных, соответствует угрозам для любой автоматизированной системы. Однако существует угроза, специфичная для систем управления базами данных. Наиболее часто возникающими угрозами являются SQL-инъекция и загрузка сервера базы данных бессмысленной работой.

SQL-инъекция – ввод SQL-запроса ради изменения ошибок программирования в свою пользу.

Как и в любой информационной системе для баз данных определяются объекты и субъекты информационной безопасности.

Объектами защиты баз данных являются:

1) Таблицы (в том числе столбцы и строки этих таблиц)

2) Представления

3) Процедуры

Субъектом информационной безопасности является пользователь-человек, либо какой-то процесс, для которого обеспечен доступ к данным.

Аутентификация пользователей в системе Oracle

В СУБД промышленного уровня процедура аутентификации может быть полностью внешней, т.е. реализуемой средствами ОС либо внутренней, т.е. реализуемой средствами сервера баз данных. Аутентификация в Oracle относится ко 2 типу. В Oracle организованна поддержка принципа безопасности по умолчанию или принципа минимальных привилегий. Суть принципа состоит в том, что пользователь может получить доступ к объекту базы данных или совершить определенное действие, только если это явно разрешено.

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

В Oracle используется 2 класса методов аутентификации:

1) На основе паролей

2) На основе цифровых сертификатов

Каждый пользователь Oracle должен иметь специальный идентификатор в виде имени. Создание нового идентификатора осуществляется уполномоченным пользователем или администратором с помощью команды create user.

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

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

Профиль – объект базы данных, в котором, в частности, могут быть указаны ограничения на использования пароля. Например – при настройке могут быть выбраны следующие параметры:

1) Блокировка учетной записи пользователя на определенный период при многократных ошибках регистрации.

2) Время жизни пароля.

3) Предыстория паролей для проверки нового заданного пароля

4) Контроль уровня сложности пароля

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

1) Пароль содержит не менее 4 символов

2) Пароль не совпадает с учетным именем

3) Пароль содержит по крайней мере по 1 букве, цифре и знаку пунктуации

4) Новый пароль отличается от прежнего как минимум 3 символами

Параметры пароля, предлагаемого по умолчанию, имеют следующие значения:

Параметр Значение по умолчанию Единица измерения
Failed_login_attempts – количество неправильных вводов   Безразмерная
Password_life_time – если не вводить пароль 60 дней, то он «умирает»   дни
Password_reuse_time – максимально возможное время применений одного и того же пароля   Дни
Password_reuse_max – максимально возможное количество применений одного и того же пароля неограничено безразмерная
Password_lock_time   Дни
Password_verify_function   Функция

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

Дополнительная функция проверки надежности пароля должна удовлетворять следующей спецификации:

Myauthfunction

(p_userid IN VARCHAR2(30), p_new_password IN VARCHAR2(30), p_old_password IN VARCHAR2(30))

return boolean;

 

Внешняя аутентификация пользователей

Предполагает использование средств ОС или сетевых средств аутентификации, тем самым контроль выносится за пределы средств управления паролями СУБД, хотя пользователь по-прежнему будет опознаваться СУБД. Пароль для такого типа регистрации не требуется. Чтобы использовать эту возможность необходимо в конфигурации базы данных (файл init.ora) указать параметр OS_AUTHENT_PREFIX. Это укажет СУБД, что пользователь, имя которого имеет тот же префикс, должен рассматриваться, как подлежащий внешней идентификации.

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

Аутентификация на основе инфраструктуры сертификатов

Для обеспечения более высокого уровня управления доступом в распределенной среде используется сервер безопасности Oracle. Это средство позволяет обеспечить единый механизм аутентификации и управления паролями. Основа механизма аутентификации составляют сертификаты стандарта X.509, которые поддерживаются на сервере, выполняющем функции сертификационного центра. Персональный сертификат пользователя в системе Oracle Security Server подобен сертификату, используемому для доступа к безопасным WEB-узлам. В сертификате обычно указывается имя пользователя и другая уникальная информация, согласно которой ее владелец может быть точно идентифицирован. Сертификат оформляется только 1 раз и вся содержащаяся в нем информация должна быть строго защищена. Для проверки правильности идентификации пользователя предусмотрена двухуровневая система безопасности. Администратор базы данных сначала создает для пользователя сертификат, а затем создает учетную запись глобального пользователя.

Radius

В настоящее время Oracle позволяет использовать способы аутентификации, основанные на протоколе Radius (Remote Authentication Dial-In User Service). Данный протокол является стандартным, поэтому Oracle работает с любыми Radius совместимыми серверами. Когда клиент выполняет предусмотренную процедуру регистрации на сервере базы данных, сервер Oracle обращается на сервер Radius для аутентификации этого запроса. Сервер Radius либо принимает, либо отклоняет данный запрос. Полученный ответ передается на сервер Oracle, который предпринимает соответствующие действия. Таким образом выполняется полностью прозрачная, защищенная процедура аутентификации. В качестве контролирующего сервера может применяться любой сервер, совместимый с Radius протоколом, например Active-Card, SecureID, Kerberos, Biometrics, etc.

Дополнительные функции по использованию протокола Radius включают применение схемы аутентификации и учета, наподобие пароль-отзыв, выполняемые как последовательность следующих действий:

1) Сервер Radius передает пароль серверу приложения

2) Сервер передает пароль машине клиента

3) Пароль выводится для конечного пользователя

4) Пользователь вводит отзыв на полученный пароль

5) Значение отзыва возвращается на сервер Radius

6) Сервер Radius контролирует полученное значение и передает на сервер приложения ответ, принять или отклонить запрос на соединение с данным пользователем.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...