IIS Insider

2001 年 12 月

IIS Insider

Internet Information Services に関してよく寄せられる質問と答え

By Brett Hill

トピック
IIS アプリケーションからメールを送信する方法IIS アプリケーションからメールを送信する方法
IIS のエラーコードにはどのような意味がありますか?IIS のエラーコードにはどのような意味がありますか?
Windows 2000 で使用可能な IIS のバージョンはどれですか?Windows 2000 で使用可能な IIS のバージョンはどれですか?
IUSR アカウントをセキュリティで保護する方法IUSR アカウントをセキュリティで保護する方法
IIS はどのように NTFS のアクセス権を強化しますか?IIS はどのように NTFS のアクセス権を強化しますか?

IIS アプリケーションからメールを送信する方法

Q

IIS アプリケーションからメールを送信するにはどうようにすればよいですか?

A

IIS サーバーから電子メールを送信する方法はいくつかあります。恐らく最も簡単なのは、IIS に SMTP サービスをインストールし、CDONTS または CDOSYS オブジェクトを使用してメールを送信する方法です。

SMTP サービスをインストールするためには、Windows NT 4.0 Option Pack を使用するか、または、[Windows コンポーネントの追加と削除]で、Internet Information Services、SMTP サービスを追加してください。これにより、SMTP サーバースナップインが Internet Information Services コンソールに追加され、SMTP サービスを構成することができます。

サーバーに追加する他のサービスと同様に、SMTP サービスを適切に構成し、セキュリティで保護する必要があることに注意してください。これには認証を構成し、メールの中継を制御する MS01-037 SMTP サービスの認証エラーがメールの中継を可能にする (このページの作成時点のバージョンとなります)などの関連の修正プログラムが含まれます。SMTP サーバーの管理者にとって役に立つ最も良いリソースの 1 つに、マイクロソフトプレスからリリースされている Running Microsoft Internet Information Server 4.0 があります。この本の中に SMTP の章があり、効果的にセットアップを行う方法に関して説明されています。

サービスをインストールし、構成すると、以下のように、容易に ASP ページを記述し、CDONTS を使用してメールを送信することができます。

<%
Dim objMail
Set objMail = Server.CreateObject("CDONTS.NewMail")

objMail.From = "yourname@youremail.com"
objMail.Subject = "A Sample mail sent with CDONTS"
objMail.To = "someone@somwhere.com"
objMail.Body = "Here is the message." 
objMail.Send
set objMail = nothing
%>

Windows 2000 では、CDONTS ではなく CDOSYS を使用することが推奨されます。CDONTS は、Windows 2000 上では動作しませんが、CDOSYS により、より効果的な機能が提供されます。詳細は、以下のページをご覧ください。
http://www.microsoft.com/japan/msdn/library/ja/jpdncdsys/htm/CDO.asp
また、CDONTS は Windows Server 2003 または Windows XP ではサポートされていません。従って、アップグレードする前にコードを変更してください。

さらに、SMTP をインストールしたくない場合でも、SMTP サービスを ASP アプリケーションへ提供するサードパーティのオブジェクトを使用して、アプリケーションからメールを送信することができます。http://www.aspemail.com/ (英語) をご覧ください。

ページのトップへページのトップへ

IIS のエラーコードにはどのような意味がありますか?

Q

IIS には Web サーバーが発行した標準エラーの多くに対応するエラーコードレスポンスが含まれています。エラーコードの意味が説明されている資料はありますか?

A

はい、あります。そのエラーは HTTP の RFC の一部にあるため、それらに関する説明は http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html (英語) でご覧いただけます。これらの他に、IISでは「サブエラーコード」が提供されており、トラブルシューティングに役立つ他の情報を得ることができます。たとえば、エラーコード 403 は、仕様によっては「許可されていません」を示します。IIS の 403.1 のエラーは、「実行アクセスが許可されていません」を示し、403.17 は、「クライアント証明書は有効期限が切れたか、まだ有効になっていません。」となります。

それぞれのコードの意味をそれぞれ確認するためには、Web サイトのプロパティの [カスタムエラー] タブのエラーコードの一覧上でダブルクリックしてください。[エラーマッピングのプロパティ] ダイアログボックスにエラーコードの名前が表示されます。(下の図 1 参照)

エラーマッピングプロパティ

図 1: エラーマッピングプロパティ

ページのトップへページのトップへ

Windows 2000 で使用可能な IIS のバージョンはどれですか?

Q

Windows XP システム上に IIS がインストールでき、そのバージョンは IIS 5.1 ということがわかりました。Windows 2000 用の IIS 5.1 はどこで入手できますか?

A

最近 IIS は多くのバージョンがリリースされ、オペレーションシステムに IIS をインストールできるバージョンに関する俗説が出回っています。下のリストは、この文書の作成時点の最新の IIS に関するバージョンとオペレーティングシステムを示しています。

Windows オペレーションシステムIIS のバージョン

Windows NT 4.0 Server

IIS 4.0

Windows NT 4.0 Workstation

Personal Web Server

Windows 2000 Professional

IIS 5.0 (指定されたバージョン)

Windows 2000 Server (全バージョン)

IIS 5.0

Windows XP Professional

IIS 5.1

Windows Server 2003

IIS 6.0

おわかりのように、IIS のバージョンは、オペレーティングシステム (OS) のバージョンと結びついています。これは、大部分が IIS がオペレーティングシステムと深く統合されており、その結果 IIS のバージョンが設計されたバージョン以外のバージョンにインストールできないという事実によります。

ページのトップへページのトップへ

IUSR アカウントをセキュリティで保護する方法

Q

IUSR_<サーバー名> アカウントは既定で、ゲストグループのメンバとなると理解しています。その場合、NTFS アクセス権をゲストグループに適用し、IUSR アカウントはどのようにセキュリティで保護すればよいですか?

A

IUSR アカウントをセキュリティで保護することは不可欠です。そのため IUSR アカウントが使用される方法、および IUSR アカウントが所属するグループを理解することが重要です。これを利用するために、Windows 2000 リソースキットで提供されている W3Who.dll program (英語) を使用することができます。この有益なプログラムにより、そのプログラムを呼び出すユーザーのユーザー名、アクセス権、グループメンバシップのリポートが作成されます。このユーティリティを実装するためには、単純に Web ブラウザからそのプログラムを呼び出します。たとえば、Web サイトでフォルダを作成し、匿名アクセスを有効にし、NTFS アクセス権が NTFS がアクセス権を実行する IUSR アカウントを許可することを確認します。また、IIS スナップインの [スクリプトおよび実行可能ファイル] のフォルダをチェックします。次にInternet Explorer でそのファイルを検索します。(http://servername/foldername/w3who.dll)

その結果を示すページでは、以下のようにその IUSR アカウントの情報が表示されます。

アクセストークン

'IISANSWERS\IUSR_IISANSWERS' S-1-5-21-790525478-1993962763-xxxxxxxxxxxxxxx

'IISANSWERS\None' S-1-5-21-790525478-1993962763-xxxxxxxxxxxxxx

'\Everyone' S-1-1-0

'BUILTIN\Guests' S-1-5-32-546

'BUILTIN\Users' S-1-5-32-545

'\LOCAL' S-1-2-0

'NT AUTHORITY\NETWORK' S-1-5-2

'NT AUTHORITY\Authenticated Users' S-1-5-11

SeUndockPrivilege - Remove computer from docking station

この情報から、この IUSR アカウントはゲスト、ユーザー、承認されたユーザー、ネットワークグループ、Everyone のメンバであることがわかります。したがって匿名ユーザーは、これらのグループがアクセスを許可されているすべてのリソースへのアクセス権があります。

IUSR アカウントのアクセスをセキュリティで保護する最も良い方法は、IIS Lockdown Wizard ツールによって展開する方法です。IIS Lockdown Wizard ツールを使用し、サーバーをセキュリティで保護する場合、IUSR アカウントは必要に応じ、書き込み拒否または実行拒否のアクセス権を割り当てたWeb 匿名ユーザーグループのメンバに追加されます。このように、他のグループのメンバに関わらず、リソースがIUSR アカウントからの不正なアクセスから保護されます。この方法により、他のユーザーおよびグループを単純にそのグループのメンバにし、Web 匿名ユーザーグループへ割り当てられたアクセス権を制限できるという利点が得られます。

ページのトップへページのトップへ

IIS はどのように NTFS のアクセス権を強化しますか?

Q

IIS が NTFS に関するアクセス権を強化する方法を教えてください。

A

IIS にはアクセス権を許可するために連続して強制されるいくつかのセキュリティの階層があります。

レイヤ 1 - IP アドレスおよびドメイン名の制限

最初に行われるチェックによってクライアントが使用している IP アドレスが許可されることを検証されます。この設定を効果的に使用するには、IIS を指定されたファイアウォールからのみアクセスできるように構成することです。この設定は Web サイト、ディレクトリ、またはファイルの [セキュリティ] タブで行うことができます。

レイヤ 2 - 認証

ユーザーは、有効なユーザーアカウントへ認証されることが必要です。匿名アクセスがIIS スナップインで有効にされ、NTFS のアクセス権がIUSR_<コンピュータ名> (または匿名ユーザーとして認められたアカウント)へのアクセスが許可されている場合、その匿名アカウントが使用されます。そうでない場合、そのユーザーは有効なユーザーアカウントに認証する必要があります。この場合、その他の認証方法が、匿名以外のユーザーを有効にします。既定で、匿名および統合 Windows 認証方法は、IIS 5 および IIS 4 の匿名および Windows NT チャレンジレスポンスで有効にされています。

レイヤ 3 - Web ベースのアクセス権

要求されるアクセス権の種類は、Web サーバーによって許可される必要があります。これらのアクセス権は、読み取り、書き込み、アプリケーション許可なしのスクリプトソースアクセス許可、スクリプト、スクリプトおよび実行可能ファイルなどです。また、アプリケーションが .asp ファイル、asp.dll などの実行可能ファイルにマッピングされているファイルエクステンションの使用によって呼び出される場合、そのアプリケーションと共に使用される HTTP の動詞を許可する必要があります。

レイヤ 4 - NTFS のアクセス権

最後に、NTFS のアクセス権がチェックされ、強化されます。

そのため、おわかりのように、異なる種類のセキュリティがそれぞれのステージで強化されます。ユーザーが HTML ファイルを読み取るリクエストをした場合、フルコントロールの NTFS アクセスを所有している場合でもそれらのリクエストは拒否されます。ユーザーが許可されていない IP アドレスを所有していた場合、サーバーには全くアクセスすることはできません。それは、管理者でもアクセスできません。実際、アクセス権を組み合わせると、ほとんどの制限的特権が提供されます。


関連情報

これまでの IIS Insider コラムの質問と答えの一覧は、ここをクリックしてください。

ページのトップへページのトップへ