[Wien] (security tipp) Open Recursion (war: Re: Knoten GOZ mit FFFW 1.7.0)
L. Aaron Kaplan
(spam-protected)
Di Sep 21 12:22:54 CEST 2010
Hi!
(Kurzzusammenfassung: dnsmasq in der Freifunk FW ist "halb" open recursive. Und das ist schlecht fuer das Internet)
Ok, habe (mit etwas Hilfe) das DNS Problem von gestern noch ein klein wenig debugged.
Wir haben ja (siehe Mail von Alexander unten) viele DNS Anfragen von der IP 109.72.146.202 gesehen und uns gewundert, was da passiert. Diese IP, von der wir gestern vermutet haben, dass sie (zu langsames) Cache-Poisoning im Funkfeuer Netz betreibt, testet lediglich ca. 1 mal pro Sek. ab, ob der Funkfeuer Router ein open Recursor ist!
Gute Hintergrundinformation zu Open Recursion bei DNS gibt es hier:
* http://searchsecurity.techtarget.com/expert/KnowledgebaseAnswer/0,289625,sid14_gci1312504,00.html
* "Corrupted DNS Resolution Paths: The Rise of a Malicious Resolution Authority", David Dagon et al.
(http://www.citi.umich.edu/u/provos/papers/ndss08_dns.pdf)
Gerade der 2te Link ist *sehr* lesenswert!
Die IP, von der das ausgeht ist in der Ukraine und durchaus am Internet in diversen Blacklisten!
Bei der Abfrage passiert folgendes:
Ukrainische IP ("U") fragt dein Funkfeuer Device ("A") "wer sind die root nameserver"?
"A" fragt nun den marvin (oder den DNS server, den du eingetragen hast) ("M") das selbe nochmals.
Der "M" antwortet nun aus seinem cache an "A".
"A" schickt die Antwort an "U".
Damit weiss "U" (weil das "request recursion" Flag gesetzt war), dass "A" open recursive ist.
Das ganze Spiel laeuft seit ca. 27./28. August schon.
Was da genau die Motivation ist usw. ist auch diversen IT Security Mailinglisten nicht 100% klar.
Das ganze passt auch nicht 100% zu OpenWRT, da OpenWRT (oder die Freifunk Firmware) den dnsmasq verwendet, der kein vollstaendiger recursor ist:
"Dnsmasq is a DNS query forwarder: it it not capable of recursively answering arbitrary queries starting from the root servers but forwards such queries to a fully recursive upstream DNS server which is typically provided by an ISP".
Das heisst fuer uns: alle requests landen beim Marvin ("M").
Ich habe auch vor Jahren noch pro Open Recursive DNS Server argumentiert (weil es ein praktisches Service ist), allerdings habe ich im Laufe der Zeit erkennen muessen, dass das inhaerente Security Risiken birgt (Teemu hatte recht): Open Recursive DNS Server koennen fuer DDOS Attacken verwendet werden. *Vermutlich* (beweisen kann ich es nicht) sammelt die Ukrainische IP eine Liste von offenen DNS Servern und wird sie bei einer sogenannten DNS Amplification Attack verwenden. Siehe: http://de.wikipedia.org/wiki/DNS_Amplification_Attack
Ok, das ist jetzt recht viel Kauderwelsch fuer diejenigen, die sich mit DNS nicht so gut auskennen (und ich lerne da auch jeden Tag dazu - DNS ist eigentlich sehr komplex!).
Aber all das laesst sich auf eine einfache Empfehlung (und mehr mag ich auch nicht aussprechen) reduzieren:
blockt doch bitte (!!!) auf der Firewall port 53 Anfragen von *aussen* (also von ausserhalb des Funkfeuer Netzes). Eine zweite Alternative waere, dem dnsmasq zu verbieten, Anfragen von ausserhalb des Funkfeuer Netzes zu akkzeptieren. Eine Einstellung im dnsmasq.conf fuer letzteres habe ich aber noch nicht gefunden.
Blocken kann jeder ungefaehr so:
iptables -A INPUT -p udp -s 193.238.156.0/22 -d <meine_ip> --dport 53 -j ACCEPT # Funkfeuer IP Range 1
iptables -A INPUT -p udp -s 78.41.112.0/21 -d <meine_ip> --dport 53 -j ACCEPT # Funkfeuer IP Range 2
iptables -A INPUT -p udp -s 192.168.0.0/16 -d <meine_ip> --dport 53 -j ACCEPT # lokales LAN
iptables -A INPUT -p udp -d <meine_ip> --dport 53 -j DROP
(und das ganze nochmals wiederholen mit -p tcp bzw. fuer alle -d <meine IPs> - so viele wie ihr habt).
Falls jemandem eine bessere Filterregel einfaellt, bitte posten! Freue mich ueber Feedback. Wir haben zum Glueck ja ein paar DNS Spezialisten in unserem Umfeld.
lg,
Aaron.
PS: bitte beachtet die PGP Signatur in der Mail.
On Sep 20, 2010, at 11:19 PM, Alexander Szlezak wrote:
> Hi Jungs,
>
> Mithilfe von Aaron haben wir heute den DNS Verkehr auf rei6 und goz11
> anlysiert (tcpdump -i vlan1 -s0 -W1 -C2 -w /tmp/rei6dump.pcap host
> 78.41.113.12 and port 53) und haben festgestellt, dass möglicherweise
> eine Attacke über eine Ukrainische IP Adresse erfolgt.
>
> Eine Vermutung ist, dass es sich um DNS Cache-Poisoning
> (http://de.wikipedia.org/wiki/Cache_Poisoning) handelt, allerdings ist
> es viel zu langsam für DNS Cache-Poisoning.
>
> Unabhängig davon haben wir festgestellt, dass viele Router im Funkfeuer
> Netz (Standardinstallation) "open recursor"
> http://de.wikipedia.org/wiki/PowerDNS#PowerDNS_Recursor sind.
>
> Test mit
>
> dig @<ip_des_routers> www.orf.at
>
> von ausserhalb des Funkfeuer Netzes. Wenn hier eine Antwort zurückkommt,
> ist der Router ein "open recursor". Abhilfe schafft, die Anfragen auf
> Port 53 von außen per Firewallumstellung abzulehnen.
>
> Soweit mal die Info!
>
> lg,
> Aaron & Alexander
>
> Am 20.09.2010 12:28, schrieb Clemens Hopfer:
>> Hi,
>>
>> dass die Router keine Namen aus unserem Housing-Segment auflösen können, weist
>> auf ein weitaus schlimmeres Problem hin.
>> Das Eintragen anderer Namensserver ist weniger eine Lösung sondern beseitigt
>> nur ein Symptom davon.
>>
>> Lg,
>> Clemens
>>
>> On Monday 20 September 2010 12:20:01 Martin Walter Mildner wrote:
>>> die Antwort ist
>>> 208.67.222.222
>>> !!!
>>> open DNS
>>> FREEEEEEEEEEEEI !
>>>
>>> :-)
>>>
>>> -------- Original-Nachricht --------
>>>
>>>> Datum: Sun, 19 Sep 2010 23:05:33 +0200
>>>> Von: Alexander Szlezak<(spam-protected)>
>>>> An: Erich<(spam-protected)>
>>>> CC: Markus Kittenberger<(spam-protected)>, FunkFeuer Wien
>>>> <(spam-protected)> Betreff: Re: [Wien] Knoten GOZ mit FFFW 1.7.0
>>>>
>>>> Hi Erich,
>>>>
>>>> Noch ein Hinweis: wenn ich auf meinem 78.41.113.12 die Funkfeuer DNS
>>>> Server rausnehme und stattdessen den Google DNS 8.8.8.8 verwende klappt
>>>> die Namenauflösung einwandfrei. Da hat's was mit dem DNS.
>>>>
>>>> DNS Traffic geht über alle Router problemlos drüber, aber die Antworten
>>>> vom Marvin sind wie schon geschrieben spannend:
>>>>
>>>> Ich kann aber von meinen Routern und meinem PC alle DNS Namen auflösen
>>>>
>>>> C:\Dokumente und Einstellungen\alex>nslookup www.aloha-editor.org
>>>> marvin.funkfeu
>>>> er.at
>>>> Server: marvin.funkfeuer.at
>>>> Address: 193.238.157.16
>>>>
>>>> Nicht autorisierte Antwort:
>>>> Name: aloha-editor.org
>>>> Address: 88.198.35.206
>>>> Aliases: www.aloha-editor.org
>>>>
>>>>
>>>> C:\Dokumente und Einstellungen\alex>nslookup
>>>> haupt.goz11.wien.funkfeuer.at marvi
>>>> n.funkfeuer.at
>>>> Server: marvin.funkfeuer.at
>>>> Address: 193.238.157.16
>>>>
>>>> Name: haupt.goz11.wien.funkfeuer.at
>>>> Address: 193.238.158.215
>>>>
>>>> Das ist der Traffic auf vlan1 meines 78.41.113.12 mit tcpdump -i vlan1
>>>> not port 22 and not port 698 and port 53 and src 78.41.113.12 (d.h.
>>>> aller dns queries die vom localhost weggehen)
>>>>
>>>>
>>>> 22:51:44.198504 IP rei6mainvlan1.rei6.wien.funkfeuer.at.53>
>>>> 109.72.146.202.65076: 41002 13/0/0 NS k.root-servers.net.,[|domain]
>>>> 22:51:45.059959 IP rei6mainvlan1.rei6.wien.funkfeuer.at.873>
>>>> marvin.funkfeuer.at.53: 38139+ NS? . (17)
>>>> 22:51:45.072445 IP rei6mainvlan1.rei6.wien.funkfeuer.at.53>
>>>> 109.72.146.202.20971: 9023 13/0/0 NS k.root-servers.net.,[|domain]
>>>> 22:51:46.003578 IP rei6mainvlan1.rei6.wien.funkfeuer.at.21886>
>>>> marvin.funkfeuer.at.53: 45456+ NS? . (17)
>>>> 22:51:46.016880 IP rei6mainvlan1.rei6.wien.funkfeuer.at.53>
>>>> 109.72.146.202.27609: 8503 13/0/0 NS a.root-servers.net.,[|domain]
>>>> 22:51:46.910587 IP rei6mainvlan1.rei6.wien.funkfeuer.at.58673>
>>>> marvin.funkfeuer.at.53: 6539+ NS? . (17)
>>>> 22:51:46.921318 IP rei6mainvlan1.rei6.wien.funkfeuer.at.53>
>>>> 109.72.146.202.38534: 64009 13/0/0 NS c.root-servers.net.,[|domain]
>>>> 22:51:47.794223 IP rei6mainvlan1.rei6.wien.funkfeuer.at.51104>
>>>> marvin.funkfeuer.at.53: 61975+ NS? . (17)
>>>> 22:51:47.807334 IP rei6mainvlan1.rei6.wien.funkfeuer.at.53>
>>>> 109.72.146.202.50493: 24661 13/0/0 NS c.root-servers.net.,[|domain]
>>>>
>>>> Das ist der traffic der auf der Goz11 (193.238.158.215) Richtung
>>>> 78.41.113.12 zurückkommt.
>>>>
>>>> 22:50:25.474125 IP marvin.funkfeuer.at.53>
>>>> rei6mainvlan1.rei6.wien.funkfeuer.at.20943: 760 13/0/0 NS
>>>> k.root-servers.net.,[|domain]
>>>> 22:50:26.335460 IP 109.72.146.202.20971>
>>>> rei6mainvlan1.rei6.wien.funkfeuer.at.53: 9023+ NS? . (17)
>>>> 22:50:26.348354 IP marvin.funkfeuer.at.53>
>>>> rei6mainvlan1.rei6.wien.funkfeuer.at.873: 38139 13/0/0 NS
>>>> k.root-servers.net.,[|domain]
>>>> 22:50:27.279104 IP 109.72.146.202.27609>
>>>> rei6mainvlan1.rei6.wien.funkfeuer.at.53: 8503+ NS? . (17)
>>>> 22:50:27.292362 IP marvin.funkfeuer.at.53>
>>>> rei6mainvlan1.rei6.wien.funkfeuer.at.21886: 45456 13/0/0 NS
>>>> a.root-servers.net.,[|domain]
>>>> 22:50:28.186056 IP 109.72.146.202.38534>
>>>> rei6mainvlan1.rei6.wien.funkfeuer.at.53: 64009+ NS? . (17)
>>>> 22:50:28.197047 IP marvin.funkfeuer.at.53>
>>>> rei6mainvlan1.rei6.wien.funkfeuer.at.58673: 6539 13/0/0 NS
>>>> c.root-servers.net.,[|domain]
>>>> 22:50:29.069693 IP 109.72.146.202.50493>
>>>> rei6mainvlan1.rei6.wien.funkfeuer.at.53: 24661+ NS? . (17)
>>>> 22:50:29.082667 IP marvin.funkfeuer.at.53>
>>>> rei6mainvlan1.rei6.wien.funkfeuer.at.51104: 61975 13/0/0 NS
>>>> c.root-servers.net.,[|domain]
>>>>
>>>> D.h. der Traffic geht ganz normal drüber - ich kann auch von allen
>>>> Routern per Traceroute und Ping alle Funkfeuer DNS und den 8.8.8.8
>>>> Google DNS erreichen und resolven.
>>>>
>>>>>> Am 19.09.2010 21:37, schrieb Markus Kittenberger:
>>>>>>> hmm erich könntest du das bitte genauer debuggen, ...
>>>>>>>
>>>>>>> hintergrund:
>>>>>>> die olsr statusseite ist ziemlich "ungeduldug" beim resolven der dns
>>>>>>> (weil sie eben lieber ips anzeigt, als zu lange "nichts")
>>>>>>>
>>>>>>> d.h. die could not replace meldung kommt darum auch schon bei etwas
>>>>>>> "lahmeren" verbindungen
>>>>>>> und nicht nicht unbedingt weil der knoten/link komplett hinüber bzw.
>>>>
>>>> evt
>>>>
>>>>>>> dns pakete dropped
>>>>>>>
>>>>>>> (obiges schliesst natürlich nicht aus das 1.7.0 tatsächlich probleme
>>>>>>> macht, bzw. goz11 tatsächlich unbrauchbar ist)
>>>>>>>
>>>>>>> lg Markus
>>>>>>>
>>>>>>> 2010/9/19
>>>>>>> Erich<(spam-protected)<mailto:(spam-protected)>>
>>>>>>>
>>>>>>> Hallo Martin
>>>>>>>
>>>>>>> Alle Knoten hinter goz (ovpntunnel.gtxgoz11.wien.funkfeuer.at
>>>>>>> <http://ovpntunnel.gtxgoz11.wien.funkfeuer.at>) in der 5 Ghz
>>>>
>>>> Wolke
>>>>
>>>>>>> können derzeit die IP Adressen im Status nicht auflösen.
>>>>>>> could not replace ips with dns names!
>>>>>>>
>>>>>>> Ich habe meine Verbindung zu der 5 Ghz Wolke getrennt und nun
>>>>
>>>> werden
>>>>
>>>>>>> die IPs wieder aufgelöst.
>>>>>>> Könntest du den Router mit 1.6.37 flashen, weil die 1.7.0
>>>>
>>>> dürfte
>>>>
>>>>>>> problematisch für die dahinter liegenden Router sein.
>>>>>>>
>>>>>>> sg Erich
>>>>>>>
>>>>>>> --
>>>>>>> Wien mailing list
>>>>>>> (spam-protected)<mailto:(spam-protected)>
>>>>>>> http://lists.funkfeuer.at/mailman/listinfo/wien
>>>>>>>
>>>>>>> --
>>>>>>> Wien mailing list
>>>>>>> (spam-protected)
>>>>>>> http://lists.funkfeuer.at/mailman/listinfo/wien
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Wien mailing list
>>>>>>> (spam-protected)
>>>>>>> http://lists.funkfeuer.at/mailman/listinfo/wien
>
> --
> Follow me on Twitter @ http://twitter.com/magicshark
> __________________________________________________________________
> Mag. Alexander SZLEZAK
>
>
> Reischergasse 6/2
> A-1130 Vienna
> Austria
> M +43 699 1 350 41 01
> E (spam-protected)
>
> https://www.xing.com/profile/Alexander_Szlezak
>
> --
> Wien mailing list
> (spam-protected)
> http://lists.funkfeuer.at/mailman/listinfo/wien
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : PGP.sig
Dateityp : application/pgp-signature
Dateigröße : 194 bytes
Beschreibung: This is a digitally signed message part
URL : <http://lists.funkfeuer.at/pipermail/wien/attachments/20100921/2f2672d6/attachment.sig>
Mehr Informationen über die Mailingliste Wien