Hallo zusammen, ich kenn mich einigermaßen mit Mikrocontrollern aus und möchte nun mal eine Netzwerkanwendung entwickeln. Ziel ist es einen uC zu haben, der Daten sammelt.zb. Temperaturdaten. Diese sollen dann per Smartphone App abgefragt werden können. Idee: Der Mikrocontroller soll als kleiner Server im Netzwerklaufen, bei dem sich dann das Handy bei Bedarf die Daten holt. So ist meine ganz grobe Idee. Dann hab ich mal rumgesucht und z.B gefunden, dass man da einen Pi o.ä. ganz gut nehmen kann. Allerdings stört mich an der Sache, dass ich dann ja ein eigenen kleine PC betreibe, der für meine Begriffe immer geupdatet werden muss und relativ gut angegriffen werden kann. Mir ist wichtig, dass das Dingen sicher ist, da es ja 24/7 am Netz hängt. Und ich hab auch keinen richtigen Überblick, was das Linux noch alles veranstaltet im Netz. Alternativ hab ich noch MICROCHIP DM320007-C gefunden. Das ist ein ARM mit wohl schon geschriebenen TCP/IP Stack. Habt ihr noch andere Ideen oder Meinungen dazu? Es sollte nicht in übelsten Programmieraufwand ausarten. Also erstmal relativ einfach sein und vorallem sicher. Vielen Dank für Tipps. Florian
Dreh es um: Statt den Pi via Internet erreichbar und damit angreifbar zu machen, lass ihn seine Werte doch selbständig und periodisch an eine externe Seite liefern. Dazu reicht irgendein kostenloser Webspace mit kleinem Script, das die Werte in eine Datenbank einträgt und dann verfügbar macht. So muss der Pi gar nicht von außen erreichbar sein und das Risiko ist sehr gering, dass das irgendwie angreifbar ist.
Statt nem pi kannst du auch nen microkontroller deiner wahl und irgend eine art von netzwerkanbindung nehmen, nen esp8266 oder so wie die arduino's das mit dem ethernet machen. Da kannst du dann auch deine Werte zu der daten-sammel-stelle schicken. Andersrum, wenn das teil nur aus dem lokalen Netz verfügbar sein soll und nicht per internet (ich bin mir bei den Anforderungen nicht sicher) musst du dir nicht so große sorgen um deine Sicherheit machen. wenn du auf dem PI Raspian installierst und unattended-upgrades aktivierst werden da sicherheits-updates auch selbstständig installiert.
Hol dir doch ein Board mit Wiznet Chip, z.B. W5500 oder ähnlich. Einfach in der Ansteuerung und quasi nicht angreifbar (vielleicht DoS-Attacke)
Alternativ kannst du dir auch mal Flyport Pro Ethernet bzw. Flyport Pro Wifi anschauen. Darauf werkelt ein 16-Bit Pic und es gibt eine eigene IDE mit eigenem Framework, die das Nutzen des TCP/IP-Stacks sehr einfach macht. MfG Florian W.
rme schrieb: > Dazu reicht irgendein kostenloser Webspace mit > kleinem Script, das die Werte in eine Datenbank einträgt und dann > verfügbar macht. So muss der Pi gar nicht von außen erreichbar sein und > das Risiko ist sehr gering, dass das irgendwie angreifbar ist. Guter Hinweis. So hab ich das auch vor in einem meiner nächsten Projekte. Als Webspace kann ich Heliohost empfehlen, hab da meine Testseite schon am laufen.
Ok, danke für die Tipps, ich finde den WIZ ganz interessant. Hab mir mal den Code angesehen, finde aber kein wirklich einfaches Codebeispiel. Ich benötige ja eigentlich bloß ein Socket an dem ich auf eine Anfrage warte. Wenn ich die Verbindung aufgebaaut habe, schicke ich einfache Daten bzw lausche am Port. Ist dann ja praktisch ne serielle Verbindung. Hab sowas mal mit .NET gemacht. Da war das ziemlich leicht. Hier finde ich das etwas kryptischer, muss ich ja auch parrallel noch vom DHCP eine IP bekommen. Gibt es da irgendwie so ein Tutorial oder sowas?
Guten Morgen, ein Tutorial für den W5500 ist doch das Datenblatt und die öffentlich vorhandenen Programme. Oder ?
Dieses Buch habe ich und berscheibt einige Projekten die so etwas machen : http://www.amazon.com/Making-Things-Talk-Sensors-Networks/dp/1449392431 Ist aus 2007 aber das basisprincipe functioniert immer noch.
Beim PC aktualisierst du den Web-Browser, das Email-Programm, den Video-Player und den PDF-Reader regelmäßig, damit keine bösartigen Seiten fremde Programme einschleusen. All diese Programme wirst du auf deinem Raspberry Pi aber wohl nicht installieren oder zumindest nicht benutzen. Beim PC aktualisierst du das Betriebsystem, damit bösartige Programme nicht unbemerkt weitere Programme installieren oder andere Programme modifizieren. Auch das wird auf dem Raspberry Pi wohl kaum passieren, solange du dort nur Software installierst, die offiziell im Software-Center bereitgestellt werden. Sicher - ein gewisses Restrisiko bliebt. Aber das ist geschätzt 100x geringer, als auf Geräten, mit denen du im Internet herum surfst und spielst. Da der Wiznet Chip mehrere gleichzeitige Verbindungen unterstützt ist es eben nicht ganz so einfach wie ein serieller Port. Gibt's aber auch. Die AT Firmware des ESP8266 kann einen Socket 1:1 zum seriellen Port durchschleifen. Und dann gibt es noch den altebkeannten Lantronics Xport. Sicher gibt es einige Ethernet/WLAN Chips, die sich über Internet praktisch nicht hacken lassen. Ich denke, dass gilt praktisch für fast alle. Angreifer aus dem Internet können nicht - Fremde Software einschleusen. - Fehlfunktionen ausnutzen, um befehle/Programme auszuführen, die nicht vorgesehen sind. Aber sie können durchaus Befehle ausführen, die in deiner Anwendung vorgesehen sind. Dafür kann der Ethernet Chip aber nichts und davor kann er nicht schützen! Der Knackpunkt ist die Anwendung, die du damit aufbaust. Stell Dir einen schlechten Türöffner vor, der nicht Passwort-gesichert ist. Den kann dann jeder Andere Mensch auch missbrauchen - es sei denn, du schränkst den Zugriff auf bestimmte Endgeräte ein. Oder du sorgst für ein Passwort, dass niemand erraten kann und niemand belauschen kann. Wobei man sich bewusst sein sollte, dass es "niemand" nicht gibt. Jedes Passwort ist knackbar - es ist nur eine Frage des Aufwandes. Das ist bei herkömmlichen Schlössern ebenso. Absoulte Sicherheit gibt es nicht und braucht man auch nicht. Angemessene Sicherheit aber schon. Also mach Dir mehr Gedanken über die Anwendung.
Eine relativ einfache Möglichkeit, unsichere Embedded Systeme zu beschützen besteht darin, einen Webserevr mit sicherer Web-Anwendung davor zu schalten. Die kann dann gerne auch irgendwo bei einem Webhoster extern betrieben werden. Du kannst deinen Home-Router ja so konfigurieren, dass er Befehle nur von deinem (externen) Webserver rein lässt und alle Fremden abblockt.
1 | Internet ------HTTP----> Webserver --------+ |
2 | | |
3 | | |
4 | +------<------------Socket-----------------+ |
5 | | |
6 | | |
7 | +----> Router/Firewall -----Socket-----> Mikrocontroller |
Dann ist es auch relativ leicht, HTTPS mit einer Passwortabfrage zu kombinieren.
Wir wäre es denn deinen mini Anwendungsserver gar nicht von Netz aus frei zugänglich zu machen sondern du wählst dich mit deinem Handy über eine gesicherte VPN Verbindung erst in dein Netz ein greifst dann "lokal" auf deine Daten zu.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.