[運用]

これだけは押さえておきたいIIS FTPサーバ・セキュリティ(後編)

1.FTPサイトはWebサイトから分離して設置する

デジタルアドバンテージ 島田 広道
2010/05/06
Page1 Page2 Page3

 前編ではFTPサーバへの攻撃手法と4つの対策について説明した。後編では、残る3つの対策としてIISのFTP(仮想)サイトのセキュリティ設定と、攻撃時に記録されるログについて説明する。

対策その5: FTPサイトのルート・ディレクトリをWebサイトから分離する

防御効果が期待できる攻撃手法
アカウント/パスワード窃取→不正アクセス
辞書攻撃(侵入成功後)
脆弱性攻撃(侵入成功後)

 コンテンツ更新用だからといって、FTPサイトのルート・ディレクトリを更新対象のWebサイトのルート・ディレクトリに直接マッピングしている例を見かけることがある。これだと両サイトの構造が共通になるので、見通しも管理も容易になる。しかしセキュリティの観点からは、これは避けた方がよい。もし攻撃者がFTPサイトへのログオンに成功すると、即座にWebサイトのコンテンツにアクセスできてしまうからだ(下図の左側の絵)。

 そこで、FTPサイトのルート・ディレクトリはWebサイトに含まれない別のディレクトリにマップし、そこに「仮想ディレクトリ」を作成してWebサイトへマップする(下図の右側)。仮想ディレクトリとは、IISのサイト上でのみ利用可能なディレクトリのことで、ファイルシステム上のディレクトリを実体としてマップして利用する。この仕組みで実ディレクトリとは別個にサイトのディレクトリ・ツリーを構築できる。

 重要なのは、FTPサイトにログオンしても仮想ディレクトリの名前は取得できず、たとえ攻撃者がログオンしても、名前が不明な限り仮想ディレクトリの先のWebサイトにはアクセスできないことだ。正規ユーザーには仮想ディレクトリの名前を知らせておき、FTPクライアントの初期ディレクトリとして設定すれば、問題なくWebサイトのコンテンツにアクセスできる。

WebサイトにFTPサイトを重ねてマップすると攻撃には脆くなる
左側のように、WebサイトのツリーにFTPサイトをそのまま重ねると、見通しや管理はしやすくなるが、もし攻撃者がFTPサイトへのログオンに成功したら、即座にWebサイトのコンテンツにアクセスして改ざんしてしまうだろう。右側のように、FTPサイトのルート・ディレクトリはWebサイトとは別のディレクトリに設置し、仮想ディレクトリ経由でマップした方がよい。こうすれば、仮想ディレクトリの名前が分からない限り、攻撃者はWebサイトまでアクセスできない。

 FTPサイトのルート・ディレクトリを変更するには、Webサイト外にディレクトリを作成した後で、対象のFTPサイトのプロパティを開いて[ホーム ディレクトリ]タブを選び、作成したディレクトリのパスを[ローカル パス]に指定する。このディレクトリのアクセス権はデフォルトのものから強化しておく必要がある。その手順は次のページの「対策その7: FTP専用アカウントだけにFTPサイトへのアクセスを許可する」にて説明する。

FTPサイトのルート・ディレクトリを変更する
対象のFTPサイトのプロパティを開いて[ホーム ディレクトリ]タブを選ぶと、この画面が表示される。
これを選ぶ。
あらかじめ作成しておいたディレクトリのパスを、ここに指定する。
ルート・ディレクトリに書き込みの権限は不要なので、ここはチェックを外してオフにする。

対策その6: 類推の難しい名前の仮想ディレクトリを作成してWebサイトをマップする

防御効果が期待できる攻撃手法
アカウント/パスワード窃取→不正アクセス
辞書攻撃(侵入成功後)
脆弱性攻撃(侵入成功後)

 FTPサイトのルート・ディレクトリに仮想ディレクトリを作成してWebサイトのルート・ディレクトリをマップする際、仮想ディレクトリ名は類推の難しいものにしておく。前述のように、攻撃者が万一ログオンできても仮想ディレクトリの名前は取得できないが、ここで辞書攻撃による総当たりによって名前が判明すると、Webサイトへのアクセスを許してしまうからだ。

類推の難しい名前の仮想フォルダにWebサイトをマップする
仮想ディレクトリ名はログオンしただけでは取得できないが、ログオン後に辞書攻撃による総当たりで名前を調べることは可能だ。そこで、十分に長くて複雑な名前を仮想ディレクトリに付けることで攻撃成立を防止する。

TIPS「FTPの仮想ディレクトリに対応するフォルダを作成する

 なお、FTPのルート・ディレクトリをマップしたファイルシステム上のディレクトリには、何も作成しないこと。特に、仮想ディレクトリと同名の実ディレクトリをここに作成すると、FTPクライアントから仮想ディレクトリ名をブラウズ可能になり、隠ぺいできなくなるので注意していただきたい。

 仮想ディレクトリを新たに作成するには、対象のFTPサイトを右クリックして、コンテキスト・メニューから[新規作成]−[仮想ディレクトリ]を選ぶ。すると仮想ディレクトリの作成ウィザードが起動するので以下のように進める。

仮想フォルダ名を指定する
「仮想ディレクトリ エイリアス」では、仮想ディレクトリの名前を指定する。最低でも12文字以上の長さで、記号を混ぜて複雑にした名前を指定すること。

仮想ディレクトリのマップ先ディレクトリのパスを指定する
「FTP サイトのコンテンツのディレクトリ」では、仮想ディレクトリのマップ先であるWebサイトのルート・ディレクトリのありかを指定する。

仮想ディレクトリとその先のディレクトリへの書き込みを許可する
「仮想ディレクトリのアクセス許可」では、FTPサイトにおけるアクセス権を指定する(ファイルシステム上のアクセス権とは別)
コンテンツ更新には書き込み権限が必要なので、このチェックをオンにする。

 次のページでは、FTPサイトへのアクセスをFTP専用アカウントだけに限定する設定について説明する。


 INDEX
  [運用]これだけは押さえておきたいIIS FTPサーバ・セキュリティ(前編)
    1.FTPサーバに対する攻撃とは?
    2.「既定の FTP サイト」は使わない
    3.接続元IPアドレスや同時接続数を制限する
   
  [運用]これだけは押さえておきたいIIS FTPサーバ・セキュリティ(後編)
  1.FTPサイトはWebサイトから分離して設置する
    2.FTPサイトへのアクセスはFTP専用アカウントのみ許す
    3.FTPサイトのログから攻撃の痕跡を探し出す

 運用


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間