Sicherheit des ESP8266 (HTTPS, OTA, Zertifikate, …)

IoT-Sicherung und Bot-Netze sind gerade überall im Gespräch.

Grund genug, sich ein paar Gedanken über die Sicherheit des geliebten ESP8266 zu machen.

Eine Anmerkung vorweg: Die Entwicklung des ESP8266 schreitet rasend voran, weshalb dieser Artikel den Stand Dez 2016 widerspiegelt.

Sicherheit des ESP8266 (HTTPS, OTA, Zertifikate, …) weiterlesen

NodeMCU: GPIO Verhalten beim Einschalten

Da ich keine brauchbaren Informationen gefunden habe, wie sich die GPIOs beim Einschalten des NodeMCU-Boards (Esp8266 ESP12 based) verhalten, habe ich sie mal mit einem einfachen Logik Analyser nachgemessen. Das Testprogramm (siehe unten) setzt die GPIO für 200 ms auf LOW und danach auf High.

einschaltverhalten-esp8266
Bitte beachtet, dass die GPIO-Nummern um eins versetzt sind: 0 => D1; 1 => D2; … 7 => D8

 

NodeMCU: GPIO Verhalten beim Einschalten weiterlesen

Endlosschleife Nodemcu

Bei meinen Experimenten mit dem NodeMCU (*) hatte ich das Problem, dass der ESP8266 in einer Endlosschleife gefangnen war: Start, Start der init.lua, Absturz innerhalb der init.lua, Neustart

NodeMCU 0.9.6 build 20150704 powered by Lua 5.1.4

lua: not enough memory

PANIC: unprotected error in call to Lua API (not enough memory)

����19������DH��H��

NodeMCU 0.9.6 build 20150704 powered by Lua 5.1.4

lua: not enough memory

PANIC: unprotected error in call to Lua API (not enough memory)

Die Firmware alleine neu flashen hat das Problem nicht gelöst.
Erst das Überschreiben des Speicherbereiches ab 0x7e000 mit dem Tool esptool hat das Problem gelöst.

esptool.py write_flash 0x7e000 blank.bin

 

blank.bin kann hier heruntergeladen werden. Oder man erstellt die Datei selber. 4096 Bytes lang. Inhalt nur 0xFF.

Proxyserver auf Funktionalität testen

Immer wieder kommt bei der Fehlersuche der Punkt, an dem man testen muss, ob ein Proxy Server funktioniert. Unter Linux kann man auf der Console hierfür schnell und einfach curl nutzt. Je nach Art des Proxy Servers ist dann nur ein anderer Parameter notwendig:

curl –socks4 localhost:9050 http://ipecho.net/plain
curl –socks5 localhost:9050 http://ipecho.net/plain
curl –proxy localhost:3125 http://ipecho.net/plain

Ich nutze als Ziel ipecho.net, da ich als Antwort direkt die IP-Adresse des Proxyserver zurückgeliefert bekomme.

OpenVPN und Webserver auf dem gleichen Port

In der Vergangenheit hatte ich z.B. in Hotelzimmern immer wieder nur über einem unverschlüsselten WLAN AP Internet Zugang. In solchen Fällen habe ich mir oftmals eine sichere VPN Verbindung gewünscht. Nachdem es diese Woche wieder so war, habe ich die Sache endlich angepackt.
OpenVPN einrichten ist ja kein Problem und funktioniert in der Regel auch aus Hotelzimmern, wenn der Dienst auf Port 443/TCP (HTTPS-Port) lauscht. Leider verfügt mein Root-Server nur über eine IPv4 Adresse und ich würde auch gerne https für meinen Webserver weiterhin nutzen.

Die Frage ist also, wie sich HTTPS und OpenVPN ein Port teilen können?

Nach ein bisschen Suchen bin ich auf die OpenVPN Option port-share gestoßen. Hiermit leitet OpenVPN alle Verbindungen, mit denen er nichts anfangen kann, an einen anderen Port weiter. Meine ersten Tests waren jedoch sehr ernüchternd. Die Lösung führte zu einem sehr langsamen Aufbau der Webseiten.

Der nächste Kandidat war sslh. sslh lauscht z.B. auf Port 443 und versucht zu entscheiden, ob die eingehende Verbindung zu SSH, OpenVPN oder HTTPS gehört. Je nach Verbindungsart wird die Verbindung an einen anderen Port weitergeleitet.

Und meine Tests zeigten, dass sslh wunderbar funktioniert.

Einziger Haken: Da die Verbindung weitergeleitet werden, sehen SSH, OpenVPN und der Webserver als Quelladresse nur noch 127.0.0.1. Dies sollte man bei den Sicherheitseinstellungen im Hinterkopf haben, da z.B. fail2ban nicht mehr funktioniert.

Trotzdem: Problem solved!

Asus EP121: Und ab in die Reparatur

Mein EP121 geht die Tage erst mal in die Reparatur. Gleich wegen zwei Problemen:

  • [intlink id=“444″ type=“post“]der Gelbstich bzw. die Verfärbungen[/intlink]Gelbstich in den Ecken immer stärker
  • Rechts oben in der Ecke meint das Touchpad plötzlich Clicks zu erkennen, obwohl die Hand noch nicht einmal in der Nähe ist. Ziemlich nervig, wenn dann einfach z.B. Firefox zu geht.
    Aber auch bei diesem Problem bin ich nicht allein.

 

Mal schauen, wie lange die Reparatur dann dauert.

 

[Update]

Amazon hat mir direkt den gesamten Neupreis erstattet und von einer Reparatur abgesehen.

Also kein Ep121 mehr.

[/Update]