FTP サーバーで FTPS を設定する (Windows Server)
現在表示しているページは選択中の表示言語には対応しておりません。
環境
- Windows Server
-
- Windows Server 2019
現時点で Windows Server 2008 以降であれば他のバージョンの Windows Server でもセットアップはほぼ同じです。
- そのほか
-
- SSL 証明書
前提条件
- IIS がセットアップされていること
- FTP サイトを構築済みであること
SSL 証明書について
FTPS を利用することにより FTP の通信内容を暗号化することが可能ですが、 暗号化通信において「通信相手が正しい」「正しい通信相手のみ復号できる」ことを証明するために SSL 証明書が必要になります。
SSL 証明書は確実に信頼できなければならないため、 通常は SSL 証明書を配布しているサービスから購入、または入手しなければなりません。 また、SSL 証明書の運用は基本的にインターネット上のみとなっています。(イントラネット用も一応あります)
しかしテスト目的で SSL 証明書を使用する場合に有償の SSL 証明書を購入するわけにも行かないので ここでは IIS がテスト目的で生成できる 自己証明書 を利用します。 暗号化の信頼性はありませんが、自己証明書を利用することにより一応暗号化通信を行うことができます。
自己証明書の作成
IIS マネージャーを起動します。
左のツリーからサーバーを選択し、サーバー証明書 をダブルクリックで開きます。
右のメニューから「自己署名入り証明書の作成...」をクリックします。
フレンドリ名を入力します。何でもいいですがなんの証明書か分かりやすいものを入力します。
証明書が作成されます。有効期限は1年です。
FTP サイトに証明書を設定
FTP サイトをクリックして FTP の SSL 設定 をダブルクリックして開きます。
先ほど作成した証明書が選択可能なので選択します。
FTP と FTPS の併用が可能ですが、FTPS のみにしたい場合は SSL 接続が必要 チェックを入れます。
変更したら右のメニューの適用をクリックします。
クライアントから接続テストを行う
SSL 必須にしている場合は Windows 標準の FTP コマンドでは接続できません。
ここではツール「WinSCP」を使って接続してみます。
試しにこちらでも FTP で接続してみます。
以下の図のように暗号化を有効にして接続します。
接続する際に以下の図の警告が出ます。これは自己証明書として作成した証明書であるため、信頼できない証明書であるからです。とりあえず接続はしたいので「はい」を選択して許可します。
接続できることを確認しました。右下には暗号化されていることを示すカギアイコンが表示されています。
正規の SSL 証明書の使用について
自己証明書の説明にあったサーバー証明書の画面からインポートができます。 これは FTP サイトだけでなく、Web サイトでも同様の手順です。
ちなみに IIS では証明書は .pfx ファイルになるため、.csr や .key ファイルを持っている場合は変換する必要があります。