Lokasi ngalangkungan proxy:   [ UP ]  
[Ngawartoskeun bug]   [Panyetelan cookie]                
Skip to content

Commit 2e985f2

Browse files
committed
formatting changes and a mermaid test
1 parent 619dd45 commit 2e985f2

1 file changed

Lines changed: 70 additions & 62 deletions

File tree

docs/sql-server/install/security-considerations-for-a-sql-server-installation.md

Lines changed: 70 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -32,126 +32,134 @@ ms.author: chadam
3232

3333
Security is important for every product and every business. By following simple best practices, you can avoid many security vulnerabilities. This article discusses some security best practices that you should consider both before you install [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] and after you install [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)]. Security guidance for specific features is included in the reference articles for those features.
3434

35-
## Before Installing [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)]
35+
## Before Installing [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)]
36+
3637
Follow these best practices when you set up the server environment:
3738

38-
- [Enhance physical security](#physical_security)
39-
40-
- [Use firewalls](#firewalls)
41-
42-
- [Isolate services](#isolated_services)
43-
44-
- [Configure a secure file system](#sa_with_least_privileges)
45-
46-
- [Disable NetBIOS and server message block](#disabled_protocols)
47-
48-
- [Installing SQL Server on a domain controller](../../sql-server/install/security-considerations-for-a-sql-server-installation.md#Install_DC)
39+
- [Enhance physical security](#physical_security)
40+
- [Use firewalls](#firewalls)
41+
- [Isolate services](#isolated_services)
42+
- [Configure a secure file system](#sa_with_least_privileges)
43+
- [Disable NetBIOS and server message block](#disabled_protocols)
44+
- [Installing SQL Server on a domain controller](../../sql-server/install/security-considerations-for-a-sql-server-installation.md#Install_DC)
4945

5046
### <a name="physical_security"></a> Enhance Physical Security
5147
Physical and logical isolation make up the foundation of [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] security. To enhance the physical security of the [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] installation, do the following tasks:
5248

53-
- Place the server in a room accessible only to authorized persons.
54-
55-
- 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.
56-
57-
- Install databases in the secure zone of the corporate intranet and do not connect your SQL Servers directly to the Internet.
58-
59-
- Back up all data regularly and secure the backups in an off-site location.
49+
- Place the server in a room accessible only to authorized persons.
50+
51+
- 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.
52+
53+
- Install databases in the secure zone of the corporate intranet and do not connect your SQL Servers directly to the Internet.
54+
55+
- Back up all data regularly and secure the backups in an off-site location.
6056

6157
### <a name="firewalls"></a> Use Firewalls
6258
Firewalls are important to help secure the [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] installation. Firewalls will be most effective if you follow these guidelines:
6359

64-
- 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.
65-
66-
- Divide the network into security zones separated by firewalls. Block all traffic, and then selectively admit only what is required.
67-
68-
- In a multi-tier environment, use multiple firewalls to create screened subnets.
69-
70-
- When you are installing the server inside a Windows domain, configure interior firewalls to allow Windows Authentication.
71-
72-
- If your application uses distributed transactions, you might have to configure the firewall to allow [!INCLUDE[msCoName](../../includes/msconame-md.md)] Distributed Transaction Coordinator (MS DTC) traffic to flow between separate MS DTC instances. You will also have to configure the firewall to allow traffic to flow between the MS DTC and resource managers such as [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)].
73-
60+
- 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.
61+
62+
- Divide the network into security zones separated by firewalls. Block all traffic, and then selectively admit only what is required.
63+
64+
- In a multi-tier environment, use multiple firewalls to create screened subnets.
65+
66+
- When you are installing the server inside a Windows domain, configure interior firewalls to allow Windows Authentication.
67+
68+
- If your application uses distributed transactions, you might have to configure the firewall to allow [!INCLUDE[msCoName](../../includes/msconame-md.md)] Distributed Transaction Coordinator (MS DTC) traffic to flow between separate MS DTC instances. You will also have to configure the firewall to allow traffic to flow between the MS DTC and resource managers such as [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)].
69+
7470
For more information about the default Windows firewall settings, and a description of the TCP ports that affect the [!INCLUDE[ssDE](../../includes/ssde-md.md)], [!INCLUDE[ssASnoversion](../../includes/ssasnoversion-md.md)], [!INCLUDE[ssRSnoversion](../../includes/ssrsnoversion-md.md)], and [!INCLUDE[ssISnoversion](../../includes/ssisnoversion-md.md)], see [Configure the Windows Firewall to Allow SQL Server Access](../../sql-server/install/configure-the-windows-firewall-to-allow-sql-server-access.md).
7571

7672
### <a name="isolated_services"></a> Isolate Services
7773
Isolating services reduces the risk that one compromised service could be used to compromise others. To isolate services, consider the following guidelines:
7874

79-
- Run separate [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] services under separate Windows accounts. Whenever possible, use separate, low-rights Windows or Local user accounts for each [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] service. For more information, see [Configure Windows Service Accounts and Permissions](../../database-engine/configure-windows/configure-windows-service-accounts-and-permissions.md).
75+
- Run separate [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] services under separate Windows accounts. Whenever possible, use separate, low-rights Windows or Local user accounts for each [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] service. For more information, see [Configure Windows Service Accounts and Permissions](../../database-engine/configure-windows/configure-windows-service-accounts-and-permissions.md).
8076

8177
### <a name="sa_with_least_privileges"></a> Configure a Secure File System
8278
Using the correct file system increases security. For [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] installations, you should do the following tasks:
8379

8480
Use the NT file system (NTFS) or Resilient File System (ReFS). NTFS and ReFS are the recommended file system for installations of [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] because it is more stable and recoverable than FAT32 file systems. NTFS or ReFS also enable security options like file and directory access control lists (ACLs). NTFS also supports Encrypting File System (EFS) - file encryption. During installation, [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] will set appropriate ACLs on registry keys and files if it detects NTFS. These permissions should not be changed. Future releases of [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] might not support installation on computers with FAT file systems.
8581

8682
> [!NOTE]
87-
> If you use EFS, database files will be encrypted under the identity of the account running [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)]. Only this account will be able to decrypt the files. If you must change the account that runs [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)], you must first decrypt the files under the old account and then re-encrypt them under the new service account.
88-
89-
> [!WARNING]
90-
> Using file encryption via EFS may lead to slower I/O performance because encryption causes asynchronous I/O to become synchronous. See [Asynchronous disk I/O appears as synchronous on Windows](/troubleshoot/windows/win32/asynchronous-disk-io-synchronous#ntfs-encryption). Instead, you can sonsider using SQL Server encryption technologies like [Transparent Data Encryption (TDE)](/sql/relational-databases/security/encryption/transparent-data-encryption), [Always Encrypted](/sql/relational-databases/security/encryption/always-encrypted-database-engine), and column-level encryption [T-SQL functions](/sql/t-sql/functions/cryptographic-functions-transact-sql).
83+
> If you use EFS, database files will be encrypted under the identity of the account running [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)]. Only this account will be able to decrypt the files. If you must change the account that runs [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)], you must first decrypt the files under the old account and then re-encrypt them under the new service account.
84+
85+
> [!WARNING]
86+
> Using file encryption via EFS may lead to slower I/O performance because encryption causes asynchronous I/O to become synchronous. See [Asynchronous disk I/O appears as synchronous on Windows](/troubleshoot/windows/win32/asynchronous-disk-io-synchronous#ntfs-encryption). Instead, you can sonsider using SQL Server encryption technologies like [Transparent Data Encryption (TDE)](/sql/relational-databases/security/encryption/transparent-data-encryption), [Always Encrypted](/sql/relational-databases/security/encryption/always-encrypted-database-engine), and column-level encryption [T-SQL functions](/sql/t-sql/functions/cryptographic-functions-transact-sql).
87+
88+
### <a name="disabled_protocols"></a> Disable NetBIOS and Server Message Block
9189

92-
### <a name="disabled_protocols"></a> Disable NetBIOS and Server Message Block
9390
Servers in the perimeter network should have all unnecessary protocols disabled, including NetBIOS and server message block (SMB).
9491

9592
NetBIOS uses the following ports:
9693

97-
- UDP/137 (NetBIOS name service)
94+
- UDP/137 (NetBIOS name service)
9895

99-
- UDP/138 (NetBIOS datagram service)
96+
- UDP/138 (NetBIOS datagram service)
10097

101-
- TCP/139 (NetBIOS session service)
98+
- TCP/139 (NetBIOS session service)
10299

103100
SMB uses the following ports:
104101

105-
- TCP/139
102+
- TCP/139
106103

107-
- TCP/445
104+
- TCP/445
108105

106+
::: mermaid
107+
graph LR;
108+
A[NetBIOS] --> B[UDP/137];
109+
A[NetBIOS] --> C[UDP/138];
110+
A[NetBIOS] --> D[TCP/139];
111+
E[SMB] --> D[TCP/193];
112+
E[SMB] --> P[TCP/445];
113+
:::
114+
109115
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.
110116

111-
### <a name="Install_DC"></a> Installing [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] on a domain controller
117+
### <a name="Install_DC"></a> Installing [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] on a domain controller
118+
112119
For security reasons, we recommend that you do not install [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] on a domain controller. [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] Setup will not block installation on a computer that is a domain controller, but the following limitations apply:
113120

114-
- You cannot run [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] services on a domain controller under a local service account.
121+
- You cannot run [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] services on a domain controller under a local service account.
115122

116-
- After [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] is installed on a computer, you cannot change the computer from a domain member to a domain controller. You must uninstall [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] before you change the host computer to a domain controller.
123+
- After [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] is installed on a computer, you cannot change the computer from a domain member to a domain controller. You must uninstall [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] before you change the host computer to a domain controller.
117124

118-
- After [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] is installed on a computer, you cannot change the computer from a domain controller to a domain member. You must uninstall [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] before you change the host computer to a domain member.
125+
- After [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] is installed on a computer, you cannot change the computer from a domain controller to a domain member. You must uninstall [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] before you change the host computer to a domain member.
119126

120-
- [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] failover cluster instances are not supported where cluster nodes are domain controllers.
127+
- [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] failover cluster instances are not supported where cluster nodes are domain controllers.
121128

122-
- [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] Setup cannot create security groups or provision [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] service accounts on a read-only domain controller. In this scenario, Setup will fail.
129+
- [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] Setup cannot create security groups or provision [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] service accounts on a read-only domain controller. In this scenario, Setup will fail.
123130

124-
## During or After Installation of [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)]
131+
## During or After Installation of [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)]
132+
125133
After installation, you can enhance the security of the [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] installation by following these best practices regarding accounts and authentication modes:
126134

127-
**Service accounts**
135+
### Service accounts
128136

129-
- Run [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] services by using the lowest possible permissions.
137+
- Run [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] services by using the lowest possible permissions.
130138

131-
- Associate [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] services with low privileged Windows local user accounts, or domain user accounts.
139+
- Associate [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] services with low privileged Windows local user accounts, or domain user accounts.
132140

133-
- For more information, see [Configure Windows Service Accounts and Permissions](../../database-engine/configure-windows/configure-windows-service-accounts-and-permissions.md).
141+
- For more information, see [Configure Windows Service Accounts and Permissions](../../database-engine/configure-windows/configure-windows-service-accounts-and-permissions.md).
134142

135-
**Authentication mode**
143+
### Authentication mode
136144

137-
- Require Windows Authentication for connections to [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)].
145+
- Require Windows Authentication for connections to [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)].
138146

139-
- Use Kerberos authentication. For more information, see [Register a Service Principal Name for Kerberos Connections](../../database-engine/configure-windows/register-a-service-principal-name-for-kerberos-connections.md).
147+
- Use Kerberos authentication. For more information, see [Register a Service Principal Name for Kerberos Connections](../../database-engine/configure-windows/register-a-service-principal-name-for-kerberos-connections.md).
140148

141-
**Strong passwords**
149+
### Strong passwords
142150

143-
- Always assign a strong password to the **sa** account.
151+
- Always assign a strong password to the **sa** account.
144152

145-
- Always enable password policy checking for password strength and expiration.
153+
- Always enable password policy checking for password strength and expiration.
146154

147-
- Always use strong passwords for all [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] logins.
155+
- Always use strong passwords for all [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] logins.
148156

149157
> [!IMPORTANT]
150-
> During setup of [!INCLUDE[ssExpress](../../includes/ssexpress-md.md)] a login is added for the BUILTIN\Users group. This allows all authenticated users of the computer to access the instance of [!INCLUDE[ssExpress](../../includes/ssexpress-md.md)] as a member of the public role. The BUILTIN\Users login can be safely removed to restrict [!INCLUDE[ssDE](../../includes/ssde-md.md)] access to computer users who have individual logins or are members of other Windows groups with logins.
158+
> During setup of [!INCLUDE[ssExpress](../../includes/ssexpress-md.md)] a login is added for the BUILTIN\Users group. This allows all authenticated users of the computer to access the instance of [!INCLUDE[ssExpress](../../includes/ssexpress-md.md)] as a member of the public role. The BUILTIN\Users login can be safely removed to restrict [!INCLUDE[ssDE](../../includes/ssde-md.md)] access to computer users who have individual logins or are members of other Windows groups with logins.
151159
152-
## See Also
160+
## See Also
161+
153162
[Hardware and Software Requirements for Installing SQL Server](../../sql-server/install/hardware-and-software-requirements-for-installing-sql-server.md)
154163
[Network Protocols and Network Libraries](../../sql-server/install/network-protocols-and-network-libraries.md)
155164
[Register a Service Principal Name for Kerberos Connections](../../database-engine/configure-windows/register-a-service-principal-name-for-kerberos-connections.md)
156-
157-
165+

0 commit comments

Comments
 (0)