次の方法で共有


SQL Server のセキュリティ保護

SQL Server のセキュリティ保護は、プラットフォーム、認証、オブジェクト (データを含む)、およびシステムにアクセスするアプリケーションの 4 つの領域を含む一連の手順と見なすことができます。 次のトピックでは、効果的なセキュリティ 計画の作成と実装について説明します。

SQL Server のセキュリティの詳細については、 SQL Server Web サイトを参照してください。 これには、ベスト プラクティス ガイドとセキュリティ チェックリストが含まれます。 このサイトには、最新のサービス パック情報とダウンロードも含まれています。

プラットフォームとネットワークのセキュリティ

SQL Server のプラットフォームには、クライアントをデータベース サーバーに接続する物理ハードウェアおよびネットワーク システムと、データベース要求の処理に使用されるバイナリ ファイルが含まれます。

物理的なセキュリティ

物理セキュリティのベスト プラクティスでは、物理サーバーとハードウェア コンポーネントへのアクセスを厳密に制限します。 たとえば、データベース サーバーのハードウェアとネットワーク デバイスのアクセスが制限されたロックルームを使用します。 さらに、セキュリティで保護されたオフサイトの場所に保存することで、バックアップ メディアへのアクセスを制限します。

物理ネットワーク セキュリティの実装は、承認されていないユーザーをネットワークから保護することから始まります。 次の表に、ネットワーク セキュリティ情報の詳細を示します。

詳細については、次の情報を参照してください。 参照先
SQL Server Compact と他の SQL Server エディションへのネットワーク アクセス SQL Server Compact オンライン ブックの「サーバー環境の構成とセキュリティ保護」

オペレーティング システムのセキュリティ

オペレーティング システムのサービス パックとアップグレードには、重要なセキュリティ強化が含まれています。 データベース アプリケーションでテストした後、すべての更新プログラムとアップグレードをオペレーティング システムに適用します。

ファイアウォールは、セキュリティを実装するための効果的な方法も提供します。 論理的には、ファイアウォールはネットワーク トラフィックの区切り記号または制限器であり、組織のデータ セキュリティ ポリシーを適用するように構成できます。 ファイアウォールを使用する場合は、セキュリティ対策に重点を置くことができるチョークポイントを提供することで、オペレーティング システム レベルでセキュリティを強化します。 次の表に、SQL Server でファイアウォールを使用する方法の詳細を示します。

詳細については、次の情報を参照してください。 参照先
SQL Server で動作するようにファイアウォールを構成する データベース エンジン アクセスを有効にするための Windows ファイアウォールを構成する
Integration Services で動作するようにファイアウォールを構成する SSIS サービスにアクセスするように Windows ファイアウォールを構成する
Analysis Services で動作するようにファイアウォールを構成する Analysis Services のアクセスを許可するための Windows ファイアウォールの構成
ファイアウォールで特定のポートを開き、SQL Server へのアクセスを有効にする SQL Server のアクセスを許可するための Windows ファイアウォールの構成
チャネル バインドとサービス バインドを使用した認証の拡張保護のサポートの構成 拡張保護を使用したデータベース エンジンへの接続

サーフェス 領域の削減は、未使用のコンポーネントの停止または無効化を伴うセキュリティ対策です。 領域の縮小は、システムに対する潜在的な攻撃の手段を減らすことで、セキュリティの向上に役立ちます。 SQL Server の対象領域を制限する鍵となるのは、サービスとユーザーに適切な権限のみを付与することで、"最小限の特権" を持つ必要なサービスを実行することです。 次の表に、サービスとシステム アクセスの詳細を示します。

詳細については、次の情報を参照してください。 参照先
SQL Server に必要なサービス Windows サービス アカウントと権限の構成

SQL Server システムでインターネット インフォメーション サービス (IIS) を使用している場合は、プラットフォームの表面をセキュリティで保護するために追加の手順が必要です。 次の表に、SQL Server とインターネット インフォメーション サービスに関する情報を示します。

詳細については、次の情報を参照してください。 参照先
SQL Server Compact を使用した IIS セキュリティ SQL Server Compact オンライン ブック「IIS セキュリティ」
Reporting Services 認証 Reporting Services での認証
SQL Server Compact および IIS アクセス SQL Server Compact オンライン ブックの 「インターネット インフォメーション サービスセキュリティフローチャート」

SQL Server オペレーティング システム ファイルのセキュリティ

SQL Server では、オペレーティング システム ファイルを操作とデータ ストレージに使用します。 ファイル セキュリティのベスト プラクティスでは、これらのファイルへのアクセスを制限する必要があります。 次の表に、これらのファイルに関する情報を示します。

詳細については、次の情報を参照してください。 参照先
SQL Server プログラム ファイル SQL Server の既定のインスタンスおよび名前付きインスタンスのファイルの場所

SQL Server サービス パックとアップグレードにより、セキュリティが強化されます。 SQL Server で使用できる最新のサービス パックを確認するには、 SQL Server Web サイトを参照してください。

次のスクリプトを使用して、システムにインストールされている Service Pack を特定できます。

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

プリンシパルとデータベースオブジェクトのセキュリティ

プリンシパルは、SQL Server へのアクセスを許可された個人、グループ、およびプロセスです。 "セキュリティ保護可能なリソース" とは、サーバー、データベース、およびデータベースに含まれているオブジェクトを指します。 それぞれに、SQL Server のサーフェス領域を減らすために構成できる一連のアクセス許可があります。 次の表に、プリンシパルおよびセキュリティ保護可能なリソースに関する情報を示します。

詳細については、次の情報を参照してください。 参照先
サーバーとデータベースのユーザー、ロール、プロセス プリンシパル (データベース エンジン)
サーバーとデータベース オブジェクトのセキュリティ セキュリティ保護可能
SQL Server のセキュリティ階層 権限の階層 (データベース エンジン)

暗号化と証明書

暗号化では、アクセス制御の問題は解決されません。 ただし、暗号化を使用すると、アクセス コントロールがバイパスされるようなまれな状況においてもデータ損失のリスクが限定されるので、セキュリティが強化されます。 たとえば、データベース ホスト コンピューターが正しく構成されておらず、悪意のあるユーザーがクレジット カード番号などの機密データを取得した場合、盗まれた情報が暗号化されている場合は役に立たない可能性があります。 次の表に、SQL Server での暗号化の詳細を示します。

詳細については、次の情報を参照してください。 参照先
SQL Server の暗号化階層 暗号化階層
安全な接続の実装 データベース エンジンへの暗号化接続を有効にする (SQL Server 構成マネージャー)
暗号化関数 暗号化関数 (Transact-SQL)

証明書は、強力な認証を使用してセキュリティで保護された通信を可能にする 2 つのサーバー間で共有されるソフトウェアの "キー" です。 SQL Server で証明書を作成して使用すると、オブジェクトと接続のセキュリティを強化できます。 次の表に、SQL Server で証明書を使用する方法に関する情報を示します。

詳細については、次の情報を参照してください。 参照先
SQL Server で使用する証明書の作成 証明書を作成する (Transact-SQL)
データベース ミラーリングでの証明書の使用 データベース ミラーリング エンドポイントでの証明書の使用 (Transact-SQL)

アプリケーション セキュリティ

SQL Server のセキュリティのベスト プラクティスには、セキュリティで保護されたクライアント アプリケーションの記述が含まれます。

クライアント アプリケーションをネットワーク レイヤーで保護する方法の詳細については、「 クライアント ネットワーク構成」を参照してください。

SQL Server セキュリティ ツール、ユーティリティ、ビュー、および関数

SQL Server には、セキュリティの構成と管理に使用できるツール、ユーティリティ、ビュー、および関数が用意されています。

SQL Server セキュリティ ツールとユーティリティ

次の表に、セキュリティの構成と管理に使用できる SQL Server のツールとユーティリティに関する情報を示します。

詳細については、次の情報を参照してください。 参照先
SQL Server への接続、構成、および制御 SQL Server Management Studio の使用
コマンド プロンプトでの SQL Server への接続とクエリの実行 sqlcmd ユーティリティ
SQL Server のネットワーク構成と制御 SQL Server 構成マネージャー
ポリシー ベースの管理を使用した機能の有効化と無効化 ポリシー ベースの管理を使用したサーバーの管理
レポート サーバーの対称キーの操作 rskeymgmt ユーティリティ (SSRS)

SQL Server セキュリティ カタログのビューと関数

データベース エンジンは、パフォーマンスとユーティリティ用に最適化された複数のビューと関数でセキュリティ情報を公開します。 次の表に、セキュリティ ビューと関数に関する情報を示します。

詳細については、次の情報を参照してください。 参照先
SQL Server セキュリティ カタログ ビュー。データベース レベルおよびサーバー レベルのアクセス許可、プリンシパル、ロールなどの情報を返します。 暗号化キーと証明書に関する情報や資格情報を表示するカタログ ビューもあります。 セキュリティ カタログ ビュー (Transact-SQL)
現在のユーザー、アクセス許可、スキーマに関する情報を返す SQL Server セキュリティ関数。 セキュリティ関数 (Transact-SQL)
SQL Server セキュリティの動的管理ビュー。 セキュリティ関連の動的管理ビューおよび関数 (Transact-SQL)

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

SQL Server データベース エンジンと Azure SQL Database のセキュリティ センター