病みつきエンジニアブログ

機械学習、Python、Scala、JavaScript、などなど

FTPの危険性/本当は怖い生パスワードの話

みなさんこんにちは。
最近の学生はウェブサイトやブログ持っている人が多いですね。特に学生団体に入っている人などなど。
で、おそらくその人たちはFTPを使っていると思うのですが、それが実は危ないんだぞという話をさせていただきたいと思います。
章立ては

  • なぜFTPが危ないのか
  • 安全な転送方法は?

です。

なぜFTPが危ないのか

サーバーにWordpressなどのデータをアップロードしたりするときに、FTP、使いますね。以下、この行為を「ファイルを転送する」と呼称しますね。
ファイルを転送するステップを、おさらいしてみましょう。

  • ユーザー(クライアント)が「サーバーに接続したい」とサーバーに申告する
  • サーバーは、それが正しいユーザーかどうか、判別したい(改竄されたくないので)
  • ユーザーは、ユーザー名とパスワードを申告する(=パスワードをサーバーに転送する)
  • サーバーは、ユーザー名とパスワードが正しいことを確認する
  • ユーザーが、サーバーにファイルを転送する

というステップです。

ここで危ないのが、太字になっている部分です。
つまり、パスワードをサーバーに送りつけるところ。
なぜ危ないかといえば、生でパスワードを送りつけているから。生が危ないのは保健体育でも習いましたね。

なぜ生が危ないのか?
例えば、一番危ないパターンが、公共の無線LANを使っているときです。大学やカフェで、生のパスワードが公共の場所に晒されています。こええよ。
ちなみに、生のパスワードのことを平文のパスワードと言ったりします。

安全な転送方法は?

さて、今までさんざんFTPをディスってきましたが、じゃあ何があんねんと、代案を求められる頃です。
Wikipediaでググれっていう感じですが、答えを言うと、FTPSやSFTPです。

FTPSは、SSL(TLS)でラッピングした、ちょっと安全なFTPです。
パスワードを暗号化して、安心して送りつけられる、というイメージです。
これの優れているところは、ユーザー=私たちは何も考えずに、つまりFTPを使っていたときと同じように使えるところです。
逆に、サーバー側の設定が手間かかります。

SFTPは、sshFTPの合わせ技です。
sshに慣れ親しんでいる人ならば非常に簡単なのですが、sshが使える人自体が珍しいため、FTPから乗り換える敷居は高いです。
サーバーの設定は全然難しくないのですが。

以上2つ上げましたが、敷居の低さから、FTPSの利用をおすすめします。ただし、サーバー側で対応していない可能性があるので、確認してみてください。
本音を言うと、SFTPを使ってみてほしかったりします。sshが非常に面白いという個人的な理由ですが。笑

まとめ

FTPでのファイル転送は、非常に危険です。FTPSなどの代案が使えないか、確かめてみるといいと思います。

雑記

なぜこんなことを書いたかといえば、未だにFTPが平気でまかり通っているからです。メールとかFTPとか、いにしえから残る規格から、脱皮して行ってもいいと感じます。「え? まだメールとかFTP使ってるの? きもーい」ぐらいのノリで。迷惑メールの存在とか、正直脆弱性レベルだと思うのですが・・・。

もうひとつ、危険だと感じるのがコワーキングスペースの普及です。
ああいうところには、ファイル転送をする人がいっぱい集まります。攻撃に晒されに来ているようなもの、とも言えます。
そしてその中には、ブロガーさんであったり、あまりセキュリティーに詳しくない方もいらっしゃいます。
そのような方が少しでもセキュリティーに関心を持っていただけたら、と思って記事を書きました。しかも、FTPSとか簡単に使えますし。

3番目の理由が、「保健体育でも『生』はダメと言ってるのに、情報教育では『生』の危険性を伝えていない」というちょっと上手いこと言ってみたかっただけです。

最後に、自分はFTPS使ったことないです……。なので不正確かも。私はSFTP派なので。