SQL Server の保護

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

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

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

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

物理的なセキュリティ

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

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

詳細

参照先

ネットワークと SQL Server

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

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

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

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

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

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

SQL Server Compact 3.5 SP1 オンライン ブックの「サーバー環境の構成とセキュリティ設定」

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

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

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

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

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

詳細

参照先

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

データベース エンジン アクセスを有効にするための Windows ファイアウォールの構成方法

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

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

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

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

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

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

ファイアウォールの特定のポートを開いて、SQL Server にアクセスできるようにします。

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

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

詳細

参照先

SQL Server に必要なサービス

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

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

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

ローカル管理権限

ローカル管理権限の付与

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

詳細

参照先

SQL Server Compact 3.5 SP1 での IIS セキュリティ

SQL Server Compact 3.5 SP1 オンライン ブックの「IIS セキュリティ (IIS Security)」

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

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

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

エクストラネット/インターネット配置の計画

Reporting Services 認証

Reporting Services での認証

SQL Server Compact 3.5 SP1 と IIS アクセス

SQL Server Compact 3.5 SP1 オンライン ブックの「インターネット インフォメーション サービス セキュリティ フローチャート」

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

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

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

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

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

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

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

詳細

参照先

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

プリンシパル (データベース エンジン)

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

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

SQL Server セキュリティ階層

権限の階層 (データベース エンジン)

データベースとアプリケーションのセキュリティの詳細については、「ID およびアクセス制御 (データベース エンジン)」を参照してください。

暗号化と証明書

暗号化では、アクセス コントロールの問題は解決されません。ただし、暗号化を使用すると、アクセス コントロールがバイパスされるようなまれな状況においてもデータ損失のリスクが限定されるので、セキュリティが強化されます。たとえば、データベース ホスト コンピューターの構成が適切でない場合に、クレジット カード番号などの機密データを悪意のあるユーザーが入手したとしても、盗まれた情報が暗号化されていれば悪用される可能性が小さくなります。次の表に、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 ServerService Broker での証明書の使用

証明書および Service Broker

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

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

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

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 構成マネージャ

ポリシー ベースの管理を使用した機能の有効化と無効化

ポリシー ベースの管理を使用したサーバーの管理

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

rskeymgmt ユーティリティ

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

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

詳細

参照先

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

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

現在のユーザー、権限、およびスキーマに関する情報を返す SQL Server セキュリティ関数。

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

SQL Server セキュリティの動的管理ビュー。 

セキュリティ関連の動的管理ビューおよび関数 (Transact-SQL)