Een TLS-ingeschakelde Web Server Deployen op een $3 ESP8266 in Onder 30 Minuten
Waarom Beveiligde (TLS) Web Servers Maken
Moderne browsers vlaggen platte HTTP sites als 'Niet vertrouwd', wat gebruikers dwingt het interface te distrusten. Een TLS-ingeschakelde server toont een slotje-icoon en communiceert professionele beveiliging, wat essentieel is voor device management applicaties.
De ESP8266 Wi-Fi Chip & Minnow Server
De ESP8266 is een populaire Wi-Fi chip beschikbaar voor slechts $1. Voor ontwikkeling vereenvoudigt een USB-ingeschakeld development bord – kostend rond $3 – firmware flashing en elimineert de noodzaak voor een externe USB-naar-TTL converter.
Terwijl de 80 MHz kern adequaat is voor veel applicaties, duwen CPU-intensieve taken zoals TLS encryptie de grenzen. Het begrijpen van deze beperkingen is cruciaal bij het ontwerpen van webapplicaties voor dergelijke resource-beperkte microcontrollers.
In deze gids lopen we door het compileren en deployen van de Minnow Server op de ESP8266. De repository bevat het referentievoorbeeld en broncode.
Aan de Slag
We gebruiken de voorgeconfigureerde FreeRTOS/lwIP omgeving van het esp-open-rtos project, gebundeld met een gebruiksvriendelijke web-gebaseerde IDE. Dit elimineert de noodzaak voor een complexe lokale setup.
Download de ESP8266 FreeRTOS/lwIP IDE
Bezoek Real Time Logic en download de IDE. Het pakket bevat VMware of VirtualBox (VMware is gratis voor non-commercieel gebruik) en een embedded TLS stack (SharkSSL). Eenmaal de VM draait, detecteert de web-gebaseerde IDE de ESP8266 aangesloten via USB en toont het als klaar voor flashing.
Figuur 1 demonstreert de virtuele machine en web-IDE interface.
Figuur 1: Web-gebaseerde IDE verbonden met het VM's IP-adres. (Bron: Real Time Logic)
LEDs op een breadboard zijn optioneel; ze zijn alleen opgenomen als u externe LEDs wilt besturen in de voorbeeldapplicatie.
Omdat het VM's IP-adres kan verschillen, klik binnen het VM-venster en druk Enter om het te onthullen, open vervolgens het adres in uw browser om de IDE te starten.
De Minnow Server Voorbeeld Installeren
Het Minnow Server voorbeeld zit niet in het IDE-pakket en moet handmatig geïnstalleerd worden. De onderstaande screenshot toont de installatiecommando's die uitgevoerd worden in de VM's web shell.
Figuur 2: Minnow Server installatiecommando's geplakt in de Linux web shell. (Bron: Real Time Logic)
Wanneer om credentials gevraagd wordt, gebruik Gebruikersnaam: sharkssl, Wachtwoord: SharkSSL.
De ESP8266 Minnow Server tutorial op GitHub details VM configuratie, compilatie en flashing. Voor een beknopte walkthrough, bekijk de bijbehorende video hieronder.
Video 1: Hoe de Minnow Server voorbeeld te downloaden en installeren, compileren en de code uploaden. (Bron: Real Time Logic)
Veilige vs. Niet-Veilige Operatie
De Minnow Server default naar TLS wanneer gecompileerd met SharkSSL. TLS gebruiken voegt administratieve overhead toe – voornamelijk certificaten beheren – maar is vaak vereist in productieomgevingen. In de video demonstreren we hoe de CA-certificaat in uw browser te importeren om de 'certificaatfout' waarschuwing te elimineren.
Veel embedded apparaten resideren op privésnetwerken, waar standaard certificeringsinstanties geen certificaten zullen uitgeven voor interne IPs of hostnamen. Eén oplossing is uw eigen CA te draaien. Onze How to act as a Certificate Authority tutorial leidt u door dat proces.
Omdat de ESP8266 traag is, kan TLS handshake de initiële verbindingen merkbaar vertragen, zeker wanneer browsers meerdere TCP verbindingen simultaan openen. Ons Single-Page Application voorbeeld benut WebSockets en is geoptimaliseerd voor CPU-beperkte apparaten. Voor meer over browsergedrag en microcontroller beperkingen, zie onze Creating Single-Page Apps with the Minnow Server tutorial.
Internet of Things-technologie
- Real-Time Temperatuur & Vochtigheid Monitoring Via Web Op Raspberry Pi 4
- Zet Je Raspberry Pi 4 Om in een Webserver en Bouw Je Eigen Site
- Serverautomatisering: Van desktop macro's naar FANG-platforms
- WiFi Calling Uitgelegd: Hoe Het Werkt En Waarom Het Belangrijk Is
- Expert Gids: Docklevelers Installeren Voor Maximale Efficiëntie
- Cloud Technologie Beveiligen: Best Practices Voor Databescherming En Risicomitatie
- WordPress Installeren Op Google Cloud: Een Stapsgewijze Gids
- Veilig IoT: Best Practices voor het Bouwen van Betrouwbare Verbonden Producten
- De Juiste IoT-connectiviteitsmodule Kiezen: Een Praktische Gids
- Fuzz Testing: Een Essentieel Hulpmiddel voor Het Beveiligen van IoT-apparaten
- Embedded Hardware Hacken voor IoT-apparaten: Tools, Technieken en Zakelijke Implicaties