Cloudflare Spectrum とは
レイヤー3/4で提供している TCP/UDP サービスを DDoS 攻撃から保護すると同時に、オリジンをインターネットに晒すこと無く、Cloudflare が持つルーティングで効率良くコンテンツをお届けすることに最適なソリューション
FTP サービスを Cloudflare Spectrum で保護してみる
- 今回は Amazon Linux 2 をオリジンとした FTP を構築
- FTP は vsftpd 3.0.2
- Spectrum はパッシブモードでの FTP をサポート
- Spectrum をご利用いただくには、Cloudflare アカウントチームへご連絡ください
- Spectrum でご利用いただくサービスのドメインを、Cloudflare ポータルへ登録する必要があります
AWS EC2 インバウンドルールの設定
EC2 のインバウンドルールで接続ポートとデータポートをオープンします
*ハマったポイント
AWS では FTP デフォルトの 21 番がパッシブモードでデータポートに受け渡せない?ので、210 番をオープン
$ sudo yum install vsftpd
$ vi /etc/vsftpd/vsftpd.conf
vsftpd の設定
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES
ls_recurse_enable=YES
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
force_dot_files=YES
tcp_wrappers=NO
pasv_enable=YES
pasv_address=ftp.xxx.net
(ftp.xxx.net には Spectrum で設定したサブドメインを入力します)
pasv_addr_resolve=YES
pasv_promiscuous=YES
listen_port=210
pasv_min_port=20000
pasv_max_port=20020
port_enable=YES
Spectrum の設定
接続ポートとデータポート、両方の設定を行います。
データポートは範囲指定可能
接続、Ingress、Egress が発生すると転送量など見ることができます。
オフィシャルドキュメントはこちら
https://developers.cloudflare.com/spectrum/about/ftp/
21番ポートでの実装で説明されていますが、環境によっていはハマるポイントでもあるようです
Windows Server IIS 編はこちら
https://qiita.com/dd_cloudflare/items/731b1dc9d3d98ceb41a5