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


Вопросы безопасности по драйверам Майкрософт для PHP для SQL Server

Скачать драйвер PHP

В этом разделе рассматриваются вопросы безопасности, связанные с разработкой, развертыванием и выполнением приложений, использующих Драйверы Microsoft SQL Server для PHP. Более подробные сведения о безопасности SQL Server см. в статье Общие сведения о безопасности SQL Server.

Подключение с помощью проверки подлинности Windows

Для подключения к SQL Server следует по возможности использовать проверку подлинности Windows по следующим причинам.

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

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

Сведения о том, как подключиться к серверу с использованием проверки подлинности Windows, см. в статье Практическое руководство. Подключение с использованием проверки подлинности Windows.

При подключении с использованием проверки подлинности Windows рекомендуется настроить среду таким образом, чтобы SQL Server мог использовать протокол проверки подлинности Kerberos. Дополнительные сведения см. в статье Подтверждение использования проверки подлинности Kerberos при создании удаленного подключения к экземпляру SQL Server 2005 или SQL Server и проверка подлинности по протоколу Kerberos.

Использование зашифрованных соединений при передаче конфиденциальных данных

Зашифрованные соединения следует использовать всякий раз, когда конфиденциальные данные отправляются в SQL Server или извлекаются оттуда. Дополнительные сведения о том, как включить зашифрованные соединения, см. в статье Практическое руководство. Включение шифрования соединений в ядре СУБД (диспетчер конфигурации SQL Server). Чтобы установить безопасное соединение с Драйверы Microsoft SQL Server для PHP, используйте атрибут соединения Encrypt при подключении к серверу. Дополнительные сведения об атрибутах соединения см. в статье Connection Options.

Использование параметризованных запросов

Используйте параметризованные запросы для снижения риска атак путем внедрения кода SQL. Примеры выполнения параметризованных запросов см. в статье How to: Perform Parameterized Queries.

Дополнительные сведения об атаках путем внедрения кода SQL и соответствующих аспектах безопасности см. в статье Атака путем внедрения кода SQL.

Запрет на получения сведений о сервере или строке подключения от конечных пользователей

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

Включение WarningsAsErrors во время разработки приложений

Разрабатывайте приложения, задав для параметра WarningsAsErrors значение true , чтобы выдаваемые драйвером предупреждения обрабатывались как ошибки. Это позволит изучить предупреждения перед развертыванием приложения. Дополнительные сведения см. в статье Handling Errors and Warnings.

Защита журналов для развернутого приложения

Для развернутых приложений убедитесь, что журналы записываются в безопасное расположение либо что ведение журналов отключено. Это помогает предотвратить доступ конечных пользователей к данным, записанным в файл журнала. Дополнительные сведения см. в статье Logging Activity.

См. также:

Руководство по программированию драйверов Microsoft для PHP для SQL Server