SQL Server インストールにおけるセキュリティの考慮事項Security Considerations for a SQL Server Installation

適用対象: yesSQL Server (Windows only) noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server (Windows only) noAzure SQL Database noAzure Synapse Analytics (SQL DW) 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 Server をインストールする前にBefore 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.

  • アプリケーションで分散トランザクションを使用する場合は、別々の MS DTC インスタンスの間で 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. また、 SQL ServerSQL Serverなどのリソース マネージャーと MS DTC の間でトラフィックが許可されるようにファイアウォールを構成する必要もあります。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 ファイアウォールの既定の設定に関する詳細と、 データベース エンジンDatabase EngineAnalysis ServicesAnalysis ServicesReporting ServicesReporting Services、および Integration ServicesIntegration Servicesに影響する TCP ポートの説明については、「 SQL Server のアクセスを許可するための Windows ファイアウォールの構成」をご覧ください。For more information about the default Windows firewall settings, and a description of the TCP ports that affect the データベース エンジンDatabase 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 ファイル システム (NTFS) を使用します。Use the NTFS file system (NTFS). NTFS は、FAT ファイル システムに比べて安定性と復旧性が高いことから、 SQL ServerSQL Server のインストールのファイル システムとして推奨されています。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 のインストール時に NTFS が検出されると、レジストリ キーとファイルに対して適切な ACL が設定されます。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を実行しているアカウントの ID でデータベース ファイルが暗号化されます。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 (Redundant Array of Independent Disks) を使用します。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)

  • TCP/139 (NetBIOS セッション サービス)TCP/139 (NetBIOS session service)

SMB には次のポートを使用します。SMB uses the following ports:

  • TCP/139TCP/139

  • TCP/445TCP/445

Web サーバーとドメイン ネーム システム (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 Server のインストール中またはインストール後During 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

強力なパスワード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. これにより、コンピューターの認証されたすべてのユーザーが public ロールのメンバーとして SQL Server ExpressSQL Server Express のインスタンスにアクセスできるようになります。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 Engine アクセスを、個別のログインを持つコンピューター ユーザーまたはログインを持つ他の Windows グループのメンバーに制限できます。The BUILTIN\Users login can be safely removed to restrict データベース エンジンDatabase 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
Kerberos 接続用のサービス プリンシパル名の登録Register a Service Principal Name for Kerberos Connections