重要でないデータのやり取りであれば、FTPでも構わないと思います。
FTPは転送する情報を暗号化しませんので、不正アクセスや通信データの盗難など、リスクのある通信方法ですが設定が簡単です。
今回は、お漏らししたくないデータ転送に最適な「FTPS」の設定です。
FTPS エフティーピーエス(File Transfer Protocol over SSL/TLS) は、FTPの拡張版で暗号化通信が出来ます。
「SSL/TLS」という文字が入っていますが、これは暗号化方式の名前です。
SSL(Secure Socket Layer)は、インターネット上でデータを暗号化して送受信する方法のひとつです。
TLS(Transport Layer Security)は、SSLをもとに標準化させた送受信方法です。
FTPSなら安心安全?
FTPSは、名前やパスワードのログイン情報や、転送するファイル情報を暗号化して送受信をしますので、セキュアな通信方法です。
セキュリティ的に強固だから絶対情報が漏れないかと言うと、そうではありません。
2014年から2015年にかけて「SSL/TLS」の脆弱性が発見されました。
Heartbleed(ハートブレード)、POODLE(プードル)、FREAK(フリーク)という脆弱性で、可愛い名前に反してやばい穴のようです。
コンピュータウィルスは、こうした脆弱性を狙って情報を盗み出します。
対策としてサーバ証明書の再発行や、サーバ設定の変更、サーバシステムバージョンアップなどの作業が必要になりました。
原因は「SSL/TLS」プログラム自体のバグだったりしますので、ユーザー側で原因を潰すことは出来ません。
ユーザーが出来ることは、応急対策するくらいです。
恐らく、今後も新たな脆弱性が発見されて行くと思います。
こういった脆弱性はセキュリティホールと呼ばれ「SSL/TLS」プロコトルに限らずどんなプログラムにもあるものです。
最初からセキュリティホールが無い完璧なものは、無いと思って良いでしょう。
ある規格やプログラムがあると、それを改ざんしようとするハッカーが必ず居て、対策して、ハッキングして・・・と終わることのない攻防が繰り返されているので切りがありません。
100%安全性が無いとしても、95%の安全性ならほぼ安心ですよね。
「SSL/TLS」で暗号化されたデータのやり取りは、殆どの方が知らないうちに使っています。
ネットショッピング等でのカード情報や個人情報などは「SSL/TLS」暗号化技術を使って送信されています。
ショッピングサイトや会員サイトへのログインで使われている場合もあります。
現在の普及している技術の中では、実績と信用度のある暗号化転送技術と言えます。
NASのFTPS設定
実際にFTPSの設定をして行きましょう。
前記事のFTP設定と重複する部分がありますが、ご了承ください。
「Qfinder」を立ち上げログインします。
QTSデスクトップから【コントロールパネル】アイコンをクリックします。
コントロールパネルが開いたら、【ネットワークサービス】→【FTP】を選びます。
【FTPサービス】タブを選びます。
・一般
FTPサービスを有効にする:チェックを入れます。
プロコトルタイプ:「FTP over SSL/TLS(Explicit)」にチェックします。
ポート番号:990
FTPSの規定とされているポートは、21番と990番があります。
21と990どっちゃねん?と混乱しますが、レンタルサーバでは21しか許可していないなど環境によって違います。
調べると(Implicit)が990で、(Explicit)は21とするようです。
QNAP NASのFTPSは(Explicit)なので、21としても良いのですが、一般的に使われる990番ポートでも通ります。
ここで設定したポート番号は、ルーターのポート開放設定とFTPソフトの設定でポート番号を合わせる必要があります。
Unicodeサポート:「はい」にチェック。
FTPツールがUnicodeサポートに対応していなければ「いいえ」にします。
匿名(Anonymous)を有効にする:「いいえ」にチェック。
Anonymousは、昔フリーウェアの配布などで使われていたもので、不特定多数の人がログインしなくてもファイルにアクセスできるようにするものです。
今は殆ど使われていませんので、有効にすることは無いと思います。
・接続
すべてのFTP接続の最大数:同時接続数を入力します。
単一アカウントの最大接続数:1アカウントに対する最大接続数を入れます。
ここで入力する最大接続数は「TS-231+」の場合メモリが1GBなので、256までという制限があります。
そんなに大勢が同時アクセスしないと思うので、使う人数を目安に設定してください。
FTP転送制限を有効にする:通常は設定する必要はありません。
非常に多くの方が、大量のデータ転送を行う際には制限した方が良い場合もあります。
【詳細設定】タブ
・パッシブFTPポートの範囲
「デフォルトのポート範囲を使用する」ポート範囲を指定しない場合は、こちらにチェックを入れます。
「ポート範囲の定義」デフォルトの範囲が広すぎると思う方は、ポート範囲を狭める事が出来ます。
ポート開放する範囲が狭い方がセキュリティ的に良いので、1025から65535の間で好きなポート範囲を自由に決められます。
QNAPデフォルト設定のパッシブ FTP値が55536〜56559なので、この範囲の中で設定しても良いと思います。
例えば、60000-60010などで良いです。
データ通信コネクションが30も50も張られる事は無いと思われるので、範囲は狭くて構いません。
「パッシブFTP接続要求に外部アドレスで応答する」は、通常使用しませんのでチェック入れません。
FTP接続を有効にするためのルーター設定
FTPサーバにインターネット経由でアクセスするには、ルーター設定でポート開放をしてやる必要があります。
ポート開放がされていないとインターネット経由でアクセスしても、ルーターではじかれて接続できません。
適切なポートに穴を空けないとアクセス出来ないので、少し難しい部分です。
私が使用しているのは、NTTの光回線終端装置(ONU)というものです。
ONUは、ルーターが内蔵されていますのでログインすれば設定が出来ます。
ルーターへのログイン
ルータ設定画面をブラウザで表示する為に、「http://192.168.1.1/」又は「http://ntt.setup/」とブラウザのURL欄に入力し「Enter」キーを押します。
ログインウインドーが表示されるので、ユーザー名とパスワードを入力します。
ユーザー名は、「user」と入力します。
パスワードは、初回接続時に設定するようになっています。
設定しているパスワードを入力します。
FTPSの2種類のモード
【FTPサービス】タブの設定解説で少し触れましたが、FTPSには(explicit)と(implicit)モードという2種類のモードがあります。
(explicit)モードは、接続を開始してから、ユーザ名とパスワードなどを暗号化してセキュアなデータ送信を行います。
このモードは、「FTPES - 明示的なTLS/SSL」と呼ばれます。
(implicit)モードは、接続全てをセキュア状態で送信します。
こちらは「FTPS - 暗黙のTLS/SSL」と呼ばれます。
前の記事で、FTPで使える2種類のモード説明をしましたが、それとは違う意味のモードです。
【ネットワークサービス】→【FTP】→【FTPサービス】タブを見ると
「FTP over SSL/TLS(Explicit)」という表記しかありません。
QNAPのNASで「SSL/TLS」接続は、(explicit)モードしか使えないようなので、モードを選ぶ必要はありません。
ルーターのポート開放設定(FTPS)
ルーター(ONU)にログインして、ブラウザで設定画面を開きます。
左のメニューから【静的NAT設定】をクリックして「静的NAT設定」画面を表示します。
「エントリ番号」の空いている上位番号(何も設定していなければ1)をクリックします。
すると1番の静的NAT設定がリストの上に表示されます。
いきなりエントリ番号5番など、番号を飛ばしてはいけません。
必ず空いているエントリ番号の上から順に使って行ってください。
エントリ番号:1
優先順位:エントリ番号と同じ1で良いです。
接続インターフェイス名:メインセッションを選びます。
宛先IPアドレス:NASのネットワーク設定で固定したIPアドレスを記入
(例:192.168.1.100)
変換対象IPアドレス:自分のWAN側IPアドレス
変換対象プロコトル:TCP
変換対象ポート(開始ポート-終了ポート):990
設定が終わったら下にある【設定】ボタンを押します。
エントリ番号1に内容が表示されるはずです。
続けて、エントリ番号2を設定します。
エントリ番号:2
優先順位:エントリ番号と同じ2で良いです。
接続インターフェイス名:メインセッションを選びます。
宛先IPアドレス:NASのネットワーク設定で固定したIPアドレスを記入
(例:192.168.1.100)
変換対象IPアドレス:自分のWAN側IPアドレス
変換対象プロコトル:TCP
変換対象ポート(開始ポート-終了ポート):パッシブFTPポート範囲
【ネットワークサービス】→【FTP】→【詳細設定】タブで設定したポート範囲を指定します。
エントリ番号2に内容が表示されるはずです。
FTP接続テスト
ここで、通信テストをしてみましょう。
FTPサーバへのアクセス確認は、NASが繋がっているネットワーク以外のネットワークからアクセスしてください。
NASが接続されているネットワーク上のパソコンから、FTPソフトでアクセスしても繋がりません。
外部のパソコンから接続する場合は、「FTPS」も「FTP」と同じFTPソフトで接続できます。
フリーFTPソフトで有名な「FFFTP」は、古いツールですが暗号化対応版なら使えます。
設定の暗号化タブで「FTPS(Explicit)で接続」にチェックを入れてください。
WindowsでもMacでも使えるFTPツールは「FileZilla」がおすすめです。
[ファイル]→ [サイトマネージャ]→[一般]タブで、プロコトル[FTP-ファイル転送プロコトル]、暗号化[明示的なFTP over TLS が必要]を選択。
自分ひとりで接続確認をする場合、スマホアプリから接続確認をします。
Androidなら「AndFTP」が有名で使いやすいです。
iPhoneなら「FTPManager Free」あたりでしょうか。
スマホのFTPアプリでもFTPサーバ(NAS)に接続出来ますので、外部からのアクセス確認に最適です。
自宅でスマホをWi-Fi接続して使っている方は、Wi-Fi接続を切ってLTEや3G接続にしてから繋いでください。
NASの初期状態は、中に何もファイルが無いため接続して中身を見ても解りづらいと思います。
何かテストファイルなどを入れておくと、確認しやすいです。
繋がらない場合は、ファイヤーウォールを一瞬だけ切って接続してみましょう。
パッシブモードの場合、セキュリティソフトによる影響は無いはずですが、可能性を潰して行かないと原因が見つけられません。
もし、セキュリティソフトが原因であればセキュリティソフトの設定でポート開放してあげる必要があります。
「セキュリティソフト名 ポート開放」などで検索して方法を探してください。
サーバ証明書(SSL証明書)
FTPサーバ(NAS)とのファイルやりとりでFTPSを使う場合、面倒なのが暗号通信に必要な「SSLサーバ証明書」です。
「サーバ証明書」は、電子証明書の1つで、電子的な判子が押されている証明書です。
私達が何かの契約をする際、契約書に印鑑で押印します。
電子証明書は、コンピュータが確認出来る印鑑で押印したものです。
サーバ証明書の役割は、サイトの所有者証明と暗号化です。
どうやって証明書を手に入れるかですが、一般的なのは、第三者の証明書屋さんにデジタル証明書を発行してもらう方法です。
証明書の発行は有料で、そこそこ高いです。
企業などは、証明屋さんにお金を支払う事で証明書を発行してもらい、サーバにアクセスした時に表示されるサーバ証明書によって安全性を証明しています。
企業でも無い個人がFTPサーバを運用するのに、お金払うのは嫌ですよね〜。
お金を掛けたくないからと言って、暗号化を諦めたくありません。
お金を掛けずに証明書が欲しいと思うのは私だけでは無いはずです。
実は、証明書は無料で手に入ります。
無料の証明書発行サービスを使って手に入れる方法があります。
「Let's Encrypt」「AWS」「WoSign」など、海外のサービスに登録申請すれば、無料でSSL証明書を出してくれます。
でもこれ、手続きがすごく面倒です。
そして証明書の有効期限が短いなどの制限があり、使い勝手も良くないです。
もう1つの手として自己証明書があります。
自己証明書は、自分で作れます。
俗に「オレオレ証明書」とか「独自証明書」なんて呼ばれます。
身内だけでFTPサーバを使うなら、オレオレ証明書で十分です。
最初に接続した時にオレオレ証明書の内容が表示されますが、それがちょっと怪しい感じになってしまうのがデメリットです。
怪しいサイトが怪しい証明書を付けているのと一緒なので、アクセスすると「有効性を検証できませんでした」という、ちょっと不安になる証明書が表示されます。
オレオレ証明書を1から作れば、各項目内容は変えられます。
FTPを使う人に事前に内容を伝えておけば、ハッカーからのやばいアクセスとの区別はつくと思います。
オレオレ証明書を作るには、自分のPC内に証明書屋さんを開設して証明認証してやる方法と、OpenSSLというソフトウェアを使って作る方法があります。
試しに作ってみましたが、知識がないと難しいと思います。
正直、かなり面倒でしたが頑張れる方はやってみてください。
チャレンジされる方は「オレオレ証明書 作り方」や「自己証明書 作り方」という言葉で検索すれば、作成方法が解ると思います。
自分で作ると有効期限や表示内容などを自由に決められます。
NASに最初から入っている証明書の更新
自己証明書を作るのが面倒な方は、QNAPのNASに付いてくる独自サーバ証明書を使いましょう。
これは、NASに初期状態で入っている証明書で、第三者証明機関での認証を受けていない自己証明書になります。
自己証明書なので「このCAルート証明書は信頼されていません」という文言が、証明書情報に表示されます。
証明内容の変更は出来ませんが、証明書を作る手間が無いので楽です。
この証明書は(TS Series NAS)という発行者名で表示されます。
NASの出荷時期とNASを購入した時期によって、証明書の有効期間が残り少なくなっている場合があるので更新作業します。
「Qfinder」を立ち上げログインします。
QTSデスクトップから【コントロールパネル】アイコンをクリックします。
コントロールパネルが開いたら、【システム設定】→【セキュリティ】→【証明書とプライベートキー】タブを選びます。
【証明書のダウンロード】ボタンを押して「CRTファイル」をパソコンに保存します。
ファイルの拡張子を「.txt」に変更して、メモ帳などで開きます。
--BEGIN CERTIFICATE-- 〜 --END CERTIFICATE-- までの、全文字列をコピーしてタブ内の「証明書」ボックスにペーストします。
【秘密キーのダウンロード】ボタンを押して「KEYファイル」をパソコンに保存します。
ファイルの拡張子を「.txt」に変更して、メモ帳などで開きます。
--BEGIN RSA PRIVATE KEY-- 〜 --END RSA PRIVATE KEY-- までの、全文字列をコピーしてタブ内の「秘密キー」ボックスにペーストします。
証明書と秘密キーの2つを記入したら、下にスクロールして【適用】ボタンを押すと更新されます。
FTPSは少し難しいっす!
FTPよりセキュアなFTPSですが、特に証明書周りが難しく感じると思います。
簡単に暗号化だけさせてよ・・・と思っちゃいます。
まー実際、証明書関係は仕組みを理解していないと難しいので、戸惑うと思います。
ルート証明書、クロスルート設定用証明書、中間証明書など、段階的な階層で証明書を検証する仕組みがあり、自己証明書を作る場合少し勉強が必要です。
証明書は、アクセスしたブラウザなどに保存されますので、承認すれば次からは表示されません。
必要が無くなったらブラウザの証明書保存先から削除できます。
面倒だと思いますが、一度設定すれば数年間更新せずに済むので、頑張って設定してみてください。
ほんと面倒ですけど・・・
個人的な写真の流出事件が多くニュースになっています。
今はファイルの暗号化は必須な気がします。
スポンサーリンク