Обеспечение безопасности SQL ServerSecuring SQL Server

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server нетБаза данных SQL Azure нетAzure Synapse Analytics (хранилище данных SQL) нетParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Защиту SQL ServerSQL Server можно рассматривать как последовательность шагов, затрагивающих четыре области: платформу, проверку подлинности, объекты (включая данные) и приложения, получающие доступ к системе.Securing SQL ServerSQL Server can be viewed as a series of steps, involving four areas: the platform, authentication, objects (including data), and applications that access the system. В приведенных ниже разделах описано создание и реализация эффективного плана обеспечения безопасности.The following topics will guide you through creating and implementing an effective security plan.

Дополнительные сведения о безопасности SQL ServerSQL Server см. на веб-сайте SQL Server .You can find more information about SQL ServerSQL Server security at the SQL Server Web site. Они включают руководство с рекомендациями и контрольный список безопасности.This includes a best practice guide and a security checklist. Кроме того, этот веб-сайт содержит сведения о пакетах обновлений и файлы для загрузки.This site also contains the latest service pack information and downloads.

Безопасность платформы и сетиPlatform and Network Security

Платформа для SQL ServerSQL Server включает в себя физическое оборудование и сетевые компьютеры, с помощью которых клиенты соединяются с серверами базы данных, а также двоичные файлы, применяемые для обработки запросов базы данных.The platform for SQL ServerSQL Server includes the physical hardware and networking systems connecting clients to the database servers, and the binary files that are used to process database requests.

Физическая безопасностьPhysical Security

Рекомендуется строго ограничивать доступ к физическим серверам и компонентам оборудования.Best practices for physical security strictly limit access to the physical server and hardware components. Например, оборудование сервера базы данных и сетевые устройства должны находиться в закрытых охраняемых помещениях.For example, use locked rooms with restricted access for the database server hardware and networking devices. Доступ к резервным носителям также следует ограничить. Для этого их рекомендуется хранить в отдельных охраняемых помещениях.In addition, limit access to backup media by storing it at a secure offsite location.

Реализация физической сетевой безопасности начинается с запрета доступа неавторизованных пользователей к сети.Implementing physical network security starts with keeping unauthorized users off the network. Следующая таблица содержит дополнительные сведения об источниках сведений по сетевой безопасности.The following table contains more information about networking security information.

Сведения оFor information about См.See
SQL Server CompactSQL Server Compact и сетевой доступ к другим выпускам SQL ServerSQL Serverand network access to other SQL ServerSQL Server editions Раздел «Настройка и обеспечение безопасности среды сервера» в электронной документации по SQL Server CompactSQL Server Compact"Configuring and Securing the Server Environment" in SQL Server CompactSQL Server Compact Books Online
   

Безопасность операционной системыOperating System Security

В состав пакетов обновления и отдельных обновлений для операционной системы входят важные дополнения, позволяющие усилить безопасность.Operating system service packs and upgrades include important security enhancements. Все обновления для операционной системы необходимо устанавливать только после их тестирования с приложениями базы данных.Apply all updates and upgrades to the operating system after you test them with the database applications.

Кроме того, эффективную безопасность можно реализовать с помощью брандмауэров.Firewalls also provide effective ways to implement security. Брандмауэр, распределяющий или ограничивающий сетевой трафик, можно настроить в соответствии с корпоративной политикой информационной безопасности.Logically, a firewall is a separator or restrictor of network traffic, which can be configured to enforce your organization's data security policy. Использование брандмауэра повышает безопасность на уровне операционной системы, обеспечивая узкую область, на которой можно сосредоточить меры безопасности.If you use a firewall, you will increase security at the operating system level by providing a chokepoint where your security measures can be focused. Следующая таблица содержит дополнительные сведения по использованию брандмауэра с SQL ServerSQL Server.The following table contains more information about how to use a firewall with SQL ServerSQL Server.

Сведения оFor information about См.See
Настройка брандмауэра для работы со службами SQL ServerSQL ServerConfiguring a firewall to work with SQL ServerSQL Server Настройка брандмауэра Windows для доступа к компоненту Database EngineConfigure a Windows Firewall for Database Engine Access
Настройка брандмауэра для работы со службами Службы Integration ServicesIntegration ServicesConfiguring a firewall to work with Службы Integration ServicesIntegration Services Службы Integration Services (службы SSIS)Integration Services Service (SSIS Service)
Настройка брандмауэра для работы со службами Службы Analysis ServicesAnalysis ServicesConfiguring a firewall to work with Службы Analysis ServicesAnalysis Services Настройка брандмауэра Windows на разрешение доступа к службам Analysis ServicesConfigure the Windows Firewall to Allow Analysis Services Access
Открытие конкретных портов брандмауэра, чтобы предоставить доступ к SQL ServerSQL ServerOpening specific ports on a firewall to enable access to SQL ServerSQL Server Настройка брандмауэра Windows для разрешения доступа к SQL ServerConfigure the Windows Firewall to Allow SQL Server Access
Настройка поддержки расширенной защиты для проверки подлинности с помощью привязки каналов и привязки службConfiguring support for Extended Protection for Authentication by using channel binding and service binding Соединение с компонентом Database Engine с использованием расширенной защитыConnect to the Database Engine Using Extended Protection
   

Уменьшение контактной зоны является мерой безопасности, предполагающей остановку или отключение неиспользуемых компонентов.Surface area reduction is a security measure that involves stopping or disabling unused components. Уменьшение контактной зоны повышает уровень безопасности за счет уменьшения числа возможных способов атаковать систему.Surface area reduction helps improve security by providing fewer avenues for potential attacks on a system. Важную роль в ограничении контактной зоны SQL ServerSQL Server играет запуск необходимых служб по принципу «минимума прав доступа», согласно которому службам и пользователям предоставляются только необходимые для работы права.The key to limiting the surface area of SQL ServerSQL Server includes running required services that have "least privilege" by granting services and users only the appropriate rights. Следующая таблица содержит дополнительные сведения по службам и доступу к системе.The following table contains more information about services and system access.

Сведения оFor information about См.See
Службы, необходимые для SQL ServerSQL ServerServices required for SQL ServerSQL Server Настройка учетных записей службы Windows и разрешенийConfigure Windows Service Accounts and Permissions
   

Если в системе SQL ServerSQL Server используются службы IIS, необходимы дополнительные действия для обеспечения безопасности контактной зоны платформы.If your SQL ServerSQL Server system uses Internet Information Services (IIS), additional steps are required to help secure the surface of the platform. Следующая таблица содержит сведения о SQL ServerSQL Server и службах IIS.The following table contains information about SQL ServerSQL Server and Internet Information Services.

Сведения оFor information about См.See
Безопасность служб IIS в SQL Server CompactSQL Server CompactIIS security with SQL Server CompactSQL Server Compact «Безопасность служб IIS» в электронной документации по SQL Server CompactSQL Server Compact"IIS Security" in SQL Server CompactSQL Server Compact Books Online
Службы Reporting ServicesReporting Services Проверка подлинностиAuthentication Проверка подлинности в службах Reporting ServicesAuthentication in Reporting Services
SQL Server CompactSQL Server Compact и доступ к службам IISand IIS access «Блок-схема безопасности служб IIS» в электронной документации по SQL Server CompactSQL Server Compact"Internet Information Services Security Flowchart" in SQL Server CompactSQL Server Compact Books Online
   

Безопасность файлов операционной системы SQL ServerSQL Server Operating System Files Security

SQL ServerSQL Server использует файлы операционной системы для работы и хранения данных.uses operating system files for operation and data storage. Оптимальным решением для обеспечения безопасности файлов будет ограничение доступа к ним.Best practices for file security requires that you restrict access to these files. Следующая таблица содержит сведения об этих файлах.The following table contains information about these files.

Сведения оFor information about См.See
SQL ServerSQL Server программные файлыprogram files Расположение файлов для экземпляра по умолчанию и именованных экземпляров SQL ServerFile Locations for Default and Named Instances of SQL Server
   

SQL ServerSQL Server позволяют повысить безопасность.service packs and upgrades provide enhanced security. Для определения новейшего доступного пакета обновления для SQL ServerSQL Serverперейдите на веб-сайт SQL Server .To determine the latest available service pack available for SQL ServerSQL Server, see the SQL Server Web site.

С помощью приведенного ниже скрипта можно определить установленный в системе пакет обновления.You can use the following script to determine the service pack installed on the system.

SELECT CONVERT(char(20), SERVERPROPERTY('productlevel'));  

Безопасность участников и объектов базы данныхPrincipals and Database Object Security

Участники — это отдельные пользователи, группы и процессы, которым предоставлен доступ к ресурсам SQL ServerSQL Server.Principals are the individuals, groups, and processes granted access to SQL ServerSQL Server. Защищаемые объекты — это сервер, база данных и объекты, которые содержит база данных."Securables" are the server, database, and objects the database contains. У каждого из них существует набор разрешений, с помощью которых можно уменьшить контактную зону SQL ServerSQL Server .Each has a set of permissions that can be configured to help reduce the SQL ServerSQL Server surface area. Следующая таблица содержит сведения об участниках и защищаемых объектах.The following table contains information about principals and securables.

Сведения оFor information about См.See
Пользователи, роли и процессы сервера и базы данныхServer and database users, roles, and processes Участники (компонент Database Engine)Principals (Database Engine)
Безопасность объектов сервера и базы данныхServer and database objects security Защищаемые объектыSecurables
Иерархия безопасности SQL ServerSQL ServerThe SQL ServerSQL Server security hierarchy Иерархия разрешений (компонент Database Engine)Permissions Hierarchy (Database Engine)
   

Шифрование и сертификатыEncryption and Certificates

Шифрование не решает проблемы управления доступом.Encryption does not solve access control problems. Однако оно повышает безопасность, ограничивая потерю данных даже в тех редких случаях, когда средства управления доступом удается обойти.However, it enhances security by limiting data loss even in the rare occurrence that access controls are bypassed. Например, если главный компьютер, на котором установлена база данных, был настроен неправильно, и злонамеренный пользователь смог получить конфиденциальные данные (например, номера кредитных карточек), то украденная информация будет бесполезна, если она была предварительно зашифрована.For example, if the database host computer is misconfigured and a malicious user obtains sensitive data, such as credit card numbers, that stolen information might be useless if it is encrypted. В следующей таблице содержатся дополнительные сведения о шифровании в SQL ServerSQL Server.The following table contains more information about encryption in SQL ServerSQL Server.

Сведения оFor information about См.See
Иерархия шифрования в SQL ServerSQL ServerThe encryption hierarchy in SQL ServerSQL Server Иерархия средств шифрованияEncryption Hierarchy
Реализация безопасных соединенийImplementing secure connections Включение шифрования соединений в компоненте Database Engine (диспетчер конфигураций SQL Server)Enable Encrypted Connections to the Database Engine (SQL Server Configuration Manager)
Функции шифрованияEncryption functions Криптографические функции (Transact-SQL)Cryptographic Functions (Transact-SQL)

Сертификаты — это совместно используемые на двух серверах программные «ключи», которые позволяют обеспечить безопасную передачу данных с помощью надежной проверки подлинности.Certificates are software "keys" shared between two servers that enable secure communications by way of strong authentication. SQL ServerSQL Server позволяет создавать и использовать сертификаты для повышения безопасности объектов и соединений.You can create and use certificates in SQL ServerSQL Server to enhance object and connection security. Следующая таблица содержит дополнительные сведения об использовании сертификатов с SQL ServerSQL Server.The following table contains information about how to use certificates with SQL ServerSQL Server.

Сведения оFor information about См.See
Создание сертификата, который будет использоваться SQL ServerSQL ServerCreating a certificate for use by SQL ServerSQL Server CREATE CERTIFICATE (Transact-SQL)CREATE CERTIFICATE (Transact-SQL)
Использование сертификатов при зеркальном отображении базы данныхUsing a certificate with database mirroring Использование сертификатов для конечной точки зеркального отображения базы данных (Transact-SQL)Use Certificates for a Database Mirroring Endpoint (Transact-SQL)
   

Безопасность приложенийApplication Security

Клиентские программыClient programs

SQL ServerSQL Server рекомендуется разрабатывать защищенные клиентские приложения.security best practices include writing secure client applications. Дополнительные сведения об обеспечении безопасности клиентских приложений на сетевом уровне см. в разделе Client Network Configuration.For more information about how to help secure client applications at the networking layer, see Client Network Configuration.

Управление приложениями в Защитнике Windows (WDAC)Windows Defender Application Control (WDAC)

Управление приложениями в Защитнике Windows (WDAC) предотвращает попытки несанкционированного выполнения кода.Windows Defender Application Control (WDAC) prevents unauthorized code execution. WDAC является эффективным способом устранения угрозы со стороны вредоносных программ с исполняемыми файлами.WDAC is effective way to mitigate the threat of executable file-based malware. Дополнительные сведения см. в подразделе документации Управление приложениями в Защитнике Windows.For more information, see to Windows Defender Application Control documentation.

Средства, программы, представления и функции безопасности SQL ServerSQL Server Security Tools, Utilities, Views, and Functions

SQL ServerSQL Server предусмотрены средства, программы, представления и функции, которые используются для настройки и управления безопасностью.provides tools, utilities, views, and functions that can be used to configure and administer security.

Средства и программы безопасности SQL ServerSQL Server Security Tools and Utilities

Следующая таблица содержит сведения о средствах и программах SQL ServerSQL Server , с помощью которых можно настраивать и администрировать безопасность.The following table contains information about SQL ServerSQL Server tools and utilities that you can use to configure and administer security.

Сведения оFor information about См.See
Соединение с SQL ServerSQL ServerConnecting to, configuring, and controlling SQL ServerSQL Server Использование среды SQL Server Management StudioUse SQL Server Management Studio
Соединение с SQL ServerSQL Server и запуск запросов из командной строкиConnecting to SQL ServerSQL Server and running queries at the command prompt Программа sqlcmdsqlcmd Utility
Настройка сети и управление SQL ServerSQL ServerNetwork configuration and control for SQL ServerSQL Server Диспетчер конфигурации SQL ServerSQL Server Configuration Manager
Включение и отключение компонентов с помощью средства управления на основе политикиEnabling and disabling features by using Policy-Based Management Администрирование серверов с помощью управления на основе политикAdminister Servers by Using Policy-Based Management
Управление симметричными ключами для сервера отчетовManipulating symmetric keys for a report server Программа rskeymgmt (SSRS)rskeymgmt Utility (SSRS)
   

Представления каталога и функции безопасности SQL ServerSQL Server Security Catalog Views and Functions

В компоненте Компонент Database EngineDatabase Engine сведения о безопасности доступны через несколько представлений и функций, оптимизированных для наибольшей производительности и полезности.The Компонент Database EngineDatabase Engine exposes security information in several views and functions that are optimized for performance and utility. Следующая таблица содержит сведения о представлениях и функциях безопасности.The following table contains information about security views and functions.

Сведения оFor information about См.See
SQL ServerSQL Server представления каталога безопасности, которые возвращают сведения о разрешениях, участниках, ролях и других сущностях уровня базы данных и сервера.security catalog views, which return information about database-level and server-level permissions, principals, roles, and so on. Кроме того, существуют представления каталога, содержащие сведения о ключах шифрования, сертификатах и учетных данных.In addition, there are catalog views that provide information about encryption keys, certificates, and credentials. Представления каталога безопасности (Transact-SQL)Security Catalog Views (Transact-SQL)
SQL ServerSQL Server , которые возвращают сведения о текущем пользователе, разрешениях и схемах.security functions, which return information about the current user, permissions and schemas. Функции безопасности (Transact-SQL)Security Functions (Transact-SQL)
SQL ServerSQL Server .security dynamic management views. Динамические представления управления и функции, связанные с безопасностью (Transact-SQL)Security-Related Dynamic Management Views and Functions (Transact-SQL)
   

Вопросы безопасности при установке SQL ServerSecurity Considerations for a SQL Server Installation
Центр обеспечения безопасности для базы данных Azure SQL и SQL Server Database EngineSecurity Center for SQL Server Database Engine and Azure SQL Database
Оптимальные методы обеспечения безопасности SQL Server 2012 — рабочие и административные задачи SQL Server 2012 Security Best Practices - Operational and Administrative Tasks
Блог по безопасности SQL ServerSQL Server Security Blog
Оптимальные методы обеспечения безопасности и безопасность на уровне меток (технические описания)Security Best Practice and Label Security Whitepapers
Безопасность на уровне строк Row-Level Security
Защита интеллектуальной собственности SQL ServerProtecting Your SQL Server Intellectual Property