中京大学工学部 / E-ONTAP.COM 鈴木常彦 (a.k.a 浸透いうな)
Mar 16, 2024 ISACA名古屋 3月度月例会
http://www.e-ontap.com/misc/isaca/
2018 年 9 月から Unbound に以下の制限を施してハニーポットとしてのオープンリゾルバを運用
DNSSEC の無効化 (EDNS0 DO bit off) は Unbound ソースの util/net_help.h への以下のパッチによる
< #define EDNS_DO 0x8000 /* Dnssec Ok */ --- > #define EDNS_DO 0x0000 /* Dnssec NG */
(Unbound 1.19 以降は disable-edns-do: yes で DO bit off 可)
Unbound のログから "all servers for this domain failed, at zone ..." をゾーン毎にカウント
Mar 13 14:34:35 unbound[57705:0] query: 138.197.78.98 ncv-es-sms-nccp.kdca.go.kr. A IN Mar 13 14:34:35 unbound[57705:0] error: SERVFAIL <ncv-es-sms-nccp.kdca.go.kr. A IN>: all servers for this domain failed, at zone kdca.go.kr. no server to query nameserver addresses not usable Mar 13 14:34:35 unbound[57705:0] reply: 138.197.78.98 ncv-es-sms-nccp.kdca.go.kr. A IN SERVFAIL 0.000000 0 44 Mar 13 14:34:35 unbound[57705:0] notice: ip_ratelimit exceeded 138.197.78.98 1 wwwrelaypocztachs.kdca.go.kr. IN A
Web への掲示
辞書を使用してランダムに生成された文字列と考えられる。辞書の使用はランダムドメイン名判定を回避するためか?
iba0afr.e-nyusatsu.pref.*****.jp. oicirt01-gmail.mc.pref.*****.jp. idp.iba0a.e-nyusatsu.pref.*****.jp. log-app03.datapf.pref.*****.jp. iba0aidp.e-nyusatsu.pref.*****.jp. app04lyncdiscover.datapf.pref.*****.jp. ns3-imap1d.mfis.pref.*****.jp. contacts-app05.datapf.pref.*****.jp. www-imap5d.asmile.pref.*****.jp.
最小: 102,306 最大: 566,757 平均: 254,540 標準偏差: 110,039
最小: 707 平均: 1,982 最大: 10,116 標準偏差: 1,656
障害ゾーン総数 142,739 (うち jp は 585)
平均 250,721回/日 のレートリミットがかかった上での数字である。 ファイアウォールでカウントしたポート 53 への UDP パケット数は約 1万 / 5分 = 280万/日 (約 30 qps) であった。リミットされたクエリの約10倍が到来している。
影響のある時間帯を考慮しているようには見えない
4/13 に調査したTCP接続元を ping で継続的に死活監視
最小: 1,241 平均: 2,000 最大: 3,017 標準偏差: 484
総IPアドレス数 (2023年3月15日-5月31日) 60,335
TCP 3,862 / IPアドレス総数 26,514 = 15% (5月分)
588 のTCP接続元のサンプリング分析 (4月5日) では 78% が米国の某大手データセンタ
3月22日 07:45 - 09:28 クエリ総数 1,632 (ratelimited)
6月5日 17:34 - 6月6日 01:44 クエリ総数 7,367 (ratelimited)
攻撃元はいずれも 1 IP アドレスのみで、1/4 qps (リミット前でも推定 数qps) の緩慢な攻撃であり膨大な数 (少なくとも数千) の踏み台の使用が推察される。
DDoS Victims Top 50 of Today -- Sat Mar 16 09:01:06 JST 2024 count zone time (first seen - last seen) ---------------------------------------------------------------------------------------- 12573 bokjiro.go.kr. Mar 16 00:00:14 - Mar 16 09:01:04 12497 mois.go.kr. Mar 16 00:00:22 - Mar 16 09:01:04 11934 mcst.go.kr. Mar 16 00:00:23 - Mar 16 09:01:05 11382 moel.go.kr. Mar 16 00:00:03 - Mar 16 09:01:02 11379 pipc.go.kr. Mar 16 00:00:16 - Mar 16 09:01:03 11205 zatca.gov.sa. Mar 16 00:00:07 - Mar 16 09:01:04 10769 me.go.kr. Mar 16 00:00:08 - Mar 16 09:01:05 10132 primera.app. Mar 16 00:00:05 - Mar 16 09:00:06 7715 cbiko.gov.tr. Mar 16 03:20:24 - Mar 16 09:01:04 6086 conicet.gov.ar. Mar 16 00:06:18 - Mar 16 08:59:40 2877 telefonica.es. Mar 16 03:07:06 - Mar 16 05:05:35 2679 inscname.net. Mar 16 00:01:23 - Mar 16 08:40:01 1951 votorantimcimentos.com.tr. Mar 16 03:15:50 - Mar 16 04:50:38 1886 daegu.go.kr. Mar 16 04:02:13 - Mar 16 09:00:58 1752 cloud.redislabs.com. Mar 16 00:00:01 - Mar 16 03:54:53 1360 risqwise.com. Mar 16 00:00:06 - Mar 16 01:54:51 1343 dns-leak.cyberghost.app. Mar 16 00:02:50 - Mar 16 09:01:02 1301 ams1907.com.
隠れオープンリゾルバになっているかもしれません、、、
このようなセキュリティアプライアンスをご存知でしたら教えてください。
(nict.go.jp, tuat.ac.jp, mofa.go.jp, emc.com など)
deny all from 192.0.2.0/24 to any in via ${外側IF}
deny all from not 192.0.2.0/24 to any in via ${内側IF}
deny ip from 192.0.2.0/24 to me not ipttl 64,128,255ブロック実例 (攻撃は来ている!)
Jul 15 05:04:25 ipfw: 53 Deny UDP *.*.171.173:12345 *.*.171.172:53 in via vtnet0
(例は FreeBSD の ipfw)
KeyTrap という DNSSEC の署名検証に大きな負荷をかける DoS 手法が2月13日に発表され少し騒ぎになりました。
DNSSEC は止めれば良いだけです。
詳しくはこちら (DNSSEC はなぜダメなのか) をどうぞ
Unbound についてはこれまで私はソースにパッチしていましたが、現在のバージョン (1.19 以降) では以下の設定で簡単に止められるようになっています。
module-config: "iterator" #validatorを消す disable-edns-do: yes
また BIND では dnssec-enable no; だけでは DO bit が落ちないので次のようにするとよさそうです。
dnssec-enable no; dnssec-validation no; server 0.0.0.0/0 { edns no; }; server ::/0 { edns no; };
(BIND には詳しくないので無保証)