Добавлен: 12.01.2024
Просмотров: 95
Скачиваний: 5
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ САМАРСКОЙ ОБЛАСТИ ГАПОУ СО «САМАРСКИЙ ГОСУДАРСТВЕННЫЙ КОЛЛЕДЖ»
Курсовая работа
По дисциплине: «Технология разработки и защиты баз данных»
На тему:
«Организация защиты данных с помощью SQL»
Выполнил:
Студент 3-го курса группы ИС-20-03
Корниенко Дмитрий Дмитриевич
СОДЕРЖАНИЕ
Ввведение
Раздел 1. Общие сведения о безопасности MS SQL Server
1.1 Управление доступом в MS SQL Server
1.2 Роли сервера и роли базы данных MS SQL Server
1.2.1 Предопределенные роли сервера
1.2.2 Предопределенные роли базы данных
Раздел 2. Шифрование данных в MS SQL Server
2.1 Иерархия средств шифрования
2.2 Механизмы шифрования
Раздел 3. Подсистема аудита в MS SQL Server
Раздел 4. Угрозы и уязвимости MS SQL Server
Раздел 5. Резервное копирование баз данных MS SQL Server
5.1 Общие сведения о компоненте резервного копирования и восстановления MS SQL Server
5.2 Служба хранилищ больших двоичных объектов Windows Azure
Заключение
Список литературы
Введение
безопасность server копирование шифрование
Среда MS SQL Server предоставляет множество различных функций для создания безопасных приложений баз данных. В каждой версии MS SQL Server есть свои средства безопасности, как и в каждой версии Windows, при этом возможности более поздних версий шире, чем возможности более ранних. Важно понимать, что сами по себе средства безопасности не могут гарантировать защиту приложения базы данных. Каждое приложение базы данных имеет уникальные требования, среду выполнения, модель развертывания, физическое расположение и количество пользователей. Некоторым приложениям, работающим локально, необходима минимальная защита, тогда как другим локальным приложениям или приложениям, развернутым через Интернет, могут требоваться строгие меры безопасности вместе с постоянным мониторингом и контролем.
Помимо стандартных для системы управления базами данных функций, MS SQL Server содержит большой набор интегрированных служб по анализу данных. Доступ к данным, расположенным на MS SQL Server могут получить любые приложения, разработанные с помощью технологии.Net и среды разработки Visual Studio, а также приложения пакета Microsoft Office 2007. Для конфигурирования, управления и администрирования всех компонентов Microsoft SQL Server используется инструментарий утилиты SQL Server Management Studio. В ней существует поддержка ряда компонент и средств по созданию и управлению базами данных, средств аналитической обработки данных (Analysis Services), средств отчётности (Reporting Services), а также множество средств, упрощающих разработку приложений.
ОБЩИЕ СВЕДЕНИЯ О БЕЗОПАСНОСТИ В SQL SERVER
УПРАВЛЕНИЕ ДОСТУПОМ В MS SQL SERVER
Любой экземпляр MS SQL Server может содержать иерархическую коллекцию сущностей, начиная с сервера. Каждый сервер состоит из нескольких баз данных, а каждая база данных - из коллекции защищаемых объектов. У каждого защищаемого объекта MS SQL Server есть связанные права доступа, которые могут предос тавляться участнику, являющемуся отдельным лицом, группой или процессом, получившим доступ к MS SQL Server. Платформа безопасности MS SQL Server управляет доступом к защищаемым сущностям при помощи проверки подлинности и авторизации.
· Проверка подлинности - это процесс входа в MS SQL Server, в рамках которого участник запрашивает доступ путем подачи учетных данных, которые проверяет сервер. Во время проверки подлинности происходит идентификация пользователя или процесса.
· Авторизация - это процесс определения того, к каким защищаемым ресурсам участник может получить доступ и какие операции с этими ресурсами ему разрешены.
MS SQL Server поддерживает два режима проверки подлинности: режим проверки подлинности Windows и режим смешанной проверки подлинности.
· Режим проверки подлинности Windows является режимом по умолчанию. Поскольку эта модель безопасности SQL Server тесно интегрирована с Windows, часто ее называют встроенной функцией безопасности. Определенным учетным записям пользователей и групп Windows разрешается входить в SQL Server. Пользователи Windows, прошедшие проверку подлинности, не должны предъявлять дополнительные учетные данные.
· Режим смешанной аутентификации поддерживает проверку подлинности как средствами Windows, так и средствами SQL Server. Пары имен пользователей и паролей ведутся в SQL Server.
Рекомендуется по возможности использовать проверку подлинности Windows. При проверке подлинности Windows используется ряд зашифрованных сообщений для проверки подлинности пользователей в MS SQL Server. А при использовании имен входа MS SQL Server имена входа и пароли MS SQL Server передаются по сети, что делает их менее защищенными.
При использовании проверки подлинности Windows пользователи уже вошли в Windows и им не нужно отдельно входить еще и в SQL Server. Следующая строка подключения SqlConnection.ConnectionString задает проверку подлинности Windows, не требуя имени пользователя или пароля.
"Server=MSSQL1;Database=AdventureWorks;Integrated Security=true;
При необходимости использовать режим смешанной проверки подлинности следует создать имена входа SQL Server, которые хранятся в SQL Server. Затем имя пользователя и пароль SQL Server нужно будет вводить во время выполнения.
РОЛИ СЕРВЕРА И РОЛИ БАЗЫ ДАННЫХ В MS SQL SERVER
ПРЕДОПРЕДЕЛЕННЫЕ РОЛИ СЕРВЕРА
Во всех версиях MS SQL Server используется безопасность на основе ролей, что позволяет назначать разрешения роли или группе пользователей, а не отдельным пользователям. Предопределенные роли сервера и предопределенные роли базы данных имеют предопределенный набор разрешений, назначенных для них.
MS SQL Server предоставляет девять предопределенных ролей сервера. Разрешения, назначенные предопределенным ролям сервера, не могут быть изменены. Начиная с MS SQL Server 2012, можно создавать пользовательские роли сервера и добавлять разрешения на уровне сервера таким пользовательским ролям.
Приведенная ниже таблица 1 демонстрирует все девять предопределенные серверных ролей.
Таблица 1
Имя роли уровня сервера | Описание |
sysadmin | Члены предопределенной роли сервера sysadmin могут выполнять любые действия на сервере. |
serveradmin | Члены предопределенной роли сервера serveradmin могут изменять параметры конфигурации на уровне сервера, а также выключать сервер. |
securityadmin | Члены предопределенной роли сервера securityadmin управляют именами входа и их свойствами. Они могут предоставлять, запрещать и отменять разрешения на уровне сервера (инструкции GRANT, DENY и REVOKE). Они также могут предоставлять, запрещать и отменять разрешения на уровне базы данных (инструкции GRANT, DENY и REVOKE) при наличии доступа к базе данных. Кроме того, они могут сбрасывать пароли для имен входа SQL Server. |
processadmin | Члены предопределенной роли сервера processadmin могут завершать процессы, выполняемые на экземпляре SQL Server. |
setupadmin | Члены предопределенной роли сервера setupadmin могут добавлять или удалять связанные серверы. |
bulkadmin | Члены предопределенной роли сервера bulkadmin могут выполнять инструкцию BULK INSERT - импорт файла данных в таблицу или представление базы данных |
diskadmin | Предопределенная роль сервера diskadmin используется для управления файлами на диске. |
dbcreator | Члены предопределенной роли сервера dbcreator могут создавать, изменять, удалять и восстанавливать любые базы данных. |
public | Каждое имя входа SQL Server принадлежит к роли сервера public. Если для участника на уровне сервера не были предоставлены или запрещены конкретные разрешения на защищаемый объект, то он наследует разрешения роли public на этот объект. Разрешения роли public следует назначать только тому объекту, который будет доступен всем пользователям. Нельзя изменить членство в роли public. |
ПРЕДОПРЕДЕЛЕННЫЕ РОЛИ БАЗЫ ДАННЫХ
Для удобства управления разрешениями в базах данных MS SQL Server предоставляет несколько ролей, которые являются субъектами безопасности, группирующими других участников. Они подобны группам в операционной системе Microsoft Windows. Разрешения ролей уровня базы данных распространяются на всю базу данных.
В таблице 2 представлены предопределенные роли уровня базы данных и их возможности. Эти роли существуют во всех базах данных.
Таблица 2
Имя роли уровня базы данных | Описание |
db_owner | Члены предопределенной роли базы данных db_owner могут выполнять все действия по настройке и обслуживанию базы данных, а также удалять базу данных. |
db_securityadmin | Элементы предопределенной роли базы данных db_securityadmin могут изменять членство в роли и управлять разрешениями. Добавление участников к этой роли может привести к непреднамеренному повышению прав доступа. |
db_accessadmin | Члены предопределенной роли базы данных db_accessadmin могут добавлять или удалять права удаленного доступа к базе данных для имен входа и групп Windows, а также имен входа SQL Server. |
db_backupoperator | Члены предопределенной роли базы данных db_backupoperator могут создавать резервные копии базы данных. |
db_ddladmin | Члены предопределенной роли базы данных db_ddladmin могут выполнять любые команды языка определения данных (DDL) в базе данных. |
db_datawriter | Члены предопределенной роли базы данных db_datawriter могут добавлять, удалять или изменять данные во всех пользовательских таблицах. |
db_datareader | Элементы предопределенной роли базы данных db_datareader могут считывать все данные из всех пользовательских таблиц. |
db_denydatawriter | Члены предопределенной роли базы данных db_denydatawriter не могут добавлять, изменять или удалять данные в пользовательских таблицах базы данных. |
db_denydatareader | Члены предопределенной роли базы данных db_denydatareader не могут считывать данные из пользовательских таблиц базы данных. |
Кроме того, существует еще также роль public, которая содержится в каждой базе данных, включая системные базы данных. Ее нельзя удалить, а также нельзя добавлять и удалять пользователей из нее. Разрешения, предоставленные роли public, наследуются всеми остальными пользователями и ролями, поскольку они принадлежат к роли public по умолчанию. Следует предоставлять роли public только разрешения, необходимые для всех пользователей., или владелец базы данных, представляет собой учетную запись пользователя, которая имеет неявно заданные разрешения на выполнение любых действий с базой данных. Члены предопределенной роли сервера sysadmin автоматически сопоставляются с dbo.
Учетная запись guest является встроенной учетной записью во всех версиях SQL Server. По умолчанию учетная запись guest в новых базах данных отключена. Если она включена, ее можно отключить путем отмены разрешения CONNECT, выполнив инструкцию REVOKE CONNECT FROM GUEST языка Transact-SQL.
ШИФРОВАНИЕ ДАННЫХ В MS SQL SERVER
ИЕРАРХИЯ СРЕДСТВ ШИФРОВАНИЯ
MS SQL Server шифрует данные, используя иерархическую структуру средств шифрования и управления ключами. На каждом уровне данные низшего уровня шифруются на основе комбинации сертификатов, асимметричных ключей и симметричных ключей. Асимметричные и симметричные ключи можно хранить вне модуля расширенного управления ключами MS SQL Server.
На рис. 1 показано, что на каждом уровне иерархии средств шифрования шифруются данные более нижнего уровня и отображаются наиболее распространенные конфигурации шифрования. Доступ к началу иерархии, как правило, защищается паролем.
Следует учитывать следующие основные понятия.
· Для лучшей производительности данные следует шифровать с помощью симметричных ключей, а не с помощью сертификатов и асимметричных ключей.
· Главные ключи базы данных защищены главным ключом службы. Главный ключ службы создается при установке SQL Server и шифруется API-интерфейсом защиты данных Windows (DPAPI).
· симметричные или асимметричные ключи вне SQL Server.
· Прозрачное шифрование данных (TDE) должно использовать симметричный ключ, который называется ключом шифрования базы данных, защищенный сертификатом, который, в свою очередь защищается главным ключом базы данных master или асимметричным ключом, хранящимся в модуле расширенного управления ключами.
· Главный ключ службы и все главные ключи базы данных являются симметричными ключами.