Yahoo (vermeintlich im) Iran.

Als ich gerade im Webbrowser die Website von Yahoo Finances besuchen wollte, musste ich staunen. Zeigte doch tatsächlich das Plugin „Flagfox“, das dem Firefox die nützliche Funktion des automatischen IP-Lookups beibringt, plötzlich eine recht seltene Flagge im IP-Adressraum an. Die Vermutung bestätigte sich – der Iran. Man achte in diesem Screenshot auf die Infobox unterhalb der Suchbox, die anzeigt, dass für den Hostnamen „de.finance.yahoo.com“ die IP-Adresse 188.125.65.211 aufgelöst wurde (was definitiv stimmt und mit nslookup nachprüfbar ist) und diese IP-Adresse offenkundig mit dem Ländercode für den Iran registriert ist:

Yahoo und Iran – das passt ungefähr so gut zusammen wie Audi und der Planet Mars, nämlich gar nicht. Allein dieser Anachronismus, dass mit dieser obigen Auskunft Yahoo irgendetwas im Iran hosten könnte, weckte meine netzwerkdetektivische Leidenschaft.

Erste Auskunftei in Sachen IP-Adressen sind die RIR, die Regional Internet Registries. Diese international tätigen Vergabestellen sind dafür zuständig, in ihrer jeweiligen Region die Zuteilung von IP-Adressen an Internet Service Provider sicherzustellen. Im Falle der Adresspräfix 188 ist hier das RIPE zuständig, also die RIR, die für Europa und Vorderasien zuständig ist.

In Sachen Auskunft ist es im Internet üblich, die Registrierungsinformationen des IP-Adressraumes öffentlich zu dokumentieren und über ein so genanntes WhoIs durchsuchbar zu halten. Internet Service Provider wiederum, die vom RIPE IP-Adressräume zugeteilt bekommen haben, sind vertraglich verpflichtet, diese Registrierungsinformationen für weiterdelegierte Adressräume zeitnah in die RIPE-Datenbank einzupflegen und aktuell zu halten.

Über das WhoIs des RIPE ist also problemlos eine Recherche für die obige IP-Adresse möglich, was folgendes Ergebnis lieferte:

inetnum:        188.125.64.0 - 188.125.71.255
netname:        IR-YAHOO
descr:          Yahoo! Europe
country:        IR
admin-c:        YEU-RIPE
tech-c:         YEU-RIPE
status:         ASSIGNED PA
mnt-by:         YAHOO-MNT
source:         RIPE #Filtered

role:           Yahoo Europe Operations Department
address:        Yahoo Europe Operations
address:        125 Shaftesbury Avenue
address:        London
address:        WC2H 8AD
remarks:        trouble:      uk-abuse@cc.yahoo-inc.com
admin-c:        NA1231-RIPE
tech-c:         SCY3-RIPE
tech-c:         NA1231-RIPE
tech-c:         IG1154-RIPE
tech-c:         DR2790-RIPE
tech-c:         CJO3-RIPE
nic-hdl:        YEU-RIPE
mnt-by:         YAHOO-MNT
source:         RIPE #Filtered
abuse-mailbox:  uk-abuse@cc.yahoo-inc.com

Der obere Block der Auskunft ist das so genannte „inetnum“-Objekt, das enthält die grundlegende Information darüber, in welchen IP-Adressblock die IP-Adresse gehört. Die IP-Adresse 188.125.65.211 gehört also in einen Adressblock, der von 188.125.64.0 bis 188.125.71.255 reicht. Spannend dabei ist der Ländercode, der im Feld „country“ angegeben ist, das ist tatsächlich der Code „IR“, der in der ISO-Ländertabelle für den Iran steht. Dass dieser Adressblock tatsächlich zu Yahoo gehört (genau genommen zu Yahoo Europe), wird über das Feld „admin-c“ angezeigt. Die Abkürzung „YEU-RIPE“ ist wiederum ein Verweis auf ein „role“-Objekt, das Informationen über den Besitzer erhält. Die Auskunft über „YEU-RIPE“ ist der untere Block der obigen Auskunft. Es handelt sich also hier mit maximaler Sicherheit tatsächlich um Yahoo Europe, auf jeden Fall aber über eine offizielle Yahoo-Einrichtung.

Zuerst dachte ich an einen Fehler in der Registrierung. Vielleicht ist dem zuständigen Systemadministrator, der die obigen Informationen in die RIPE-Datenbank eingetragen hat, ein Fehler bei der Eingabe des Ländercodes unterlaufen und das „IR“ steht fälschlicherweise dort. Tatsächlich kann nämlich der Verwalter eines IP-Adressblocks diese Länderinformation selbst eintragen.

Dass es dann doch kein Fehler sein kann, merkte ich schnell an der zweiten Zeile, dem „netname“-Feld. Hier gibt nämlich der Verwalter des IP-Blocks einen frei wählbaren Netznamen an, der rein zur internen Dokumentation dient. Dort findet sich explizit der Eintrag „IR-YAHOO“. Es ist sehr unwahrscheinlich, dass der Autor dieses Eintrages einen falschen Ländercode einträgt und diesen Fehler dann auch nochmal im Netznamen begeht.

Also, der Ländercode „IR“ ist für diesen Netzwerkblock offensichtlich gewollt und beabsichtigt. Warum das so ist, lässt sich erklären, wenn man näher auf die Eigenheiten dieser Ländercodierung eingeht. Denn tatsächlich ist dieser Ländercode, den zwingend jeder Empfänger von IP-Adressblöcken in der Netzwerkdokumentation setzen muss, nicht einfach nur informell, sondern elementar – mit dieser Ländercodierung arbeiten quasi alle Dienste, die eine Recherche von IP-Adressen nach Ländern ermöglichen, so zum Beispiel Statistikdienste wie Google Analytics oder Piwik oder aber auch Dienste, die IP-Adressen nach Ländern sperren müssen.

Und da sind wir dann beim Iran und hier bei einem vermutlich genau umgekehrten Fall. Damit Yahoo seine Dienste in den Iran durchbekommt und seine Netze nicht einfach so gesperrt bekommt, hat Yahoo vermutlich den obigen IP-Adressblock explizit für die Nutzung im Iran vorgesehen und das obige Netz entsprechend mit dem Ländercode „IR“ versehen. Hier will sich Yahoo also offensichtlich in irgendeiner Form fügen und es den iranischen Zensoren, die da mit ziemlicher Sicherheit eine mehr oder weniger umfangreiche Sperrliste pflegen, möglicht unbürokratisch einfach machen, Yahoo nicht zu übersehen und „versehentlich“ zu sperren.

Und dabei vergessen die Jungs von Yahoo Europe eine Sache: Was sie da machen, ist genau genommen nicht erlaubt. Der Ländercode für einen Netzblock ist nicht dazu da, anzugeben, wo vermutlich die Besucher sitzen, die auf Dienste zugreifen, die in diesem Netzblock laufen könnten, sondern er ist dazu da, kennzuzeichnen, wo dieser Netzblock tatsächlich eingesetzt wird, also der Server physikalisch steht. Wenn ich ein traceroute auf die IP-Adresse 188.125.65.211 mache, löst sich das folgendermaßen auf und da ist relativ wenig „Iran“ zu sehen:

tracert 188.125.65.211

Routenverfolgung zu proxy1.stage.finance.vip.ird.yahoo.net
[188.125.65.211] über maximal 30 Abschnitte:

  1. besimox [192.168.124.1]
  2. 217.0.118.47
  3. 87.186.241.42
  4. l-eb2-i.L.DE.NET.DTAG.DE [62.154.89.46]
  5. 217.243.216.202
  6. vlan60.csw1.Frankfurt1.Level3.net [4.69.154.62]
  7. ae-62-62.ebr2.Frankfurt1.Level3.net [4.69.140.17]
  8. ae-21-21.ebr2.London1.Level3.net [4.69.148.185]
  9. vlan104.ebr1.London1.Level3.net [4.69.143.97]
 10. ae-5-5.car1.Dublin1.Level3.net [4.69.136.89]
 11. YAHOO-INC.car1.Dublin.Level3.net [212.73.251.2]
 12. ae-1.msr2.ird.yahoo.com [66.196.67.233]
 13. te-8-4.bas-b1.ird.yahoo.com [87.248.101.107]
 14. proxy1.stage.finance.vip.ird.yahoo.net [188.125.65.211]

Ablaufverfolgung beendet.

Das ist also der Weg von meinem Rechner („besimox“) bis zum Zielserver, ingesamt also 14 Knoten im Internet. Interessant hierbei sind die Knoten ab dem 8. Knoten, die der Provider „Level3“ schön nach der Örtlichkeit, in die der Knoten steht, benannt hat. Der Weg geht also von Frankfurt, nach London und dort nach Dublin, also nach Irland. Was auch so stimmt, denn Yahoo hostet seine Dienste in Europa (unter anderem) in Irland. Und nicht Iran.