Infosec Handbook RSS

Der folgende RSS-Feed stammt von „Infosec Handbook”.

Im Infosec Handbook geht es um das zeitgemäße Absichern von Serverdiensten. Es werden anhand von Howtos, die in handliche, einfach verständliche Portionen eingeteilt sind, Anleitungen bereitgestellt.

Loading RSS Feed

DNS Transfer Cheat Sheet

Erstentwurf – Review ausständig; Fehler möglich; Änderungen vorbehalten.

Hilfestellung beim DNS-Umzug

Beim Umzug von Domains gibt es ein paar Dinge zu beachten.

In diesem Artikel beschreibe ich stark vereinfacht und gekürzt ein paar Grundlagen des Domain Name Systems, die für Domaininhaber, die den Registrar wechseln möchten, von Relevanz sind. Immer wieder liest man in Support-Foren von verzweifelten Nutzern, denen offenbar nicht klar ist, dass ein Domain-Umzug nicht in Echtzeit abläuft, sondern, dass ein Domaintransfer ein paar Vorbereitungen und etwas Nachbearbeitung erfordert, damit die Ausfallzeiten möglichst gering ausfallen.

Wenn man sich vorher informiert, schont das die Nerven aller Beteiligten – vor allem aber die eigenen.

Wie funktioniert das Domain Name System?

Für Laien erklärt, ist das DNS am ehesten mit einem Telefonbuch für eine Region vergleichbar. Es übersetzt Namenseinträge (Domainnamen und Hostnamen) in Nummern (Internetprotokolladressen – kurz IP-Adressen). Die einfachste Art eines solchen Datensatzes ist ein sogenannter „A-Eintrag“ für das Internetprotokoll in der Version 4 (IPv4), dem heutzutage noch gängigen Protokoll, oder einem „AAAA-Eintrag“ für das Nachfolgeprotokoll IPv6.

Solche Einträge sehen in etwa so aus – im Beispiel sind die öffentlich abrufbaren Google-Nameserver:

dns.google.com. IN A 8.8.8.8
dns.google.com. IN AAAA 2001:4860:4860::8888

Dieses „Telefonbuch“ ist hierarchisch aufgebaut, d.h. es gibt einen Haupteintrag, unter dem dann weitere Einträge oder Verweise zu finden sind.

Organisatorisch läuft das wie folgt ab:

Ganz oben steht die  Top Level Domain („TLD“). Ein prominentes Beispiel für eine TLD ist „.com“. Für eine TLD zuständig ist eine Vergabestelle (Registry). Sie regelt, wer unter welchen Voraussetzungen einen Namen unterhalb der TLD registrieren darf. Wer eine Domain registriert, wird zum Domaininhaber (Registrant). Die Registry bedient sich meist mehrerer Vertragspartner (Registrare), um diese Domains zu verkaufen – sprich: Namensrechte auf Zeit zu lizenzieren. Die Registrare  sind die primären Vertragspartner der Registrants und vermitteln gegenüber der Registry – sie verrechnen dem Registrant auch die anfallenden Gebühren und rechnen sie mit der Registry ab.

Technisch funktioniert DNS so:

Die Registry betreibt sogenannte Root-Nameserver, die in aller Regel nur einen Verweis vom registrierten Namen vorhalten, der auf untergeordnete Nameserver (DNS-Server) zeigt. Haben diese DNS-Server einen Hostnamen, der innerhalb der Domain, um die es geht, liegen -es geht zum Beispiel um die Domain example.com, und der DNS-Server heißt ns1.example.com- ist zusätzlich ein sogenannter „Glue-Record“ vonnöten. Dabei handelt es sich schlicht um einen „A“ oder „AAAA“ -Eintrag, den allerdings der Registrar bei den Nameservern der Registry hinterlegen muss, damit er funktioniert.

Zusätzlich können die Rootserver auch noch kryptographische Schlüssel und Signaturen ausliefern, anhand derer man gefälschten Domaininformationen vorbeugen kann. Das gegenwärtig vorherrschende System dafür heißt DNSSEC.

Die Verweise vom Root-Nameserver zu den Servern des DNS-Providers (in der der Regel sind das zugleich die des Registrars) heissen „NS-Einträge“.

Im Falle dieses Blogs ist der Registrar der deutsche Hoster „netcup“ und die Einträge sehen so aus:

grundsoli.de. 120 IN NS root-dns.netcup.net.
grundsoli.de. 120 IN NS second-dns.netcup.net.
grundsoli.de. 120 IN NS third-dns.netcup.net.

Wir sehen also, dass für den Namen „grundsoli“ innerhalb der TLD „.de“ drei verschiedene Server zuständig („autoritativ“) sind.

Jeder dieser drei Server hält die sogenannte „Zone“ vor. Die Zone kann im einfachsten Fall eine Textdatei sein, oder die in ihr enthaltenen Informationen liegen in einer Datenbank.

Die Zone im Detail beschrieben:

Eine Zone setzt sich aus mehreren Resource Records („RR“) zusammen. Zu diesen RRs gehören auch die zuvor genannten NS, A und AAAA-Einträge.

Resource Records setzen sich zusammen wie folgt:

  • dem Zonennamen = Domain. Mancherorts wird auch vom „Origin“ gesprochen. Dieser Zonenname kann stets mit dem Platzhalter „@“ abgekürzt werden.
  • der TTL (Time to Live). Dieser Wert bestimmt, wieviele Sekunden der SOA-Eintrag in einem Cache gültig bleibt.
  • dem Schlüsselwort „IN“ für die Zonenklasse „Internet“. Einen anderen Wert wird man in der Praxis kaum je irgendwo sehen.
  • dem Typ – ich nenne hier nur die häufigsten – wer mehr wissen möchte, kann im RFC 1035 nachlesen.
    • A für einen Hostnamen
    • NS für einen autoritativen Name Server
    • CNAME für einen kanonischen Namen (in aller Regel also ein Verweis auf A oder AAAA)
    • SOA für den Beginn einer Autoritätszone („start of a zone of authority“)
    • PTR für einen „Domain Name Pointer“ – dieser Typ ist nur für die umgekehrte Namensauflösung von einer IP-Nummer in einen Domain-/Hostnamen erforderlich, aber für unsere Thema hier nicht relevant
    • MX für den Mail exchange. Dieser Eintrag bestimmt, an welchen Mailserver E-Mails gesendet werden sollen.
    • TXT für Texteinträge. Diese Eintragsart ist vor allem für Verifikationsdienste (Bestätigung der Inhaberschaft gegenüber bestimmten Anbietern) von zunehmender Bedeutung.
  • einem Wert oder mehreren Werten für den jeweiligen Typ.

Am Beginn der Zone steht stets ein Eintrag vom Typ SOA. Kehren wir zum Beispiel mit example.com zurück:

@ 3600 IN SOA dns1.example.com. hostmaster.example.com. (
2019090900 ; serial
3600 ; refresh
1800 ; retry
604800 ; expire
600 ; nc-ttl
);

Wir haben also die Variable für den Domainnamen „@“, die Gültigkeitsdauer des SOA-Eintrag in Caches „3600“, die Klasse Internet „IN“, die Art des Eintrags „SOA“ den primären Nameserver, das ist jener autoritative Nameserver, von dem aus die Zone vervielfältigt wird „dns1.example.com“ und eine E-Mailadresse in besonderer Schreibweise „hostmaster.example.com“ für hostmaster@example.com. Die Punkte am Ende von dns1.example.com. und hostmaster.example.com. sind extrem wichtig, da sie das Ende des Werts markieren. Fehlt der Punkt am Ende wird der Domainname an den Wert erneut angehängt. Aus „dns1.example.com“ würde dann „dns1.example.com.example.com“ – ein von Anfängern häufig gemachter Fehler. Die in Klammern folgenden Zahlenwerte schlüsseln sich wie folgt auf:

  • serial: die Versionsnummer -also fortlaufende Nummern- der Zone. Es hat sich eingebürgert, hier einen Datumsstempel der Art [vierstellige Jahreszahl, zweistellige Monatsnummer, zweistellige Tageszahl und zweistellige fortlaufende Nummer] zu verwenden. „2019090900“ steht also für die erste Version der Zone, die am 9. September 2019 erstellt worden ist. Siehe auch RFC 1912.
  • refresh: Ein Intervall in Sekunden, nach dessen Ablauf sekundäre Nameserver die Seriennummer vom primären Master erneut abfragen sollen. Empfohlen wird von RIPE NCC 86400 ≙ 24 Stunden¹.
  • retry: Ein Sekundenintervallwert, der zum Tragen kommt, um einen Refresh zu wiederholen, der fehlgeschlagen ist. RIPE-Empfehlung: 7200 ≙ 2 Stunden¹.
  • expire: Wenn diese Zeitspanne in Sekunden verstrichen ist, ohne, dass ein Refresh funktioniert hat, verwirft der sekundäre Nameserver seine zuletzt  erhaltene Zone. RIPE-Empfehlung: 3600000 ≙ 1000 Stunden¹
  • nc-ttl: Time to Live für Negatives Caching – seit RFC 2308. Zuvor: Minimale Lebensdauer für alle Resource Records, wenn diese nicht explizit angegeben waren. Negatives Caching bedeutet, dass ein cachender DNS-Server mit „NXDOMAIN“ antwortet, wenn ihm der abgefragte Eintrag nicht bekannt ist.
    RIPE-Empfehlung: 3600 ≙ 1 Stunde¹.

1: Die RIPE-Empfehlungen gelten stets für „für kleine und stabile Zonen“.

Der Wert für Retry muss kleiner sein, als der für Refresh. Der Wert für expire darf nicht kleiner sein als die Summe von Refresh und Retry.

Und damit haben wir die technischen Grundlagen für beeinflussbare Verzögerungen beim Domaintransfer im Grunde vollständig besprochen.

Die nicht beeinflussbaren Faktoren liegen bei der Registry, die etwa Widerspruchsfristen für einen Transfer definieren kann. Sie ist es auch, die festlegt, zu welchen Tageszeiten die Root-Nameserver eine neue Information, die von einem ihrer Registrare eingemeldet worden ist – wir reden da von neuen Nameserver-Einträgen – verarbeitet wird.

Um also einen Transfer so durchzuführen, dass er möglichst schnell über die Bühne geht, sollte man Tage oder Wochen vor dem Transfer die Werte für TTL, Refresh und NC-TTL verringern, wodurch in aller Regel auch der Wert für Retry verringert werden wird müssen. Dadurch setzt man sich vorübergehend zwar einem erhöhten Risiko aus, dass die Zone im Fehlerfall des Primärservers auch auf den Sekundärservern schneller mit ausfällt, umgekehrt müssen aber auch DNS-Resolver Dritter, auf die wir im Normalfall keinen Einfluss nehmen können, sofern sie standardkonform arbeiten, die vorgehaltenen Informationen schneller verwerfen.

Wenn man sich nun noch informiert, wann die Registry die Daten neu laden lässt, kann man den  Umzug auch dahingehend zeitlich koordinieren.

Laden beispielsweise etwa die Root-Nameserver laut Registry um 13 und um 16 Uhr die Daten neu, und der Registrar aktualisiert alle 15 Minuten, so kann man nach 13 Uhr die Änderungen machen. Die anderen Kunden des Registrars hätten die neuen Informationen so – sofern sie nicht in einem Cache liegen, um 13.15 Uhr, weltweit würde der Verweis auf die neuen Server erst um 16 Uhr aktiv. Um also Gleichzeitigkeit zu erwirken, wären die Änderungen nach 15.45 Uhr, aber vor 16.00 in Auftrag zu geben. Caching Server würden die alte Information aber zumindest noch für die in TTL definierte Zeit ausliefern, wenn sie die Standards einhalten – sonst länger.

Da sich heutzutage aber auch sogenannte Public-DNS-Resolver-Dienste großer Beliebtheit erfreuen – gemeint sind damit Google DNS, Cloudflare, OpenDNS und dergleichen, und diese oft eine Möglichkeit bieten, die Cache-Information über ein Webinterface neu zu laden, also den „Cache“zu „flushen“, kann man auch hier mit globaler Wirkung für alle Nutzer dieses Dienstes Einfluss auf die Erneuerung der Information nehmen. In der Linksammlung stehen einige Dienste gelistet.

 

Linksammlung:

How to Clear DNS Cache on Chrome, Firefox and Safari

Links – meine kleine Landingpage

Blogs

Open Source Software:

Search engines and web directories:

Andere Websites

Zugangsanbieter in Österreich:

Praktische Links:

Hosting-Anbieter

Monitoring, Graphing, Analyzer:

Validierungs-Websites

netcup: verschiedene RSS Feeds und Infos

netcup Gutscheine, Management, Webhosting, vServer, SSL, Domains, Cloud Server,netcup.de

Zusatzinfos von und zu netcup.de

1. Sonderangebote: RSS-Feed von netcup-sonderangebote.de

Aktuelle Angebote sind in diesem Feed zu finden:

Loading RSS Feed

2. Labs: RSS-Feed von netcup-labs.de

Bist Du experimentierfreudig und gibst gern Feedback? Dann wird Dich der folgende Feed interessieren:

Loading RSS Feed

3. News: RSS-Feed von netcup-news.de

Wenn Du auf der Suche nach Pressemittelungen von netcup bist, schau hierher:

Loading RSS Feed

4. Status: RSS-Feed von netcup-status.de

Ausfälle sind lästig sind, sollte man sie im Auge behalten. Mit anderen Worten hier ist der offizielle RSS-Feed über Störungen:

Loading RSS Feed

Weitere Infos

netcup Gutscheine und netcup Gutscheincodes

netcup Gutscheine und netcup Gutscheincodes

netcup Gutscheine, Management, Webhosting, vServer, SSL, Domains, Cloud Server,netcup.de

Hier findest Du netup Gutscheine und netcup Gutscheincodes.

Netcup ist ein Anbieter von Webhosting, Domains, VPS und Rootservern.
Das Unternehmen bietet u.a. auch Zertifikate, Groupware und Plesk-Lizenzen an.  In der Rubrik netcup Pro bietet das Unternehmen darüber hinaus
dedizierte Server, managed Server, Colocation und
individuelle Lösungen an.

Mit den Neukundengutscheinen auf dieser Seite kannst Du ein paar Euro bei Deinem Webprojekt oder VPS sparen. Es gibt den Preisnachlass zur Zeit (zuletzt aktualisiert am 25. Februar 2019) in folgenden Varianten:

Hinweise und Rückmeldungen zu den Gutscheinen:

Allgemeines über netcup Gutscheine

  • Es ist freilich nur ein Coupon pro Bestellung und pro Kunde möglich.
  • Für Bestandskunden gelten die netcup Gutscheine grundsätzlich nicht.
  • Im Fall von Unklarheiten frag den netcup-Support, ob der gewünschte netcup Gutscheincode nun anwendbar ist oder doch nicht.
  • Um sich vor dem Kauf über Erfahrungsberichte auszutauschen, kann man die ausgesprochen bemühte Community konsultieren . Es gibt dort hilfreiche praktische und theoretische Ratschläge und netcup-Mitarbeiter lesen dort im Forum erfahrungsgemäß mit.

netcup Gutscheine und Gutscheincodes mit einmaliger Gutschrift

  • Beobachtungen zufolge akzeptiert der Webshop diese nur, wenn der Warenkorbwert zumindest dem Wert des Coupons entspricht. Daher ist bei kleineren Summen und bei wiederkehrenden Entgelten einer der Dauerrabattgutscheine besser geeignet.

netcup Gutscheine und Gutscheincodes mit Dauerrabatt

  • Die Rabattgutscheine gelten nur die für konkrete Vertragslaufzeit, für die sie ausgestellt wurden. Damit ist die Mindestvertragsdauer gemeint, die man leider erst im Shop beim Einlösen des Gutscheins sieht.
  • Wenn man im Webshop die Konfiguration ändert,  ist der eingegebene Code oder aufgerufene Gutschein nicht mehr gültig. Das betrifft etwa den Vorgang,  von SSD auf SAS zu wechseln. Schau, ob nicht einer der zahlreichen netcup Gutscheine hier besser passt.
  • Wenn unklar ist, ob und für welche Laufzeit der Rabatt denn nun gilt, kann das speziell für Neueinsteiger nervig sein. Mit anderen Worten: frag dann lieber gleich den Support.
  • Vorsicht ist bei internationalen Versionen geboten, denn die günstigeren Tarife beinhalten unter Umständen nur .de-Domains, während bei den regulären Tarifen anstelle von .de-Domains auch eine gewisse Anzahl an Inklusivdomains der TLDs .at, .li, .eu, .ch enthalten sein können. Wer ohnehin schon eine Domain hat, wird das ignorieren können. Wichtig ist dann die Anzahl inkludierten  „Externen Domains“. Das bedeutet, dass man in diesem Ausmaß kostenfrei -im Plesk-Jargon- eine „Subdomain“ für den Webhosting-Account anlegen kann. Zusätzliche externe Domains verursachen,  sofern sie überhaupt möglich sind (generell wohl schon) sonst Einrichtungsgebühren.

Alle Angaben sind ohne Gewähr.

Code nicht gültig?

Da manche der Gutscheine nur einmal verwendet werden können, kann es sein, dass der netcup-Webshop ihn nicht akzeptiert. Es ist nämlich so, dass diese ihre Gültigkeit verlieren, sobald sie einmal eingegeben worden sind, egal, ob der Bestellvorgang abgeschlossen wurde oder nicht.

Funktioniert einer der Coupons einmal nicht, ist also ungültig geworden, nimm einfach einen anderen. Für Nachschub wird ohnehin sobald wie möglich gesorgt, aber ich freue mich auch auf einen Hinweis, wenn es wieder passiert.

For our english readers: see below for netcup vouchers.

Hier sind nun die netcup-Gutscheine:


VPS 200 G8 10Prozent Rabatt

2052nc15736469450
VPS 200 G8 10Prozent Rabatt
2052nc15736469451
VPS 200 G8 10Prozent Rabatt
2052nc15738177540
VPS 200 G8 10Prozent Rabatt

VPS 500 G8 10Prozent Rabatt

2053nc15735211740
VPS 500 G8 10Prozent Rabatt
2053nc15738177610
VPS 500 G8 10Prozent Rabatt
2053nc15738177611
VPS 500 G8 10Prozent Rabatt

VPS 1000 G8 10Prozent Rabatt

2054nc15733919251
VPS 1000 G8 10Prozent Rabatt
2054nc15736469540
VPS 1000 G8 10Prozent Rabatt
2054nc15738177680
VPS 1000 G8 10Prozent Rabatt
2054nc15738998870
VPS 1000 G8 10Prozent Rabatt

VPS 2000 G8 10Prozent Rabatt

2056nc15736469590
VPS 2000 G8 10Prozent Rabatt
2056nc15738177730
VPS 2000 G8 10Prozent Rabatt

RS 1000 SSD G7SE 30Prozent Rabatt

2057nc15736469710
RS 1000 SSD G7SE 30Prozent Rabatt
2057nc15738177850
RS 1000 SSD G7SE 30Prozent Rabatt
2057nc15738177851
RS 1000 SSD G7SE 30Prozent Rabatt

RS 1000 SAS G8 30 Prozent Rabatt

2201nc15735212170
RS 1000 SAS G8 30 Prozent Rabatt
2201nc15735212171
RS 1000 SAS G8 30 Prozent Rabatt
2201nc15736469810
RS 1000 SAS G8 30 Prozent Rabatt

RS 1000 SSD G8 30 Prozent Rabatt

2202nc15735211790
RS 1000 SSD G8 30 Prozent Rabatt
2202nc15738177930
RS 1000 SSD G8 30 Prozent Rabatt
2202nc15738998960
RS 1000 SSD G8 30 Prozent Rabatt

Webhosting 2000 SE 30Prozent Rabatt

2234nc15733919510
Webhosting 2000 SE 30Prozent Rabatt
2234nc15736470140
Webhosting 2000 SE 30Prozent Rabatt
2234nc15738177990
Webhosting 2000 SE 30Prozent Rabatt

Webhosting 4000 SE 30Prozent Rabatt

2235nc15733919560
Webhosting 4000 SE 30Prozent Rabatt
2235nc15738178080
Webhosting 4000 SE 30Prozent Rabatt
2235nc15738999200
Webhosting 4000 SE 30Prozent Rabatt

Webhosting 8000 SE 30Prozent Rabatt

2236nc15736469970
Webhosting 8000 SE 30Prozent Rabatt
2236nc15736470060
Webhosting 8000 SE 30Prozent Rabatt
2236nc15738178240
Webhosting 8000 SE 30Prozent Rabatt

Gutschein 5 Euro (für Neukunden, keine Domains)

36nc15600806040
Gutschein 5 Euro (für Neukunden, keine Domains)

Webhosting 2000 30Prozent Rabatt

1927nc15736470400
Webhosting 2000 30Prozent Rabatt
1927nc15738178350
Webhosting 2000 30Prozent Rabatt
1927nc15738178351
Webhosting 2000 30Prozent Rabatt

Webhosting 4000 30Prozent Rabatt

1928nc15738178900
Webhosting 4000 30Prozent Rabatt
1928nc15738178901
Webhosting 4000 30Prozent Rabatt
1928nc15738178902
Webhosting 4000 30Prozent Rabatt

Webhosting 8000 30Prozent Rabatt

1929nc15736470570
Webhosting 8000 30Prozent Rabatt
1929nc15736470571
Webhosting 8000 30Prozent Rabatt
1929nc15738178630
Webhosting 8000 30Prozent Rabatt

Nichts gefunden?

Schau doch auf die netcup-Website
Gutscheine nachgefüllt am Samstag, dem 16. November 2019 um 11:11; #40

 

Du bist noch nicht fündig geworden?

Im Artikel netcup günstiger beschreibe ich, wie Du bei Deinem Projekt vielleicht doch noch billiger davonkommst – nicht immer ist der Gutschein das Mittel Wahl. Es geht auch anders.

Weitere praktische Informationen sind im Artikel netcup – Feedback, Interessantes, Wissenswertes zusammengefasst.

Für Sammler ist die Liste bisheriger Merchandising-Artikel  vielleicht von Interesse.

WLAN-Steckdosen und Funksteckdosen

Artikel  in Arbeit – öffentliche Vorabversion; Fehler sind sicherlich noch enthalten.

Ein Freund hat zu Weihnachten eine TP-Link HS110 „Smart-Steckdose“ bekommen und ist davon begeistert. Ich habe vor Jahren bereits eine HS100 ausprobiert, aber meine Begeisterung für diese ganze Gerätegruppe unterschiedlicher Hersteller ist mittlerweile etwas abgeklungen. Die Geräte sind durchaus praktisch sind, sofern man etwas Vorsicht walten lässt, und man weiß, was das Gerät tut – ein Erfahrungsbericht.

WLAN-Steckdosen

Als ich mich für das Thema Smart Home zu interessieren begonnen habe, waren WLAN-Steckdosen gerade das Nonplusultra. In diversen Webshops habe ich danach gesucht und hatte für das kleinere Budget am Ende die Wahl zwischen Dosen mit und ohne „Energieverbrauchs“messung. In die engere Auswahl kamen TP-Link mit den Modellen HS100 und HS110 und Edimax mit SP-1101W und SP-2101W.

Meine erste WLAN-Steckdose – TP-Link HS100

Ich habe mich dann, wie bereits erwähnt, für die HS100 von TP-Link entschieden. Dieses Modell wird mittels der App „Kasa“ angesteuert, die relativ viel App-Speicher benötigte. Für mein damaliges Smartphone, das unter permanentem Speichermangel litt, war diese Lösung auf Dauer nichts.

Nur über die App steuern?!

Zum Glück gibt es OpenSource-Lösungen wie FHEM und das  FHEM-Forum, an dem eine Menge kundige Leute mitarbeiten. Relativ schnell war ein Skript gefunden, das ein anderer Forenposter dort veröffentlicht hat. Im Zuge des Threads ergab sich, dass viele Geräte der Marke „Medion“, „TP-Link“, „Maginon“ und „Silvercrest“ im Grunde einer mit einer recht ähnlichen Sequenz angesteuert werden. Ich werde diese Erkenntnisse zusammenfassen und später näher erläutern.

Der nächste Schritt – WLAN+Funksteckdosen (433 MHz) –  MD 16173

Aus Kostengründen bin ich dann, als eine Erweiterung anstand, zunächst auf ein Set aus WLAN-Steckdose und Funksteckdosen gestoßen. Der Artikel mit der Bezeichnung Medion MD 16173 besteht einerseits aus einer „intelligenten“ Dose und andererseits drei Funksteckdosen mit einer Fernbedienung, wie wir sie gemeinhin als „Baumarkt”-Funksteckdosen kennen. Angesteuert werden die Dosen über die App „icomen“ respektive „icomen x2“.

Andere Hersteller – und kompatible Funksteckdosen

Ich habe später auf Amazon äußerlich baugleiche Modelle sowohl der Wlan-Steckdose („Aplic“, „CSL“) als auch der Funksteckdosen („hama“) gefunden. Zusätzlich gibt es von hama und CSL kompatible Außensteckdosen.

Die Funksteckdosen sind als Zwischenstecker ausgeführt. Sie lassen sich mit den Fernbedienungen der jeweils anderen Scheinhersteller schalten.

WLAN-Funksteckdosen-Gateways

Über die zuvor genannten Apps icomen und icomen x2 können sowohl die WLAN-Steckdosen geschaltet werden, wozu auch ein Zeitschalt und Zufallszeit-Schaltprogramm wie bei der TP-Link HS100/HS110 gehört, als auch die Funksteckdosen, die zuvor an die jeweilige Steckdose als Gateway angelernt werden kann. Man kann sie also fortan beinahe wie über die Fernbediendung ansteuern.  Eine Steckdose reagiert dabei auf zumindest bis zu drei verschiedene angelernte Codes. Der Nachteil dieser Funksteckdosen ist, dass man im Gegensatz zur Haupteinheit den Schaltzustand nicht überprüfen kann.

Recherchen

Pairing mittels App und Cloud

In den Steckdosen ist ein Modul „Hi-flying HF-LPB100“ verbaut.  Die Steckdose verfügt über ein Webinterface mit dessen Hilfe sie im Grunde vollständig konfiguriert werden könnte. Im Regelfall wird man die Dose über die App einrichten.  Dazu drückt muss man das Smartphone ins Ziel-WLAN-Netz einbuchen, worauf man den Ein-/Ausschalter der Dose drückt, bis seine LED  schnell rot blinkt. Nun fügt dann das Gerät in der App hinzu. In der Folge muss man das WLAN über die App einrichten, während man sich in unmittelbarer Nähe des Gerätes befindet. Wenn die Dose über DHCP eine IP-Adresse und ein Gateway erhält, klappt  das Pairing. Stellt man die Internetverbindung für unbekannte Geräte aber ab, schlägt auch das Pairing fehl. Wir haben es also an sich mit einem Cloud-Service zu tun.

Einrichten ohne Cloud

Möchte man auf die App verzichten, gibt es einen Trick: Die Steckdose ist im Werkszustand und im Pairing-Mode darauf ausgelegt, als Client der ESSID „LSD“ zu fungieren. Konfiguriert man einen offenen Access Point/WLAN-Router mit dieser Kennung, erhält die Steckdose eine IP-Adresse aus dessen Netz und kann über das Web-Interface des HF-LBP100 konfiguriert werden.
Die Funktionsweise kann je nach Hersteller abweichend sein. Mit einem WLAN-Sniffer kann man allerdings die unverschlüsselten Daten, die die Dose anfordert, sichbar machen.

Konfiguriert man das WLAN nun manuell, kann man die Dose über ihre IP mittels UDP-Befehlssequenzen ansprechen.

Befehlssequenzen

Das FHEM-Forum hat alle Informationen bereits zusammengetragen. Ein PHP-Skript des dortigen Nutzers „SebiM“ mit kleinen Modifikationen zum Anschalten von Funksteckdosen kann zur Ansteuerung dienen – hier ist sein rfswitch.php:

#!/usr/bin/php
<?php
// 2016 Sebi, public domain

// Insert your WiFi plug data here // Daten der eigenen WiFi-Funksteckdose hier eintragen
$ip = $argv[2];
$mac = getMacFromArp($ip);
if ($argc==4) {
$code = $argv[3]; // Company code + device code + auth code
} else {
$code=’C1117150′;
}
// Comment out the following line for WiFi plug switching instead of RF slave plug switching
// Folgende Zeile zum Schalten der WiFi-Dose selbst anstatt einer RF-Slave-Dose auskommentieren
if ($argc==5){
$rfslave = $argv[4];
}

function getMacFromArp($IP) {
$REACHABLE=shell_exec(‚ping -W1 -c1 ‚.$IP);
$MAC=shell_exec(‚echo -n $( egrep „‚.$IP.'“ /proc/net/arp | egrep -oe \'([0-9a-f]{2}:*){6}\‘ | sed \’s/\://g\‘ | tr [:lower:] [:upper:])
‚);
return „$MAC“;
}
function encodePacket($packet) {
$td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, “, MCRYPT_MODE_CBC, “);
$key = ‚0123456789abcdef‘;
mcrypt_generic_init($td, $key, $key);
$result = mcrypt_generic($td, $packet);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return $result;
}

$msg = hex2bin(„0140{$mac}10“);

if (isset($rfslave)) {
if ($argv[1] == ‚on‘) {
$value = ’60‘;
} else if ($argv[1] == ‚off‘) {
$value = ’70‘;
} else {
exit(2);
}
$msg .= encodePacket(hex2bin(„00ffff${code}08${rfslave}${value}04040404“));
} else {
if ($argv[1] == ‚on‘) {
$value = ‚ff‘;
} else if ($argv[1] == ‚off‘) {
$value = ’00‘;
} else {
exit(2);
}
$msg .= encodePacket(hex2bin(„00ffff${code}010000${value}ff04040404“));
}

echo ‚UDP packet: ‚ . bin2hex($msg) . „\n“;

$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
for ($i = 0; $i < 4; $i++) {
socket_sendto($sock, $msg, strlen($msg), 0, $ip, 8530);
usleep(50 * 1000); // 50 ms
}
socket_close($sock);

Zur Funktionsweise des Skripts

Das Skript ermittelt zunächst anhand der übergebenen Parameter die MAC-Adresse der Steckdose aus deren zuwiesener IP-Adresse. Anschließend wird eine Hexdezimalzahl der Länge 8 Byte (64 Bit) definiert, die sich von Gerät zu Gerät unterscheiden kann. Sie besteht aus dem Herstellercode, dem Gerätecode und einem Authcode. Innerhalb einer Geräteserie ist dieser Code jedenfalls ident und manche Hersteller verwenden offenbar denselben Code, der daher im Script als Fallback eingetragen ist: C1117150 (CX-Herstellercode, YY-Gerätecode; ZZZZ-Authcode.  Der FHEM-User „enterpriseII“ hat dies gepostet: https://forum.fhem.de/index.php/topic,38112.msg501942.html#msg501942

Ein weiterer, optionaler Parameter enthält einen  sechs Byte langen Code, der eine Funksteckdose, die zuvor angelernt worden ist, anspricht.

Das Skript generiert nun ein Paket, das anschließend über einen UDP-Socket als Unicast versendet wird. Seine Fracht enthält einen Präfix (0140), die Ziel-MAC-Adresse, einen Postfix (10) enthält, vermehrt um eine mit AES128 verschlüsselte Binärcodesequenz mit dem trivialen Schlüssel 0123456789abcdef, die aus  dem Präfix „00ffff, dem Gerätecode (C111750), der Zeichenfolge 08, dem angelernten Schaltcode der Funksteckdose, dem Schaltwert (70 für aus, 60 für ein und dem Postfix 4 mal 04 besteht. In Kenntnis dieser Details kann man es gut nachprogrammieren. Im simpelsten Fall kann ein Bash-Skript, das netcat (nc) aufruft diese Funktion erfüllen, solange man den 128 Bit Rijandel Algorithmus zur Verfügung hat.

Anlernen über die App, Auslesen der Schaltcodes aus der Cloud

Hat man die Funksteckdose über die App angelernt, kann man den Code mit einem weiteren Skript von SebiM vom Cloudserver abrufen. Man erhält dann einen JSON-Datensatz mit allen Dosen und deren zugehörigen Funksteckdosen.


php rfswitch.php {on|off} [IPADRESSE DER DOSE] [HERSTELLER-CODE, GERÄTECODE, AUTHCODE - Default :C1117150] [6 BYTE HEXADEZIMALZAHLEN]

  • Zum Ansteuern der Funksteckdosen

php rfswitch.php {on|off} [IPADRESSE DER DOSE] [HERSTELLER-CODE, GERÄTECODE, AUTHCODE - Default :C1117150] [6 BYTE HEXADEZIMALZAHLEN]

Sicherheitsaspekte

Nutzlose Verschlüsselung

Man sollte sich dessen bewusst sein, dass die Schaltsequenzen, die gegen den String „0123456789abcdef“ verschlüsselt sind, trotz AES128/Rijandel ausgelesen werden können. Damit kann ein Angreifer, der Zugriff auf die Broadcastdomain erlangt grundsätzlich Euer SmartHome beeinflussen.

Seit der Entdeckung der WPA2-KRACK ist das kein abwegiges Szenario mehr, denn die WLAN-Schaltdosen verfügen über das HF-LBP100-Modul zusätzlich über einen Repeater-Mode. Zwar dürfte dieser simple Repeater-Modus kein WDS beherrschen und somit höchstwahrscheinlich nicht anfällig für Key-Replay-Attacken sein, dennoch ist die Firmware V1.0.04b nicht auf dem letzten Stand. Wer nun die glorreiche Idee haben sollte, die Firmware von der Herstellerseite des Moduls zu verwenden, sei gewarnt: Wer das HF-LPB100 updated, ruiniert die Funksteckdosen-Funktionalität auf seinem Gerät unwiderbringlich. Der jeweilige Hersteller hat die Firmware an die Erfordernisse seiner Cloud und seiner Relaisanordnung angepasst.

„ET nach Hause telefonieren“ – CloudApps

Wer die Cloud-App verwendet, sollte sich darüber im klaren sein, dass sämtliche Schaltzeiten nebst Username und Passwort auf einem chinesischen Cloud-Server landen. Freilich fehlt jeglicher Hinweis darauf, der  im Sinne der DSGVO wäre. Auch das manuelle Schalten würde, damit die Schaltzustände mit der App synchron bleiben, einen derartigen Home-Call auslösen, wenn die WLAN-Steckdose über das Internet verbunden ist.

Wer das nicht möchte, dem sei angeraten, dies  über die Firewall zu unterbinden. Freilich ist damit die App nutzlos. Alternativen zu ihr, samt fremden Cloudserver bestehen in selbstgehosteten Lösungen wie FHEM.

Ansteuerung via Cron-Script

Die beiden zuvor genannten Schaltbefehle lassen sich freilich auch ohne FHEM via Cron-Job anwenden. Der Linux-Server dienst somit als Zeitschaltuhr, die sich automatisch der Zeitumstellung anpasst.

Praktisch wird es, wenn dies etwa nach einem Backup die USB-Platte vom Netz trennt oder der SAT-IP-Server über Nacht abgeschaltet werden soll. Anwendungsmöglichkeiten gibt es viele.

Vorsicht…

… ist geboten, da es sich um Geräte handelt, die mit Netzstrom arbeiten. Achtet jedenfalls auf die maximal verträgliche Spitzen- und Dauerlast des jeweiligen Gerätes und beachtet die Sicherheitshinweise in der Bedienungsanleitung.

Noch ein Hinweis: wenn Du mehrere dieser WLAN-RF-Gateways verwendest, ist der RF-Code, wenn Du ihn über ein Skript steuerst, auf allen Dosen in Reichweite, die denselben Code angelernt haben, nutzbar. In der App ist eine Slave-Steckdose stets an einen einzigen Master gebunden. Du kannst die Befehle, die „fremde“ Slaves betreffen, aber auch in einer Schleife an all Deine Dosen senden. Das wird dann praktisch sein, wenn Du eine Funksteckdose nicht immer an derselben Wandsteckdose benützt, oder, wenn Du eine Dose im Empfangsbereich zweier Gateways hättest (1.+3. Stock Gateway, 2. Stock RF-Slave). Bei allen Dosen, die ich bisher getestet habe, besteht durchaus ein Reichweitenproblem mit der in ihnen verbauten RF-Feder-Antenne für 433 MHz. Anders als bei WLAN mit MiMo und mehreren Streams machen sich hier Abdeckungsprobleme innerhalb einer Wohnung stark bemerkbar.

Kennt man die Problem und Möglichkeiten, steht dem Spaß mit der Heimautomatisierung nicht mehr viel im Wege.

 

Feedback und Erfahrungen sind herzlich willkommen!

Ein herzliches Dankeschön  an die Mitwirkenden im FHEM-Forum, ohne das dieser Beitrag nicht möglich gewesen wäre! Der nächste Artikel wird sich vielleicht FHEM widmen.

Olympia GSM-Alarmanlage und Yesss SIM

Interessante Beobachtung: Bei einer Olympia Protect Serie 96XX GSM-Alarmanlage funktioniert anscheinend eine Charge von Yesss/A1 SIM-Karten nicht.
Während die Karten in einem alten Handy klaglos funktionieren, findet die Basiseinheit eines getesteten Alarmsets schlicht kein Netz. Die sonst bei GSM in einem Radiolautsprecher typischen Geräusche, wenn ein Handy sich ins Netz einbucht, fehlen in diesem Fall gänzlich. Konkret sind mit mehreren Yesss-SIM Serie 89431215071000XXXXX mit einer Olympia Protect 9061 (5943 rev.03) diese Anomalien zu beobachten gewesen, während folgende Serien funktionieren:
89431215050304XXXXX
89431214093005XXXXX
89431214093005XXXXX

Spannend…

Telnet auf der Videotürklingel

 

Kürzlich habe ich mir gedacht, eine WLAN-Türklingel wäre eine sinnvolle Investition, etwa schon allein deshalb, weil sich manchen Zustelldienste gerne in meiner Gegend verirren. Als Sparfuchs, der ich ja bin, wurde es auf Amazon eine [externer Link zu Amazon:  Generic TS-IWP708 Wifi Digital Wireless Video Tür Bell]. Zum Zeitpunkt des Erwerbs lag der Preis bei etwa 30 Euro. Es f olgt eine

Analyse:

Paket und Inhalt

Die weiße Schachtel war relativ neutral. Ein Produktbild und der Name des Produkts auf der Oberseite, seitlich rechts noch ein paar Bildchen, Strichcode-Aufkleber, einer davon mit dem Aufdruck „TS-IWP708“ unter dem Code. Keine Herstellerangaben in irgendeiner Form.

Inhalt der Schachtel

  1. User’s Manual (20 Seiten mit farbigen Illustrationen und Screenshots)
  2. Die Haupteinheit im wiederverschließbaren Plastiksack.
  3. Ein Montagerahmen, der zugleich als Wetterschutz oder Regenblende dient.
  4. Ein Stromadapter 230V zu 5V 1A mit einem 2-Pin Stecker. CE-Loge auf dem Adapter.
  5. LAN-Adapter (8x17cm ungeschirmte Kabel mit acht-pinnigem, einreihigem Stecker auf einer Seite, auf der anderen ist ein RJ45-„Weiberl“ .
  6. Ein Adapter mit drei Kabeln, die jeweils ca. 10,50 cm lang sind und offene Enden haben.
  7. Zwei Stück gepolstertes Teppichband.
  8. Ein Sackerl mit vier billigen Schrauben und ebensolchen Dübeln. Eine weitere, winzige Schraube mit Metallgewinde. [Werbung: Wenn Du an Webhosting, VPS und RootServern interessiert bist, kannst Du gerne meine Liste von Gutscheinen für netcup durchschauen. Es gibt Rabatte oder eine Neukundengutschrift. netcup – german quality webhosting.]

Anmerkungen:

  1. Die Bedienungsanleitung hat keine Lizenzinformation oder gar ein Impressum angefügt.
  2. Die Haupteinheit im Klavierglanzlook, die eine helle, blaue LED unter dem Klingelknopf hat, wirkt sauber verarbeitet. Links und rechts des Knopfes sind je eine weitere LED angebracht.  Im oberen Bereich sitzt der Kamerasensor mit einer Auflösung von 640×480, umgeben von je drei IR-LEDs links und rechts von ihm. Für den Lautsprecher und das Mikrophon gibt es Vertiefungen. Auf der Rückseite ist der abgesenkte Reset-Knopf zu finden. Ein „QC passed“ und das Produktionsdatum sind auf je einem Aufkleber zu sehen.
  3. Das Wetterschutzgehäuse, wenn man die Blende so nennen möchte, hat auf der Unterseite ein Loch, durch das die winzige Metallschraube aus 1.1.1.8 passt. Damit wird die Haupteinheit mit der Blende fixiert. Deshalb würde ein Einbrecher oder Dieb, der die Klingel haben wollte, ein leichtes Spiel haben. Es wäre sinnvoll die Schraubschlitze mit Epoxidharz zu verschließen, wenn man die Klingel nach Lektüre dieses Artikels noch behalten möchte. Aber wie kommt man dann an den Reset-Knopf, wenn man ihn braucht? Aufgrund dessen kommt mir das Konzept in diesem Punkt nicht ganz schlüssig vor.
  4. Das Stromkabel des Netzadapters ist, gemessen daran, dass wir hier eine Außeneinheit vorliegen haben, mit 80cm lächerlich kurz. Ich werde deswegen wohl einen selbstgebastelten PoE-Adapter verwenden müssen.
  5. Der ungeschirmte LAN-Adapter mit seinen ungeschirmten, nicht verdrillten könnte Funkstörungen bewirken. Ich würde ihn mit Alufolie umwicklen, bevor ich ihn letztlich montiere.
  6. Das dreipolige Kabel dient zum Anschluss an einen elektrischen Türöffner. Wie das geht siehst Du in 3.2.

Einrichtung

Vorbereitungen

  1. Auf Seite 7 der Bedienungsanleitung findet man QR-Codes, die auf eine App in entweder dem Google Play Store oder dem iOS App Store verweisen sollten. Nun, sollten, denn der Link für die in einem der Screenshots als  „Door Phone 4.1“ bezeichneten Apps war tot. Ich habe stattdessen mit dem Suchterm „doorphone“ eine andere app gefunden „Door Phone 4.4“, Herausgeber ist „ShenZhen Gogo Link Tech.limited“, die bei mir funktioniert hat.
  2. Fallstrick: Bevor man versucht, eine Verbindung mit der App herzustellen, sollte man jedenfalls das „Mobile Internet“, die „Mobile Datennutzung“, etc. deaktivieren. In meinem Fall hat die App das Gerät nicht detektieren können, solange LTE aktiv war.  (Es könnte sich um einen länderspezifischen Effekt handeln, wenn die privaten IP-Adressbereiche des 4g/3g/2g – Netzes vorrangig behandelt werden und der Broadcast fehladressiert wird.).
  3. Schließen wir also den zweipoligen Stromadapter an der Rückseite der Türklingel an und geben ihr Strom.
  4. Warten wir einen Moment, während die Türklingel bootet. Sie begrüßt und mit „welcome to smart home“ über den Lautsprecher. Nach weiteren 30 Sekunden dürfen wir den blauen Touchbutton für ca. fünf Sekunden drücken. Nach dem Loslassen sagt die Türklingel: „Network configuration mode, please set it down in five minutes“.
  5. Sowie man dies hört, ist auch schon eine WIFI Access Point mit der SSID „GBELL-{Teile der MAC Adresse}“ auf dem Handy sichtbar. Verbinde Dich damit. Das Einrichtungspasswort ist „123456789“.
  6. Sowie das WLAN verbunden ist, öffne die App „Door Phone“ und folge den Anweisungen auf Seite 9 der Antleitung: „Please click here to add bell“, dann „Search“. Und dann tippt man auf den Text „GBELL …“.
  7. Man kann jetzt das Zahnradsymbol in der Übersicht der App antippen, um das lokale WLAN zu konfigurieren.
  8. Man sollte an dieser Stelle nicht vergessen, nach Abschluss der Einrichtung zurück ins heimische WLAN zu wechseln. [Werbung: Puh, nach dem das geschafft ist, möchtest Du vielleicht einen Blick auf meine netcup-Gutscheine werfen? netcup – german quality webhosting.]

Abschluss

  1. Nun, nachdem die Klingel grob eingerichtet ist, kann man ans Feintuning gehen. Als erstes sollte man den Alarmton abstellen, sonst wird man während der nächsten Schritte noch irr …
  2. In den „User settings“ kann man weitere Benutzer anlegen. Bedenke, dass die App Passwörter abverlangt, die zwar länger als sechs Zeichen sein sollen, aber keine Sonderzeichen beinhalten dürfen. Man kann sie zwar eingeben, aber die App lässt sie beim Speichern unter den Tisch fallen.
  3. Bei der Wahl des Passworts bitte auf den vorhergehenden Punkt genau achten. Ansonsten kann man sich mit der App nicht wieder einloggen. Die Reset-Prozedur über den Knopf auf der Rückseite- ist mühsam, man muss von Vorne beginnen. [Werbung: Wie wäre es zur Entspannung mit etwas völlig anderem:  FreeTime Unlimited von Amazon – kindgerechte Inhalte von Amazon?]

Tiefere Einblicke

Dienste

  1. Ein Portscan auf die nun zugewiesene IP der Klingel offenbart folgende drei TCP-Dienste: PORT STATE SERVICE 23/tcp open telnet 81/tcp open hosts2-ns 8600/tcp open asterix
    1. Auf den Telnet-Dienst – oder sollen wir ihn Backdoor nennen? – kann über folgende Nutzerdaten zugegriffen werden User: „root“ Passwort: „123456“
    2. Auf Port 81, kann man ein Webinterface erreichen, auf das nach einem Reboot mit dem selbstgewählten Benutzer zugegriffen werden kann. Bedenke, dass etwaige Sonderzeichen schlicht weggelassen worden sind. Die Schnittstelle wirkt unfertig und kaputt. Sie bietet fünf Funktionen:
      1. Ein Fenster für den Videostream – es ist immer schwarz und funktioniert augenscheinlich nicht.
      2. WLAN scan – man sieht die erreichbaren Netze, kann aber nicht mit ihnen verbinden.
      3. Ein Auslöser für den Türöffner – eigentlich sinnloss, wenn Audio und Video nicht funktionieren…
      4. Audio in – (Gegensprechfunktion) ohne Funktion
      5. Audio out – (Gegensprechfunktion) ohne Funktion
    3. Der Zweck von Port 8600 war mir an dieser Stelle unklar. Es ist kein Asterisk, sondern scheint vom Dienst „go-service“ auszugehen, das ist jene Schnittstelle, die mit der App kommuniziert. Ich konnte das noch nicht tiefer analysieren, aber dahinter steckt anscheinend eine monolithische  Binärdatei, die die ganze Klingel kontrolliert.
  2. Ein genauerer Blick in die Firmware wird durch den zuvor genannten Root-Telnetzugang ermöglicht. Jetzt wird es spannend:
    1. Das Gerät meldet auf Linux und Busybox zu laufen, u.z. konkret auf einem Realtek-SDK mit  Linux 2.6. Nirgendwo auf der Packung oder den Beilagen konnte ich eine Kopie der GPL Lizenz finden. Es gibt keine Hinweise auf wiederverwendeten Code aus unter der GPL lizenzierten Projekten. Aus diesem Grund habe ich den von Amazon genannten Hersteller „Sawful“ und Amazon darüber in Kenntnis gesetzt. Bisher wurde nur meine Rezension auf Amazon wieder gelöscht: Sie enthalte unzulässige URLs. Ich warte auf eine Antwort. #cat /proc/version Linux version 2.6.21 (root@mailzxh-desktop) (gcc version 3.4.2) #655 Wed Nov 21 22:21:46 CST 2012
      # busybox BusyBox v1.12.1 (2012-11-21 22:17:05 CST) multi-call binaryCopyright (C) 1998-2008 Erik Andersen, Rob Landley, Denys Vlasenkoand others. Licensed under GPLv2.See source distribution for full notice.
    2. Zur Hardware:
      1. SoC: Realtek MIPS24K with rt5350 WIFI. # cat /proc/cpuinfo system type : Ralink SoC processor : 0
        cpu model : MIPS 24K V4.12 BogoMIPS : 239.10
        wait instruction : yes
        microsecond timers : yes
        tlb_entries : 32
        extra interrupt vector : yes
        hardware watchpoint : yes
        ASEs implemented : mips16 dsp
        VCED exceptions : not available
        VCEI exceptions : not available

        # ls /proc/rt5350 gmac skb_free tx_ring rx_ring cp0 esw_cnt
      2. RAM: 32MB # cat /proc/meminfo | grep MemTotalMemTotal: 29336 kB
      3. Flash
        1. Konfiguration/Partitionierung # cat /proc/mtd dev: size erasesize name
          mtd0: 00800000 00010000 "ALL"
          mtd1: 00030000 00010000 "Bootloader" mtd2: 00010000 00010000 "Config"
          mtd3: 00010000 00010000 "Factory"
          mtd4: 00100000 00010000 "Kernel"
          mtd5: 00330000 00010000 "RootFS"
          mtd6: 00300000 00010000 "sys"
          mtd7: 00080000 00010000 "param"

          Ok, ein anscheinend acht MB großer Flash mit sieben Partitionen. Die Firmware kann man mittels TFTP-Client aus Busybox’s wegsichern. Dazu setzt man einen TFTP-Server auf einer Maschine innerhalb der eigenen Broadcast Domain auf. Mit „tftp -l [lokale Datei] -r [entfernt gelegene Datei ] -p [IP Adresse des Servers]“ kann man die Inhalte von /proc/mtdblock* auf den Server kopieren.
        2. Partitionen sind wie folgt eingebunden:
          # mount rootfs on / type rootfs (rw) /dev/root on / type squashfs (ro) proc on /proc type proc (rw) none on /var type ramfs (rw) none on /etc type ramfs (rw) none on /tmp type ramfs (rw) none on /media type ramfs (rw) none on /sys type sysfs (rw) none on /dev/pts type devpts (rw) /dev/mtdblock6 on /system type jffs2 (rw) /dev/mtdblock7 on /param type jffs2 (rw
      4. WIFI iwconfig zeigt einen ra0 RTWIFI SoftAP und einige   wds-Interfaces. wds0 hat die SSID mit GBELL… – es scheint, dass der GBELL-AP also weiterhin konfiguriert ist, aber ich konnte nun nicht mehr damit verbinden. Vermutlich also nicht bloß eine versteckte SSID, sondern mit geänderten Einstellungen. apcli0 zeigt die Klingel als Klient am heimischen AP. Ich konnte bisher keine Einstellung zur Regulationsdomäne (Ländereinstellung) finden. Wahrscheinlich hat sie die Weltdomain eingestellt, in der Kanal 12 und 13 (und 14) nicht funktionieren.
      5. Aktive Netzwerkdienste # netstat -aWp Active Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:81 0.0.0.0:* LISTEN 133/encoder tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN 28/telnetd tcp 0 0 0.0.0.0:8600 0.0.0.0:* LISTEN 31/go-daemon tcp 0 213 192.168.246.1:23 192.168.246.2:32798 ESTABLISHED 28/telnetd udp 0 0 127.0.0.1:8832 0.0.0.0:* 133/encoder udp 0 0 0.0.0.0:3073 0.0.0.0:* 133/encoder udp 0 0 0.0.0.0:3074 0.0.0.0:* 133/encoder
      6. udp 0 0 0.0.0.0:3075 0.0.0.0:* 133/encoder udp 0 0 127.0.0.1:6666 0.0.0.0:* 133/encoder
      7. udp 0 0 0.0.0.0:8600 0.0.0.0:* 31/go-daemon udp 0 0 0.0.0.0:9632 0.0.0.0:* 133/encoder udp 0 0 127.0.0.1:9123 0.0.0.0:* 31/go-daemon udp 0 0 127.0.0.1:9124 0.0.0.0:* 133/encoder udp 0 0 0.0.0.0:67 0.0.0.0:* 102/udhcpd udp 0 0 0.0.0.0:32108 0.0.0.0:* 133/encoder udp 0 0 127.0.0.1:8813 0.0.0.0:* 133/encoder udp 0 0 0.0.0.0:15733 0.0.0.0:* 133/encoder udp 0 0 127.0.0.1:8822 0.0.0.0:* 133/encoder udp 0 0 127.0.0.1:8831 0.0.0.0:* 30/cmd_threadActive UNIX domain sockets (servers and established)Proto RefCnt Flags Type State I-Node PID/Program name Pat
      8. Binäre Dateiorte: /system/system/bin: # ls -la /system/system/bin-rwxr-xr-x 1 0 0 156768 go-daemon-rwxr-xr-x 1 0 0 8260 cmd_thread-rwxr-xr-x 1 0 0 877540 encoder drwxrwxrwx 5 0 0 0 ..drwxrwxrwx 2 0 0 0 .
      9. Kamera: Ein Schnappschuss von der Kamera ist mit den selbstgewählten Benutzerdaten zu bekommen – hier im Beispiel mit der Defaultadresse des WLANs im Einrichtungsmodus: http://192.168.246.1:81/snapshot.cgi Es sollte eigentlich auch -so flüstert es mir der Befehl „strings encoder“ auf dem lokalen PC, eine videostream.cgi geben, die mjpg-Streaming macht. Sie funktioniert aber nicht. Warum, das weiß ich noch nicht

Sicherheitslücken

  1. Telnet mit Trivialpasswort, über das man Root-Berechtigungen erhält.
  2. WDS ist möglicher weise für WPA-KRACK anfällig, was noch getestet werden muss. Wenn das Programm go-service Programmcode des alten hostapd beinhaltet, dann ist es wahrscheinlich. Abwehrmaßnahmen gegen KRACK, also Key Replay Attacken sind nicht nur einseitig am Access Point vorzunehmen.  Es ist anzunehmen, dass viele  Smart Home Gadgets auch weiterhin kein Update erhalten haben.

Zusammenfassung.

  1. Qualität: Das ist einer der billigsten WIFI-Videotürklingeln, die ich finden konnte. Während die Haupteinheit auf den ersten Blick einen überraschend grundsoliden Eindruck in Relation zum Preis erweckt, ist das Zubehör von entsprechend schlechter Qualität. Etwa die Schrauben, die nicht sauber gefräst waren und der LAN-Anschluss. Die Bedienungsanleitung ist überaltert und stimmt so nicht mehr.
  2. Lizenzfragen. Verstörend wirkt auf mich, dass der Hersteller es verabsäumt hat, die paar Cent, die eine GPL-konforme Erklärung kosten, zumindest für Linux und Busybox zu investieren. Wir werden ja sehen, wie der Hersteller und Amazon mit der mutmaßlichen Lizenzverletzung umgehend werden. Für beide gilt die Unschuldsvermutung.
  3. Sicherheit: Aus sicherheitstechnischer Sicht sind Root-Zugänge heute, wie auch vor 15 Jahren und länger eigentlich ein absolutes No-Go. Ich habe in einem Artikel von Pentest Partners aber ähnliches gefunden. (Danke!) Die Autoren haben damals eine Maginon IPC-20C analysiert, die offenbar dasselbe SDK/Framework verwendet – wer Interesse hat, sei auf die anregende Lektüre verwiesen: [Externer Link See: Hacking the IP camera (part 1)].
  4. Allgemein Die Türklingel könnte soviel bequemer zu bedienen sein, wenn es eine durchgehende deutsche Übersetzung in der Gogo-Link Door Phone App gäbe. Ich bin etwa in einer Fehlermeldung auch auf chinesische Schriftzeichen gestoßen. Dass die Kamera kein vollwertiges Webinterface bietet, sodass man lokal auch vom PC und ohne die APP auskäme, ist störend. Auch, dass die vom Hersteller empfohlene App, bereits einmal aus dem Goolge Play Store verschwunden ist, aber für’s Konfigurieren zwingend erforderlich wäre, verunsichert mich. Aus Entwicklersicht ist das Gerät dennoch attraktiv, etwa, wenn man eigene  Firmware schreiben wollte oder, wenn man Alternativen zum vermeintlichen Asterisk-Dienst, der in Wahrheit ein proprietärer Dienst für die Ansteuerung sein dürfte, entwickeln wollte. Es wäre spannend OpenIPCam auf dieses Gerät zu übertragen.

[Werbung: Nach einem so langen Text hast Du Dir etwas verdient. Wie wäre es mit etwas Musik von Amazon Music Unlimited?]

Das abgestürzte LTE-Modem – Per Port Power Switching (PPPS)

Die Ausgangslage

Vom Diskonter Hofer mit seiner Mobilfunksparte Hofer Telekom habe ich so ein [externer Link zu Amazon: ZTE MF831]mit mutmaßlich abgespeckter Firmware.

Ich betreibe es an einem TP-Link TL-WR1043NDv2. Früher war es an einem TL-WR1043NDv1 angeschlossen – beide mit [externer Link: OpenWRT].

Nun habe ich von Zeit zu Zeit mit dem auf Android basierenden LTE-Modem ein Problem: Es „hängt sich auf“. Ich vermute eine Art Fast Download Mode, weil es zwar noch dieselbe vid, aber eine andere pid an lsusb meldet.

Haben Sie schon ab- und wieder angesteckt? 🙁

Ich habe bis heute auch nicht herausgefunden, wie es man es, ohne einen Powercycle (Powerswitching) zu machen, wieder online bringt – schon gar nicht über den OpenWRT-Router. Eine Lösung musste her, damit das Gerät in meiner Abwesenheit auch von alleine wieder online kommt.

Jetzt wäre es schön gewesen, einfach den USB-Port mittels Software stromlos zu machen, aber das geht mit jüngeren Linux-Versionen nicht so recht. Außerdem ist das Modem, da die Router-Spezifikationen für den USB-Port unter 800mA am USB-Port liegen, ohnehin an einem fremdgespeisten USB-Hub angeschlossen (wobei es auch den ginge…). Überlegungen, die Stromzufuhr über GPIO des Routers mittels eines Transistors zu schalten, habe ich wieder verworfen, denn ich bin auf eine andere Lösung gestoßen:

Per Port Power Switching (PPPS) – was ist das?

Einen Per Port Power Switching USB Hub – der jetzt im Advent auch für andere Spielereien, wie das Schalten von USB-Christbäumen und USB-Teewärmern dienen könnte, was ich freilich nicht tun werde. Bestimmt nicht. Ich schau es mir an. 🙂

Die Krux an der Sache ist, dass zwar etliche USB-Hub-Chips für Per Port Power Switching spezifiziert sind, etliche Hersteller aus Kostengründen aber die auf den Platinen der Hubs vorhandenen Leitungen nicht nützen. Sie sparen bei den Transistoren und Kondensatoren.
Findet man einen Hub, der es laut Software kann und richtig beschaltet ist, dann kann man mit Tools wie uhubctl den Strom zu einzelnen Ports aus- und einschalten.

Die schwierige Produktsuche – Chip kann Per Port Power Switching, Platine unvollständig bestückt

Die Schwierigkeit ist nun, überhaupt einen passenden Hub zu finden…
Das zuvor genannte Programm uhubctl gibt es auf GitHub. In seiner README-Datei stehen kompatible Geräte. Den Großteil davon, wie etwa auch den D-Link DUB-H7 rev 1., gibt es nicht mehr auf dem Markt. Die Nachfolgemodelle können das nicht.

[externer Link zu Github: uhubctl Readme]

Was aber erhältlich ist, ist der AmazonBasics USB Hub, 3.0 mit 7 USB Ports. Das Gerät mit Europlug hat ein Netzteil, das mit 12V/3A angegeben ist.

Als ich mich erstmalig mit dem Thema befasst habe, das war im September 2017, war das Gerät von [externer Link zu Amazon: Amazon Basics]der einzige in Europa lieferbare USB-Hub mit dieser Funktion.

In der Zwischenzeit soll es mit dem [externer Link zu Amazon: TP-Link TL-UH700] einen weiteren Vertreter dieser Klasse geben. In dessen Spezifikation finde ich keinen Hinweis auf PPPS und, ohne das Gerät zu besitzen, kann ich es auch nicht analysieren, daher kann ich dazu nichts berichten.

Ergebnis

Mit dem Amazon Basics Hub konnte ich tatsächlich das LTE-Modem und eine USB-Tischleuchte, sowie Festplatten zuschalten. Einzig im Langzeittest mit dem [externer Link zu Amazon: MF831] hat der Plan nicht funktioniert: Aus dem Download-Mode konnte ich es so nicht erlösen. Offenbar bekam es trotzdem noch genug Strom. Es half nur der altbekannte Powercycle.

Fazit

Für die anderen Möglichkeiten ist die Methode vielversprechend und klingt nach Spaß.

Sowie ich wieder Zeit habe, versuche ich es wieder. Eventuell dann schon mit einem [externer Link zu Amazon: TP-Link TL-WR1043ND] v4 oder v5.

Spaß mit NFC-Tags

Near Field Communication (NFC)  – was sagt die Wikipedia dazu?

„Die Near Field Communication (dt. Nahfeldkommunikation, abgekürzt NFC) ist ein auf der RFID-Technik basierender internationaler Übertragungsstandard zum kontaktlosen Austausch von Daten per elektromagnetischer Induktion mittels loser gekoppelter Spulen über kurze Strecken von wenigen Zentimetern und einer Datenübertragungsrate von maximal 424 kBit/s. “

Quelle: NFC auf Wikipedia

Wenn Du ein NFC-taugliches Smartphone besitzt, dann kannst Du mit ein paar NFC-Aufklebern, wie etwa NTAG216-kompatiblen Tags lustige Dinge tun.

Zum Bespiel kann man die Visitenkarte mit drahtlos übertragbaren Zusatz- oder Kontaktinfos spicken. Die Informationen werden von einem kompatiblen Telefon ausgelesen und können gleich gespeichert werden.

Oder man setzt damit das Gäste-WLAN auf. Handy an den Sticker halten – WLAN läuft. Oder man kann im Auto auf die gleiche Weise beim Einsteigen schon Bluetooth und GPS aktivieren und den Hotspot starten.

Was man dafür braucht:

Ein NFC-taugliches Android-Smartphone. iPhone (r)(tm) soll angeblich das Schreiben von NFC-Tags nicht unterstützen.
NFC Aufkleber oder Karten (Aufkleber sind billiger als Schlüsselanhänger und Karten).

Spannend ist, dass Android im WLAN-Menü dann bereits anbietet, die Verbindungsinformationen auf einen NFC-Tag zu schreiben.

In medias res

Möchte ich also mehrere Aktionen ausführen, wird der Speicherplatz auf dem Tag schnell voll. Abhilfe verspricht da eine App namens Trigger mit der man Aktionen auf dem Handy ablegen und dann die Referenz auf dem Tag speichern kann.

App: Trigger

So lassen sich in einem Ruck Bluetooth verbinden, GPS und der Hotspot einschalten, ich kann das  Display im gleichen Vorgang auf Auto-Rotation  zurückgesetzen, das Lautstärkeprofil wechseln, und ich kann zugleich auch Google Maps oder Google Auto damit aufrufen.  Einmal auf den Tag tippen und das ältere Auto aus den 90er Jahren hat mit dem Handy eine Onboard-Zentrale mit Gast WLAN. Trigger schreibt auch eine Referenz zu sich selbst im App Store auf den Tag – wenn ein Gerät, das die App nicht installiert hat, den Tag scannt, will Trigger erst einmal auch dort installiert werden, aber das wäre unnötig.

Automatisches WLAN – kompatibel ohne Zusatz-App

Ein zusätzlicher Tag, beschrieben mit Android oder der TagWriter App auf der hinterer Mittelkonsole angebracht, stellt das WLAN den Mit- und Beifahrern zur Verfügung.

Spielereien mit Text und Nachrichten

Wenig sinnvoll aber geekisch ist es, die SMS-App mittels Tag mit einem Standardtext zu füttern. Das Absenden muss man sowieso noch manuell bestätigen.  Um dem Bruder nachdem man Essen gekocht hat, die Standard-SMS „Essen ist fertig! Komm!“ zu senden, ist die Sache aber nicht gerade das Non-Plus-Ultra, denn eine freie Hand braucht man zum Senden immer noch.

Für Gewinnspiele, wo man eine SMS an die immer gleiche Nummer mit einem Codewort im Text senden soll, ist das aber sicher ein nettes Feature. Dasselbe klappt übrigens auch mit E-Mails oder nur mit einem Text, der einfach nur auf dem Display des Handys angezeigt werden soll.

Captive-Portal mit NFC-Voucher?

Als nächstes spiel ich mich vielleicht mit dem Counter. Vielleicht kann ich eine Voucher-Blogroll für das Captive-Portal meines WLANs auf einen Tag schreiben, die bei jedem Aufruf den Browser mittels HTTP-GET anweist, den Vochercode als Parameter zu übergeben?

Fortsetzung folgt