はじめに
AWS を触り始めたばかりの頃にやらかした初歩的なミスをまとめたアドベントカレンダー、題して「AWS初歩ミス図鑑」の 24 日目です。
今回は 消し忘れたレコードが悪用されていた話 を書いていきます。
やっていたこと
自社サービスの一つを閉鎖することになり、CloudFront や ALB など、諸々不要なリソースの削除とバックアップを行っていました。過程で Route53 のレコードや、S3 も削除することになり、慎重に下調べを行って、きちんと削除しても大丈夫なリソースを策定したうえで、作業を行っていました。
結果
「すみません…、先日閉鎖したはずのドメインが、オンラインカジノへの誘致に使用されているのですが…」 後日、私の席までやってきた営業さんに言われ、一瞬固まってしまいました。
閉鎖したはずのドメインが…? と調べてみると、確かに自社サイトのドメインで変なサイトが運用されています。これはいったいなにがどうなっているんだ…? キーペアがもれて EC2 が改ざんされたのか…? いやでもこのドメインは S3 を使っているはずで…などと混乱していると、どうやらサブドメインテイクオーバーという攻撃をされているんだということがわかりました。
下記記事がとても分かりやすかったので、引用させていただきます。
簡単に説明をすると、消し忘れた DNS レコードが第三者に悪用されてしまう、という手法です。
閉鎖したサービスは S3 に配置した静的コンテンツを CloudFront 経由で表示していたのですが、実はそういう運用になる前は S3 のエンドポイントを直接 Route53 の値として紐づけていたらしく、そちらの古いドメインの存在を知らずに削除が漏れてしまっていたことで、今回の件を招いてしまいました。つまり、
- test.com ← ちゃんと消した
- test-old.com ← 存在を知らず消し忘れ、DNSレコードが残留
こういう状態になっていたのです。
何を考えていたのか
下調べが激甘でした。
対象のホストゾーンには複数のレコードが存在していたため、ひとつひとつをチェックすることができず、その結果、削除対象の S3 に紐づいているレコードを見逃してしまいました。
幸い、今回はお客様に発見される前に自社内で気が付けたことで、大した被害にはなりませんでした。もしも弊社のドメインを使用した悪質サイトで誰かが被害を受けていたらと思うと……恐ろしい気持ちになります。
まとめ
削除をするだけ、という単純そうに見える作業にも、第三者から攻撃をされる隙が生まれます。
現在は静的コンテンツとしてレコードに登録されている S3 を削除するときはきちんと警告が表示されるので、皆様におかれましてはこちらを見逃さないようにしてください…。
明日はアドベントカレンダーの総まとめ記事を書く予定なので、初歩ミス図鑑は今日をもって実質最終回です。最後までお付き合いいただきありがとうございました!