[運用]
|
|
|
FTPサイトのログ・ファイルから攻撃時の記録を確認する
ここまで説明してきた対策を施すと、FTPサイトは攻撃を防いだり回避したりした際、ログ・ファイルにその記録を残す。そのためログを解析すれば、どのような攻撃を受けたのか確認して、今後の対策に役立てたりできる。そこで、攻撃を受けた時のログ記録例を、正常な例と併せて紹介しよう。
なお、FTPサイトのログ・ファイルは、デフォルトで%SystemRoot%\system32\LogFiles\MSFTPSVC<識別子>というフォルダに「ex<年月日>.log」という名前で保存されており、メモ帳で開いて閲覧できる。また、ログで注目すべき状態コード(ログのsc-statusフィールド)やWindowsのエラーコード(ログのsc-win32-statusフィールド)の詳細は、次のWebページを参照していただきたい。
- 状態コード(ログのsc-statusフィールド)
Microsoft インターネット インフォメーション サービス (IIS) 5.0 および 6.0 の状態コードについて(マイクロソフト サポート技術情報) - Windowsのエラーコード(ログのsc-win32-statusフィールド)
System Error Codes(Microsoft MSDN)
■匿名ユーザー(Anonymous)によるアクセス
この場合、許可されていないユーザー・アカウントでアクセスしたことになり、パスワード入力時(cs-methodが「PASS」の行)、sc-statusに「530」というログオンができなかったことを表すコードが記録される。sc-win32-statusの「1326」はログオン失敗を表す
#Fields: time c-ip cs-method cs-uri-stem sc-status sc-win32-status |
正常にログオンできた場合は、sc-statusに「230」(正常なログオン完了)、sc-win32-status「0」(処理成功)というコードがそれぞれ記録される。
#Fields: time c-ip cs-method cs-uri-stem sc-status sc-win32-status |
■許可されていないIPアドレスからのアクセス
この場合、パスワード入力時(cs-methodが「PASS」の行)、sc-statusに「530」(ログオンできなかった)、sc-win32-statusに「5」(アクセス拒否)というコードがそれぞれ記録される。
#Fields: time c-ip cs-method cs-uri-stem sc-status sc-win32-status |
正常な場合は、次のようにログオン成功のログが記録される。
#Fields: time c-ip cs-method cs-uri-stem sc-status sc-win32-status |
■存在しない仮想ディレクトリへのアクセス
正常にログオンしてから仮想ディレクトリへ移動しようとして失敗すると、ディレクトリ変更時(cs-methodが「CWD」の行)、sc-statusに「550」(ファイル利用不可)、sc-win32-statusに「2」(ファイルが見つからない)というコードがそれぞれ記録される。
#Fields: time c-ip cs-method cs-uri-stem sc-status sc-win32-status |
正しく仮想ディレクトリに移ることができると、sc-statusに「250」(ファイル処理正常終了)、sc-win32-statusに「0」というコードがそれぞれ記録される。
#Fields: time c-ip cs-method cs-uri-stem sc-status sc-win32-status |
■許可されていないディレクトリへの書き込み
正常にログオンした後、書き込み禁止ディレクトリにファイルを書き込もうとすると、sc-statusに「550」(ファイル利用不可)、sc-win32-statusに「5」(アクセス拒否)が記録される。
#Fields: time c-ip cs-method cs-uri-stem sc-status sc-win32-status |
正しくファイルが書き込めると、sc-statusに「226」(ファイル転送正常終了)、sc-win32-statusに「0」が記録される。
#Fields: time c-ip cs-method cs-uri-stem sc-status sc-win32-status |
【コラム】効果はあっても敷居の高いFTPサーバ・セキュリティ対策 | ||||||||||
本文で取り上げたセキュリティ対策以外にも、FTPサーバを守るのに効果的な対策はある。しかし、設定が難しかったりハードウェア/ソフトウェアの代替が必要だったりするなど敷居が高かったため、本文では触れなかったものもある。以下で、簡単に紹介しておこう。 ■FTPサーバの接続ポート番号を変更する IISのFTPサーバにおける通信ポートの変更は可能で、IISの設定自体は難しくない。FTPサイトのプロパティの[FTP サイト]タブで、[TCP ポート]の値を別のポート番号に変更するだけだ。詳細はTIPS「FTPの標準ポート番号を変更する」を参照していただきたい。
しかし、FTPクライアントからFTPサーバの間にNAT/NAPTのようなアドレス変換機能を持つルータが存在する場合、ポート番号を変えるとFTPの通信ができなくなる場合がある(こうしたルータの存在はむしろ一般的だろう)。具体的な症状としては、FTPサーバにログオンできても、ファイル名の一覧の取得やデータの送受信、ディレクトリ間の移動などで応答が途絶えてしまう。 対策としては、FTPのパッシブ・モードを利用するか、ルータ(ファイアウォール)のFTP処理に対して、ポート番号を明示的に指示する、といったことが挙げられる。いずれにせよ、FTPサーバ以外で設定変更や機材の交換が生じる可能性があり、導入するには慎重に計画する必要があるだろう。 ■パスワードを暗号化するFTP FTPSはIIS 7.5から標準で利用できるようになり、IIS 7.0でも、後からFTPSのモジュールを追加すれば利用できる(詳細は、連載「Windows Server 2008 R2の真価 第9回 強化されたIIS 7.5(後編)――2.拡張機能(1)―FastCGI/FTP発行サービス/WebDAV」の「FTP発行サービス7.5」を参照していただきたい)。そのため、今後Windows Serverでも利用が広がることが予想される。 一方、IIS 6.0の場合、マイクロソフトはFTPSサーバ機能を提供しておらず、サードパーティ製のWindows Server 2003用FTPSサーバを利用せざるを得ない。この場合、従来のIISのFTPサーバをそっくり代替することになり、管理や運用の手順は大きく変わるだろう。また古いNAT/NAPT付きルータやファイアウォールは、FTPSのプロトコルを正しく制御できず、通信を止めてしまう場合もある。FTPクライアントがFTPS非対応であれば、対応するものに変更する必要もある。やはり導入するには慎重に計画する必要があるだろう。 |
まとめ
IISにおけるコンテンツ更新用FTPサーバの基礎的なセキュリティとして、7種類の対策を紹介した。これらの対策をすべて施せば、FTPサーバの防御力は確実に高められるだろう。しかし、前編の冒頭で触れた多層防御という観点では、IISやFTPサーバ以外の部分でも効果的なセキュリティ対策はある。具体的には、ウイルス対策ソフトウェア(FTPサイト経由のマルウェアの仕込みを検知かつ防止)やファイアウォール(FTPサーバの手前で攻撃をブロック)、攻撃など異常発生時の通知機能(辞書攻撃などを素早く管理者に通知)などが挙げられる。こうした対策も併用しつつ、決して簡単には突破されないサーバ構築に本稿を役立てていただければ幸いだ。
INDEX | ||
[運用]これだけは押さえておきたいIIS FTPサーバ・セキュリティ(前編) | ||
1.FTPサーバに対する攻撃とは? | ||
2.「既定の FTP サイト」は使わない | ||
3.接続元IPアドレスや同時接続数を制限する | ||
[運用]これだけは押さえておきたいIIS FTPサーバ・セキュリティ(後編) | ||
1.FTPサイトはWebサイトから分離して設置する | ||
2.FTPサイトへのアクセスはFTP専用アカウントのみ許す | ||
3.FTPサイトのログから攻撃の痕跡を探し出す | ||
運用 |
- 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をインストールしてみる
|
|