Érdekes NS query-k

Eredetileg azért kapcsoltam be az ns query naplózást, mert jött be egy csomó ilyen:

Aug  5 17:11:25 ns1 named[9331]: client @0x7f993011e0d0 49.206.51.162#22000 (pizzaseo.com): query (cache) 'pizzaseo.com/RRSIG/IN' denied
Aug  5 17:11:25 ns1 named[9331]: client @0x7f993011e0d0 49.206.51.162#22000 (pizzaseo.com): query failed (REFUSED) for pizzaseo.com/IN/RRSIG at ../../../bin/named/query.c:6980
Aug  5 17:11:26 ns1 named[9331]: client @0x7f993011e0d0 49.206.51.162#22000 (pizzaseo.com): query (cache) 'pizzaseo.com/RRSIG/IN' denied
Aug  5 17:11:26 ns1 named[9331]: client @0x7f993011e0d0 49.206.51.162#22000 (pizzaseo.com): query failed (REFUSED) for pizzaseo.com/IN/RRSIG at ../../../bin/named/query.c:6980
Aug  5 17:11:38 ns1 named[9331]: client @0x7f99301011b0 54.38.152.190#22003 (pizzaseo.com): query (cache) 'pizzaseo.com/RRSIG/IN' denied
Aug  5 17:11:38 ns1 named[9331]: client @0x7f99301011b0 54.38.152.190#22003 (pizzaseo.com): query failed (REFUSED) for pizzaseo.com/IN/RRSIG at ../../../bin/named/query.c:6980
Aug  5 17:11:40 ns1 named[9331]: client @0x7f99301011b0 54.38.152.190#22003 (pizzaseo.com): query (cache) 'pizzaseo.com/RRSIG/IN' denied
Aug  5 17:11:40 ns1 named[9331]: client @0x7f99301011b0 54.38.152.190#22003 (pizzaseo.com): query failed (REFUSED) for pizzaseo.com/IN/RRSIG at ../../../bin/named/query.c:6980
Aug  5 17:11:40 ns1 named[9331]: client @0x7f993011e0d0 54.38.152.190#22003 (pizzaseo.com): query (cache) 'pizzaseo.com/RRSIG/IN' denied
Aug  5 17:11:40 ns1 named[9331]: client @0x7f993011e0d0 54.38.152.190#22003 (pizzaseo.com): query failed (REFUSED) for pizzaseo.com/IN/RRSIG at ../../../bin/named/query.c:6980
Aug  5 17:11:47 ns1 named[9331]: client @0x7f993011e0d0 49.206.51.162#22000 (pizzaseo.com): query (cache) 'pizzaseo.com/RRSIG/IN' denied
Aug  5 17:11:47 ns1 named[9331]: client @0x7f993011e0d0 49.206.51.162#22000 (pizzaseo.com): query failed (REFUSED) for pizzaseo.com/IN/RRSIG at ../../../bin/named/query.c:6980

és erre állítottam be fail2ban-t. Utána elkezdtem nézegetni hogy milyen kérések jönnek még be. Nagyon megleődtem amikor láttam ezeket:

 


05-Aug-2021 17:16:49.873 queries: client @0x7f993010f940 84.2.227.134#21851 (UPDATeS.MESS.hU): query: UPDATeS.MESS.hU IN A -E(0)DC (207.180.199.54) 17:17:44.472 queries: client @0x7f993011e0d0 84.2.42.16#56704 (upDATES.MeSs.hU): query: upDATES.MeSs.hU IN AAAA -E(0)DC (207.180.199.54)
05-Aug-2021 17:17:45.224 queries: client @0x7f993011e0d0 84.2.227.132#12372 (UpdATeS.MESs.HU): query: UpdATeS.MESs.HU IN AAAA -E(0)DC (207.180.199.54)
05-Aug-2021 17:17:45.654 queries: client @0x7f993011e0d0 84.2.227.132#54276 (UpdaTES.mEss.hu): query: UpdaTES.mEss.hu IN AAAA -E(0)DC (207.180.199.54)

 

Mindenféle kombinációban érkeznek be random kis/nagybetűsre konvertált domain nevekre kérések folyamatosan. A forrás cím "magyar telekom" terlületről származik. De nem egyetlen IP, hanem egy egész tartományból.

Nem csak erre a subdomain-re csinálja, hanem mindenféle aldomain-re.

Ki csinálhat ilyet, és mit remél tőle? Mire jó ez? :-)

Hozzászólások

Cél lehet akár DNS túlterhelés akár a 13 bit információ hazaküldése per kérés, olyan csatornán amit szinte semmi nem fog meg. Attól függ te melyik végén vagy :)

Nálam is van bőven belőle, de nem akar összejönni a fail2ban regex, megköszönöm ha megosztod velem.

Egy, Egyből Kettő, Kettő meg Egy. Ez minden mérték alapja, minden élet csirája, számok, nevek építőköve.

Oké szóval itt van a filter. Azt nézi, hogy a hostname részben van-e legalább 3 kisbetű és 3 nagybetű.

 

[INCLUDES]
before = common.conf

[Definition]
failregex = .*queries: client @0x.* <HOST>#.+\((?=([^\)]*[a-z][^\)]*){3})(?=([^\)]*[A-Z][^\)]*){3})[^\)]*\):\s*query:
ignoreregex =

Namost ez igazából félig jó. Mivel az fqdn -ek valójában nem case sensitive-ek. :-) Szóval ha szigorúan vesszük, akkor ebből ELVILEG nem lehetne azt megtudni, hogy ez egy DNS amplification attack-e. A tökéletes az lenne, ha azt néznénk meg, hogy korábban ugyan erről az ip-ről ugyan erre a (case insensitive) domain-re jött-e be kérés néhány percen belül. De ilyet ugye nem lehet, mert a fail2ban (tudtommal) nem képes ilyen state-t tárolni és használni. Mindig csak az aktuális sort tudja elemezni, a korábbiaktól függetlenül.

A gyakorlatban szerintem jó lesz, most ezt látom:

2021-08-06 11:10:19,090 fail2ban.filter         [5339]: INFO    [named-case-amplify] Found 213.136.95.11 - 2021-08-06 11:10:19
2021-08-06 11:10:19,091 fail2ban.filter         [5339]: INFO    [named-case-amplify] Found 173.212.200.42 - 2021-08-06 11:10:19
2021-08-06 11:10:19,368 fail2ban.actions        [5339]: NOTICE  [named-case-amplify] Ban 213.136.95.11
2021-08-06 11:10:19,403 fail2ban.actions        [5339]: NOTICE  [named-case-amplify] Ban 173.212.200.42
2021-08-06 11:10:29,574 fail2ban.filter         [5339]: INFO    [named-case-amplify] Found 2001:4c48:1:0:e611:5bff:fe98:2805 - 2021-08-06 11:10:29
2021-08-06 11:10:29,942 fail2ban.filter         [5339]: INFO    [named-case-amplify] Found 2001:4c48:1:0:e611:5bff:fe98:2805 - 2021-08-06 11:10:29
2021-08-06 11:10:29,948 fail2ban.filter         [5339]: INFO    [named-case-amplify] Found 2001:4c48:1:0:e611:5bff:fe98:2805 - 2021-08-06 11:10:29
2021-08-06 11:10:30,040 fail2ban.actions        [5339]: NOTICE  [named-case-amplify] Ban 2001:4c48:1:0:e611:5bff:fe98:2805
2021-08-06 11:10:30,993 fail2ban.filter         [5339]: INFO    [named-case-amplify] Found 84.2.227.134 - 2021-08-06 11:10:30
2021-08-06 11:10:31,445 fail2ban.filter         [5339]: INFO    [named-case-amplify] Found 84.2.227.134 - 2021-08-06 11:10:31
2021-08-06 11:10:37,849 fail2ban.filter         [5339]: INFO    [named-case-amplify] Found 2a02:c206:5028::1:53 - 2021-08-06 11:10:37

Jó sok különböző IP-ről jönnek. :-(