[HOWTO] .NET Framework をベースに構築されたアプリケーションのセキュリティ保護

文書翻訳 文書翻訳
文書番号: 818014 - 対象製品
すべて展開する | すべて折りたたむ

目次

概要

この資料では、.NET Framework をベースに構築されたアプリケーションのセキュリティ保護に関する重要な注意事項について、手順を追って説明します。この資料は、.NET Framework をベースに構築されたアプリケーションの詳細情報について説明する一連の資料の中の 1 つです。

この一連の資料には、以下のものがあります。
818016 [HOWTO] .NET Framework をベースに構築されたアプリケーションの展開
818013 [HOWTO] .NET Framework をベースに構築されたアプリケーションのサポート
818015 [HOWTO] .NET Framework をベースに構築されたアプリケーションのパフォーマンスの調整
818014 .NET Framework をベースに構築されたアプリケーションのセキュリティ保護

ゾーンに基づいた .NET Framework セキュリティの調整

.NET Framework は、マネージ アセンブリに信頼レベルを割り当てます。これらの割り当ては、ある程度、アセンブリを実行しているゾーンに基づいています。標準のゾーンは、マイ コンピュータ、ローカル イントラネット、インターネット、信頼済みサイト、および信頼されないサイトです。これらのゾーンのいずれかに関連付けられている信頼レベルの変更が必要になる場合があります。.NET Framework にはこれらの設定を調整するためのツールが含まれています。

ゾーンに関連付けられている信頼レベルの調整方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
815148 [HOWTO] ゾーン別に .NET Framework のセキュリティを調整する方法

.NET Framework アセンブリに与える信頼レベルの調整

.NET Framework には、アセンブリに与える必要がある信頼レベルを決定するための多くの方法があります。ただし、この規則に例外を設けて、特定のアセンブリが、共通言語ランタイムに提供される証拠に基づいて受け取る通常の信頼レベルよりも高い信頼レベルを受け取るようにすることができます。.NET Framework には、この用途に専用のウィザード ツールが用意されています。

アセンブリの信頼レベルを調整する方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
815147 [HOWTO] .NET Framework アセンブリの信頼レベルを変更する方法

カスタマイズされたポリシー レベルの復元

管理者は、さまざまな信頼レベルで実行されるアセンブリに与えるアクセスを完全に制御できます。信頼レベルをカスタマイズした場合、通常は標準の信頼レベルで実行されるアプリケーションを実行したときに、問題が発生することがあります。ただし、簡単に、ポリシー レベルをデフォルトの設定に復元することができます。

セキュリティ レベルをデフォルト設定に復元する方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
815165 [HOWTO] ASP.NET アプリケーションのデフォルトのポリシー レベルを復元する方法

アセンブリに与えられたアクセス許可の評価

エンタープライズ、コンピュータ、およびユーザーのセキュリティ構成ポリシーと、カスタマイズ可能な信頼レベルが存在している場合、マネージ アセンブリに与えられたアクセス許可の評価が困難な場合があります。.NET Framework の構成ツールには、これらのアクセス許可を評価するための簡単な手段が含まれています。

アセンブリに与えられているアクセス許可を評価する方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
815170 [HOWTO] アセンブリに付与されているアクセス許可を評価する方法

.NET 接続されたアプリケーションのセキュリティの監査

アップグレード、テスト、およびトラブルシューティングの間に、実運用システムの構成が予期しない方法で変更される場合があります。たとえば、管理者は、エラーがアクセス権に関係しているのかどうかを判断するときに、ユーザーに管理者の資格情報を与える場合があります。トラブルシューティング処理が完了した後で、その管理者が、昇格したそれらの資格情報の取り消しを忘れた場合には、システムの整合性が損なわれます。

システムのセキュリティはこの種の行為によって時間と共に低下する可能性があるため、定期的な監査の実行を推奨します。このためには、元のシステムの主要な特性をドキュメント化して、ベースラインとなる指標を作成します。将来にわたって、これらの設定とこのベースラインとを比較し、脆弱性に関して安全性を大幅に低下させる可能性のある問題が生じていないかどうかを確認します。

.NET に接続しているアプリケーション用に、または ASP.NET アプリケーション用に特別に監査する必要がある特定の構成アイテムの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
815143 [HOWTO] .NET Framework 構成のセキュリティを監査する方法
815144 [HOWTO] ASP.NET Web アプリケーションまたは Web サービスのセキュリティを監査する方法

ネットワーク通信の代替ポート番号を使用するための .NET 接続されたアプリケーションおよび Microsoft SQL Server の構成

多くの自動化ツールは、既知のポート番号を照会して、利用できるサーバーや脆弱性を識別しています。これらのツールには、正当なセキュリティ評価ツール、および悪意のあるユーザーが使用している可能性があるツールの両方が含まれます。

この種のツールに対する危険性を低減する方法の 1 つは、アプリケーションが使用するポート番号を変更することです。バックエンドの Microsoft SQL Server データベースに依存している .NET 接続されたアプリケーションにこの方法を適用できます。この方法は、サーバーとクライアントの両方が正しく構成されている場合に機能します。

.NET 接続されたアプリケーションが SQL サーバーを実行しているコンピュータとの通信のために使用するポート番号を変更する方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
815146 [HOWTO] ネットワーク通信で別のポート番号を使用するように .NET 接続されたアプリケーションと SQL Server を構成する方法

ASP.NET Web アプリケーションまたは Web サービスの保護

ASP.NET Web アプリケーションおよび Web サービスのセキュリティを向上させるには、多くの方法があります。たとえば、パケット フィルタ、ファイアウォール、限定的なファイル アクセス許可、URLScan ISAPI フィルタ、慎重に統制された SQL Server 権限などを利用できます。これらのさまざまな方法を調査し、ASP.NET アプリケーションに十分なセキュリティを提供することを推奨します。

複数の層における ASP.NET アプリケーションのセキュリティを強化する方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
815145 [HOWTO] ASP.NET Web アプリケーションまたは Web サービスをロック ダウンする方法

ASP.NET アプリケーションのセキュリティを強化するための NTFS ファイルのアクセス許可の構成

NTFS ファイルのアクセス許可は、引き続き Web アプリケーションのセキュリティの重要な層となっています。ASP.NET アプリケーションには、従来の Web アプリケーション環境よりも多くの種類のファイルが含まれています。匿名ユーザー アカウントでアクセスできる必要があるファイルは簡単には判断できません。

一般的な種類の ASP.NET ファイルで最低限必要となるファイル アクセス許可の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
815153 NTFS ファイルのアクセス許可を構成して ASP.NET アプリケーションのセキュリティを強化する方法

.NET Framework をベースに構築されたアプリケーションに対する SQL Server セキュリティの構成

SQL Server のデフォルトの設定では、データベースの照会または更新の権限がユーザーに付与されていません。この規則は ASP.NET アプリケーションおよび ASPNET ユーザー アカウントにも適用されます。ASP.NET アプリケーションが SQL Server データベースに格納されたデータにアクセスできるようにするには、データベース管理者が ASPNET アカウントに権限を与える必要があります。

ASP.NET アプリケーションからの照会および更新を許可するよう SQL Server を構成する方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
815154 .NET アプリケーション用に SQL Server のセキュリティを構成する方法

ASP.NET Web アプリケーションの保護を強化するための URLScan の構成

インターネット インフォメーション サービス 5.0 (IIS 5.0) サーバーに URLScan をインストールした場合、ASP 3.0 アプリケーションの実行を許可するよう構成されます。ただし、.NET Framework をインストールした場合、URLScan の構成は新しい ASP.NET ファイルの種類を含むよう更新されません。ASP.NET アプリケーションに URLScan ISAPI フィルタの追加のセキュリティが必要な場合は URLScan の構成を調整します。

URLScan の構成を変更して ASP.NET アプリケーションのセキュリティを強化する方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
815155 URLScan を構成して ASP.NET Web アプリケーションを保護する方法

ASP.NET Web アプリケーションの認証の要求

多くの ASP.NET アプリケーションでは匿名アクセスが許可されていません。認証を必要とする ASP.NET アプリケーションでは、フォーム認証、Microsoft .NET Passport 認証、および Windows 認証の 3 つの方法のいずれかを使用できます。それぞれの認証方法には、異なった構成の手法が必要です。

指定した Web リソースへの特定ユーザーのアクセス権の取得の制限

ASP.NET にはフォーム認証が含まれています。この方法は Windows アカウントを作成せずにユーザーを認証する独自の方法です。ASP.NET には、これらのユーザーに、いろいろな Web リソースへのアクセス権を与えたり、アクセスを拒否したりする機能も含まれています。

ユーザー ベースで Web リソースへのアクセスを制御する方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
815151 [HOWTO] 指定した Web リソースに特定のユーザーがアクセスできないように制限する方法

サーバーが許可する Web サービス プロトコルの制限

デフォルトで、ASP.NET は、Web サービス クライアントが Web サービスへの要求を発行する手段として SOAP、HTTP GET、および HTTP PUT の 3 つの方法をサポートしています。ただし、多くのアプリケーションでは、これら 3 つの方法のうちの 1 つしか必要としません。使用しないプロトコルはすべて無効にし、攻撃対象を減らすことを推奨します。

使用していない Web サービス プロトコルを無効にする方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
815150 [HOWTO] サーバーが許可する Web サービス プロトコルを制限する方法

.NET 接続された Web サービスへのブラウザからのアクセスの禁止

ASP.NET Web サービスには、ブラウザから利用しやすいインターフェイスが用意されており、開発者が Web サービス クライアントを簡単に作成できます。この便利なインターフェイスによって、Web サービスを利用できるユーザーはだれでも、利用可能なメソッドや必要なパラメータの詳細をすべて表示できます。このアクセスは、パブリックに利用できるメソッドだけを含んだパブリックな Web サービスに有効です。ただし、プライベートな Web サービスのセキュリティを低下させる可能性があります。

ユーザー ベースで Web リソースへのアクセスを制御する方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
815151 [HOWTO] 指定した Web リソースに特定のユーザーがアクセスできないように制限する方法

ASP.NET を使用したファイルの種類の保護

ASP.NET アプリケーションの構造により、エンド ユーザーが要求するファイルと共に多くのプライベート ファイルが格納されます。ASP.NET は、ファイルに対する要求を傍受し、エラーを返すことによってこれらのファイルを保護します。この種の保護は、構成設定を使用してすべてのファイルの種類に拡張できます。アプリケーションに、プライベートのままにしておく必要がある特殊なファイルの種類が含まれている場合は、ASP.NET のファイル保護を使用してそれらのファイルを保護できます。

ASP.NET を構成して標準的ではない種類のファイルを保護する方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
815152 [HOWTO] ASP.NET を使用して特定のファイルの種類を保護する方法

関連情報

.NET Framework をベースに構築されたアプリケーションをセキュリティ保護する方法の詳細については、以下のマイクロソフト Web サイトを参照してください。


プロパティ

文書番号: 818014 - 最終更新日: 2006年4月6日 - リビジョン: 3.3
この資料は以下の製品について記述したものです。
  • Microsoft .NET Framework 1.0
  • Microsoft ASP.NET 1.0
  • Microsoft Internet Information Services 5.0
  • Microsoft ASP.NET 1.1
  • Microsoft .NET Framework 1.1
キーワード:?
kbsecurity kbweb kbhowtomaster KB818014
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com