Webサイト作成時のファイル転送手段として、未だにFTPが紹介され使っている方も多いと思います。
しかしFTPはもう過去の技術、FTP通信を現在も行っているというのは情報を盗んで下さいと言っているようなものです。
今すぐにFTPは辞めて、安全な通信方法であるセキュアな通信に切り替えましょう!
- FTPが何故危険なのかわかる
- FTPの他にファイル転送手段がわかる
- 安全な通信に対応したオススメFTPクライアントソフトがわかる
FTPって危険なの?クライアントソフトの選び方は?
多分この記事を現在見ている方の中にもサーバーとのファイルのやり取りにFTPを使っている方が多いと思います。
FTPはFile Transfer Protocolの略で、読んで字の如くファイル転送の為に使う接続方法。
FTPで多く紹介されているフリーソフトであるFFFTPは僕が初めてWebに触れた時にはもう超メジャーなFTPソフトとして有名で、その名残からか未だに多くの支持を集めています。
もちろんFFFTPにもFTPS(File Transfer Protocol over SSL/TLS)という安全な通信にも対応しているんですが、これがびっくりする事に色々なWebサイトの作り方みたいなサイトで普通にFTP通信のやり方しか書いていない事が多いんです。
そりゃあ皆さん知らない訳ですよね、FTPが危険とも安全とも書いてないですし、ファイルのやり取りはFTPでやるもの!としか紹介されてないんですから。
では実際問題FTPの何が危険かというと、一切の暗号化がされていないので基本的に傍受しようと思えば通信データを丸ごと盗み見る事ができます。
この際アップロード/ダウンロードするファイルはどうでもよくて(いやよくはないけれど)、問題はサーバーに接続するためのIDやパスワードが丸見えという事。
つまり、この2つさえ入手してしまえば悪いことを考えている人はサーバーに接続できてしまいます。
言うまでも無く、サーバー上にある大切なファイルを削除できますし、何よりDDoS攻撃の踏み台になってしまう可能性大。
もちろんユーザーからの情報を収集するようなWebサイトの場合個人情報流出も懸念されます。
今の時代FTPを使ってる(=セキュリティ意識の低い)人なんてどうせレンタルサーバーやTwitter、はたまた銀行のIDやパスワードも同じような物を使ってるだろう、と予測してその辺を攻撃する事もできます(少なくとも僕が悪い人間なら絶対試します)。
どんなにWebサイトをセキュア化(https通信)したりSSH接続に変えたところで、ファイル転送にFTP通信を使っていたら何の意味も無いに等しいという訳です。
特に今の時代、公共のWi-Fiなんてそこら中に張り巡らされています。
もし暗号化していない通信環境でFTP接続なんて行った日にはいつ誰に覗かれているか分かりません、サーバーとの通信を行う以上暗号化は必須だと考えるべきです。
ファイル転送の種類
ではファイル転送にはどんな物があるか、見ていきましょう。
FTP
まずは先述したFTP、長きに渡ってファイル転送の標準プロトコルとして君臨しています。
最大のメリットはその手軽さ、接続先のサーバー名やIPアドレスとユーザー名、パスワードさえ分かればログイン出来てしまいます。
通信ポートは21番ポートが使用され、一切の暗号化を行わない為非常に傍受がしやすいと言えます。
FTPS
FTP通信にSSL/TLSによる暗号化機能を実装した規格になります。
FTPの拡張版とも言えるFTPSですが、実際の通信にはFTPと違い920番ポートを使用します。
SSLと言えばWebサイト運営者の方にはお馴染みのhttpsでも聞いた事があると思いますが、ようはアレと同じです。
SSLの証明書を使うためコスト的にも安価(無料のSSL化の場合費用なし)ですし、最近のWebサイトはSSLが事実上標準化されている為証明書を追加コストとして別途扱う事は稀でしょう。
多くの無料FTPクライアントソフトでも対応しています。
また、ファイル転送時のアスキーモード自動変換に対応している為文字コードによるトラブルを防ぎやすいというメリットもあります。
SFTP
サーバーとの通信で活躍するSSHによる暗号化を行う方式です。
ポートもまさにSSHの標準ポートである22番ポートが使用され、基本的にSSH接続が行える環境下であればSFTPも利用可能という事になります。
名前もFTPSとそっくりですが、通信プロトコルはFTPとSSHで全くの別物。
ユーザーサイドから見ればできる事はほとんど一緒です。
FTP、FTPSと違いSSH通信が行えればFTPサーバー構築やポート開放が不要な為、サーバー側でも構築がしやすく現在のファイル転送の標準と言えると思います。
SCP
技術的にはSFTPと同様にSSHによる暗号化を行う方式です。
22番ポートが空いていれば利用でき、SFTPに比べ高速で通信できるという特徴があります。
ただし機能面で言えばSFTPにやや軍配が上がり、例えば4GB以上のファイルを扱えなかったり、ファイル転送が中断された際の再開が行えません。
メジャーなレンタルサーバーの対応状況
サーバー名 | FTP | FTPS | SFTP | SCP |
---|---|---|---|---|
エックスサーバー | ○ | ○ | ○ | ○ |
ConoHa WING | ○ | ○ | ○ | ○ |
ロリポップ | ○ | ○ | ○ | ○ |
mixhost | ○ | ○ | ○ | ○ |
ColorfulBox | ○ | ○ | ○ | ○ |
見て頂ければ分かるように、基本的にどのサーバーもファイル転送についてはサポートしていると見て間違いありません。
ユーザー側に選択肢があるのは嬉しいですが、対応しているのであれば当然安全な接続に切り替えるべきでしょう。
どれを使えば良いの?
全部が使えるとなるとちょっと悩みますが、僕はSFTPをオススメしています。
理由については色々あるのですが、
- SSHサーバーのみで通信できる(FTPサーバーそのものが不要)
- SSH接続と同じポートを使える(無駄にポートを開放する必要がない)
- 対応クライアントソフトが豊富にある
以上があげられます。
ポート開放やFTPサーバーの有無は一般的なレンタルサーバーに関してはユーザー側であまり気にしなくても良いですが、将来的にVPSサーバーに移行を考えていたりする場合は慣れも含めてSFTPがファーストチョイスだと思います。
また、同じくセキュア通信であるSCPも選択肢に入るのですが、凄くざっくり言えば速度はSCP、機能はSFTP。
個人のWebサイト程度であれば正直速度が優先される程大容量のファイルを扱う事はまず無いかな・・・と思います。
FTPクライアントソフトの選び方
そこで重要になってくるのがどのFTPクライアントを使うべきか。
主に次に上げる2つの点が対応している事があげられます。
セキュアなSFTPに対応していること
まずこれは前項までで散々お話したので100%絶対の条件です。
今もしSFTPが使える環境下にあるなら、わざわざFTPやFTPSを選択する理由はありません。
ちなみにSFTPそのものには改行コードの自動選択機能はありませんが、クライアント側で実装されているケースもあります。
マスターパスワード機能に対応していること
マスターパスワード機能は主に通信面ではなく、ローカルコンピューター側の機能です。
通常FTPクライアントは接続先のサーバーのホスト名orIPアドレスやユーザー名、パスワードをクライアント側に保存してワンクリックで接続出来るように設計されています。
ところがこのパスワードまで平文(暗号化されていない)の状態で保存されています。
つまり悪意のある第三者がマルウェア(ウイルス)を送り込んだりするとパスワード流出の可能性があるという事です。
そこで重要になるのがマスターパスワード機能。
この機能が搭載されていると、サーバー側の情報は暗号化されてローカルに保存される為万が一マルウェア感染等したとしても流出する可能性が限りなく低くなります。
もちろんウイルスバスター やノートンのようなセキュリティ対策ソフトでマルウェアの侵入そのものを防ぐと言った対策は必ず行って下さい。
FTPクライアントソフト比較
では実際にFTPクライアントをそれぞれ比較してみたいと思います。
基本的にファイルを転送する、と言う”できること”は一緒です。
主要なFTPクライアントの比較表を見てみましょう。
FileZilla | WinSCP | FFFTP | |
対応OS | Windows Mac Linux | Windows | Windows |
対応 プロトコル | FTP FTPS SFTP | FTP FTPS SFTP SCP | FTP FTPS |
価格 | 無料 | 無料 | 無料 |
マスター パスワード | ○ | ○ | ○ |
FilleZillaのマルチOS対応、WinSCPのSCP対応辺りが特徴的で、後はどのソフトも大体同じような印象(ただしFFFTPはSFTP非対応)。
ではそれぞれの特徴を見てみましょう。
FileZilla
多分FTPソフトといえばFFFTPかFileZillaかと言われるぐらいメジャーなソフトです。
一昔前にFFFTPの開発が終わると話題になった時、乗り換え先の筆頭だったのがFileZillaか後述するWinSCPでした。
Windows/Mac両対応(Linuxも対応)のマルチプラットフォームで、ローカルの環境がWindowsからMacに変わったりMacからWindowsに変わったりしても全く同じソフトを使えるの点は非常に優位な点です。
現に僕は自宅ではWindowsのデスクトップ、出先ではMacbook Proを使い分けているので正にその優位な点を最大限受けています。
ソフトそのものの使い勝手もよく、画面左はローカル右はサーバーと一般的なFTPソフトのGUIはそのままに高機能で提供されています。
当然マスターパスワード機能にも対応しているので、セキュリティ面でも安心です。
導入から使い方まで、以下の記事でわかりやすく解説しています(というかぶっちゃけこの記事読んで設定して貰えばOKです)。
オススメ度 | |
ソフト名 | FileZilla |
開発元 | FileZilla プロジェクト |
対応OS | Windows / Mac / Linux |
対応プロトコル | FTP / FTPS / SFTP |
価格 | 無料 |
マスターパスワード | 対応 |
WinSCP
Windowsユーザーならファーストチョイスでもおかしく無いのがWinSCP。
非常に高機能ながら高速に動作し、安定性も抜群です。
見た目もなんとなくWindowsのエクスプローラー風なので、Windowsユーザーは難なく使いこなせる点が最大の長所かも知れません。
もちろんソフト名にもなっているSCPを始め、セキュアな通信であるSFTP、FTPやFTPSと言った規格に対応しています。
テキストエディターを内蔵している為別のエディタをインストールしなくてもサーバー上のファイルを直接編集できるのは地味に便利です(ミスをした時に元に戻すのが面倒なので、あんまりオススメはしないですが・・・笑)。
FileZilla同様マスターパスワード機能も有しているので、セキュリティ面での不安もありません。
ネックはやはりMacで利用できない点。
近年はWindowsとMacを両方使っているユーザーや乗り換えをするユーザーも多い為、どうせ最初から導入するならFileZillaのように複数のOSで同様に扱えるソフトに一歩優位性があります。
オススメ度 | |
ソフト名 | WinSCP |
開発元 | WinSCP プロジェクト |
対応OS | Windows |
対応プロトコル | FTP / FTPS / SFTP |
価格 | 無料 |
マスターパスワード | 対応 |
FFFTP
FFFTPは誰もが知る超メジャークライアント、最初のFTPクライアントがFFFTPという方も多いでしょう。
一時は開発者による開発が終了しましたが、その後オープンソースとしての開発が続けられています。
最大の問題点はSFTPに対応していない点。
FTPSには対応しているのですが、SFTPに比べるとセキュリティ面では若干低下します。
VPSのように自分でサーバー構築する観点で考えるとFTPSの場合FTPサーバーを構築しなければならない点がまず1点デメリット。
更にもう1点、SFTPであればSSHサーバーのポート開放さえしておけばOKですがFTPSの場合別のポートが必要と、無駄に1つポートを開ける事になってしまいます。
管理の面から言えばポートの数、起動しているサービス(サーバー)の数は少ないに越した事は無いので、僕は現在基本的にFFFTPをオススメしていません。
オススメ度 | |
ソフト名 | FFFTP |
開発元 | GitHub – ffftp/ffftp |
対応OS | Windows |
対応プロトコル | FTP / FTPS |
価格 | 無料 |
マスターパスワード | 対応 |
FTPソフトは結局どれがオススメなの?
やはりFileZillaがファーストチョイスです。
どのOSでも使え、基本的な機能は全て網羅しているので仮に将来お使いのパソコンがWindowsとMac間で変わったとしてもすんなり使えます。
ちょっと前まで唯一FileZillaのデメリットとしてマスターパスワード機能が非対応だったんですが、2017年に対応してからデメリットが無くなりました。
またパーミッション(権限)の自動設定ができないというデメリットもあるにはあるんですが、今やWordPressに関してはほとんどのサーバーがサーバー側でGUIを使った簡単なインストールができる時代。
わざわざzipなんかで圧縮されたWordPressをダウンロードしてきてFTPでアップロード、みたいな状況もほとんど無いでしょう。
そもそもパーミッションは理解した上で適切に設定するものなので、「よく分からないから自動設定に頼る」よりもきちんと理解しておきたい部分です。
という事で、基本的にはFileZillaを使っておけば間違いないというのが僕の結論です。
ConoHa VPS+KUSANAGIで始めるWordPress超高速環境
当記事はWordPressを超高速化できるWordPress専用仮想マシンKUSANAGIをConoHa VPSで初心者でも簡単に導入できるというコンセプトの1記事です。
手順通りに行えば誰でもKUSANAGI環境が実現できる!を目指して作成しました。
是非合わせてお読み下さい!
コメント