| [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 TIPS」 |
ホワイトペーパー(TechTargetジャパン)
- WindowsTIPS (2010/3/19)
− [シャットダウン]ボタンの設定を変更する
− WINSサーバをインストールする
− WINSサーバをnetshコマンドで管理する - Windows 7のファイアウォール機能 (2010/3/18)
Win 7のファイアウォールの概要解説。ルールセットを切り替えるプロファイル機能が強化され、ドメインでもVPNでも、適切なルールが自動選択される - 第212話 プリンタ用紙 (2010/3/16)
致命的なディスク・クラッシュが起きる確率は、クラッシュによってもたらされる被害の大きさに比例する… - WindowsTIPS (2010/3/12)
− 不要なアドオンを無効化してIE8の起動を高速化する
− IE8のソース表示エディタを変更する
− RRASのNATでポートマッピングを定義する
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
| 「いつかは壊れるサーバ」そんな故障に 迅速で安価に手軽に対応する方法とは? New! |
| 「特権ユーザー」の事件を防げ! 万能権限を持つユーザーの管理方法とは? New! |
| 仮想環境の構築とデータ保護の特効薬?! 実績と信頼性の高いパッケージで安心運用 |
| 仮想環境のバックアップもこれまでどおり 「まるごと取ってまるごと戻す」簡単運用 |
| おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
| その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |
| 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |
| 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | TomcatやJBossなどAPサーバ環境に関する 情報を集約! “業務”用APサーバ大百科 New! |
| ◆ | 一気に解説! 最新のクラスタストレージ 「RAIDを超えたストレージ基準」……など New! |
| ◆ | クラウド的ユーザー体験の変化は脅威か? 仮想化技術を使いこなす運用管理術を紹介 New! |

| ◆ | 上司や部下、部署内メンバーとの情報共有 を“ガラッ”と変えるコラボツールとは? New! |
| ◆ | おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| ◆ | 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |

| ◆ | Twitterのアカウントはなぜ突破された? メールによる新手の攻撃手法とその対策 |
| ◆ | もう仮想化のお試しフェイズは終わりだ! Hyper-V 2.0が基幹システムも仮想化 |
| ◆ | 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |

| ◆ | クライアント企業から求められる人材 ⇒IT技術と経営戦略を併せ持つ「戦略家」 |
| ◆ | .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| ◆ | 業務効率と情報セキュリティ対策を両立! 手間なく確実に機密情報を守る方法とは? |

| ◆ | 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |

| ◆ | 【CTC事例】約30の基幹システムを統合! 膨大なバッジジョブを制御した方法は? |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |
| ◆ | その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |












