前書き
「ほとんどのDDoS攻撃は米国のアマゾンから」——アカマイの最新セキュリティレポート | ビジネスネットワーク.jp
日本に対する DDoS 攻撃の発信源の大手は米国のアマゾンとのこと.おそらく AWS の米国リージョンと思われる.
Android/iOS アプリをクライアントとするゲームサービスにおいて,パブリッククラウドプラットフォームの IP アドレスを WAF のブラックリストに登録すれば平和になると思われる.通常のゲームプレイでクラウドからのアクセスは考えられないためである.クラウド経由のアクセスは,プロキシを使っているかあるいは不正アクセスのどちらかと考えられる.
AWS
AWS IP アドレスの範囲 - アマゾン ウェブ サービス
JSON で提供されている.
curl -O 'https://ip-ranges.amazonaws.com/ip-ranges.json'
cat ip-ranges.json | jq -r '.prefixes | .[].ip_prefix'
GCP
SPF レコードを元に解決する必要があるので少々手間がかかる.
require "resolv"
txt_record = Resolv::DNS.new.getresources("_cloud-netblocks.googleusercontent.com", Resolv::DNS::Resource::IN::TXT).first
domain_list = txt_record.data.split("\s")
domain_list.select! {|record| record.start_with?("include:") }
domain_list.each {|domain| domain.gsub!(/include:/, "") }
ip_range = []
domain_list.each do |domain|
txt = Resolv::DNS.new.getresources(domain, Resolv::DNS::Resource::IN::TXT).first
ip_list = txt.data.split("\s")
ip_list.select! {|record| record.start_with?("ip4:") }
ip_list.each {|domain| domain.gsub!(/ip4:/, "") }
ip_range.push(*ip_list)
end
puts ip_range