.NET Framework 上に構築されたアプリケーションをセキュリティで保護する
この記事では、Microsoft .NET Framework 上に構築されたアプリケーションをセキュリティで保護するための重要な考慮事項について説明します。
元の製品バージョン: .NET Framework
元の KB 番号: 818014
まとめ
この記事は、.NET Framework 上に構築されたアプリケーションの詳細情報を提供する一連の記事の 1 つです。
このシリーズの記事には、次のものが含まれます。
ゾーンごとに .NET Framework のセキュリティを調整する
.NET Framework は、マネージド アセンブリに信頼レベルを割り当てます。 これらの割り当ては、アセンブリが実行されるゾーンの一部に基づいています。 標準ゾーンは、マイ コンピューター、ローカル イントラネット、インターネット、信頼済みサイト、信頼されていないサイトです。 これらのゾーンのいずれかに関連付けられている信頼レベルを増減する必要がある場合があります。 .NET Framework には、これらの設定を調整するためのツールが含まれています。
.NET Framework アセンブリの信頼レベルを調整する
.NET Framework には、アセンブリに付与する必要がある信頼レベルを決定する多くの方法が含まれています。 ただし、規則に例外を設けて、特定のアセンブリが共通言語ランタイムに提供される証拠に基づいて通常受信するよりも高いレベルの信頼を受け取るようにすることができます。 .NET Framework には、この目的専用のウィザード ツールが用意されています。
カスタマイズされたポリシー レベルを復元する
管理者は、さまざまな信頼レベルで実行されるアセンブリに付与するアクセスを完全に制御できます。 信頼レベルをカスタマイズすると、通常は標準の信頼レベルで実行されるアプリケーションを実行するときに問題が発生する可能性があります。 ただし、ポリシー レベルを既定の設定にすばやく復元できます。
アセンブリに付与されるアクセス許可を評価する
エンタープライズ、マシン、ユーザーのセキュリティ構成ポリシーとカスタマイズ可能な信頼レベルがある場合、マネージド アセンブリに付与されているアクセス許可を評価することが困難な場合があります。 .NET Framework 構成ツールには、これらのアクセス許可を評価する簡単な方法が含まれています。
のセキュリティを監査します。NET に接続されたアプリケーション
アップグレード、テスト、トラブルシューティング中に、運用システムの構成が意図しない方法で変更される可能性があります。 たとえば、管理者は、エラーがアクセス権に関連しているかどうかを判断するときに、ユーザーに管理者資格情報を付与できます。 その管理者がトラブルシューティング プロセスの完了後に管理者特権の資格情報を取り消すのを忘れた場合、システムの整合性が損なわれます。
この種のアクションによってシステム セキュリティが時間の経過と同時に低下する可能性があるため、定期的な監査を行うことをお勧めします。 これを行うには、元のシステムの重要な側面を文書化してベースライン メジャーを作成します。 これらの設定を時間の経過と伴うベースラインと比較して、脆弱性のレベルを大幅に低下させる可能性のある問題が発生したかどうかを判断します。
を構成します。ネットワーク通信に代替ポート番号を使用する NET 接続アプリケーションと SQL Server
多くの自動化されたツールでは、既知のポート番号に対してクエリを実行することで、使用可能なサービスと脆弱性を特定します。 これらのツールには、正当なセキュリティ評価ツールと、悪意のあるユーザーが使用する可能性があるツールの両方が含まれます。
これらの種類のツールへの露出を減らす 1 つの方法は、アプリケーションが使用するポート番号を変更することです。 このメソッドを適用できます。バックエンド SQL Server データベースに依存する NET 接続アプリケーション。 この方法は、サーバーとクライアントの両方が正しく構成されている場合に機能します。
ASP.NET Web アプリケーションまたは Web サービスをロックダウンする
ASP.NET Web アプリケーションと Web サービスのセキュリティを強化するには、さまざまな方法があります。 たとえば、パケット フィルタリング、ファイアウォール、制限付きファイルのアクセス許可、URL スキャン インターネット サーバー アプリケーション プログラミング インターフェイス (ISAPI) フィルター、慎重に制御された SQL Server 特権を使用できます。 これらのさまざまな方法を確認して、ASP.NET アプリケーションのセキュリティを詳細に提供することをお勧めします。
ASP.NET アプリケーションのセキュリティを強化するために NTFS ファイルのアクセス許可を構成する
新しいテクノロジ ファイル システム (NTFS) ファイルのアクセス許可は、引き続き Web アプリケーションにとって重要なセキュリティレイヤーです。 ASP.NET アプリケーションには、以前の Web アプリケーション環境よりも多くのファイルの種類が含まれています。 匿名ユーザー アカウントがアクセスできる必要があるファイルは明らかではありません。
.NET Framework 上に構築されたアプリケーションの SQL Server セキュリティを構成する
既定では、SQL Server では、データベースのクエリまたは更新を行う権限はユーザーに付与されません。 この規則は、ASP.NET アプリケーションと ASPNET ユーザー アカウントにも適用されます。 ASP.NET アプリケーションが SQL Server データベースに格納されているデータにアクセスできるようにするには、データベース管理者が ASPNET アカウントに権限を付与する必要があります。
ASP.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 の構成を調整します。
ASP.NET Web アプリケーションの認証を要求する
多くの ASP.NET アプリケーションでは、匿名アクセスが許可されていません。 認証を必要とする ASP.NET アプリケーションでは、フォーム認証、.NET Passport 認証、Windows 認証の 3 つの方法のいずれかを使用できます。 各認証方法には、異なる構成手法が必要です。
特定のユーザーが指定された Web リソースにアクセスできないように制限する
ASP.NET にはフォーム認証が含まれます。 これは、Windows アカウントを作成せずにユーザーを認証する固有の方法です。 ASP.NET には、これらのユーザーのさまざまな Web リソースへのアクセスを許可または拒否する機能も含まれています。
ユーザーごとに Web リソースへのアクセスを制御する方法の詳細については、「 特定のユーザーが特定の Web リソースにアクセスできないように制限する方法を参照してください。
サーバーが許可する Web サービス プロトコルを制限する
既定では、ASP.NET では、Web サービス クライアントが Web サービスに要求を発行するための 3 つの方法 (SOAP、HTTP GET、HTTP PUT) がサポートされています。 ただし、ほとんどのアプリケーションでは、これら 3 つの方法のうち 1 つだけが必要です。 未使用のプロトコルを無効にして、攻撃対象領域を減らすことを推奨します。
ブラウザーへのアクセスを許可しないでください。NET に接続された Web サービス
ASP.NET Web サービスは、開発者が Web サービス クライアントを簡単に作成できるように、ブラウザーに適したインターフェイスを提供します。 このわかりやすいインターフェイスを使用すると、Web サービスにアクセスできるすべてのユーザーが、使用可能なメソッドと必要なパラメーターの完全な詳細を表示できます。 このアクセスは、パブリックに使用可能なメソッドのみを含むパブリック Web サービスに役立ちます。 ただし、プライベート Web サービスのセキュリティが低下する可能性があります。
ユーザーごとに Web リソースへのアクセスを制御する方法の詳細については、「 特定のユーザーが特定の Web リソースにアクセスできないように制限する方法を参照してください。
ASP.NET を使用してファイルの種類を保護する
ASP.NET アプリケーションの構造により、エンド ユーザーが要求するファイルと共に多くのプライベート ファイルが格納されます。 ASP.NET は、ファイルの要求をインターセプトしてエラーを返すことによって、これらのファイルを保護します。 構成設定を使用して、この種類の保護を任意の種類のファイルに拡張できます。 アプリケーションに、プライベートなままにする必要がある通常とは異なるファイルの種類が含まれている場合は、ASP.NET ファイル保護を使用してそれらのファイルを保護できます。
関連情報
.NET Framework 上に構築されたアプリケーションをセキュリティで保護する方法の詳細については、「windows 10 の展開 新機能」を参照してください。