ASP は強力なファイル システム アクセス機能を提供し、サーバー ハードディスク上のあらゆるファイルに対して読み取り、書き込み、コピー、削除、名前変更などの操作を行うことができます。これは学校 Web サイトのセキュリティに大きな脅威となります。現在、多くのキャンパス ホストが FSO トロイの木馬に感染しています。ただし、FSO コンポーネントを無効にすると、このコンポーネントを使用するすべての ASP プログラムが実行できなくなり、顧客のニーズを満たすことができなくなります。サーバーのセキュリティに影響を与えずに FileSystemObject コンポーネントを許可する方法 (つまり、別の仮想ホストのユーザーがこのコンポーネントを使用して他の人のファイルを読み書きできないようにする方法) は、著者が長年にわたって得た経験です。
最初のステップは、Windows 2000 とは異なる設定を行うための鍵です。C ドライブを右クリックし、[共有とセキュリティ] をクリックし、表示されるダイアログ ボックスで [セキュリティ] タブを選択し、Everyone グループと Users グループを削除します。 Web サイトで ASP プログラムを実行できない場合は、IIS_WPG グループ (図 1) を追加して、コンピュータを再起動してください。
この設計以降、FSO トロイの木馬は実行できなくなります。より高いセキュリティ レベルを設定したい場合は、ディスク パーティションごとに上記の設定を個別に設定し、サイトごとに異なる匿名アクセス ユーザーを設定してください。以下に紹介する例を示します (ホスト コンピュータの E ドライブの Abc フォルダに Abc.com サイトがあると仮定します)。
1. 「コンピュータの管理→ローカル ユーザーとグループ→ユーザー」を開き、ユーザー Abc を作成し、パスワードを設定し、「ユーザーは次回ログイン時にパスワードを変更する必要がある」の前のチェック マークを外し、「ユーザーはパスワードを変更できない」を選択します。パスワードは無期限です」を選択し、ユーザーが Guests グループに属するように設定します。
2. E:Abc を右クリックし、「プロパティ → セキュリティ」タブを選択します。この時点で、フォルダーのデフォルトのセキュリティ設定は「Everyone」フル コントロールであることがわかります (表示される内容は状況によってはまったく同じではない場合があります)。状況に応じて全員のフルコントロールを削除し(削除できない場合は、「詳細設定」ボタンをクリックし、「親の継承権限の継承を許可する」のチェックを外してすべて削除してください)、管理者とAbcユーザーを追加します。この Web サイトのディレクトリのすべてのセキュリティ権限に適用されます。
3. IISマネージャーを開き、Abc.comのホスト名を右クリックし、ポップアップメニューの「プロパティ→ディレクトリセキュリティ」タブを選択し、認証とアクセス制御の[編集]をクリックすると、図2に示すダイアログボックスが表示されます。匿名アクセス ユーザーのデフォルトは「IUSR_マシン名」です。[参照] をクリックし、[ユーザーの選択] ダイアログ ボックスで先ほど作成した Abc アカウントを見つけ、確認後にパスワードを再入力します。
この設定の後、Web サイトにアクセスするユーザーは、Abc アカウントとして E:Abc フォルダー内のサイトに匿名でアクセスできるようになります。Abc アカウントにはこのフォルダーに対するセキュリティ権限しかないため、このフォルダーでは FSO のみを使用できます。
よくある質問:
FSO アップロード プログラムを 200k 制限未満に解除するにはどうすればよいですか?
まず、サービス内の IIS 管理サービスを閉じ、WindowsSystem32Inesrv ディレクトリで Metabase.xml を見つけて開き、ASPMaxRequestEntityAllowed を見つけて、必要な値に変更します。デフォルトは 204800、つまり 200K です。これを 51200000 (50M) に変更し、IIS 管理サービスを再起動します。
ASP は強力なファイル システム アクセス機能を提供し、サーバー ハードディスク上のあらゆるファイルに対して読み取り、書き込み、コピー、削除、名前変更などの操作を行うことができます。これは学校 Web サイトのセキュリティに大きな脅威となります。現在、多くのキャンパス ホストが FSO トロイの木馬に感染しています。ただし、FSO コンポーネントを無効にすると、このコンポーネントを使用するすべての ASP プログラムが実行できなくなり、顧客のニーズを満たすことができなくなります。サーバーのセキュリティに影響を与えずに FileSystemObject コンポーネントを許可する方法 (つまり、別の仮想ホストのユーザーがこのコンポーネントを使用して他の人のファイルを読み書きできないようにする方法) は、著者が長年にわたって得た経験です。
最初のステップは、Windows 2000 とは異なる設定を行うための鍵です。C ドライブを右クリックし、[共有とセキュリティ] をクリックし、表示されるダイアログ ボックスで [セキュリティ] タブを選択し、Everyone グループと Users グループを削除します。 Web サイトで ASP プログラムを実行できない場合は、IIS_WPG グループ (図 1) を追加して、コンピュータを再起動してください。
この設計以降、FSO トロイの木馬は実行できなくなります。より高いセキュリティ レベルを設定したい場合は、ディスク パーティションごとに上記の設定を個別に設定し、サイトごとに異なる匿名アクセス ユーザーを設定してください。以下に紹介する例を示します (ホスト コンピュータの E ドライブの Abc フォルダに Abc.com サイトがあると仮定します)。
1. 「コンピュータの管理→ローカル ユーザーとグループ→ユーザー」を開き、ユーザー Abc を作成し、パスワードを設定し、「ユーザーは次回ログイン時にパスワードを変更する必要がある」の前のチェック マークを外し、「ユーザーはパスワードを変更できない」を選択します。パスワードは無期限です」を選択し、ユーザーが Guests グループに属するように設定します。
2. E:Abc を右クリックし、「プロパティ → セキュリティ」タブを選択します。この時点で、フォルダーのデフォルトのセキュリティ設定は「Everyone」フル コントロールであることがわかります (表示される内容は状況によってはまったく同じではない場合があります)。状況に応じて全員のフルコントロールを削除し(削除できない場合は、「詳細設定」ボタンをクリックし、「親の継承権限の継承を許可する」のチェックを外してすべて削除してください)、管理者とAbcユーザーを追加します。この Web サイトのディレクトリのすべてのセキュリティ権限に適用されます。
3. IISマネージャーを開き、Abc.comのホスト名を右クリックし、ポップアップメニューの「プロパティ→ディレクトリセキュリティ」タブを選択し、認証とアクセス制御の[編集]をクリックすると、図2に示すダイアログボックスが表示されます。匿名アクセス ユーザーのデフォルトは「IUSR_マシン名」です。[参照] をクリックし、[ユーザーの選択] ダイアログ ボックスで先ほど作成した Abc アカウントを見つけ、確認後にパスワードを再入力します。
この設定の後、Web サイトにアクセスするユーザーは、Abc アカウントとして E:Abc フォルダー内のサイトに匿名でアクセスできるようになります。Abc アカウントにはこのフォルダーに対するセキュリティ権限しかないため、このフォルダーでは FSO のみを使用できます。