web-dev-qa-db-ja.com

BIND9:「メッセージの解析に失敗しました:FORMERR」

私のBIND9.10.3は、次のような奇妙なエントリをログに記録しています。

Jan 12 12:44:49 www named[24776]: client 117.136.25.126#18977: message parsing failed: FORMERR
Jan 12 12:50:47 www named[24776]: client 117.136.25.126#18978: message parsing failed: FORMERR
Jan 12 13:00:08 www named[24776]: client 117.136.95.15#24805: message parsing failed: FORMERR

117.136.95.15は私のネットワークにありません。また、ローカルホスト以外の再帰は許可していません。したがって、権限のあるゾーンである必要があります。

これは最近(1月5日)に始まったばかりです。ログを見ると、次のクエリのみが含まれているようです。

# zfgrep "message parsing failed: FORMERR" daemon.log*  | awk '{print $7}' |awk -F\. '{printf("%s.%s.x.x\n",$1,$2)}'  | sort | uniq -c | sort -n 
  1 101.27.x.x
  1 121.31.x.x
  1 1.84.x.x
  1 61.158.x.x
104 223.104.x.x
150 117.136.x.x

これを引き起こしています。それらのIPのWHOIS情報を見る:

inetnum:        117.128.0.0 - 117.191.255.255
netname:        CMNET
descr:          China Mobile Communications Corporation
descr:          Mobile Communications Network Operator in China
descr:          Internet Service Provider in China
country:        CN

inetnum:        223.64.0.0 - 223.117.255.255
netname:        CMNET
descr:          China Mobile Communications Corporation
descr:          Mobile Communications Network Operator in China
descr:          Internet Service Provider in China
country:        CN
1

そのため、tcpdumpを取得し、同じ2つのネットワークからかなりの数のパケットが返され、ログに同じメッセージが表示されました。

パケットを見ると、DNSペイロードには何も正しくないようです。

ドメイン名のフィールドには、バイナリ「0」があります。 DNSドメインラベルは長さでエンコードされており、長さが「0」の場合は「空の名前」を示します。ルートゾーンの名前は空です。

ただし、DNSペイロードの残りの部分もほぼゼロのみで構成されているため、これはおそらく偶然です。

攻撃する可能性がありますが、ソフトウェアが壊れている可能性が高くなります(ファイアウォールなど)。

1

DNSクエリが適切にフォーマットされていないようです。ネットワークデバイスがUDPトラフィックを破壊している可能性があります。または、それらのIPが、悪用可能なDNSサーバーを検索しているボットネットからのものである可能性があります(これが私が思うことです)

1
mvillar