Netzwerksicherheit "RPi_Cam_Web_Interface"

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • Hallo zusammen,


    ich bin schon mehrere Jahre am Werkeln mit diversen Raspberries.

    Mein neustes Projekt ist ein Babyphone mit einem Raspberry 3 zu realisieren, welches ich größstenteils nach der Anleitung dieser Webseite erstellen wollte. Dazu wird das Paket „RPi_Cam_Web_Interface“ auf dem Pi installiert und eine IP-Kamera im heimischen Netzwerk erstellt.

    Gegen Ende der Anleitung wird empfohlen den Pi vom eignen WLan-Netzwerk zu trennen und aus ihm einen eigenen WLAN-Access-Point mit "Hostapd und DnsMasq" zu machen um die Sicherheit zu erhöhen.


    Ich habe mich bisher mit Netzwerksicherheit noch nahezu gar nicht beschäftigt. Selbstverständlich will niemand in seinem Schlaf-/Kinderzimmer eine Kamera, welche Sicherheitlücken für ungewollte Zugriffe von außen bietet. Daher steht die Sicherheit der Kamera sehr weit oben bei mir.

    Ich hatte mit der Einrichtung des WLan Access-Points einige Probleme und daher ergibt sich meine eigentlich Frage:

    Bevor ich mich nun tiefer dort einarbeite wollte ich fragen, welcher Aufbau für eine IP-Kamera mit möglichem Zugriff von ausserhalb des heimischen WLans am sichersten ist. Mir sind folgende Möglichkeiten eingefallen:

    1. Kamera wie in der Anleitung beschrieben vom heimischen Netzwerk trennen und als AP einrichten (falls ja, gibt es hier noch wichtige Punkte zu beachten)?
    2. Portfreigabe eines ungewöhnlich hohen Ports im Router (z.B. Port 10123), und Portforwarding mit fixer Domain eines Dyn DNS Anbieters (z.B. duckdns.org). Wie hier beschrieben
    3. Die Kamera im heimischen WLan betreiben und von unterwegs über VPN (eigener VPN-Server mit OpenVPN auf Raspberry4) darauf zugreifen.
    4. ... (ich bin gerne offen für bessere Vorschläge)

    Für hilfreiche Artikel/Videos o.ä. um in die Netzwerksicherheit einzusteigen, wäre ich ich auch sehr dankbar :)

  • Manche Kameras haben ein Webinterface. Es wäre schlecht dieses zu exponieren, da Sicherheitslücken gerade bei diesen billig Dingern immer wieder vorkommen. Am besten VPN für private Nutzung und das über den Router z.B. realisieren.


    Wenn man das der Öffentlichkeit zur Verfügung stellen möchte, kann man die Kamera auch die Bilder auf einem Server via FTP hochladen lassen.

  • Hallo Tuevtl,

    Punkt 1 ist nicht das was du willst, daher scheidet es aus.

    Punkt 2 wäre möglich, allerdings gibt es dabei viel zu beachten, denn sicher ist das überhaupt nicht. Sicherheit bringt hier TLS in Kombination mit einem schwer erratbaren Usernamen / Passwortschutz. Die Sicherheit muss also erst hergestellt werden. Zum Beispiel bei normaler Basic Authentication, wie sie bei motion verwendet werden kann, hast du noch viele unsichere Faktoren. Der Stream ist nicht verschlüsselt, Benutzername und Passwort sind auch nicht geschützt, sondern nur leicht codiert. Neben Ratespielen kann also auch mitgelesen werden.

    Punkt 3 wäre das Beste.

    Punkt 4 ist die Alternative mit SSH zu arbeiten. Z.B. ein dynamischer Tunnel und dann im Browser den SOCKS Proxy konfigurieren oder ein direkter Portforwarding-Tunnel zur Weboberfläche. Dafür benötigt man einen SSH-Client auf den Endgeräten.

  • Wobei imho der VPN Zugang über den Router realisiert werden sollte.

    Wenn es doch das "RPI-Cam-Modul" ist, warum sollte dann der VPN-Zugang _über den Router_ realisiert werden?

    Warum soll das besser sein, als direkt via PI?

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

  • Weil ich davon ausgehe, das der Rest vom LAN ebenfalls durch einen VPN Zugang auf dem Router geschützt ist.

    Ist der Router "offen" und VPN "nur" auf dem Pi, dann ist der Rest vom LAN angreifbar. Daher meine Meinung, das der VPN-Zugang auf dem Router sein sollte.


    Gruss

  • Ist der Router "offen" und VPN "nur" auf dem Pi, dann ist der Rest vom LAN angreifbar.

    Das verstehe ich jetzt nicht. Warum soll der Router "offen" sein, wenn man eine direkte VPN-Verbindung (durch den Router) zum PI herstellt? Oder was genau meinst Du mit "offen", wenn es um den Router geht?

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

  • Mit einem offenen Router meine ich solche Konfigurationen, die z.B über "einfache" Portweiterleitungen Dienste im LAN von außen erreichbar machen.

    Ich halte es für besser, immer - egal auf was zugegriffen wird - einen VPN Zugang für das gesamte LAN einzurichten und keine Ports direkt erreichbar zu machen.

    Daher würde ich den VPN Zugang immer auf dem Übergang WAN-LAN, also Router bzw. Firewall einrichten und nicht auf einem Server hinter dem Router.


    Gruss

  • Daher würde ich den VPN Zugang immer auf dem Übergang WAN-LAN, also Router ...

    OK, ... genau das Gegenteil wie ich es mache. Ich würde z. B. das AVM-VPN (IPsec) nie benutzen. Dafür aber Wireguard (oder OpenVPN) mit einem Gerät am Router.

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

  • Sophos, OpenSense oder pfSense z.B., ...

    Aber für ein border device mit diesen OSs, brauchst Du entweder einen "modifizierten" Router oder einen Internetanschluss mit z. B. transparentem Modem, mit dem das border device dann die externe/öffentliche IP-Adresse bekommt. Wenn das nicht der Fall ist (wie hier beim TE), muss man im Router Portweiterleitungen (oder exposed host) konfigurieren.

    BTW: Das AVM-VPN kann nicht besser sein, weil die AVM-Firmware m. E. immer eine Schwachstelle ist und bleibt (... im Vergleich zu einem Gerät mit einem OS zu 100% open source)

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

  • Wenn das nicht der Fall ist (wie hier beim TE),

    Habe ich diesen Thread noch nicht entnehmen können, welcher Anschluss hier vorhanden ist :gk1: -


    Das AVM-VPN kann nicht besser sein, weil die AVM-Firmware m. E. immer eine Schwachstelle ist und bleibt

    Ich meinte es so, das ich auch das AVM-VPN anstelle einfacher Portweiterleitungen in der Fritz vorziehen würde, nicht gegenüber openVPN.


    Wird aber jetzt zu OT.


    Gruss

  • Habe ich diesen Thread noch nicht entnehmen können, welcher Anschluss hier vorhanden ist :gk1: -

    Kann man aber ableiten aus folgender Formulierung im 1. Beitrag:

    Quote

    Mir sind folgende Möglichkeiten eingefallen:


    Portfreigabe eines ungewöhnlich hohen Ports im Router (z.B. Port 10123), und Portforwarding mit fixer Domain eines Dyn DNS Anbieters (z.B. duckdns.org). Wie hier beschrieben


    Die Kamera im heimischen WLan betreiben und von unterwegs über VPN (eigener VPN-Server mit OpenVPN auf Raspberry4) darauf zugreifen.

    ... und btw., wer das hat was Du beschrieben hast, wird nicht so hier anfragen.

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

  • Abend zusammen.


    Ich bin begeistert von der regen Beteiligung und Anzahl der Antworten, vielen Dank für euren Support :)

    Super Forum :thumbup:


    Durch eure Nebendiskussion, ob ein VPN-Zugang zum heimischen LAN durch den Router oder über einen eigenen VPN-Server hergestellt werden sollte, habe ich eine mögliche Schwachstelle bei mir noch erkannt.

    Ich habe einen Router von Arris und keine Fritzbox. nach kurzem Einlesen im Netz könnte ich bei diesem eine L2TP-Verbindung einrichten. Dafür bräuchte ich aber einen kommerziellen VPN-Anbieter nehme ich an. Ich wollte mir die Kosten sparen und hatte daher mal einen VPN-Server mit dem Pi realisiert.

    Aber das Argument von "FSC830", das dadurch nicht das gesamte LAN geschützt ist, ist gut. Das sollte ich wohl nochmals überdenken, da momentan bei mir auch über Port-Forwarding der Pi als VPN-Server erreicht wird.

    Im Keller habe ich noch einen AC1750 von tp-link liegen, welchen ich mit OpenWRT ausstatten will. Was dann dort alles möglich ist weiss ich noch nicht... Könnte ich dort auf dem Router einen kostenlosen OpenVPN Server betreiben?


    Na ja, ich rede von VPN, nicht von Kinderkram :D . Sophos, OpenSense oder pfSense z.B., wobei das AVM VPN besser ist als Portweiterleitungen.

    Aber sonst hast Du Recht.


    Gruss

    Sorry für die blöde Frage, aber was ist für dich Kinderkram? OpenVPN? AVM-VPN?

    Und warum?

    Punkt 3 wäre das Beste.


    Punkt 4 ist die Alternative mit SSH zu arbeiten. Z.B. ein dynamischer Tunnel und dann im Browser den SOCKS Proxy konfigurieren oder ein direkter Portforwarding-Tunnel zur Weboberfläche. Dafür benötigt man einen SSH-Client auf den Endgeräten.

    Kannst du das bitte noch näher beschreiben. Wie erwähnt, ich habe mich nie ernsthaft mit Netzwerksicherheit beschäftigt aber gemäß diesem Artikel erfolgt bei SOCKS Proxy keine Verschlüsselung sondern nur eine IP-Verschleierung.

    SSH-Verbindung habe ich zu allen Pis bei mir im Netzwerk. Das Monitor, Tastatur und Maus Umstecken war mir irgendwann dann doch zu lästig 8o


    Schönen Abend noch

  • AVM-VPN war gemeint, das ist relativ schwach gegenüber dem VPN einer "echten" Firewall Lösung wie pfSense/Sophos oder F5.

    Besser als kein VPN (IMHO), aber eben nicht so gut wie die aufgeführten. AVM kann z.B. nur IKEv1, außerdem war die Fritzbox mit VPN bisher eine chte Spassbremse. An einem VDSL 100 gingen mit VPN selten mehr als 7-8MB/s über die Leitung. Das hat sich mit dem aktuellen FritzOS deutlich gebessert (hören/sagen), ist aber z.B. von einer Netgate mit pfSense noch meilenweit entfernt.

    Wer z.B für ein regelmäßiges Backup eine Site-2-Site VPN Verbindung benötigt, für den wäre das nicht die beste Wahl.

    Dazu kommt, das es z.B. für Windows nur einen relativ alten Shrewsoft Client gibt. Vom Fritzfernzugang halte ich nichts, den hatte ich mir einmal angesehen und das war so was von schrottig, der war keine 24h im Einsatz. Das ist aber mind. 2 jahre her, aber soweit mir bekannt, hat sich auch nicht viel getan.

    Zugegebenermaßen muss man natürlich auch die Kosten gegenüber stellen, eine Fritz ist mit - rund gesagt - 150,--€ für den Otto Normalverbraucher sicherlich ausreichend, aber bei etwas höheren Ansprüchen nicht. Und dann kommen schon mal schnell 300-400,--€ zusammen für eine andere Lösung.

    Bei mir läuft z.B, ein DrayTek im reinem Modem Betrieb mit einer Netgate Appliance dahinter.


    Gerade gegenwärtig laufen wieder hunderte bzw. (mehr)tausende Angriffe gegen QNAP NAS (klick).

    Nun setzte ich mein NAS auch nur als NAS ein, und nicht als Super-Duper-eierlegende Wollmilchsau die von überall in der Welt zugreifbar sein muss.

    Und in den vergangenen Jahren hat das NAS noch nie ungebetene Besucher gehabt :bravo2: .


    Insofern vertraue ich meiner Firewall Lösung, und den anderen Mitbewohnern habe ich mit dem Vorschlaghammer eingetrichtert, keine Mail/Anhänge von unbekannten Absendern oder Spendern ("I will give you 10 Mio dollars, please send me your account...") zu öffnen ;) .


    Gruss

  • Hallo Tuevtl,


    zunächst Portforwarding per se kann nicht unsicher sein. Es gibt Fallstricke wie automatische Portöffnungen oder Exposed Host / Fake DMZ / Schwachstellen im Router aber mit der richtigen Konfiguration kann man auch einen OpenVPN oder Wireguard Server betreiben. (Oder wie nachfolgend den SSH Port forwarden)


    Nun also zum Thema SSH:

    Einfacher für den Anfang ist es ein Passwort zu benutzen. Das Problem ist, dass es viele ferngesteuerte Rechner gibt, die dann versuchen dein Passwort herauszubekommen, um deinen Rechner auch fernzusteuern. Daher sollte diese Art sich einzuloggen wohlüberlegt (Benutzer / Passwortkombination nicht zu erraten) oder gar nicht erlaubt sein.


    Man kann sich auch ohne Passwort einloggen. Das passiert dann automatisch über (Authentication) Keys, wenn du dich verbinden möchtest.

    Dann sollte der Server hinterher so konfiguriert werden, dass PasswortLogin nicht möglich ist.


    Die Clients generieren dazu mit einem Befehl ein zusammengehörendes Schlüsselpaar zum Einloggen: ssh-keygen ... Hinterher brauchst du noch einen Befehl ssh-copy-id .... Das schiebt einen Key davon auf den Server. Man kann beim Generieren auch eine "Passphrase" benutzen (Passwort für die Keyfile). Im Falle des Keyverlusts bist du erstmal auf der sicheren Seite. Wenn der Laptop in der Bahn aus geht und dann aus Versehen vergessen wird, ist der Key zwar weg, aber das Passwort für die Keyfile ist dem Finder nicht bekannt. Durch die Passphrase muss man zum Verbinden zwar wieder ein Passwort eingeben, aber das ist diesmal für den Key und nicht für den SSH-Server.

    Andere Sachen kann man noch konfigurieren, aber das wäre erstmal eine wichtige Grundlage. Wenn das klappt, wird PasswortAuthentication im Server ausgeschaltet.


    SSH kann mehr als Rechner fernzusteuern. Es ist möglich einzelne Ports weiterzuleiten. Über das Internet tunnelst du (verschlüsselt) den Zugang zu deinem Webinterface mit einem einfachen SSH Befehl auf dem Laptop:

    Code
    ssh -p 10356 -L 80:localhost:80 pi@deineipoderdyndnsvomraspberry 

    Anschließend kannst im Browser vom Laptop http://localhost eingeben und kommst zu deinem Webinterface. Die Verbindung ist durch den Tunnel verschlüsselt. Der Port ist in dem Beispiel wahllos 10356, weil du den Port am Router verändern wolltest. Der Port 10356 muss dann zum Raspberry Port 22 weitergeleitet werden.



    Du kannst auch einen anderen Befehl nehmen ssh -D 12345 -p 10356 pi@deineip und im Browser die Proxykonfiguration für SOCKS5 vornehmen (auf localhost den "D"ynamischen Port 12345, dafür das D). Die Verschlüsselung kommt durch SSH. Dann kannst du im Webbrowser wie im eigenen LAN "192.168.178.1" eingeben und z.B. den Router aufrufen (Beispiel für Fritzbox) und auch deine anderen Server über ihre LAN Adressen erreichen. Du bekommst damit auch die IP von deinem Heimnetzwerk, wenn du im Internet surfst.


    Mit "scp" kannst du sogar Dateien übertragen. SSH ist also vielseitig einsetzbar. Es ist eine Alternative um den Fernzugriff zu ermöglichen. Die Einsatzzwecke überschneiden sich zwar teilweise mit einem VPN, sind aber nicht identisch.