WEBサイトを公開するためには、ローカルにある画像やファイルをWEBサーバーに転送しなければいけません。ファイルをサーバーに転送する際にはFTPソフトを使用してFTPサーバーに接続します。

日常的に使用しているFTPの役割や、SSHの仕組みを整理しました。

FTPサーバーとは File Transfer Protocol

サーバーとクライアント間でファイルを送受信する通信プロトコルです。通信プロトコルとは、ネットワーク通信をする上での決まりごとのようなもので、通信規約とも呼ばれます。

WEBサイトを公開するためには、ローカルにある画像やファイルをWEBサーバーに転送しなければいけません。

実際の作業は、FTPソフトを使用してFTPサーバーに接続しますが、接続すると、公開されているWEBサイトに関連するファイルなどの情報が、FTPサーバー上に保存されています。

そこからサーバー上のファイルをダウンロードしたり、新規アップロードや更新することができるようになります。

FTPを構成する仕組み

PI : Protocol Interpreter

FTPソフトを使用してファイルを転送する際の「中継地点」の役割をになっています。サーバー側とクライアント側のPIが転送(指示)内容をプロトコルに翻訳しています。

DTP : Data Transfer Process

こちらは実質的なファイル転送プロセスになります。PIが指示内容を翻訳して通信し、DTPで実質的な転送を行うことでファイル転送を実現することができます。

FTPサーバーの種類

FTPサーバーは匿名でアクセスできる(公開されている)ものと、そうでないものの2種類があります。

匿名でアクセスできるFTPサーバー

匿名でアクセスができるFTPサーバーは公共機関などの情報公開に利用されており、誰でもファイルをダウンロードできるようになっています。ただ、この場合の機能はダウンロードのみに限定されており、勝手に中身を書き換えることはできません。

ログインが必要なFTPサーバー

ユーザーがFTPサーバーへのログインアカウントを持っていて、ホスト名・ユーザー名・パスワード・ポート番号を入力して接続する方式です。ログイン後は許可された権限内でファイルのアップロードやダウンロードができるようになります。私たちが日常で使用するのはこのログインタイプのFTPサーバーになります。

FTPのセキュリティリスク

ファイルの転送やダウンロードなと、WEBサイトの運営に便利な機能を提供しているFTPサーバーですが、セキュリティ上の問題点があります。リスクとは、通信経路が暗号化されていないために、悪意のある第三者が、パスワードやサーバー上のデータを盗み取ることが可能な点です。

FTPをセキュリティの面で、より安全に改良したのがSFTPになります。

SFTPのSはSSH(Secure Shell)を指しており、SSHとは暗号の認証技術を使用して、安全に通信を行うことができる仕組みです。SSHを使用することで、パスワードなどの認証情報を含む全てのネットワーク上の通信が暗号化されます。

SSHの仕組み

パスワード認証方式

サーバーのユーザーアカウントに設定している任意のパスワードを使用します。パスワードが万が一流出してしまった場合に
悪意を持った第三者からサーバーにログインされます。

公開鍵認証方式

こちらは通信の安全性が非常に高い接続方式になります。「秘密鍵」と呼ばれるファイルを安全に保管すれば、悪意を持った第三者からの不正なログインを防ぐことができます。

公開鍵認証方式を使用したサーバーとのやりとり

1. 秘密鍵の作成
2. サーバーとクライアントに秘密鍵を保管
3. SSHサーバに接続(ログイン)
4. 秘密鍵の照合を行う
5. 通信の暗号化(PI)
6. 暗号化通信の開始(DTP)

上記の手順で秘密鍵の作成・照合を行い通信を暗号化することで、安全にファイル転送を行うことができます。

参考 : https://ja.wikipedia.org/wiki/SSH_File_Transfer_Protocol

カテゴリー: WEBセキュリティ