Raspberry steuern über das Internet

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Guten Tag Schäfer mein Name.
    Ich arbeite zur zeit an einem Projekt wo ich einen kleinen Roboter über das Internet steuern will.

    Nun zu meinem Problem.
    Ich habe mir mit no-ip eine DynDns besorgt, apach installiert und den Port 22 an meinem Router freigegeben (Speedport W 723V). Ich habe mich ziemlich genau an diese Anleitung gehalten:
    https://jankarres.de/2014/02/raspbe…-ssh-verwenden/

    Den Port habe ich über diese Seite getestet: http://www.yougetsignal.com/tools/open-ports/
    Frage dazu => muss bei Remote Adresse die Lokale PI Adresse eintragen werden? Wenn ja dann ist mein Port noch zu. Wenn nicht dann ist er offen.

    Die SSH Verbindung im lokalen Netzwerk Funktioniert ebenfalls da ich über Putty auf den PI zugreifen kann.
    Die Kommunikation im Lokalen Netzwerk funktioniert im allgemeinen.

    Wenn ich den Hostname (xxx.ddns.net) an meinem PC eingebe kann ich auf den Raspberry zugreifen, wenn ich allerdings über mein Handy (nicht im W-LAN) den Hostname eingebe funktioniert es nicht.
    Frage zu no-ip=> muss bei IP/Target die Lokale PI Adresse eingetragen werden oder ist dies die zugewiesene IP?
    Und ja mein Beispielprogramm lässt sich über den Browser des Handys bedienen.

    Woran könnte es liegen, dass ich den PI im lokalen Netz erreiche aber im Internet nicht?
    Nuss ich eventuell noch weitere Sicherheitsmaßnahmen beachten?

    Grüße David.

    Einmal editiert, zuletzt von DavidS.94. (7. August 2016 um 00:17)

  • Hallo,

    also no-ip nutze ich nicht mehr den die dyndns verfällt nach 30 tagen. habe dort schon endliche angelegt und immer wieder waren diese weg.
    bin daher zu ddnss.de gewechselt.

    den pi vergibst du eine feste ip in deinem netzwerk.
    danach brauchst du nur bei internet -> portfreischaltung -> Port-Umleitungen und Port-Weiterleitungen
    tcp port 22
    udp port 22
    den start und ende port und die ip wohin das signal gehen soll eintragen.
    da ich den 724er habe, haber ich alle geräte anstelle die ip einen namen drüber gesetzt, sieht shöner aus.

    dann sollte das laufen. Die Speedport haben da nicht viel mit sicherher, die firewall ist immer aktiv. Du schaltest ja ein port an und schickst diesen an geräte x.

    http://schmidt-home.ddnss.de/rpiforum/Screenshot 2016-08-07 10.23.38.png
    screenshot...

    so dann viel spaß


  • Irgendwie redest du wirr... Hab jetzt nicht so genau verstanden, was geht und was nicht. Unabhängig davon, bei Diensten, die vom WAN aus erreichbar sein sollen, selbstverständlich auch immer die WAN Adresse angeben. Das gilt natürlich insbesondere für dyndns. Die passende Adresse findest du zum Beispiel über http://www.cmyip.com raus.

    Also Mein Problem ist im allgemeinen, dass sich der PI über das lokale Netzwerk steuern lässt Global allerdings nicht.


  • also no-ip nutze ich nicht mehr den die dyndns verfällt nach 30 tagen. habe dort schon endliche angelegt und immer wieder waren diese weg.

    Dafür gibt es ein extra Anmeldescript welches man zB 1x pro Monat am Ende via crontab ausführt. Siehe dazu am Ende von FAQ => Nützliche Links / Linksammlung => Dynamic-DNS



    danach brauchst du nur bei internet -> portfreischaltung -> Port-Umleitungen und Port-Weiterleitungen
    tcp port 22
    udp port 22

    Wofür UDP?
    SSH nutzt Port 22 aber TCP nicht UDP.

    Es ist zwar kein tatsächlicher Schutz, hilft aber in 99% der Fälle mögliche Angreifer fern zu halten: Als externen Port nicht den standardisierten verwenden sondern einen beliebigen. Bedeutet für SSH: Intern auf 22 weiterleiten aber Extern etwas anderes einstellen wie zB 220


    Versucht man aus dem LAN heraus über seinen Router, seine externe IP anzusprechen, erkennt der eigene Router das und leitet einen intern weiter (Loop Back). Dieses Problem scheint der TE zu haben. Dh er muss von Extern prüfen ob die Portweiterleitung funktioniert, also entweder er bittet einen Freund sich via SSH zu verbinden oder nutzt Portscanner-Internetseiten wie zB https://pentest-tools.com/network-vulner…ner-online-nmap
    Ein weiteres Problem könnte auch sein das er einen DS-Lite Internetanschluss hat, dann kann man generell keine eigene Portweiterleitung einrichten/nutzen. DS-Lite ist heutzutage sehr weit verbreitet.
    Und zu guter letzt könnte es auch sein das er gar keine IPv4 mehr hat sondern nur noch IPv6, und kann dann auch nur von einem IPv6 Gerät testen ansonsten einen Tunnel/Übersetzer bräuchte.


  • Es ist zwar kein tatsächlicher Schutz, hilft aber in 99% der Fälle mögliche Angreifer fern zu halten: Als externen Port nicht den standardisierten verwenden sondern einen beliebigen. Bedeutet für SSH: Intern auf 22 weiterleiten aber Extern etwas anderes einstellen wie zB 220

    Der Port 220 ist reserviert für imap3 - sollte man(n) also nicht für eigene Zwecke verwenden. :geek::no_sad:

    Außerdem sind gerade die Ports 1-1000 diejenigen, die gern gescannt werden und damit überdurchschnittlich oft Angriffen ausgesetzt sind.

    Verwende einen externen Port im bereich >20000 - 65000. :thumbs1:

    das Zen

  • Sofern er nicht vor hat auch einen Mail Server zu betreiben kann er ruhig Port 220 für SSH verwenden ;) Einen "fremden" Port zu verwenden kann sogar helfen - denk nur mal daran dass keiner einen Drucker wirklich hacken will ;)

    EMails kann er dann trotzdem noch abrufen da Er ja eine Verbindung aus dem LAN ins Internet auf eine andere IP auf Port 220 herstellt und sobald die Verbindung besteht geht der Verkehr in die andere Richtung über die bereits hergestellte Verbindung.

    Nicht viele überprüfen komplette Portbereiche und verifiziert dann auch noch welche offene Ports zu welchen Diensten gehören. 99% der Angreifer lassen Scripts laufen und fragen die standardisierten Ports ab. Die Mühe detaillierter zu prüfen kostet viel zu viel Zeit, da sucht man lieber nach einem leichteren Opfer, von den 2000 Millionen Internet Nutzern...

  • Tut mir leid, aber ich muss dir widersprechen :D

    Wie ich schon schrieb (und du es ja auch bestätigt hast) wird selten ein kompletter Portscann gemacht sondern häufig die Ports bis 1000.

    Gerade die für Mail zuständigen Ports sind interessant... somit begibt man sich mit Port 220 direkt in die Schußlinie.
    Ob er da jetzt einen Mail-Server dran hat oder etwas anderes: Das ist dem Angreifer herzlich egal. Einfachen Abfragen verraten dann, welcher Dienst da wirklich angesprochen wird, das OS, die Version des Listeners usw... und der Angriff kann weiter spezifiziert werden... dafür gibt es schon komplette Scripte... per parallelen Tasks - geht schnell...

    Drucker hacken?
    Aber gerne doch: Die SW in einem Drucker wird doch sehr selten aktualisiert. Da sind u.U. Sicherheitslücken drin, die den Einsprung in das interne Netzwerk gestatten und mehr.

    Kleine Auswahl, teilweise etwas älter... so wie die Software halt auch ...:
    http://www.itespresso.de/2014/09/16/exp…nets-der-dinge/
    http://www.chip.de/news/Neue-Malw…n_53596500.html
    http://www.n-tv.de/panorama/Rassi…le17527681.html
    https://blog.c22.cc/2011/01/29/shm…ters-gone-wild/

    Ne, ne...
    Zusatz: Wenn man sich sowas erstmal eingerichtet hat und es läuft ... dann vergisst man nach einiger Zeit dieses Mapping und wundert sich u.U. über merkwürdige Effekte bzw. Nichtfunktionieren.

    Gleich "richtig" machen, wobei richtig machen wohl eher ein VPN ist... alles andere ist ein mehr oder weniger gewagtes Spiel nach Art "Vogel-Strauss" (also Kopf in den Sand und keiner sieht mich) :lol:

    Grüße, das Zen

  • Ja gut du hast scho Recht, Drucker war das falsche Beispiel :lol:

    Ehrlich gesagt hab ich an 22 einfach nur aus Bequemlichkeit eine 0 dran gehängt ohne drüber nachzudenken was auf 220 läuft... Aber who cares, soller halt 221 oder 2220 oder was auch immer nutzen - Hauptsache nicht den Standard Port


  • Aber who cares, soller halt 221 oder 2220 oder was auch immer nutzen - Hauptsache nicht den Standard Port

    Mann Gottes! :wallbash::angel:

    Port 221: http://www.speedguide.net/port.php?port=221
    Port 2220: http://www.speedguide.net/port.php?port=2220

    :no_sad: NEIN !!! :no_sad:

    Bitte liebe Leser und Anwender:
    Prüft mit dem angegebenen Link den Port, den ihr einsetzten wollt und wählt einen Port >10.000 aus.

    Tipp:
    Weiterblättern und es werden alle Ports aufgeführt, welche von irgendeiner Applikation verwendet werden. Aufmerksam hinsehen: Es gibt da Lücken. Genau diese Lücken sind die Ports, die ihr euch als external Port wählen solltet. :thumbs1:

    Grüße, das Zen

  • Ich nutze auch Ports die offiziel von anderen Programmen genutzt werden könnten - und? Seit Jahrzehnten kein Einbruch/Hack

    Sich wegen der genannten Beispiel Ports derart auf zu regen ist verschwendete Aufmerksamkeit - meiner bescheidenen Meinung nach. Zu erst bemängelst Du das andere Ports zu nutzen nichts bringen würde da man ja ganze Bereiche scannen kann. Dann regst du dich über die genannten Beispiel-Ports auf und nun rätst du sogar selbst zu "Lücken" zwischen den Standardisierten Ports ... :s


    The Message war: Hauptsache nicht den Standard Port

    Hast du an dieser Aussage auch noch was auszusetzen?


    Oder entfacht jetzt wieder eine Diskussion darüber, das es kein wirklicher Schutz ist einen anderen als den standardisierten Port zu verwenden? :-/

  • Ich achte dich ja sehr aufgrund deines immer wieder gezeigten Wissens und deiner Kenntnisse...

    Du drehst mir jetzt meine Formulierungen herum:
    Ich empfehle, genau die Ports zu verwenden, welche _keine_ Standard-Ports sind (also die Lücken) .. soviel zum erweiterten Textverständnis...

    Und: weil bei DIR kein Hack auftrat (woran machst du eigentlich fest?), heisst das genau: NIX.
    Das Erwachen im Ernstfall ist ein böses, je nachdem, wie verspielt die Kiddies sind.
    Und die Profies: Da wirst du vermutlich nicht mal mitbekommen, wenn deine Anlagen durchgeschnorchelt wurden...

    So, da du ja so uneinsichtig bist, werde ich meinen Teil der Beiträge in diesem Thread hiermit beenden.
    Wer noch Fragen bzgl. dieses Themas hat, kann gerne einen weiteren Thread aufmachen.

  • Für den TE werfe ich mal Tunnelbroker und günstige vServer in den Raum, falls er Opfer von DS-Lite wurde. Da kenne ich jetzt keine andere Lösung außer einen "Vermittler" im Internet. VServer gibt es schon um die 1€ im Monat und sind daher günstiger müssten aber selbst verwaltet werden.

    Die Diskussion um die Portnummer ist eigentlich zweitrangig, ich würde mich eher um die Absicherung des Dienstes kümmern. Die Änderung des Ports fällt erstmal bei einem Sweep nicht auf, scannt man das System fällt SSH nach dem ein oder anderem Durchlauf so oder so auf.

    Um das Rad nicht neu zu erfinden gibts einen Google-Treffer:

    http://www.cyberciti.biz/tips/linux-uni…-practices.html

    Bei dem Begriff hardening SSH wirst du fündig. Das ganze mit fail2ban, openVPN und ggf. Port Knocking zu koppeln ist je nach Paranoiagrad und Einbruchswahrscheinlichkeit mehr oder weniger sinnvoll.

    Ich würde sagen Fail2Ban, ein sicheres 10 Stellenpasswort und ein paar "hardening Maßnahmen" aus dem Link würden reichen.

  • Ich habe (wie auch schon erwähnt) schon einen Port Scanner benutzt. Auch über den Link den Sie geteilt haben wird der Port 22 als offen angezeigt. Ich habe das Gefühl, dass ich irgendwo die falsche IP eingetragen habe.


  • Ich habe (wie auch schon erwähnt) schon einen Port Scanner benutzt. Auch über den Link den Sie geteilt haben wird der Port 22 als offen angezeigt. Ich habe das Gefühl, dass ich irgendwo die falsche IP eingetragen habe.

    Mit z. B. tcpdump (oder gleichwertig) auf deinem PI, kannst Du feststellen ob aus dem Internet, der tcp-Port 22 deines PI gescannt (d. h. erreicht) wird:

    Code
    sudo apt-get install tcpdump
    sudo tcpdump -vvveni eth0 tcp port 22


    (BTW: Evtl. musst Du ein anderes Interface als eth0 eintragen. Siehe die Ausgabe von "ip a" auf deinem PI.)
    Jetzt den Portscan (oder gleichwertig) aus dem Internet machen und danach die Ausgabe von tcpdump beobachten.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (16. August 2016 um 14:17)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!