『SFTP/FTPS にすれば良い』わけではない

今回の騒動で『FTP は危険だから SFTP/FTPS に変えよう』とか『FFFTP をやめて○○にすべき』といった意見を見る機会が増えました。例えば ↓ コレ。

最近、FFFTPなどのFTPソフトからログイン情報を取得するマルウェアが話題になっている。しかし、FTPはもともとパスワードやファイルを暗号化せずに送受信するため、ほかのクライアントでも盗聴などにより情報を盗まれる可能性がある。そのため、SFTPやFTPSといったより強固なセキュリティを備えるプロトコルを利用することをおすすめしたい。今回紹介するのは、これらに対応する高機能FTP/FTPS/SFTPクライアント「FileZilla」だ。

http://sourceforge.jp/magazine/10/01/30/0741238

一般論として「FTP だと盗聴で ID・パスワード情報が盗まれる可能性がある」ことはその通りなんですが、今回の問題は FTP だから… という理由じゃないですよね。

  • PC 上の FTP アカウントが盗まれている模様。中でも FFFTP がターゲットになっているっぽい
  • FTP サーバ側の ACL が緩く、どこからでも FTP 接続できるようになっている

上の文章で FTP を SFTP/FTPS に置き換えて FFFTP に任意のソフト名称を入れても成立するケースがいくらでもあるわけで、FTP そのもの問題でもなく、ましてや FFFTP の問題でもありません。安易に「そっかー、FFFTP はダメだから○○に変えれば良いのね」と流されず、自分の環境ではどうすべきなのかを良く考えるべきでしょう。

「じゃー、どうすんのよ?」ということで、自分ならこうかな。

  • SFTP/SCP を使う
  • 公開鍵認証にする
  • SSH のポート番号を標準の 22/tcp から変更する
  • 接続可能な IP アドレスを制限する

これでベストというわけではない*1ですし、ホスティングサーバ等ではそもそも設定変更できないでしょうけど、できる環境であれば大分マシになるんじゃないかと思います。

あと今考えているのは

  • コンテンツ管理は SCM(subversion とか git とか)を使う
  • テストサイト、本番サイトへの展開は Capistrano + SSH(公開鍵認証)を使う

です。もう既にやってらっしゃる Web コンテンツ制作会社さんが多いと思いますけど。

ちなみに「CMS を使えば大丈夫」ってことはなく、今回の騒動で改ざんされたサイトの中には Movable Type で構築されたサイトもありました。

*1:標的型攻撃もあるし、トロイの木馬もあるし… 絶対は無いですね。