Cloudflare SE のとある1日 Under Attack 編

Cloudflare の SE（Solutions Engineer）の現在の業務の一つに Under Attack 対応というのがあります。簡単に言うと、攻撃などの理由でサービス不能に陥っている人がサービスの正常化を求めて Cloudflare 相談するさいに、その対応をおこなうというものになります。営業チームとともに行動します。
世界に点在する Cloudflare の SE のうち、日中帯にあたる地域の SE が輪番で対応するフローとなっています。そのため、自国外（夜間帯）からの緊急相談に対応することが多いです。

この記事では最近の2つの事例について書こうと思います。

##アカウント乗っ取り

某国でECショップのサービスを展開する Cloudflare 既存のお客様からの連絡でした。

###症状と原因
- 不正なサイトに誘導されている
- 組織あてのメールが届かない
- Cloudflare の管理画面に入れない
- レジストラにもアクセスできない

話を聞くと、Cloudflare のアカウントおよびゾーンのレジストラ（某社）のアカウントが乗っ取られ、双方のアカウントにログインできないと…
DNS の MX レコードや EC サイトの CNAME レコード（オリジン）が書き換えられていました。


権限を持っていた従業員の方が退職したあと、共有パスワードの変更などを行っていなかったことが理由のようでした。

###対策と結果
こうなると SE の手に負える範囲ではありません。
（今回は違いますが、問い合わせをしてきた方が攻撃者の可能性もあります）
しかるべき部署に対応を依頼し、しばらくあとには正常に戻っていました。

###Lessons and Learns
- 基本ですが、**アカウントの管理は重要**です。
- **ポリシー**を作成し、それに従って運用や監査をしましょう。
- とくに**閉じるほう**のフロー。
- Cloudflare アカウントの管理には **SSO や 2FA** も使えますので、そちらを準備しておくのもおすすめです。

https://support.cloudflare.com/hc/en-us/sections/204684247-Account-Privacy-and-Security

https://developers.cloudflare.com/cloudflare-one/applications/configure-apps/dash-sso-apps

##DDoS 攻撃

某国で金融関連のサービスを展開する組織の方からの連絡でした。相談を受けた時点では Cloudflare のお客様ではありません。

###症状と原因
- APIサーバが通信不能となり、サービスが停止
- 通常の数十倍のHTTPリクエストが、あるAPI Endpointに集中して押し寄せている
- 通常は 8対2 で自国の通信だが、1対9 くらいで他国が多い、異常な状況となっている

###対策と結果
- 12時ころ 
    - 会議開始、状況を聞いたあと、Cloudflare のセキュリティソリューションについてダッシュボードのサンプルを説明、**動作イメージを共有し**、対策を協議
- 13時ころ 
    - **その場で**アカウントを作成してもらい、DNSを切り替え
    - HTTP (L7) DDoS プロテクションで大半の攻撃が**自動的に**ブロックされ始める
    - Analyze 機能により、**トラフィックを可視化**、それにより更に**具体的な攻撃対策**を設計できるようになる
- 以降
    - 通常接続のない特定の国からの通信を Firewall 機能でブロックあるいはチャレンジに設定するなど、**お客様が自ら対策を最適化し**、収束に向かう

###補足
下記は HTTP DDoS に対して取ったアクションの分析画面です。

![Screen Shot 2021-11-30 at 18.13.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2218045/6d16fdb5-49fd-6255-51b4-294692441ca8.png)

同じデータを違う観点で見ることもできます（例：国別）。


![Screen Shot 2021-11-30 at 18.13.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2218045/26fdd547-4c99-f786-5d2f-dcc01aa15d55.png)

このようにして、攻撃を把握・分析することができます。

たとえば、それぞれの国の部分をクリックし、フィルタを掛けることで、トラフィックをドリルダウンしていくことができます（その国、かつ、宛先が特定Path、など）。
下図の「フィルタを追加する」にドリルダウンの条件が追加されていきます。
![Screen Shot 2021-12-13 at 20.13.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2218045/287f3dc3-137c-8823-d34b-09ac2ba1e136.png)


フィルタしたトラフィックを Firewall のルールに自動で落とし込むことも可能です。上図の「ファイアウォール ルールを作成」で、下記のルールが自動で作成されます。
![Screen Shot 2021-12-13 at 20.13.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2218045/3e122cc8-2f5c-0048-63c2-ed4e953d57da.png)


###Lessons and Learns
- HTTP の DDoS にはデフォルトの L7 DDoS 防御が効果的（当たり前か..）
- 攻撃時に（**攻撃の影響を受けず**）迅速に可視化を行い、状況を把握することは非常に効果的。
- 常時監視し、通常の状況を把握しておくと、更に安心。
- Cloudflare の Firewall は**分析**と**行動**を**一連の作業**で連携しやすい作りとなっている


##まとめ
今回は2つの例を示しましたが、その他にも昨今多い VoIP キャリアに対する DDoS 攻撃など Magic Transit で対応するような規模の大きい Under Attack の例もあります。そのような場合は他のチームも交えて迅速に対応することになります。

日本国内のユーザ皆様についても、サービス停止につながるような緊急事態がありましたら、弊社までご相談いただければと思います。

https://www.cloudflare.com/ja-jp/under-attack-hotline/

また、このような環境で働くことに興味のある方がいらっしゃいましたら、是非一度ご検討ください。人材募集しております。（2021年12月13日時点↓）

https://boards.greenhouse.io/cloudflare/jobs/3608519?gh_jid=3608519