WireGuard VPN zur SSH Absicherung?

  • Ich wollte das als Anmerkung zu dem "da brauchts kein Portknocking" zufügen.

    Ich versuche es nochmal anders: CVE-2024-6387 ist kein Brute Force und kein Dictionary Angriff, sondern eine Vulnerability. Das Ausnutzen braucht zwar etliche Versuche, aber das ist trotzdem konzeptionell etwas völlig anderes. Gegen das Durchprobieren von Passwörtern reicht es, den Passwort-Login abzuschalten, wenn einen die Logeinträge mit den gescheiterten Versuchen nicht stören. Gegen Preauth Angriffe insbesondere noch unbekannter Art hilft nur, die Verbindungen von vornherein zu verhindern, also beispielsweise indem man SSH auf einen unüblichen Port verlegt, SSH hinter Port Knocking versteckt oder SSH nur über ein VPN erreichbar macht, in Reihenfolge aufsteigender Sicherheit. Praktisch ausnutzbare Preauth-Lücken sind glücklicherweise sehr selten.

  • Gegen welches reale Bedrohungsszenario soll hier überhaupt verteidigt werden? Weder wurde die Frage gestellt, noch wurde sie beantwortet. Sie ist jedoch eine grundlegende Information um einen Entscheidungsbasis zu haben ob es sinnvoll sein könnte SSH hinter einem VPN Tunnel zu verstecken oder nicht.

    Ich schreibe bewusst nicht „absichern“ denn das wäre ein anderer Konfigurationsschritt.


    Eine Frage zu nehmen und irgendwo anders hin zu schieben macht noch keine Lösung draus.

    - Gibt es eine bereits existierende reale Bedrohungslage gegen die verteidigt werden muß? (Werden beispielsweise konkrete Angriffe gegen Deinen Service gefahren?)

    - Gibt es eine hypothetische Bedrohung die möglicherweise in der Zukunft einmal eintreten könnte gegen die verteidigt werden will?

    - Wurden bereits grundlegende Maßnahmen zur Absicherung des SSH Dienstes vorgenommen?

    - Falls ja, welche?

    - Falls nein, warum nicht?

    - Wofür wird der SSH Service überhaupt verwendet?


    In den meisten Fällen wird „die Security™“ nicht besser indem die Komplexität erhöht wird. Eher im Gegenteil. (Abgesehen davon, daß „Security“ keine Vergleichsmetrik ist.)


    Bevor also mit Spatzen auf Kanonen geschossen wird, erstmal die niedrig hängenden Früchte klauben und beispielsweise den SSH-Service ordentliche konfigurieren und nicht global und uneingeschränkt aus dem gesamten Internet erreichbar machen.

    Edited once, last by MacLemon: Formulierung für „Security“ verbessert. SSH Konfiguration als Erstempfehlung hinzugefügt. ().

    Like 1
  • ist kein Brute Force und kein Dictionary Angriff, sondern eine Vulnerability.

    Ahso. Ich dachte es ginge um Angreifbarkeit allgemein.


    die Verbindungen von vornherein zu verhindern, also beispielsweise indem man SSH auf einen unüblichen Port verlegt

    Ja. Genau das hat bei mir schon nicht mehr gegen die Chinesen geholfen. Ich hab da jetzt auch das geoip shell draufgemacht. ist zum glück nur mein smtp Server. den Kann ich auf DE LU FR beschränken. Beim Empfangsserver ginge das ja nicht...

  • Nutzt ihr für WireGuard einen eigenen Server oder lasst ihr das auf dem jeweiligen Server laufen?

    Wireguard läuft auf allen Rechnern, die Zugang zum VPN haben sollen. Ein extra Server ist nicht nötig.


    Ich hab für meine Server ein Management-VPN, über das alle Dienste laufen, die von außen nicht erreichbar sein sollen.

    (SSH, Monitoring, Alerting, ...)


    Warum ist ein Verbindungen annehmendes VPN sicherer als SSH?

    Weil ein VPN üblicherweise nichts mit der Userverwaltung des Systems zu tun hat.

    Selbst wenn ein Angreifer Zugang zum VPN bekommt, muss er danach noch weitere Zugriffssicherungen (Account, Firewall, ...) überwinden.


    Kann ein Angreifer den SSHD überwinden, dann ist er User im System und hat ganz andere Möglichkeiten.


    Wireguard hat außerdem den Vorteil, das sich das nicht unsicher konfigurieren lässt (im Gegensatz zu SSH).

    Und es hat mit den PreSharedKeys eine weitere Sicherheitsebene, die man bei SSH nicht hat.

  • Selbst wenn ein Angreifer Zugang zum VPN bekommt, muss er danach noch weitere Zugriffssicherungen (Account, Firewall, ...) überwinden.

    Sehr häufig ist der Angreifer dann auch schon an der Firewall vorbei. Jedenfalls was ich so immer zu sehen bekomme.

    Wireguard hat außerdem den Vorteil, das sich das nicht unsicher konfigurieren lässt (im Gegensatz zu SSH).

    Und es hat mit den PreSharedKeys eine weitere Sicherheitsebene, die man bei SSH nicht hat.

    Auch wenn man die Keys vorab eintragen muss, nennt man sie hier nicht presharedkeys, weil wireguard pubkeys (asymmetrisch) nutzt, wie SSH ebenfalls.

    Insofern verstehe ich nicht, wie du das gemeint hast.

    »Hauptsache BogoMIPS!«

    Fleischfresser

    »This is extremely dangerous to our democracy«

    Edited once, last by Olivetti ().

    Like 1
  • Sehr häufig ist der Angreifer dann auch schon an der Firewall vorbei.

    Ein VPN soll ja einen Tunnel durch die äußere Firewall öffnen. Der Angreifer wäre also immer durch die äußere Firewall durch.

    Aber er ist noch nicht im inneren Netzwerk, wenn das nicht - explizit - für das VPN so konfiguriert wurde.


    Mein Management-VPN ist ein eigenständiges Netzsegment, über das nur bestimmte Dienste erreichbar sind und für das eigene Firewall Regeln aktiv sind.

    Auch wenn man die Keys vorab eintragen muss, nennt man sie hier nicht presharedkeys, weil wireguard pubkeys (asymmetrisch) nutzt, wie SSH ebenfalls.

    Auf der WireGuard-Verbindungsebene, ja.


    Bei WireGuard gibt es, zusätzlich auch noch einen PreSharedKey (PSK), der eine weitere Sicherungsebene innerhalb des Wireguard Netzes darstellt.


    Quote

    WireGuard also supports a mode in which any pair of peers might additionally pre-share a single 256-bit symmetric encryption key between themselves, in order to add an additional layer of symmetric encryption.


    WireGuard Whitepaper (PDF)

  • Ich nutze Debian als normalen Rechner. Dieser hat eine dauerhafte Wireguardverbindung mit meinem Netcup-Server.

    Eine Verbindung wird über SSH und Passwort hergestellt.


    Abgesichert wird der Server über Crowdsec und UFW.


    Nach außen ist kein SSH Port offen.

  • Bei WireGuard gibt es, zusätzlich auch noch einen PreSharedKey (PSK), der eine weitere Sicherungsebene innerhalb des Wireguard Netzes darstellt.

    ach tatsächlich, stimmt. ich habe das whitepaper sogar selbst hier liegen gehabt. ^^

    der einsatz von presharedkeys ist aber nur optional und wenn eine seite keinen PSK hat, wird es nicht genutzt. *

    das gilt für mich dann nicht als obligatorische sicherheitsstufe.


    * edit: muss ich nochmal testen. evtl. hängt es von der verwendeten wireguard-implementation ab.

    »Hauptsache BogoMIPS!«

    Fleischfresser

    »This is extremely dangerous to our democracy«

    Edited 2 times, last by Olivetti ().