← 事例一覧に戻る
Application Services2026年3月25日読了 72 views

Cloudflare Spectrum で FTP サービスを保護する - Windows Server IIS

DD
DD
所属: Cloudflare Japan 株式会社|得意分野: Cloudflare のこと

Cloudflare Spectrum とは

レイヤー3/4で提供している TCP/UDP サービスを DDoS 攻撃から保護すると同時に、オリジンをインターネットに晒すこと無く、Cloudflare が持つルーティングで効率良くコンテンツをお届けすることに最適なソリューション

FTP サービスを Cloudflare Spectrum で保護してみる

  1. 今回は Windows Server IIS をオリジンとした FTP を構築
  2. FTP は IIS (Windows Server 2022)
  3. Spectrum はパッシブモードでの FTP をサポート
  4. Spectrum をご利用いただくには、Cloudflare アカウントチームへご連絡ください
  5. Spectrum でご利用いただくサービスのドメインを、Cloudflare ポータルへ登録する必要があります

AWS EC2 インバウンドルールの設定

EC2 のインバウンドルールで接続ポートとデータポートをオープンします

Screenshot 2024-03-25 at 12.37.15.png

*ハマったポイント
① AWS では FTP デフォルトの 21 番がパッシブモードでデータポートに受け渡せない?ので、210 番をオープン
② IIS の Configuration にて、Data Channel Security を Passive の通信に対して無効にしないとダメ

Spectrum の設定

Screenshot 2024-03-25 at 12.48.17.png

接続ポート(ここでは 210番)、そしてもう一つデータポート用の設定(私は 20000 - 20020を利用)でもします。
ポートの範囲指定可能。

Windows Server で FTP を立ち上げる

Programs and Freature より、Turn Windows freatures on or off へ進んでください。
ここで重要なのは、FTP Extensiblity も同時に有効にすることです。
これを有効化しないと、ハマったポイント ② の Data Channel Security 機能の操作ができません。

Screenshot 2024-03-27 at 17.33.51.png

IIS で FTP の設定をしていく

Screenshot Bindings.png
ここでは ポートを指定します。21 ではなく、210 にしています。

Screenshot 2024-03-27 at 13.58.28.png
External IP Address of Firewall に Spectrum で設定したドメイン(例:ftp.example.com の IP アドレス)を入力

Screenshot Inbound rules.png

Windows Defender Firewall with Advanced Security にて、Inbound Rules を接続ポート、データポート ともに設定する

その他、ユーザー作成や FTP フォルダの作成がありますが、ググっていただければすぐに参考となる手順が出てくると思います。

Screenshot 2024-03-27 at 17.01.30.png

FTP の Configuration Editor で system.applicationHost/sites の配下にあります、
matchClientAddressForPasv を False に変更して、Apply します。
説明はこちら
https://learn.microsoft.com/en-us/iis/configuration/system.applicationhost/sites/site/ftpserver/security/datachannelsecurity

この設定ができていないと、データポートを利用するフォルダへのアクセスで切断をくらいます。
Response: 150 Opening BINARY mode data connection.
Response: 550 The network connection was aborted by the local system.
Error: Failed to retrieve directory listing

Configuration Editor なるものが諸々の詳細設定になっているのですね。
ハマっていた期間、Windows といえば「Registry」かと思っていましたが、そこに手を出さずに解決ができたのは幸いです。。。

FTP Serviceを再起動して完了

FTP Service を再起動して、
エラー無く FTP クライアントから接続でき、データ転送を確認してください。

Screenshot 2024-03-27 at 19.05.35.png

転送がされて 30 - 60秒ほどのタイムラグがありますが、Spectrum 設定一覧でトラフィックが見れます

免責事項

本記事は Cloudflare Japan のソリューションエンジニアが技術的な知見の共有を目的として個人の立場で執筆したものです。記事の内容は執筆時点の情報および執筆者の主観的な見解を含んでおり、Cloudflare, Inc. の公式な見解・推奨・仕様保証を構成するものではありません。また、記載された構成や手順がすべてのお客様環境で同様に適用できることを保証するものでもありません。製品の正式な仕様や技術サポートについては、Cloudflare 公式ドキュメントまたは担当チームにお問い合わせください。