Поделиться через


Обеспечение безопасности средствами IIS

В данном разделе описывается, каким образом Microsoft SQL Server Compact 3.5 использует следующие возможности.

  • Проверка подлинности средствами IIS.

  • Авторизация средствами IIS.

  • Шифрование средствами IIS.

Проверка подлинности средствами IIS

При настройке агента сервера SQL Server Compact 3.5 указывается, должны ли клиенты при подключении к агенту сервера SQL Server Compact 3.5 проходить проверку подлинности служб Microsoft Internet Information Services (IIS). Сервер IIS поддерживает три типа проверки подлинности:

  • анонимный доступ;

  • базовая проверка подлинности;

  • встроенная проверка подлинности Windows.

Предполагается, что большинство интернет-приложений будет использовать базовую проверку подлинности и шифрование по протоколу SSL (Secure Sockets Layer).

Анонимный доступ

Если используется анонимный доступ, сервер IIS не выполняет проверку подлинности клиента. При этом все действия, которые агент сервера SQL Server Compact 3.5 выполняет для клиента, выполняются от имени гостевой учетной записи Интернета. По умолчанию в качестве гостевой учетной записи Интернета применяется учетная запись IUSR_ИмяКомпьютера, однако для этого можно использовать и другую учетную запись Windows.

Базовая проверка подлинности

При использовании базовой проверки подлинности клиент SQL Server Compact 3.5 должен указать имя и пароль действительной учетной записи Windows. Сервер IIS пытается выполнить вход в систему, используя имя и пароль, предоставленные пользователем. Если вход в систему выполняется удачно, все действия, которые выполняет агент сервера SQL Server Compact 3.5, выполняются от имени указанной учетной записи Windows. Если при входе в систему возникает сбой, запрос клиента отклоняется. Базовая проверка подлинности может применяться при доступе как через Интернет, так и через внутреннюю сеть. Для прохождения базовой проверки подлинности необходимо, чтобы у каждого клиента была действительная учетная запись Windows с соответствующим именем пользователя и паролем.

Важно!

По умолчанию при использовании базовой проверки подлинности имя пользователя и пароль передаются по сети в кодировке base64. Поскольку информацию в кодировке base64 легко декодировать, использование этой кодировки может представлять угрозу безопасности в случае, если злоумышленник перехватит данные обмена паролями. Чтобы защитить пароли учетных записей, необходимо при использовании базовой проверки подлинности всегда применять шифрование по протоколу SSL (Secure Sockets Layer). Дополнительные сведения см. в разделе «Настройка шифрования SSL».

Встроенная проверка подлинности Windows

Встроенная проверка подлинности Windows работает почти так же, как базовая проверка подлинности. Клиент SQL Server Compact 3.5 должен указать имя и пароль действительной учетной записи Windows. Сервер IIS пытается выполнить вход в систему, используя имя и пароль, предоставленные пользователем. Если вход в систему выполнен удачно, все действия, которые выполняет агент сервера SQL Server Compact 3.5, выполняются от имени указанной учетной записи Windows. Если при входе в систему возник сбой, запрос клиента на синхронизацию отклоняется. Встроенная проверка подлинности Windows имеет одно основное преимущество перед обычной проверкой подлинности: в отличие от обычной проверки подлинности, встроенная проверка подлинности Windows не передает имя пользователя и пароль по сети в незашифрованном виде. что предотвращает возможность перехвата пароля злоумышленниками. Встроенная проверка подлинности Windows является лучшим методом проверки подлинности для приложений, работающих во внутренней сети. Для интернет-приложений встроенная проверка подлинности Windows почти не используется, поскольку она не работает при наличии прокси-сервера или брандмауэра.

Примечание

Поскольку Microsoft Windows CE 4.2 не поддерживает краткую проверку подлинности, при подключениях SQL Server Compact 3.5 эта проверка подлинности не используется.

Авторизация средствами IIS

После того как для клиента IIS выполнена проверка подлинности, средства авторизации IIS определяют, может ли данный клиент обращаться к агенту сервера SQL Server Compact 3.5. Изменяя список клиентов, которые могут обращаться к агенту сервера SQL Server Compact 3.5, можно определять, у кого есть право осуществлять подключения к SQL Server Compact 3.5.

Сервер IIS поддерживает следующие механизмы управления доступом.

  • Сначала сервер IIS проверяет, не запрещают ли существующие ограничения доступ с IP-адреса клиента. Веб-сервер позволяет запретить доступ к агенту сервера SQL Server Compact 3.5 для определенных компьютеров, групп компьютеров или целых сетей. Когда клиент пытается обратиться к агенту сервера SQL Server Compact 3.5, сервер IIS проверяет, не подпадает ли IP-адрес клиента под определенные на сервере ограничения. Если данному IP-адресу отказано в доступе, запрос на синхронизацию от клиента получает отказ с сообщением: «403 Доступ запрещен».

  • Если сервер IIS настроен на обязательное использование проверки подлинности, IIS проверяет, имеет ли клиент действительную учетную запись Windows, как описано в разделе «Проверка подлинности средствами IIS» данного документа. Если пользовательская учетная запись недопустима, запрос клиента на синхронизацию получает отказ с сообщением: «403 Доступ запрещен».

  • После этого сервер IIS проверяет разрешения на доступ к веб-узлу. Для подключений SQL Server Compact 3.5 данная проверка не используется.

  • Затем сервер IIS проверяет разрешения NTFS для агента сервера SQL Server Compact 3.5, чтобы удостовериться, что подключаемый пользователь обладает требуемыми правами.

Примечание

Несмотря на то, что сервер IIS может использоваться на дисках с файловой системой FAT (File Allocation Table), настоятельно рекомендуется использовать файловую систему NTFS. NTFS позволяет применять списки управления доступом (ACL) для управления правами доступа к агенту сервера SQL Server Compact 3.5, а также входным и выходным файлам сообщений на серверах IIS.

Шифрование средствами IIS

При настройке агента сервера SQL Server Compact 3.5 можно включить шифрование по протоколу SSL. При включении шифрования по протоколу SSL шифруются все данные, передаваемые между агентами клиента SQL Server Compact 3.5 и агента сервера SQL Server Compact 3.5. Дополнительные сведения см. в разделе Настройка шифрования SSL.

Шифрование SSL следует использовать в следующих случаях.

  • Если сервер IIS использует базовую проверку подлинности.

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

  • Только для удаленного доступа к данным: если приложение указывает параметр OLEDBConnectionString, содержащий пароль.

    Методы удаленного доступа к данным Pull, Push и SubmitSQL требуют, чтобы был указан параметр OLEDBConnectionString. Эта строка подключения передается по сети в открытом виде, что может представлять угрозу безопасности, если злоумышленник перехватит данные обмена паролями

  • Только для репликации: если издатель или распространитель SQL Server использует проверку подлинности SQL Server.

Распространитель использует проверку подлинности SQL Server, если для свойства DistributorSecurityMode установлено значение DB_AUTHENTICATION. Издатель использует проверку подлинности SQL Server, если для свойства PublisherSecurityMode установлено значение DB_AUTHENTICATION. Если используется проверка подлинности SQL Server, DistributorPassword и PublisherPassword передаются по сети в открытом виде, что может представлять угрозу безопасности, если злоумышленник перехватит данные обмена паролями Если используется проверка подлинности SQL Server, то для защиты паролей DistributorPassword и PublisherPassword необходимо всегда применять шифрование SSL.

См. также

Другие ресурсы

Обеспечение безопасности средствами SQL Server

Обеспечение безопасности баз данных (SQL Server Compact)