はじめに
タイトルについて記事にしました。
この記事で得る内容は以下の通りです。
・ 通信プロトコルの種類について・主なFTPソフト
HPの更新などでファイルのアップロード・ダウンロードや編集を行ったりする際に必要となります。
通信プロトコル
FTP(File Transfer Protocol)
FTPとは、ファイルを送受信する時に使う規約(通信プロトコル)です。
通信プロトコルは複数の種類があり、その内の1つがFTPです。
ホームページに必要なファイルをPCからサーバーにアップロードしたり、逆に保存していたファイルを
ダウンロードする際は、FTPソフト(FFFTPやFileZilla)が必要となります。
FTPは、利用者の認証情報(ユーザー名やパスワード)やファイルなど、通信する一切の情報を
暗号化せずに転送するので、情報の漏えいやコンピュータウィルスの標的にされ、多大なリスクを抱えます。
FTPS(File Transfer Protocol over SSL/TLS)
FTPの脆弱性を補うため、転送される情報をSSL/TLSを利用して暗号化するプロトコルです。
SSL/TLS
公開鍵暗号と共通鍵暗号という暗号化技術の組み合わせで、暗号化された安全な通信を確保する仕組みです。
SSLとTLSの大枠は同じもので、SSLがバージョンアップを重ねてTLSが誕生しましたが、SSLのネームバリューから「SSL/TLS」と並列で表記されることが多いようです。
そのサイトにSSL/TLSを使われているかは、ブラウザのURL欄のアドレスバーにhttpではなくhttpsか、鍵のマークの有無で判別できます。
httpとhttpsの違い
httpとhttpsの違いは、通信内容が暗号化されるかされないかです。
httpでやり取りするデータは、第三者が閲覧したり改ざんすることができます。
そこでデータを暗号化し、第三者から情報を保護する目的でhttpsが開発されました。
httpsはSSL/TLSを使い情報に鍵をかけ、サーバーとクライアントにのみ鍵を配布します。
そしてSSLサーバー証明書を発行し、サイトのサーバーにインストールすることでhttps化を行います。
サイト全体をhttps化することを常時SSL化といい、サイト内の画像や動画、スクリプト全てが保護の対象となります。
SFTP(SSH File Transfer Protocol)
FTPで転送される情報を**SSH(Secure Shell)**を利用して暗号化するプロトコルのことです。
SSH
リモートサーバーに操作端末で通信を行う際、通信される一切の情報を暗号化するプロトコルのことです。
SSHは、LinuxにインストールされているOpenSSHや、Gitに同梱されているGit Bashで使用可能です。
SCP(Secure Copy Protocol)
SFTPと同様にSSHを使用しているので、セキュリティ面で安全性の高いプロトコルです。
特徴として、SFTPより通信速度が速いと言われていますが、SCPを利用するにはサーバにUNIX系のシェルが
備わっている必要があります。
主要なFTPソフト
Windows対応
FFFTP
日本人が開発したFTPソフトの定番で、以下のような特徴があります。
・ FTPSを利用して暗号化したデータの送受信ができる(SFTPには未対応)
・ 大量のファイルの一括転送ができる
・ ドラッグ&ドロップでファイルのダウンロード及び、アップロードができる
・ 漢字コードの自動変換ができる
・ ミラーリング機能(転送元の内容を転送先に上書きし、転送元と転送先のファイル構成を等しくする)
■ 公式:FFFTP Project
WinSCP
オープンソースで開発されているFTP/SFTP/SCPソフトです。
・ 暗号化されたデータの送受信ができる
・ ミラーリング機能がある
・ 日本語を含めたいくつもの言語に翻訳できる
■ WinSCPとは
Windows/Mac/Linux対応
Filezilla
FTP/FTPS/SFTPに対応したソフトです。
・ ファイルの高速転送ができる
・ ドラッグ&ドロップでファイルのダウンロード及び、アップロードができる
・ 日本語を含めたいくつもの言語に翻訳できる