SQL Server の保護

新規 : 2006 年 12 月 12 日

SQL Server の保護には、3 つの領域があります。プラットフォームとネットワーク、プリンシパルとセキュリティ保護可能なリソース、およびデータベースにアクセスするアプリケーションです。以下の各トピックでは、効果的なセキュリティ計画を作成および実装する方法について、順を追って説明します。

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

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

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

物理的なセキュリティ

物理的なセキュリティのベスト プラクティスは、物理的なサーバーおよびハードウェア コンポーネントへのアクセスを制限することです。たとえば、鍵のかかる部屋を使用し、データベース サーバー ハードウェアおよびネットワーク デバイスへのアクセスを制限します。さらに、バックアップ メディアをオフサイトの安全な場所で保管することにより、バックアップ メディアへのアクセスも制限します。

物理的なネットワーク セキュリティを実装する第一歩は、承認されていないユーザーがネットワークにアクセスできないようにすることです。次の表に、ネットワーク セキュリティ情報の詳細を示します。

詳細 参照先

ネットワークと SQL Server

ネットワーク プロトコルと TDS エンドポイント

SQL Server で使用するポートの指定および制限

サーバーのネットワーク プロトコルと Net-Library の構成

SQL Server へのネットワーク アクセスの制限

ネットワーク アクセスの制限

SQL Server 2005 Compact Edition および他の SQL Server エディションへのネットワークアクセス

SQL Server 2005 Compact Edition Books Online の「サーバー環境の構成とセキュリティ設定」

バックアップと復元の方法

バックアップと復元のセキュリティについての考慮事項.

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

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

ファイアウォールも、セキュリティを実装する効果的な方法を提供します。論理的には、組織のデータ セキュリティ ポリシーに従って、ネットワーク トラフィックを分離または制限する役割を果たすのがファイアウォールです。ファイアウォールを使用すると、セキュリティ対策を特に強化するポイントを設けることができ、これによってオペレーティング システム レベルのセキュリティを向上させることができます。次の表に、SQL Server でのファイアウォールの使用に関する詳細情報を示します。

詳細 参照先

ファイアウォールを SQL Server で使用できるように構成します。

SQL Server アクセスに対してファイアウォールを構成する方法

ファイアウォールを Integration Services で使用できるように構成します。

Integration Services アクセスを有効にする Windows ファイアウォールの構成

ファイアウォールを Analysis Services で使用できるように構成します。

Analysis Services アクセスに対して Windows ファイアウォールを構成する方法

ファイアウォールを Reporting Services で使用できるように構成します。

サーバー配置のチェックリスト

ファイアウォールの特定のポートを開いて、SQL Server へのアクセスを許可します。

ファイアウォールでポートを開く

表面積 (外部からアクセスを受ける領域) の縮小とはセキュリティのための措置であり、これには使用されていないコンポーネントの停止や無効化などが含まれます。表面積を縮小すると、システムを攻撃する手段が限られるので、これによってセキュリティの向上を図ることができます。SQL Server の表面積を制限するための鍵は、サービスとユーザーに適切な権限のみを付与することによって、必要なサービスを "最小の権限" で実行することです。次の表に、サービスおよびシステム アクセスの詳細を示します。

詳細 参照先

SQL Server に必要なサービス

Windows サービス アカウントの設定

サーバー ログオン アクセスの制限

対話形式でのログオン アクセスの制限

ローカル管理権限

ローカル管理権限の付与

SQL Server システムがインターネット インフォメーション サービス (IIS) を使用する場合は、プラットフォームを外部のアクセスから保護するための追加の手順が必要です。次の表に、SQL Server およびインターネット インフォメーション サービスに関する情報を示します。

詳細 参照先

SQL Server 2005 Compact Edition での IIS セキュリティ

SQL Server 2005 Compact Edition Books Online の「IIS セキュリティ (IIS Security)」

SQL Server での XML サービスの使用と IIS

ネイティブ XML Web サービスを使用する際の推奨事項

レポート サーバーとインターネット アクセス

インターネット アクセス用のレポート サーバーの構成

レポート サーバーでのフォーム セキュリティの設定

セキュリティ拡張機能のサンプル

Reporting Services 認証

Reporting Services での認証

SQL Server 2005 Compact Edition と IIS アクセス

SQL Server 2005 Compact Edition Books Online の「インターネット インフォメーション サービス セキュリティ フローチャート」

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

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

詳細 参照先

SQL Server プログラム ファイル

SQL Server 2005 の既定のインスタンスおよび名前付きインスタンスのファイルの場所

データベース ファイル セキュリティ

データ ファイルとログ ファイルのセキュリティ保護

Notification Services ファイル セキュリティ

ファイルおよびフォルダのセキュリティ保護

Analysis Services ファイル セキュリティ

プログラム ファイル、共通コンポーネント、およびデータ ファイルのセキュリティ保護

SQL Server のサービス パックおよびアップグレードは、強化されたセキュリティを提供します。SQL Server 用の利用可能な最新サービス パックを確認するには、SQL Server Web サイトを参照してください。

次のスクリプトを使用すると、システムにインストールされているサービス パックを確認できます。

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

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

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

詳細 参照先

サーバーとデータベース ユーザー、ロール、プロセス

プリンシパル

サーバーとデータベース オブジェクトのセキュリティ

セキュリティ保護可能なリソース

SQL Server セキュリティ階層

権限の階層

データベースおよびアプリケーションのセキュリティの詳細については、「データベースおよびデータベース アプリケーションのセキュリティに関する注意点」を参照してください。

暗号化と証明書

暗号化では、アクセス コントロールの問題は解決されません。ただし、暗号化を使用すると、通常はあまり発生しないような、アクセス コントロールがバイパスされるという状況においても、データ損失のリスクを限定でき、セキュリティが強化されます。たとえば、データベース ホスト コンピュータの構成が適切でない場合に、クレジット カード番号のような機密データをハッカーが入手したとしても、その情報が暗号化されていれば、ハッカーはその情報を使用できません。次の表に、SQL Server の暗号化の詳細を示します。

詳細 参照先

SQL Server での暗号化階層

暗号化階層

SQL Server 接続の暗号化

SQL Server への接続の暗号化

安全な接続の実装

データベース エンジンへの暗号化接続を有効にする方法 (SQL Server 構成マネージャ)

暗号化関数

暗号化関数 (Transact-SQL)

暗号化の実装

暗号化の操作方法に関するトピック

データの暗号化のための Analysis Services の設定

データ暗号化の要求

証明書は、2 つのサーバー間で共有されているソフトウェアの "キー" であり、強力な認証による安全な通信を実現します。SQL Server で証明書を作成して使用することで、オブジェクトおよび接続のセキュリティを向上させることができます。次の表に、SQL Server での証明書の使用の詳細を示します。

詳細 参照先

安全な接続のための証明書の使用

SSL に使用する証明書の構成

SQL Server で使用するための証明書の作成

CREATE CERTIFICATE (Transact-SQL)

SQL Server Service Broker での証明書の使用

証明書および Service Broker

データベース ミラーリングでの証明書の使用

データベース ミラーリングでの証明書の使用

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

SQL Server セキュリティのベスト プラクティスには、安全なクライアント アプリケーションの作成が含まれています。サーバー アクセスと SQL Server クライアント アプリケーションの詳細については、「SQL Server プログラミングの概要」を参照してください。

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

ネイティブ XML サービスを使用するアプリケーションの作成方法の詳細については、「クライアント アプリケーションの作成」を参照してください。

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

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

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

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

詳細 参照先

SQL Server への接続、構成、制御

SQL Server Management Studio の概要

SQL Server への接続、コマンド プロンプトからのクエリの実行

sqlcmd ユーティリティ

SQL Server のためのネットワーク構成および制御

SQL Server 構成マネージャ

機能および接続オプションの構成

SQL Server セキュリティ構成

コマンド プロンプトから機能および接続オプションを構成する方法

sac ユーティリティ

レポート サーバーのための対称キーの操作

rskeymgmt ユーティリティ

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

データベース エンジンでは、パフォーマンスおよび実用性のために最適化されているいくつかのビューおよび関数でセキュリティ情報が公開されます。次の表に、セキュリティ ビューおよび関数に関する情報を示します。

詳細 参照先

SQL Server セキュリティ カタログ ビューには、データベース レベルおよびサーバー レベルの権限、プリンシパル、ロールなどに関する情報が表示されます。暗号化キーおよび証明書に関する情報や、資格情報を表示できるカタログ ビューもあります。

セキュリティ カタログ ビュー (Transact-SQL)

SQL Server セキュリティ関数は、現在のユーザー、権限、スキーマなどに関する情報を返します。

セキュリティ関数 (Transact-SQL)

参照

その他の技術情報

SQL Server インストールのセキュリティに関する注意点

ヘルプおよび情報

SQL Server 2005 の参考資料の入手