SQL Server の保護
SQL Server の保護は、プラットフォーム、認証、オブジェクト (データを含む)、およびシステムにアクセスするアプリケーションの 4 つの領域が関係する一連の手順としてとらえることができます。以下の各トピックでは、効果的なセキュリティ計画を作成および実装する方法について、順を追って説明します。
SQL Server セキュリティの詳細については、SQL Server Web サイトを参照してください。このサイトには、推奨事項やセキュリティ チェックリストが掲載されています。このサイトには、最新のサービス パックの情報およびダウンロードも含まれています。
プラットフォームとネットワーク セキュリティ
SQL Server のプラットフォームは、クライアントをデータベース サーバーに接続する物理的なハードウェアおよびネットワーク システムと、データベース要求の処理に使用するバイナリ ファイルで構成されます。
物理的なセキュリティ
物理的なセキュリティのベスト プラクティスは、物理的なサーバーおよびハードウェア コンポーネントへのアクセスを制限することです。たとえば、鍵のかかる部屋を使用し、データベース サーバー ハードウェアおよびネットワーク デバイスへのアクセスを制限します。さらに、バックアップ メディアをオフサイトの安全な場所で保管することにより、バックアップ メディアへのアクセスも制限します。
物理的なネットワーク セキュリティを実装する第一歩は、承認されていないユーザーがネットワークにアクセスできないようにすることです。次の表に、ネットワーク セキュリティ情報の詳細を示します。
詳細 |
参照先 |
---|---|
ネットワークと SQL Server |
|
SQL Server で使用するポートの指定および制限 |
|
SQL Server へのネットワーク アクセスの制限 |
|
SQL Server Compact 3.5 SP2 および他の SQL Server エディションへのネットワーク アクセス |
SQL Server Compact 3.5 SP2 オンライン ブックの「サーバー環境の構成とセキュリティ設定」 |
バックアップと復元の方法 |
オペレーティング システムのセキュリティ
オペレーティング システムのサービス パックおよびアップグレードには、重要なセキュリティの強化が含まれています。更新プログラムおよびアップグレードは、すべてデータベース アプリケーションでテストしてからオペレーティング システムに適用してください。
ファイアウォールも、セキュリティを実装する効果的な方法を提供します。論理的には、組織のデータ セキュリティ ポリシーに従って、ネットワーク トラフィックを分離または制限する役割を果たすのがファイアウォールです。ファイアウォールを使用する場合は、セキュリティ対策を特に強化するポイントを設けることで、オペレーティング システム レベルのセキュリティが向上します。次の表に、SQL Server でのファイアウォールの使用方法に関する詳細情報を示します。
詳細 |
参照先 |
---|---|
ファイアウォールを SQL Server で使用できるように構成します。 |
|
ファイアウォールを Integration Services で使用できるように構成します。 |
|
ファイアウォールを Analysis Services で使用できるように構成します。 |
|
ファイアウォールを Reporting Services で使用できるように構成します。 |
|
ファイアウォールの特定のポートを開いて、SQL Server にアクセスできるようにします。 |
|
チャネル バインドとサービス バインドを使用して認証の拡張保護をサポートするように構成します。 |
外部からのアクセスの縮小はセキュリティのための措置で、未使用のコンポーネントの停止または無効化などが含まれます。外部からのアクセスを縮小すると、システムを攻撃する手段が限られるので、セキュリティの向上を図ることができます。SQL Server への外部からのアクセスを制限するために重要なことは、サービスとユーザーに適切な権限のみを付与して、必要なサービスを "最小の権限" で実行することです。次の表に、サービスおよびシステム アクセスの詳細を示します。
詳細 |
参照先 |
---|---|
SQL Server に必要なサービス |
|
サーバー ログオン アクセスの制限 |
|
ローカル管理権限 |
SQL Server システムがインターネット インフォメーション サービス (IIS) を使用する場合は、プラットフォームを外部のアクセスから保護するための追加の手順が必要です。次の表に、SQL Server および IIS に関する情報を示します。
詳細 |
参照先 |
---|---|
SQL Server Compact 3.5 SP2 での IIS セキュリティ |
SQL Server Compact 3.5 SP2 オンライン ブックの「IIS セキュリティ (IIS Security)」 |
SQL Server での Web サービスの使用と IIS |
|
レポート サーバーとインターネット アクセス |
|
Reporting Services 認証 |
|
SQL Server Compact 3.5 SP2 と IIS アクセス |
SQL Server Compact 3.5 SP2 オンライン ブックの「インターネット インフォメーション サービス セキュリティ フローチャート」 |
SQL Server オペレーティング システム ファイルのセキュリティ
SQL Server では、操作やデータ保存にオペレーティング システム ファイルが使用されます。ファイル セキュリティのベスト プラクティスでは、これらのファイルへのアクセスを制限する必要があります。次の表に、これらのファイルに関する情報を示します。
詳細 |
参照先 |
---|---|
SQL Server プログラム ファイル |
|
データベース ファイル セキュリティ |
|
Analysis Services ファイル セキュリティ |
SQL Server のサービス パックおよびアップグレードは、強化されたセキュリティを提供します。SQL Server 用の利用可能な最新サービス パックを確認するには、SQL Server Web サイトを参照してください。
次のスクリプトを使用すると、システムにインストールされているサービス パックを確認できます。
SELECT CONVERT(char(20), SERVERPROPERTY('productlevel'));
GO
SELECT CONVERT(char(20), SERVERPROPERTY('productlevel'));
GO
プリンシパルとデータベース オブジェクト セキュリティ
プリンシパルは、個人、グループ、およびプロセスに与えられた SQL Server へのアクセスです。"セキュリティ保護可能なリソース" とは、サーバー、データベース、およびデータベースに含まれているオブジェクトを指します。それぞれのリソースには、SQL Server の外部からのアクセスを縮小するために構成できる一連の権限が設定されています。次の表に、プリンシパルおよびセキュリティ保護可能なリソースに関する情報を示します。
詳細 |
参照先 |
---|---|
サーバーとデータベースのユーザー、ロール、プロセス |
|
サーバーとデータベース オブジェクトのセキュリティ |
|
SQL Server セキュリティ階層 |
データベースとアプリケーションのセキュリティの詳細については、「ID およびアクセス制御 (データベース エンジン)」を参照してください。
暗号化と証明書
暗号化では、アクセス コントロールの問題は解決されません。ただし、暗号化を使用すると、アクセス コントロールがバイパスされるようなまれな状況においてもデータ損失のリスクが限定されるので、セキュリティが強化されます。たとえば、データベース ホスト コンピューターの構成が適切でない場合に、クレジット カード番号などの機密データを悪意のあるユーザーが入手したとしても、盗まれた情報が暗号化されていれば悪用される可能性が小さくなります。次の表に、SQL Server での暗号化の詳細を示します。
詳細 |
参照先 |
---|---|
SQL Server での暗号化階層 |
|
SQL Server 接続の暗号化 |
|
安全な接続の実装 |
|
暗号化関数 |
|
暗号化の実装 |
|
データの暗号化のための Analysis Services の設定 |
証明書は、2 つのサーバー間で共有されているソフトウェアの "キー" であり、強力な認証による安全な通信を実現します。SQL Server で証明書を作成して使用することで、オブジェクトおよび接続のセキュリティを向上させることができます。次の表に、SQL Server での証明書の使用方法に関する情報を示します。
詳細 |
参照先 |
---|---|
安全な接続のための証明書の使用 |
|
SQL Server で使用するための証明書の作成 |
|
SQL Server Service Broker での証明書の使用 |
|
データベース ミラーリングでの証明書の使用 |
アプリケーション セキュリティ
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 セキュリティの動的管理ビュー。 |