セキュアなファイル転送手段としては、暗号化にSSLを使うFTPS(File Transfer Protocol over SSL/TLS)と、SSHを利用したSFTP(SSH File Transfer Protocol)があります。
両者の違いとしては、FTPをSSLで暗号化して通信するのがFTPS。 SSHの仕組みを利用してファイル転送を行うのがSFTPということになります。 つまりSFTPはFTPではありません。
SFTPと比較したFTPSのメリットとして、ASCII/BINARY モードのサポートやフォルダ単位での転送がある。
デメリットとしては、サーバー運用側でSSL証明書の購入コストがかかることであるが、これについてはワイルドカード証明書で登録すれば、自社SSLサイト(HTTPS)と共通の証明書を利用可能。
というわけで、馴染み易いのはFTPSの方でしょうか。
ところで、FFFTPをSSL接続に対応させる方法というのもあるようです。
FFFTPでFTP over SSLしよう
ここでは、SSLプロキシソフト「WinSSLWrap」をご紹介します。
「WinSSLWrap」をインストールすると、FFFTPでもFTP over SSLが利用できるようになります。
ただ、「WinSSLWrap」を使っても完全ではないようです。
FFFTP+WinSSLwrapにてFTPSを行いたい - Master of IP Network - @IT
理由は簡単で、WinSSLWrapがデータ・チャネルのTLS/SSL接続をサポートしていないからです。
「TLSRequired on」は両方のチャネルのTLS/SSL化を強制しますので、当然、LIST(XPWD)ではじかれてしまいます。
従って、WinSSLWrapでは転送データの暗号化はできませんが、それでもよければ「TLSRequired ctrl」としてあげれば、コントロール・チャネルのみTLS/SSL化を強制しますので、ユーザ名やパスワードは漏れる心配はありません。
「TLSRequired on」で両方のチャネルのTLS/SSL化を強制したければ、FileZillaのようなTLS/SSL対応のクライアントを使用するしかありません。
という訳で、FileZillaというソフトを試してみました。
インストールすると、最初から日本語化されて起動します。
FFFTPを10年近く使ってきましたが既に開発が止まっていますし、ファイル/フォルダの数が多いと転送してくれないこともあります。
他のFTPソフトは画面構成が煩雑だったりして馴染めなかったのですが、FileZillaは比較的スッキリしていて好感が持てます。 これなら乗り換えてもいいかな?
でも、FileZillaには注意すべき点があるようです。
FileZilla は FTP 情報を平文で XML ファイルに保存している - エンジニアでありたい人の日記
が、FileZilla を使う場合は気をつけないといけないことがあります。それはFileZilla は FTP 情報を平文で XML ファイルに保存していることです。最新版なのかな、ver. 3.3.1 でも未だそうなってます。
この情報自体、ググってどなたかのブログで見つけたものですし、私も一時期「FileZilla って良さそうだなぁ」と思っていたクチなので偉そうなことを言えませんが、「FFFTP はダメだから FileZilla にしよう」という安易な発想ではかえって深刻な事態を招きかねません。
ちなみにこの件については FileZilla の Trac に 2年くらい前にバグとして投稿されましたが「こういう設計だ」という回答がなされています。
試しに C:\Documents and Settings\(ユーザー名)\Application Data\FileZilla フォルダの sitemanager.xml を見てみると、確かにパスワードがそのまま記入されていました(汗)。 オソロシや~
JPCERT/CC Alert 2010-02-03 FTP アカウント情報を盗むマルウエアに関する注意喚起
本攻撃に使用されているマルウエアに感染すると、ユーザのコンピュータ内 に保存されているアカウント情報が読み取られ、外部のサーバに対し送信され る可能性があります。 このアカウント窃取の対象となるソフトウエアは、FTP クライアントを含む 複数の製品にのぼります。JPCERT/CC では、以下の FTP クライアントにてマル ウエアによるアカウント窃取、および外部サーバへのアカウント情報の送信を 確認しました。
- ALFTP 5.2 beta1
- BulletPloof FTP Client 2009.72.0.64
- EmFTP 2.02.2
- FFFTP 1.96d
- FileZilla 3.3.1
- FlashFXP 3.6
- Frigate 3.36
- FTP Commander 8
- FTP Navigator 7.77
- FTP Now 2.6.93
- FTP Rush 1.1b
- SmartFTP 4.0.1072.0
- Total Commander 7.50a
- UltraFXP 1.07
- WinSCP 4.2.5
対策としては面倒でも、接続時に毎回パスワードを入力するようにすることでしょうね。
これで大丈夫かな?
「このセッションのパスワードを記録する」にチェックを入れておけば、(FileZillaを閉じない限りは)次回接続時には入力する必要はありません。 この設定でも sitemanager.xml にはパスワードは記録されません。