SQL Server の保護
新規 : 2006 年 12 月 12 日
SQL Server の保護には、3 つの領域があります。プラットフォームとネットワーク、プリンシパルとセキュリティ保護可能なリソース、およびデータベースにアクセスするアプリケーションです。以下の各トピックでは、効果的なセキュリティ計画を作成および実装する方法について、順を追って説明します。
ベスト プラクティス ガイドやセキュリティ チェックリストなど、SQL Server セキュリティの詳細については、SQL Server の Web サイトを参照してください。このサイトには、最新のサービス パックの情報およびダウンロードも含まれています。
プラットフォームとネットワーク セキュリティ
SQL Server のプラットフォームは、クライアントをデータベース サーバーに接続する物理的なハードウェアおよびネットワーク システムと、データベース要求の処理に使用するバイナリ ファイルで構成されます。
物理的なセキュリティ
物理的なセキュリティのベスト プラクティスは、物理的なサーバーおよびハードウェア コンポーネントへのアクセスを制限することです。たとえば、鍵のかかる部屋を使用し、データベース サーバー ハードウェアおよびネットワーク デバイスへのアクセスを制限します。さらに、バックアップ メディアをオフサイトの安全な場所で保管することにより、バックアップ メディアへのアクセスも制限します。
物理的なネットワーク セキュリティを実装する第一歩は、承認されていないユーザーがネットワークにアクセスできないようにすることです。次の表に、ネットワーク セキュリティ情報の詳細を示します。
詳細 | 参照先 |
---|---|
ネットワークと SQL Server |
|
SQL Server で使用するポートの指定および制限 |
|
SQL Server へのネットワーク アクセスの制限 |
|
SQL Server 2005 Compact Edition および他の SQL Server エディションへのネットワークアクセス |
SQL Server 2005 Compact Edition Books Online の「サーバー環境の構成とセキュリティ設定」 |
バックアップと復元の方法 |
オペレーティング システムのセキュリティ
オペレーティング システムのサービス パックおよびアップグレードには、重要なセキュリティの強化が含まれています。パッチおよびアップグレードはすべて、データベース アプリケーションでテストした後でオペレーティング システムに適用してください。
ファイアウォールも、セキュリティを実装する効果的な方法を提供します。論理的には、組織のデータ セキュリティ ポリシーに従って、ネットワーク トラフィックを分離または制限する役割を果たすのがファイアウォールです。ファイアウォールを使用すると、セキュリティ対策を特に強化するポイントを設けることができ、これによってオペレーティング システム レベルのセキュリティを向上させることができます。次の表に、SQL Server でのファイアウォールの使用に関する詳細情報を示します。
詳細 | 参照先 |
---|---|
ファイアウォールを SQL Server で使用できるように構成します。 |
|
ファイアウォールを Integration Services で使用できるように構成します。 |
|
ファイアウォールを Analysis Services で使用できるように構成します。 |
|
ファイアウォールを Reporting Services で使用できるように構成します。 |
|
ファイアウォールの特定のポートを開いて、SQL Server へのアクセスを許可します。 |
表面積 (外部からアクセスを受ける領域) の縮小とはセキュリティのための措置であり、これには使用されていないコンポーネントの停止や無効化などが含まれます。表面積を縮小すると、システムを攻撃する手段が限られるので、これによってセキュリティの向上を図ることができます。SQL Server の表面積を制限するための鍵は、サービスとユーザーに適切な権限のみを付与することによって、必要なサービスを "最小の権限" で実行することです。次の表に、サービスおよびシステム アクセスの詳細を示します。
詳細 | 参照先 |
---|---|
SQL Server に必要なサービス |
|
サーバー ログオン アクセスの制限 |
|
ローカル管理権限 |
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 |
|
レポート サーバーとインターネット アクセス |
|
レポート サーバーでのフォーム セキュリティの設定 |
|
Reporting Services 認証 |
|
SQL Server 2005 Compact Edition と IIS アクセス |
SQL Server 2005 Compact Edition Books Online の「インターネット インフォメーション サービス セキュリティ フローチャート」 |
SQL Server オペレーティング システム ファイルのセキュリティ
SQL Server では、操作やデータ保存にオペレーティング システム ファイルが使用されます。ファイル セキュリティのベスト プラクティスでは、これらのファイルへのアクセスを制限する必要があります。次の表に、これらのファイルに関する情報を示します。
詳細 | 参照先 |
---|---|
SQL Server プログラム ファイル |
|
データベース ファイル セキュリティ |
|
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 接続の暗号化 |
|
安全な接続の実装 |
|
暗号化関数 |
|
暗号化の実装 |
|
データの暗号化のための Analysis Services の設定 |
証明書は、2 つのサーバー間で共有されているソフトウェアの "キー" であり、強力な認証による安全な通信を実現します。SQL Server で証明書を作成して使用することで、オブジェクトおよび接続のセキュリティを向上させることができます。次の表に、SQL Server での証明書の使用の詳細を示します。
詳細 | 参照先 |
---|---|
安全な接続のための証明書の使用 |
|
SQL Server で使用するための証明書の作成 |
|
SQL Server Service Broker での証明書の使用 |
|
データベース ミラーリングでの証明書の使用 |
アプリケーション セキュリティ
SQL Server セキュリティのベスト プラクティスには、安全なクライアント アプリケーションの作成が含まれています。サーバー アクセスと SQL Server クライアント アプリケーションの詳細については、「SQL Server プログラミングの概要」を参照してください。
ネットワーク レイヤでのクライアント アプリケーションの保護の詳細については、「クライアント ネットワーク構成」を参照してください。
ネイティブ XML サービスを使用するアプリケーションの作成方法の詳細については、「クライアント アプリケーションの作成」を参照してください。
SQL Server のセキュリティ ツール、ユーティリティ、ビュー、関数
SQL Server には、セキュリティの構成および管理に使用できるツール、ユーティリティ、ビュー、および関数が提供されています。
SQL Server のセキュリティ ツールとユーティリティ
次の表に、セキュリティの構成および管理に使用できる SQL Server ツールおよびユーティリティに関する情報を示します。
詳細 | 参照先 |
---|---|
SQL Server への接続、構成、制御 |
|
SQL Server への接続、コマンド プロンプトからのクエリの実行 |
|
SQL Server のためのネットワーク構成および制御 |
|
機能および接続オプションの構成 |
|
コマンド プロンプトから機能および接続オプションを構成する方法 |
|
レポート サーバーのための対称キーの操作 |
SQL Server セキュリティ カタログ ビューと関数
データベース エンジンでは、パフォーマンスおよび実用性のために最適化されているいくつかのビューおよび関数でセキュリティ情報が公開されます。次の表に、セキュリティ ビューおよび関数に関する情報を示します。
詳細 | 参照先 |
---|---|
SQL Server セキュリティ カタログ ビューには、データベース レベルおよびサーバー レベルの権限、プリンシパル、ロールなどに関する情報が表示されます。暗号化キーおよび証明書に関する情報や、資格情報を表示できるカタログ ビューもあります。 |
|
SQL Server セキュリティ関数は、現在のユーザー、権限、スキーマなどに関する情報を返します。 |
参照
その他の技術情報
SQL Server インストールのセキュリティに関する注意点