SQL Server の保護Securing SQL Server

適用対象: ○SQL Server XAzure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

SQL ServerSQL Server の保護は、プラットフォーム、認証、オブジェクト (データを含む)、およびシステムにアクセスするアプリケーションの 4 つの領域が関係する一連の手順としてとらえることができます。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 Web サイトを参照してください。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 Server エディションへのネットワーク アクセスand 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 ファイアウォールを構成するConfigure 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 Analysis Services のアクセスを許可するための Windows ファイアウォールの構成Configure the Windows Firewall to Allow Analysis Services Access
アクセスするためにファイアウォールの特定のポートを開く: SQL ServerSQL ServerOpening specific ports on a firewall to enable access to SQL ServerSQL Server SQL Server のアクセスを許可するための Windows ファイアウォールの構成Configure the Windows Firewall to Allow SQL Server Access
チャネル バインドとサービス バインドを使用して認証の拡張保護をサポートするように構成します。Configuring support for Extended Protection for Authentication by using channel binding and service binding 拡張保護を使用したデータベース エンジンへの接続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 SQL Server CompactSQL Server Compact オンライン ブックの「IIS セキュリティ (IIS Security)」"IIS Security" in SQL Server CompactSQL Server Compact Books Online
Reporting ServicesReporting Services [認証]Authentication Reporting Services での認証Authentication in Reporting Services
SQL Server CompactSQL Server Compact と IIS アクセスand IIS access SQL Server CompactSQL Server Compact オンライン ブックの「インターネット インフォメーション サービス セキュリティ フローチャート」"Internet Information Services Security Flowchart" in SQL Server CompactSQL Server Compact Books Online

SQL Server オペレーティング システム ファイルのセキュリティSQL 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 Server の既定のインスタンスおよび名前付きインスタンスのファイルの場所File Locations for Default and Named Instances of SQL Server

SQL ServerSQL Server のサービス パックおよびアップグレードは、強化されたセキュリティを提供します。service packs and upgrades provide enhanced security. SQL ServerSQL Server用の利用可能な最新サービス パックを確認するには、 SQL Server Web サイトを参照してください。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'));  
GO  

プリンシパルとデータベース オブジェクト セキュリティ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 プリンシパル (データベース エンジン)Principals (Database Engine)
サーバーとデータベース オブジェクトのセキュリティServer and database objects security セキュリティ保護可能Securables
SQL ServerSQL Server セキュリティ階層The SQL ServerSQL Server security hierarchy 権限の階層 (データベース エンジン)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 データベース エンジンへの暗号化接続の有効化 (SQL Server 構成マネージャー)Enable Encrypted Connections to the Database Engine (SQL Server Configuration Manager)
暗号化関数Encryption functions 暗号化関数 (Transact-SQL)Cryptographic Functions (Transact-SQL)

証明書は、2 つのサーバー間で共有されているソフトウェアの "キー" であり、強力な認証による安全な通信を実現します。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

SQL ServerSQL Server セキュリティのベスト プラクティスには、安全なクライアント アプリケーションの作成が含まれています。security best practices include writing secure client applications.

クライアント アプリケーションをネットワーク レイヤーで保護する方法の詳細については、「 クライアント ネットワーク構成」を参照してください。For more information about how to help secure client applications at the networking layer, see Client Network Configuration.

SQL Server のセキュリティ ツール、ユーティリティ、ビュー、関数SQL 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 Server のセキュリティ ツールとユーティリティSQL 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 Studio の使用 [SQL Server]Use SQL Server Management Studio
コマンド プロンプトでの SQL ServerSQL Server への接続とクエリの実行Connecting to SQL ServerSQL Server and running queries at the command prompt sqlcmd ユーティリティsqlcmd Utility
ネットワーク構成および制御: SQL ServerSQL ServerNetwork configuration and control for SQL ServerSQL Server SQL Server 構成マネージャーSQL 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 Server セキュリティ カタログ ビューと関数SQL Server Security Catalog Views and Functions

データベース エンジンDatabase Engine では、パフォーマンスおよび実用性のために最適化されているいくつかのビューおよび関数でセキュリティ情報が公開されます。The データベース エンジンDatabase 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 Server インストールにおけるセキュリティの考慮事項Security Considerations for a SQL Server Installation
SQL Server データベース エンジンと Azure SQL Database のセキュリティ センターSecurity Center for SQL Server Database Engine and Azure SQL Database
SQL Server 2012 のセキュリティに関するベスト プラクティス - 運用作業と管理作業 SQL Server 2012 Security Best Practices - Operational and Administrative Tasks
SQL Server セキュリティ ブログSQL Server Security Blog
セキュリティのベスト プラクティスと Label Security のホワイト ペーパーSecurity Best Practice and Label Security Whitepapers
行レベルのセキュリティ Row-Level Security
SQL Server の知的所有権の保護Protecting Your SQL Server Intellectual Property