IIS(Internet Information Service)は、Webサーバに加えてFTPサーバも運用できる。ファイルのやり取りや公開のためにFTPサーバを設置する使い方と、Webサーバのコンテンツを管理するためにFTPサーバを設置する使い方が双璧だろう。

クローズドなLANの内部で運用するWebサーバであれば、Webコンテンツの管理にWindowsファイル共有を使っても差し支えないと思われる。しかし、Windowsファイル共有はユーザー単位のアクセス制限を行える反面、FTPサーバのようにIPアドレスによるアクセス制限を行う仕組みがない。そのため、インターネット上でWebサーバを運用する場合はFTPサーバのほうが好ましいと考えられる。

今回は、Windows Server 2003で使用しているIIS 6.xのFTPサーバ機能の導入・設定手順について解説する。

FTPサーバの導入手順(IIS 6.x)

IISは[サーバーの役割管理]ツールで追加できるが、FTPサーバは追加できない。そのため、導入の順序としては、まず[サーバーの役割管理]ツールでIISを追加してから、コントロールパネルの[プログラムの追加と削除]でIISに対してコンポーネント追加を行う。FTPサーバは、IISを構成するコンポーネントの1つという位置付けになっているためだ。

コントロールパネルでIISのコンポーネント追加を指示する場合、FTPサーバのコンポーネントは[アプリケーション サーバー]-[インターネット インフォメーション サービス(IIS)]-[FTPサービス]以下の場所にある。一覧の中に[FTP(File Transfer Protocol)サービス]があるので、そのチェックボックスをオンにして追加を指示すればよい。なお、コンポーネント追加後の再起動は必要ない。

FTPサーバは、IISを組み込んだ後でコントロールパネルを使って追加する

FTPサーバ機能を追加すると、[管理ツール]-[インターネット インフォメーション サービス(IIS)マネージャ]の画面内に、[既定のFTPサイト]が出現する。

FTPサーバでもWebサーバと同様に「FTPサイト」という概念がある。そのプロパティ画面で設定を変更できるが、FTPのほうが機能が少ないため、ダイアログ中のタブや設定項目も少ない。とはいえ、設定の要領はWebサーバと共通する部分が多いので、Webサーバを扱った経験があれば問題ないだろう。

例えば、FTPサーバ機能で公開対象になっているフォルダの既定値は「C:\Inetpub\ftproot」だが、[既定のFTPサイト]のプロパティ画面で別のフォルダに変更できる。そのプロパティ画面の個々の項目について詳しく見ていくことにしよう。

IIS管理ツールに[既定のFTPサイト]が現れる。Webサイトと同様に、プロパティの変更によって設定変更が可能

FTPサイトのプロパティ設定([FTPサイト]タブ)

[FTPサイト]タブでは、FTPサーバがリッスン対象にするIPアドレスとポート番号を指定できる。1つのサーバで複数のFTPサイトを運用する場合、あるいは複数のLANアダプタと複数のIPアドレスを持つサーバで、これらの設定が意味を持つ。

その他の機能としては、接続数の上限指定、ログ記録の有無とログファイルの形式指定、[現在のセッション]をクリックすると表示するセッション情報確認がある。

[FTPサイト]タブでは、基本的な設定項目がまとめられている

FTPサイトのプロパティ設定([セキュリティ アカウント]タブ)

ここでは、ユーザー認証の有無・方法とアクセス権に関する設定を行う。FTPサーバの初期設定は匿名FTP(anonymous FTP)だ(なお、匿名アクセスを許可した時に使用する資格情報は、自動作成するユーザーアカウント「IUSR_<コンピュータ名>」を使用する)。

しかし、これは不特定多数のユーザーに対して一方的にファイルを公開する場合の選択肢で、「ユーザーに対してアップロードを認める」あるいは「Webサイトのコンテンツ管理に使用する」場面では、匿名FTP機能は停止させる必要がある。それには、[匿名接続を許可する]チェックボックスをオフにすればよい。

匿名アクセスをオフにすると、接続してきたユーザーに対して個別にユーザー認証を要求する。その際に使用するユーザー情報は、FTPサーバが動作するサーバのローカルアカウントだ。なお、FTPはPOP3と同様にパスワードを平文のままでやり取りする仕様になっているので、匿名アクセスをオフにするよう指示すると、パスワードの安全性に関する警告メッセージを表示するようになっている。

既定値では匿名接続(anonymous FTP)になっているが、オフにしてユーザー認証を要求させることもできる

FTPサイトのプロパティ設定([メッセージ]タブ)

ここでは、FTPサーバに接続してきたクライアントに表示するウェルカムメッセージを設定できるほか、切断時に表示するメッセージや、同時最大接続数も指定できる。

メッセージを設定しなくても困ることはないので、これを使用するかどうかは「好みの問題」と言える。もっとも、不特定多数のユーザーに匿名FTPサーバでファイルを公開する場合は、ウェルカムメッセージを出したほうががよさそうだ。

[メッセージ]タブでは、接続/切断時に表示するメッセージを設定できる

FTPサイトのプロパティ設定([ホーム ディレクトリ]タブ)

ここでは、FTPサーバで公開するフォルダと、そのフォルダに対して許可するアクセスの種類を指定する。

既定値は「C:\Inetpub\ftproot」だが、例えばWebサーバのコンテンツ更新にFTPを使用する場合、これを「C:\Inetpub\wwwroot」など、Webサーバで公開しているフォルダに変更する必要がある。

アクセス権は、[読み取り][書き込み][ログアクセス]のそれぞれについて、チェックボックスのオン/オフによって可否を設定できる。Webサーバのコンテンツ管理にFTPサーバを使用するなら、書き込みを認めなければ困ってしまうだろう。

また、このタブではファイル名などの表示形式を指定できる。既定値ではMS-DOS型式になっているが、ユーザー層、あるいはユーザーの好みに合わせてUNIX型式にすることもできる。

[メッセージ]タブでは、接続/切断時に表示するメッセージを設定できる

FTPで公開するフォルダや読み書きの可否は、[ホームディレクトリ]タブで設定する

FTPサイトのプロパティ設定([ディレクトリ セキュリティ]タブ)

ユーザーアカウントではなくIPアドレスを単位にしたアクセス制限を設定する場合に、このタブの出番となる。

初期状態ではリストは空白だが、[追加]をクリックすると表示するダイアログで、特定のIPアドレス、あるいはアドレス範囲(ネットワークアドレスで指定する)を指定できる。その際に、[許可する]を選択していれば「指定したIPアドレス/アドレス範囲であれば接続可能」、[拒否する]を選択していれば「指定したIPアドレス/アドレス範囲に限り接続不可能」という意味になる。

一般的には、特定のIPアドレスまたはアドレス範囲にのみ接続を許可したい場合が大半を占めると思われるので、[許可する]を選択してから[追加]をクリックして、接続を認めるホストのIPアドレス、あるいはアドレス範囲を指定すればよいだろう。

[ディレクトリ セキュリティ]タブでは、IPアドレスやアドレス範囲を使ったアクセス制限を設定する。[追加]をクリックすると表示するダイアログでは、[1台のコンピュータ]<IPアドレスで指定>、あるいは[グループ化されたコンピュータ]<ネットワークアドレスで指定>のいずれかで、許可/拒否の対象を指定する