Автор: Пользователь скрыл имя, 12 Июня 2012 в 15:50, курсовая работа
В IIS 6.0 строгая изоляция была представлена в качестве подхода к осуществлению защиты по умолчанию. Это был существенный шаг в строну по сравнению с другими версиями IIS, которые устанавливали и активировали почти все функции, присутствующие в установочном пакете, в результате чего пользователь получал полностью укомплектованный веб-сервер по умолчанию.
Подписи модуля удостоверяют, что код внутри модуля может изменять только пользователь с доступом к закрытому ключу, с помощью которого подписан этот модуль. Учитывая гарантии, обеспечиваемые процессом подписи, можно доверять сертификату или асимметричному ключу, указанному в подписи. Точнее, можно доверять владельцу сертификата или асимметричного ключа, а не только владельцу базы данных.
Подписанный модуль становится доверенным после выдачи разрешения AUTHENTICATE или AUTHENTICATE SERVER пользователю в целевой области, сопоставленной с сертификатом или асимметричным ключом.
Таким образом, контекст выполнения,
установленный внутри модуля, подписанного
с помощью доверенного
Например, допустим, что процедура GetSalesProjecti
При вызове процедуры проверяется
подлинность процедуры (не была ли она
подделана в момент подписания процедуры).
Если подпись заверена, то для контекста,
который устанавливается в
В следующем примере показано управление
доступом к ресурсам вне области
исходной базы данных с помощью подписанного
модуля (рисунок 40). Процедура GetSalesProjections
Рисунок 40 – Управление доступом с помощью подписанного модуля
Доверие этому средству проверки подлинности проверяется аналогично проверке, выполняемой, когда владелец базы данных является средством проверки подлинности. Таким образом, это проверка разрешений AUTHENTICATE SERVER или AUTHENTICATE. Однако поскольку доверие устанавливается на гранулярном уровне и модуль нельзя изменить без изменения подписи, то нет необходимости проверять свойство TRUSTWORTHY в базе данных.
Это уменьшает опасность от подключенных баз данных с вредоносным кодом. Атакующий будет вынужден подписать модуль закрытым ключом, который соответствует уже доверенному сертификату. Однако атакующий не имеет доступа к этому ключу. Кроме того, если существующий доверенный модуль будет изменен, либо если будет создан новый модуль, то он не будет иметь действительной доверенной подписи.
В итоге область олицетворения контекста, установленного внутри базы данных, можно расширить на другие области тогда и только тогда, когда выполняются следующие условия:
Как механизм на основе владельца базы данных, так и механизм на основе подписей имеют свои достоинства и недостатки. Какой из механизмов лучше — зависит от поставленных задач и рабочей среды.
2.4 Безопасное взаимодействие клиента с базой данных MS SQL Server 2008
Необходимо обеспечить безопасность потокового взаимодействия между клиентами и экземпляром служб Microsoft SQL Server Analysis Services. Во время процесса установки устанавливаются параметры безопасности по умолчанию, управляющие потоковым взаимодействием. Эти настройки задаются в файле конфигурации msmdsrv.ini для экземпляра служб Analysis Services, и они видны как свойства экземпляра служб Analysis Services в среде SQL Server Management Studio. (Файл конфигурации msmdsrv.ini расположен в папке Bin.)
Параметры безопасности по умолчанию пытаются дать гарантию того, что взаимодействие между клиентами и экземпляром служб Analysis Services защищено настолько, насколько это возможно. Однако эти параметры безопасности по умолчанию могут быть или не быть необходимыми, в зависимости от критичности данных и безопасности сетей, по которым осуществляется доступ к данным.
В следующих разделах содержится обсуждение каждого из этих параметров безопасности по умолчанию и описание изменения этих параметров, если это необходимо.
2.4.1 Шифрование данных
По умолчанию службы Microsoft SQL ServerAnalysis Services отвечают только на зашифрованные клиентские запросы и возвращают клиенту только зашифрованный поток данных. Несмотря на то, что шифрование требует дополнительных ресурсов процессора и может повлиять на общую производительность запросов, дополнительная безопасность, обеспечиваемая шифрованием, обычно перевешивает эти проблемы производительности.
При выборе уровня шифрования для использования необходимо проанализировать, как пользователи получают доступ к данным служб Analysis Services. Если пользователи используют службы IIS для доступа к данным служб Analysis Services через Интернет, то шифрование данных должно требоваться для повышения безопасности потока данных. Однако если весь доступ к службам Analysis Services осуществляется по безопасной конфигурации внутренней сети, то можно отключить шифрование потока данных и таким образом повысить общую производительность экземпляра служб Analysis Services.
Чтобы изменить настройки шифрования по умолчанию на уровне сервера, измените следующие свойства конфигурации служб Analysis Services в среде SQL Server Management Studio. Чтобы получить доступ к этим свойствам, щелкните правой кнопкой мыши экземпляр служб Analysis Services, выберите пункт «Свойства», а затем найдите необходимые свойства на странице «Безопасность».
Если значение настройки по умолчанию равно 1, то требуется, чтобы все административные данные были зашифрованы. Настройка 0 обеспечивает поддержку открытого текста, а настройка 2 — поддержку открытого текста с подписями (что является менее надежным, чем шифрование).
Если значение настройки по умолчанию равно 1, то требуется, чтобы все административные данные, получаемые через веб-клиента, были зашифрованы. Настройка 0 обеспечивает поддержку открытого текста, а настройка 2 — поддержку открытого текста с подписями (что является менее надежным, чем шифрование).
Если значение настройки по умолчанию равно 1, то требуется, чтобы все данные были зашифрованы. Настройка 0 обеспечивает поддержку открытого текста, а настройка 2 — поддержку открытого текста с подписями (что является менее надежным, чем шифрование).
Если значение настройки по умолчанию равно 1, то требуется, чтобы все данные, получаемые через веб-клиента, были зашифрованы. Настройка 0 обеспечивает поддержку открытого текста, а настройка 2 — поддержку открытого текста с подписями (что является менее надежным, чем шифрование).
По умолчанию в службах
Чтобы изменить требования к проверке подлинности клиентов, администратор должен изменить свойство конфигурации сервера Security \ RequireClientAuthentication.
Чтобы получить доступ к этому свойству из среды SQL Server Management Studio, щелкните правой кнопкой мыши экземпляр служб Analysis Services, выберите пункт Свойства, а затем найдите нужное свойство на странице Безопасность. Далее показаны возможные значения данного свойства:
1 – клиенты должны пройти проверку подлинности в операционной системе Microsoft Windows. Это значение данного свойства по умолчанию;
0 – клиенты не должны проходить проверку подлинности в операционной системе Microsoft Windows.
Чтобы установить соединение со службой Microsoft SQL Server Analysis Services, проверка подлинности не требуется.
2.4.3 Особые пакеты безопасности
По умолчанию службы Microsoft SQL Server Analysis Services настроены на прием всех пакетов безопасности поставщика поддержки безопасности (SSP), который поддерживается операционной системой Microsoft Windows для клиентов, прошедших проверку подлинности. Начиная с ОС Windows 2000, Майкрософт также предоставляет поддержку пакета безопасности протоколов Microsoft Kerberos. Кроме того, можно выбрать установку пакета безопасности протокола защиты информации (SSL) или любого другого интерфейса поставщика поддержки безопасности (SSPI), совместимого с SSP.
Можно ограничить пакеты безопасности, которые службы Analysis Services допускают для повышения безопасности экземпляра служб Analysis Services. Например, для повышения безопасности можно ограничить пакеты безопасности, которые службы Analysis Services допускают для пакета безопасности протокола Microsoft Kerberos.
Чтобы службы Analysis Services допускали только определенные пакеты безопасности, добавьте такие пакеты к свойству конфигурации сервера Security \ SecurityPackageList. По умолчанию пакеты безопасности не заданы, то есть допустимы все пакеты безопасности. Для доступа к этому свойству щелкните правой кнопкой мыши экземпляр служб Analysis Services, выберите пункт «Свойства» и найдите нужное свойство на странице «Безопасность».
2.4.4 Указание частоты обновления кэша ролей
По умолчанию службы Microsoft SQL Server Analysis Services обновляют членство пользователей и групп Microsoft Windows в ролях базы данных каждые 10 минут. Хотя установленное по умолчанию значение 10 минут и подходит для большинства сред, частоту обновления кэша роли можно увеличить, если членство роли часто изменяется.
Чтобы изменить установленный по умолчанию параметр обновления кэша ролей, необходимо изменить свойство конфигурации сервера Security \ RoleCacheExpirationInterval. Чтобы получить доступ к этому свойству, щелкните правой кнопкой мыши экземпляр служб Analysis Services, выберите Свойства, а затем найдите нужное свойство на странице Безопасность.
2.5 Атаки на MS SQL Server
2.5.1 Взлом SQL сервера
Рассмотрим, как злоумышленники собирают информацию, атакуют и взламывают сервер SQL. Начнем с рассмотрения примера общепринятых методов атаки.
В этом гипотетическом, но весьма близком
к реальности примере будет рассмотрен
сценарий, который встречается в
разных инсталляциях сервера SQL снова
и снова. Будет показано, как недостатки
на первый взгляд несвязанных подсистем
могут "сложиться" в полностью
готовое к использованию
Предположим, что хакер Макс вынашивал мысль о жестокой мести некоторой (вымышленной) компании X. После шестимесячного контракта с компанией Макса вдруг выдернули из платежной ведомости, как сорную траву. Он решил, что компания должна полностью осознать ошибку, которую совершила, уволив кое-кого из явно талантливых работников.
Макс был осведомлен о многих политиках внутренней безопасности компании X, но поскольку он был лишь программистом по контракту, а не инженером безопасности или администратором NT, он не знал всех подробностей внутренней инфраструктуры, конфигураций брандмауэров или другой полезной информации, которая помогла бы совершить возмездие. Чтобы не вызывать подозрений, Макс воспользовался услугами общедоступного Internet-провайдера и провел полное сканирование портов граничных маршрутизаторов компании X. Чтобы определить диапазон IP-адресов компании, он сначала обратился к базам данных ARIN и Network Solutions, а затем просканировал их все с помощью программы f scan, используя для доступа в Internet только что созданную учетную. В результате сканирования Макс обнаружил около четырех Web-серверов, сервер SMTP/POP3 и какую-то программу, ожидающую подключения к ТСР-порту 1433. Все серверы точно находятся в домене компании X.
Информация о работе Построение защищенных Web-приложений на основе IIS и MS SQL Server