Вопросы безопасности при установке SQL ServerSecurity Considerations for a SQL Server Installation

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

Безопасность является важной характеристикой для любого продукта и любого предприятия.Security is important for every product and every business. Следуя простым рекомендациям, можно избежать многих уязвимостей в безопасности.By following simple best practices, you can avoid many security vulnerabilities. В этой статье обсуждаются некоторые рекомендации по безопасности, которых следует придерживаться как до установки SQL ServerSQL Server, так и после установки SQL ServerSQL Server.This article discusses some security best practices that you should consider both before you install SQL ServerSQL Server and after you install SQL ServerSQL Server. Сведения о безопасности для конкретных компонентов приводятся в справочных статьях по этим компонентам.Security guidance for specific features is included in the reference articles for those features.

Перед установкой SQL ServerSQL ServerBefore Installing SQL ServerSQL Server

При настройке среды сервера выполняйте следующие рекомендации.Follow these best practices when you set up the server environment:

Enhance Physical SecurityEnhance Physical Security

Физическая и логическая изоляции составляют основу безопасности SQL ServerSQL Server .Physical and logical isolation make up the foundation of SQL ServerSQL Server security. Для повышения физической безопасности установки SQL ServerSQL Server выполните следующие действия.To enhance the physical security of the SQL ServerSQL Server installation, do the following tasks:

  • Установите сервер в помещении, недоступном для посторонних.Place the server in a room accessible only to authorized persons.

  • Установите компьютеры, на которых размещены базы данных, в физически защищенных местах, идеальным вариантом является запертая компьютерная комната с системой электромагнитного и противопожарного контроля или системой подавления помех.Place computers that host a database in a physically protected location, ideally a locked computer room with monitored flood detection and fire detection or suppression systems.

  • Установите базы данных в безопасной зоне корпоративной сети и не подключайте экземпляры SQL Server к Интернету напрямую.Install databases in the secure zone of the corporate intranet and do not connect your SQL Servers directly to the Internet.

  • Регулярно создавайте резервные копии данных и храните их в безопасном месте за пределами расположения компьютера.Back up all data regularly and secure the backups in an off-site location.

Use FirewallsUse Firewalls

Брандмауэры играют важную роль в обеспечении безопасности установки SQL ServerSQL Server .Firewalls are important to help secure the SQL ServerSQL Server installation. Брандмауэры будут более эффективны, если следовать приведенным ниже правилам.Firewalls will be most effective if you follow these guidelines:

  • Установите брандмауэр между сервером и Интернетом.Put a firewall between the server and the Internet. Разрешите работу брандмауэра.Enable your firewall. Если он отключен, включите его.If your firewall is turned off, turn it on. Если он включен, не отключайте.If your firewall is turned on, do not turn it off.

  • Разделите сеть на зоны безопасности, разделенные брандмауэрами.Divide the network into security zones separated by firewalls. Заблокируйте весь поток данных, после чего разрешите только необходимый.Block all traffic, and then selectively admit only what is required.

  • В многоуровневой архитектуре используйте несколько брандмауэров для создания изолированных подсетей.In a multi-tier environment, use multiple firewalls to create screened subnets.

  • При установке сервера внутри домена Windows настройте внутренние брандмауэры на разрешение проверки подлинности Windows.When you are installing the server inside a Windows domain, configure interior firewalls to allow Windows Authentication.

  • Если приложение работает с распределенными транзакциями, настройте брандмауэр на обмен данными между отдельными экземплярами координатора распределенных транзакций MicrosoftMicrosoft (MS DTC).If your application uses distributed transactions, you might have to configure the firewall to allow MicrosoftMicrosoft Distributed Transaction Coordinator (MS DTC) traffic to flow between separate MS DTC instances. Кроме того, нужно настроить брандмауэр на разрешение обмена данными между MS DTC и диспетчерами ресурсов (например, SQL ServerSQL Server).You will also have to configure the firewall to allow traffic to flow between the MS DTC and resource managers such as SQL ServerSQL Server.

    Дополнительные сведения о настройках брандмауэра Windows по умолчанию и описание портов TCP, влияющих на компоненты Компонент Database EngineDatabase Engine, Службы Analysis ServicesAnalysis Services, Службы Reporting ServicesReporting Servicesи Службы Integration ServicesIntegration Services, см. в разделе Настройка брандмауэра Windows для разрешения доступа к SQL Server.For more information about the default Windows firewall settings, and a description of the TCP ports that affect the Компонент Database EngineDatabase Engine, Службы Analysis ServicesAnalysis Services, Службы Reporting ServicesReporting Services, and Службы Integration ServicesIntegration Services, see Configure the Windows Firewall to Allow SQL Server Access.

Isolate ServicesIsolate Services

Изолирование служб уменьшает риск того, что подвергнувшаяся опасности служба подвергнет опасности другие службы.Isolating services reduces the risk that one compromised service could be used to compromise others. Чтобы изолировать службы, следуйте приведенным ниже правилам.To isolate services, consider the following guidelines:

  • Запускайте разные службы SQL ServerSQL Server под разными учетными записями Windows.Run separate SQL ServerSQL Server services under separate Windows accounts. Если возможно, пользуйтесь для каждой из служб SQL ServerSQL Server отдельными учетными записями Windows или локальных пользователей, обладающих наименьшими правами.Whenever possible, use separate, low-rights Windows or Local user accounts for each SQL ServerSQL Server service. Дополнительные сведения см. в статье Настройка учетных записей службы Windows и разрешений.For more information, see Configure Windows Service Accounts and Permissions.

Configure a Secure File SystemConfigure a Secure File System

Правильный выбор файловой системы повышает уровень безопасности.Using the correct file system increases security. Для установки SQL ServerSQL Server необходимо выполнить следующие действия.For SQL ServerSQL Server installations, you should do the following tasks:

  • Используйте файловую систему NTFS.Use the NTFS file system (NTFS). Рекомендуется устанавливать SQL ServerSQL Server на файловую систему NTFS, так как она обеспечивает более высокую стабильность и восстанавливаемость, чем файловые системы FAT.NTFS is the preferred file system for installations of SQL ServerSQL Server because it is more stable and recoverable than FAT file systems. Кроме того, NTFS реализует параметры управления доступом к файлам и каталогам (ACL), шифрование файловой системы (EFS) и другие средства обеспечения безопасности.NTFS also enables security options like file and directory access control lists (ACLs) and Encrypting File System (EFS) file encryption. Во время установки SQL ServerSQL Server установит необходимые списки ACL на разделы реестра и файлы, если программа установки обнаружит NTFS.During installation, SQL ServerSQL Server will set appropriate ACLs on registry keys and files if it detects NTFS. Эти разрешения не должны меняться.These permissions should not be changed. В будущих выпусках SQL ServerSQL Server может не поддерживаться установка на компьютеры с файловой системой FAT.Future releases of SQL ServerSQL Server might not support installation on computers with FAT file systems.

    Примечание

    При использовании EFS файлы базы данных будут зашифрованы идентификатором учетной записи, под которой запущен SQL ServerSQL Server.If you use EFS, database files will be encrypted under the identity of the account running SQL ServerSQL Server. Только эта учетная запись сможет расшифровать файлы.Only this account will be able to decrypt the files. Если нужно изменить учетную запись, от имени которой запускается SQL ServerSQL Server, сначала необходимо расшифровать файлы с использованием старой учетной записи, а затем снова зашифровать их под новой учетной записью.If you must change the account that runs SQL ServerSQL Server, you should first decrypt the files under the old account and then re-encrypt them under the new account.

  • Используйте дисковый массив (RAID) для наиболее критичных файлов данных.Use a redundant array of independent disks (RAID) for critical data files.

Disable NetBIOS and Server Message BlockDisable NetBIOS and Server Message Block

На внешних серверах сети должны быть отключены все ненужные протоколы, включая NetBIOS и SMB.Servers in the perimeter network should have all unnecessary protocols disabled, including NetBIOS and server message block (SMB).

NetBIOS использует следующие порты:NetBIOS uses the following ports:

  • UDP/137 (служба имен NetBIOS);UDP/137 (NetBIOS name service)

  • UDP/138 (служба дейтаграмм NetBIOS);UDP/138 (NetBIOS datagram service)

  • UDP/139 (служба сеанса NetBIOS).TCP/139 (NetBIOS session service)

    SMB использует следующие порты:SMB uses the following ports:

  • TCP/139TCP/139

  • TCP/445TCP/445

    Веб-серверы и DNS-серверы не требуют наличия NetBIOS или SMB.Web servers and Domain Name System (DNS) servers do not require NetBIOS or SMB. Отключите на них оба протокола, чтобы снизить угрозу раскрытия списка пользователей.On these servers, disable both protocols to reduce the threat of user enumeration.

Установка SQL ServerSQL Server на контроллере доменаInstalling SQL ServerSQL Server on a domain controller

Исходя из соображений безопасности, не рекомендуется устанавливать SQL ServerSQL Server на контроллере домена.For security reasons, we recommend that you do not install SQL ServerSQL Server on a domain controller. SQL ServerSQL Server не заблокирует установку на компьютере, который является контроллером домена, однако при этом будут применены следующие ограничения. Setup will not block installation on a computer that is a domain controller, but the following limitations apply:

  • Запуск служб SQL ServerSQL Server на контроллере домена в учетной записи локальной службы невозможен.You cannot run SQL ServerSQL Server services on a domain controller under a local service account.

  • После установки SQL ServerSQL Server компьютер, который является членом домена, нельзя будет сделать контроллером домена.After SQL ServerSQL Server is installed on a computer, you cannot change the computer from a domain member to a domain controller. Перед этим придется удалить SQL ServerSQL Server .You must uninstall SQL ServerSQL Server before you change the host computer to a domain controller.

  • После установки SQL ServerSQL Server компьютер, который является контроллером домена, нельзя будет сделать членом домена.After SQL ServerSQL Server is installed on a computer, you cannot change the computer from a domain controller to a domain member. Перед этим придется удалить SQL ServerSQL Server .You must uninstall SQL ServerSQL Server before you change the host computer to a domain member.

  • SQL ServerSQL Server не поддерживает экземпляры отказоустойчивого кластера, где узлы кластера являются контроллерами домена. failover cluster instances are not supported where cluster nodes are domain controllers.

  • SQL ServerSQL Server Программа установки не может создавать группы безопасности или подготавливать учетные записи служб SQL ServerSQL Server на контроллере домена, доступном только для чтения. Setup cannot create security groups or provision SQL ServerSQL Server service accounts on a read-only domain controller. В такой ситуации программа установки завершается ошибкой.In this scenario, Setup will fail.

Во время или после установки SQL ServerSQL ServerDuring or After Installation of SQL ServerSQL Server

После установки вы можете повысить безопасность установки SQL ServerSQL Server , следуя приведенным ниже рекомендациям относительно учетных записей и режимов проверки подлинности.After installation, you can enhance the security of the SQL ServerSQL Server installation by following these best practices regarding accounts and authentication modes:

Учетные записи службыService accounts

  • Запускайте службы SQL ServerSQL Server с минимально возможными разрешениями.Run SQL ServerSQL Server services by using the lowest possible permissions.

  • Связывайте службы SQL ServerSQL Server с учетными записями локальных пользователей Windows, имеющих наименьшие права доступа, или учетными записями пользователей домена.Associate SQL ServerSQL Server services with low privileged Windows local user accounts, or domain user accounts.

  • Дополнительные сведения см. в разделе Настройка учетных записей службы Windows и разрешений.For more information, see Configure Windows Service Accounts and Permissions.

    Режим проверки подлинностиAuthentication mode

  • Требует проверку подлинности Windows для подключений к SQL ServerSQL Server.Require Windows Authentication for connections to SQL ServerSQL Server.

  • Используйте проверку подлинности Kerberos.Use Kerberos authentication. Дополнительные сведения см. в разделе Регистрация имени участника-службы для соединений Kerberos.For more information, see Register a Service Principal Name for Kerberos Connections.

    Надежные паролиStrong passwords

  • Всегда назначайте надежный пароль для учетной записи sa .Always assign a strong password to the sa account.

  • Всегда включайте проверку политики паролей для определения надежности и срока действия пароля.Always enable password policy checking for password strength and expiration.

  • Для всех имен входа SQL ServerSQL Server используйте только надежные пароли.Always use strong passwords for all SQL ServerSQL Server logins.

Важно!

Во время установки SQL Server ExpressSQL Server Express для группы BUILTIN\Users добавляется имя входа.During setup of SQL Server ExpressSQL Server Express a login is added for the BUILTIN\Users group. Благодаря этому все прошедшие проверку подлинности пользователи компьютера получают доступ к экземпляру SQL Server ExpressSQL Server Express как члены роли public.This allows all authenticated users of the computer to access the instance of SQL Server ExpressSQL Server Express as a member of the public role. Имя входа группы BUILTIN\Users можно удалить, чтобы ограничить доступ к компоненту Компонент Database EngineDatabase Engine только пользователям компьютера, у которых есть отдельные имена входа, или членам других групп Windows с именами входа.The BUILTIN\Users login can be safely removed to restrict Компонент Database EngineDatabase Engine access to computer users who have individual logins or are members of other Windows groups with logins.

См. также:See Also

Требования к оборудованию и программному обеспечению для установки SQL Server Hardware and Software Requirements for Installing SQL Server
Сетевые протоколы и библиотеки Network Protocols and Network Libraries
Регистрация имени участника-службы для соединений KerberosRegister a Service Principal Name for Kerberos Connections