[System Environment] | |||||||||||
IIS 6.0のFTPサーバでユーザー・フォルダを分離する(基本編)
|
|||||||||||
|
解説 |
FTPサービスは、インターネットの初期のころから利用されているサービスである。現在では、HTTPプロトコルを使ったWebサイトが一般的であるが、定型的なバッチ・ファイル転送やWebサイトへのデータ・アップロード、大規模なダウンロード・サイトなどでは、まだまだFTPも広く利用されている。
Windows Server OSに搭載されているIISでもこのFTPサービスが利用できるが、UNIXなどで一般的に使われているFTPサービスと比べると、やや機能が不足していた。中でも特に、ユーザーごとにフォルダを隔離するという機能がないのは問題だと考える管理者も少なくない。
UNIXなどのFTPサービスでは、例えば「user01」がFTPサーバにログオンすると、そのユーザーからは、自分のフォルダ以外はアクセスできないように設定することができる。たとえ「cd /」というコマンドを実行しても、ほかのユーザーのフォルダ(例えば/user02や/user03などのフォルダ)を見ることもできないし、存在していることを知ることもできない。このように、各FTPユーザーを完全に隔離することができる。
だがIISのFTPサービスには、これに相当する機能がない。ユーザー名と同じ名前のフォルダを作成しておくと、ログオンしたときに、自動的にそのフォルダへ移動するという機能は持っているが、これはほかのユーザーの情報を隠ぺいするためには利用できない。例えばuser01がログオンすると、/user01というフォルダがデフォルト・フォルダになるのだが(cd /user01が実行された状態になる)、「cd /」を実行すると、/user01だけでなく、/user02や/user03というフォルダ名も見えてしまうのである。
社内用ならば、同一グループ内のフォルダが見えても問題は少ないだろうが(ユーザーが混乱するのは別としても)、例えば複数のFTP/Webサイトをホスティングしているようなケースでは、セキュリティ的にも望ましくない。もちろん社内であっても、情報漏えいなどを考えると、完全にユーザーごとに隔離できることが望ましい。
このような要望を受けて、Windows Server 2003に搭載されているIIS 6.0のFTPサービスでは、新しく「FTPユーザーの分離機能」が導入された。これを利用すると、ユーザーごとにアクセス可能なフォルダを完全に分離し、セキュリティを維持できるようになっている。本TIPSでは、この機能の利用方法について解説する。
ただしこのユーザーの分離機能には、次の2つのモードがある。
- 「ユーザーを分離する(Isolate users)」モード
- 「Active Directoryを使ってユーザーを分離する(Isolate users using Active Directory)」モード
前者は、非常に単純な形式のユーザー分離モードである。Active Directoryがなくても利用できるが、ユーザーのホーム(ユーザーがFTPサイトにログオンしたときに利用できるフォルダ)は、基本的には1カ所に集中させておかなければならない(ファイル共有やシンボリック・リンクなどを使って分離させることも可能だが、ここでは触れない)。
これに対して後者は、Active Directoryのスキーマを拡張して、ユーザーごとのホームを登録しておくモードである。ホームを1カ所に集中させておく必要はなく、Active Directoryでフォルダの場所を集中管理できるので、より大規模なサイトに向いている。
本稿では前者の方法について解説する。後者の方法についてはTIPS「IIS 6.0のFTPサーバでユーザー・フォルダを分離する(Active Directory編)」を参照していただきたい。
操作方法 |
手順1―ユーザー別のフォルダを作成する
ユーザー分離機能を利用するためには、あらかじめ決められた名前と構造を持つフォルダを用意しておく必要がある。まずFTPのルートとなるフォルダを作成しておき(デフォルトの「C:\Inetpub\ftproot」をそのまま使ってもよいし、別のフォルダを用意してもよい)、さらにその中に、以下の名前のフォルダを用意する。ここでは仮に「C:\userhome」フォルダを利用するが、ディスクの空き領域などを考えて、別ドライブ上に作成するものよいだろう。
FTPでログオンする場合は、ローカル・コンピュータのユーザー・アカウントを利用するか、それとも(ローカル・コンピュータが属している)ドメインのユーザー・アカウントを利用するかの2とおりが考えられる。
■ケース1―ローカル・ユーザー・アカウントでFTPを利用する場合
ローカル・ユーザー・アカウントを利用する場合は、先ほどのFTPのサイト・ルートのフォルダの中に新しく「LocalUser」というフォルダを作成する。そしてさらにその下に、各ユーザー名を付けたフォルダを作成する。例えばuser01なら「LocalUser\user01」となるようにフォルダを作成する。そして、ローカル・コンピュータ上にユーザーのアカウントを作成し、このフォルダにユーザーごとに適切なアクセス権を付けておく。
■ケース2―ドメイン・ユーザー・アカウントでFTPを利用する場合
FTPサーバのコンピュータがドメインに属しており、そのドメインのユーザー・アカウントでFTPサービスにログオンするなら、まずドメイン名(ドメインの省略形の名称)のフォルダを作成し、さらにその下にユーザー名のフォルダを作成する。例えば「Sales」ドメイン(FQDNはsales.example.co.jpとする)の「user01」なら、FTPのサイト・ルートの下に、「Sales\user01」というフォルダ階層を作成する。
手順2―匿名ユーザー用フォルダの作成
FTPサービスでは一般的に、「匿名ユーザー」と呼ばれる特別なユーザー・アカウントが利用できるようにすることが多い。匿名ユーザーは、だれでもFTPを利用できるようにするための特別なアカウントであり、ログオン名としては「ftp」もしくは「anonymous」が使われる。匿名ユーザーの場合、実際にはパスワードは不要であるが、ユーザーの電子メール・アドレスをパスワードとして入力して、だれが利用したかがログに残るようにするのがマナー(ネチケット)とされている。
この匿名ユーザーを利用する場合は(使わない場合はこの手順2は不要)、「LocalUser」フォルダの下に「Public」というフォルダを作成し、匿名ユーザー用のフォルダとする。そして匿名ユーザー用に適切なアクセス権を付けておく。一般的には、読み取りのみ許可し、書き込みは禁止にしておくことが多い。
以上の2つの手順で次のような構造のフォルダが作成されているはずである。
FTPのユーザー分離機能向けのフォルダ設定 | ||||||||||||||||||
あらかじめこのような構造のフォルダを作成しておく。もしフォルダが存在しないと、ログオンできない。 | ||||||||||||||||||
|
手順3―FTPサイトの新規作成
ユーザー用フォルダを作成したら、次はFTPのサイトを作成する。ユーザー分離機能は、FTPの「サイト」ごとに設定する機能であり、1度ユーザー分離モードで作成したサイトは、ほかのモードに変更することは(GUI操作では)できないし、仮想ディレクトリごとにこのモードを設定することもできないので注意していただきたい。
FTPサイトを新規作成するには、まずFTPの管理ツール([管理ツール]の[インターネット インフォメーション サービス (IIS) マネージャ])を起動し、[FTP サイト]を右クリックして、ポップアップ・メニューから[新規作成]−[FTP サイト]を選択する。
FTPサイトの新規作成 | |||||||||
ユーザー分離機能はFTPの「サイト」ごとに設定する機能なので、デフォルトのサイトとは別に、新しくサイトを定義する。 | |||||||||
|
すると[FTP サイトの作成ウィザードの開始]ダイアログが表示されるので、適当なFTPのサイト名と、FTPサイトで使用するIPアドレス/ポート番号を入力して、先へ進める。すると次のダイアログが表示されるので、[ユーザーを分離する]を選択する。
ユーザーの分離モードの選択 | |||||||||
IIS 6.0のFTPサイトの作成ウィザードでは、新しくユーザーの分離モードを選択することができるようになった。 | |||||||||
|
ウィザードの次の画面ではFTPのフォルダを指定するが、先ほど作成したFTPサイトのルートを指定しておく。先の例では「C:\userhome」を指定する(LocalUserやドメイン名のフォルダを含む、親のフォルダを指定すること)。
ユーザー用フォルダの指定 | |||
各ユーザー用ホームの親となるフォルダを指定する。 | |||
|
手順4―FTPサイトの開始
新規に作成されたFTPサイトは、デフォルトでは停止状態になっているので、開始状態に変更する。ただし、FTPサービスをインストールした直後では、「既定の FTP サイト」というデフォルトのサイトが作成され、開始状態になっているはずである。そこで、まずこのデフォルト・サイトを停止後(もう不要なら削除してもよい)、いま作成したサイトを開始させる。
FTPサイトの開始 | |||||||||
既存のFTPサイトは停止して、新しく作成したサイトを起動する(ポート番号を変更すれば共存可能)。 | |||||||||
|
FTPサイトへのログオン
以上でサイトの設定は終了である。あとはFTPサイトへログオンすれば、自動的にユーザーごとのフォルダへ誘導され、しかもそのフォルダの外へ出ることはできない。ただしほかに仮想フォルダが定義してあれば、例えば「cd /public」のようにして移動することはできる(これは従来と同じ)。
C:\>ftp 192.168.2.200 …FTPサービスへ接続する |
ログオンする場合のユーザ名は、ローカル・アカウントの場合は単に「user01」や「user02」とすればよいが、ドメインのアカウントの場合は「Sales\user11」や「user12@sales.example.co.jp」のように、ドメイン名付きで指定すること。
Windows Server 2003 SP1のアクセス・ベースのディレクトリの列挙機能との関係
|
なお、Windows Server 2003 SP1で新しく導入された「アクセス・ベースのディレクトリ列挙(ABE)機能」を利用すれば、アクセス権のないフォルダ名を隠ぺいすることができるが、このユーザー分離機能とはやや目的や意味が違うので、混同しないようにしていただきたい(ABEについて関連記事参照)。
ABEでは、アクセス権のないファイルやフォルダの一覧は隠ぺいされるが、もしパス名が分かっていてアクセス権があればアクセスできる可能性がある。それに対してこのユーザーの分離機能では、FTPアクセス時にはルートそのものが変更されるので、ほかのユーザーのファイルのパス名が分かっていてもアクセスすることができず、安全性が高い。必要に応じて使い分けたり、併用したりしてほしい。
関連記事(Windows Server Insider) | ||
Windows TIPS:FTPの仮想ディレクトリに対応するフォルダを作成する | ||
Windows TIPS:FTPサーバでユーザー・フォルダを設定する | ||
Windows TIPS:IIS 6.0のFTPサーバでユーザー・フォルダを分離する(Active Directory編) | ||
Windows TIPS:IIS 6.0のFTPサーバでユーザー・フォルダを分離する(基本編) | ||
Windows Server 2003完全ガイド―アーキテクチャを一新した新世代アプリケーション・サーバ | ||
関連リンク | ||
FTP ユーザーを分離する(マイクロソフト 技術ドキュメント) | ||
How To Set Up Isolated Ftp Site[英文](マイクロソフト サポート技術情報) |
||
この記事と関連性の高い別の記事
- WindowsのFTPサーバでユーザーフォルダを設定する(TIPS)
- IIS 6.0のFTPサーバでユーザー・フォルダを分離する(Active Directory編)(TIPS)
- Windowsでエクスプローラーを使ってFTPサーバーにアクセスする方法(TIPS)
- アカウントを指定してFTPサイトへ接続する(TIPS)
- Windowsのftpコマンドをスクリプトで使う(TIPS)
- FTPの仮想ディレクトリに対応するフォルダを作成する(TIPS)
- IISの標準FTPバナー・メッセージを表示させない(TIPS)
- FTPの標準ポート番号を変更する(TIPS)
- WindowsのFTPクライアントをファイアウォールフレンドリモードに変更する方法(TIPS)
このリストは、デジタルアドバンテージが開発した自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
「Windows TIPS」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|