IISのftpサービスで個人毎のフォルダーを作成設定するメモ

Create:2001/08/14, update:2001/08/15

 

動作環境

下記のマシン環境にて動かした結果を記事にしております。

OS : Windows2000 Professional
IIS : IIS v5.0
etc : ファイルシステムを NTFS にしました(セキュリティ上、必ずNTFSにしてください)。

長所と短所

下記に書いてある通り長所も短所もあるので自己責任において実行してね♪

・anonymousユーザを使用可能とし、匿名用のフォルダーと特定のユーザ(パスワードで管理)の
 フォルダーを分けるように設定する。
・hoge ユーザの個人フォルダーを作成し hoge ユーザ以外のアクセスを禁止する。
・利点として、IE()v5.x〜から ftp アクセスでき、ファイルの読み書きはエクスプローライメージで
 操作することができる。
・外部(internet)に公開する前に必ず、全ての権限ユーザのアクセスパターンを検証すること。
・外部からハッキングされる可能性が大ということ。

設定方法

すでに IIS をインストールしているものとして話を進めます。インストール方法が判らない方は、こちらを参照のこと。

  1. IISでは、ftpとして接続するユーザーの管理を、システムのユーザー管理に依存しています。匿名ユーザー(anonymous)についても同様で、デフォルトで IUSR_pcname (pcname はコンピュータ名)というユーザーが匿名ユーザーとして使用されます。 ユーザー別にフォルダースペースを与えるためには、その該当ユーザーを「ユーザーとパスワード」にて予め作成しておく必要があります。 ここでは例として hoge というユーザーを作成し話を進めます。
  2. ※ hoge には、パスワードを設定しないといけません・・・・

  3. その前に、hogeユーザーと、匿名ユーザー(anonymous)のディレクトリを別々にするための設定を行います。下記は、匿名ユーザー(正確には、hogeユーザー以外)としてアクセスするディレクトリを指定する設定です。[スタート]-[設定]-[コントロールパネル]-[管理ツール]-[インターネット サービス マネージャ]を選択します。

  4. インターネット インフォメーション サービスの画面が表示されたら 「既定の ftp サイト」を選択し、マウスの右ボタンを押しプロパティ画面を表示させてください。表示されたら「ホーム ディレクトリ」タグを選択します。この画面の例では、"c:\temp\mp3" のディレクトリを匿名ユーザー(正確には、hogeユーザー以外)がアクセスするディレクトリを指定する設定です。

  5. hoge の新しいユーザを作成します。フルネーム、説明の欄は必要が無い限り特に入力はいりません。

  6. hoge のパスワードを設定します。

  7. ユーザ権限を設定します。標準ユーザに以上の権限を設定しても悪戯されるだけなので、一番低い権限の Guests で良いでしょう。あと作成終了したら hode のプロパティを見て、「パスワードを無期限にする」をチェックしておいてください。

  8. hoge ユーザが作成し終わったら hoge 専用のディレクトリを作成し(ここでは c:\temp\hoge とする)、そのディレクトリのプロパティを参照します。デフォルトの設定では Everyone の設定になっており、使用するマシンに設定されている全てのユーザがアクセスできてしまうので、これでは都合が悪いので Everyone を削除します。削除する場合は、「継承可能なアクセス・・・」のチェックを外し Everyone を選択し削除ボタンを押下します。なにか言ってきますが ”はい”を選択し先に進みます。

  9. 次に追加ボタンを押下し hoge ユーザと、そのマシンを管理するユーザ(ディレクトリを削除できなるなるので必ず必要)を追加します。アクセス許可は hoge, 管理ユーザ共にフルコントロールを選択します。

  10. 「管理ツール−インターネットサービスマネージャ」を選択し、インターネットインフォメーションサービスを起動します。

  11. 「既定のftpサイト」を選択しマウスの右ボタンを選択し 「新規作成−仮想ディレクトリ」を実行します。ウイザードが立ち上がるので次へボタンを押下しながら下記の画面が表示されるまで進んでください。表示されたらエイリアスの入力欄に hoge さんが始めにアクセスするべきフォルダーに該当する名前 hoge を指定してください。

  12. 次へボタンを押下しながら下記の画面が表示されるまで進んでください。表示されたらパスのエイリアスの入力欄に先ほど作成したユーザディレクトリ c:\temp\hoge を指定してください。

  13. 次へボタンを押下しながら下記の画面が表示されるまで進んでください。表示されたらアクセス許可のチェックを全てチェック(レ印)し、次へボタンを押下し作業を完了してください。

  14. 次の画面の様に hoge がエラーマークになっているかもしれませんが気にしません。(何故エラーになるか、わたしにも??っす)

  15. 「既定のftpサイト」を選択しマウスの右ボタンを選択し 「全てのタスク−アクセス許可ウイザード」を実行します。ウイザードが立ち上がるので次へボタンを押下しながら下記の画面が表示されるまで進んでください。表示されたら「新たなセキュリティ設定を・・・」を指定して次へボタンを押下し先に進んでください。

  16. サイトの環境は「Public FTP Site」を選択します。選択したら次へボタンを押下し先に進んでください。

  17. アクセス許可は、推奨を選択します。選択したら次へボタンを押下し先に進んでください。

  18. 今まで指定した条件での設定結果が表示されますので問題がなければ次へボタンを押下し完了してください。

  19. 今回のftpセキュリティは、「匿名を許可し、各ユーザも許可する」なので、このままの状態ですと匿名ユーザのみがアクセスすることしかできません。「既定のftpサイト」を選択しマウスの右ボタンを選択し プロパティを実行します。ウイザードが立ち上がるので次へボタンを押下しながら下記の画面が表示されるまで進んでください。セキュリティアカウントタブを選択し 「匿名接続のみを許可する」にチェックされているのでこれを外します。

    ※ Administrator, guest, その他のユーザにて外部からアクセス可能となります。特にguestに関してはユーザアカウントを無効にする、Administratorは安易なパスワードを設定しない等の考慮が必要です。

  20. IIS から怒られますが ”はい”を選択してください。

  21. まずはローカル内での テスト方法を書きます。下記の方法はあくまで一般的なものです。これが全て ok だとしても個人のファイルが安全に守られているとか、セキュリティホールがふさげると過信しないでください。パスワードが漏れれば進入されますし、それ以前に不特定多数の人にこの設定をするのは間違っています。自分の把握できるしかも信用のおける人のみ設定してあげるのがベストだと思います。
    ・"c:\temp\hoge" に 1.txt ファイルを作る。
    ・"c:\inetpub\ftproot"(デフォルトのftpルート) に ano.txt ファイルを作る。
    ・IE を立ち上げてアドレス欄に "ftp://ホストIPアドレス"と入力してみて、ここでエラーとかにならなければ ok っす。
     (一覧には ano.txt が表示されている)
    ・IE のファイルメニューからログイン方法を選択し 「匿名でログインする」でログインしてみます。
     (ここで上記で表示されたファイル一覧と同じ物がでれば ok です)
     (かつ、ファイルを消すが、エラーと怒られれば、もっとok です)
    ・アドレス欄に "ftp://hoge@ホストIPアドレス:121/" って入力し正しいパスワードを入力して
     1.txt ファイル一覧が出れば ok でっす。
    ・匿名でログインしアドレス欄に "ftp://ホストIPアドレス/hoge/" と入力し、FTPフォルダーエラー
     (/hoge Access is denied.)が表示されれば ok 。
    ・他のユーザでログインし アドレス欄に "ftp://ユーザ名@ホストIPアドレス/hoge/" と入力し、FTPフォルダーエラー
     (/hoge Access is denied.)が表示されれば ok 。
    
  22. 応用編です。下記みたいな設定をすると、不特定多数の人に大切なファイルを消されたり悪戯されたりしないのではないでしょうか?
    ・匿名ユーザのディレクトリは、読み取りのみに設定する。
    ・グループで共有するユーザアカウントを1つ用意し、それを教えてもいい人のみ伝える。
     (もちろん読み書きできるモードにしておく)
    ・既存のftpポートを使わず無意味な番号(例えば 15251とか)にしておく。
    
  23. 設定と確認テストが終了したら外部に公開するように設定しましょう。!!。
[..戻る..]