Welche Möglichkeiten habe ich um meinen kleinen Webserver zu schützen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Moin,

    ich habe letztens eine etwas unschöne Erfahrung mit dem Internet im weitesten Sinne machen müssen und naja wie der Mensch so ist, kümmert er sich meist erst um manche Dinge wenn es zuspät ist.

    Daher habe ich mal die Frage in den Raum gestellt, welche Möglichkeiten habe ich um meinen kleinen Webserver zu schützen.

    Erstmal zu meinen örtlichen Gegebenheiten:

    Ich besitze eine Fritzbox 7490 als Router/Modem und habe dahinter ganz normal mein LAN aufgebaut. Der Webserver hängt zur Zeit an dem 4. LAN Anschluß des Routers und der Rest der Netzwerkstruktur hängt über einem Kabel in den Keller zu meinem kleinen Netzwerkschrank, von dem das ganze Haus mit dem LAN versorgt wird. Also so gesehen sind 2 LAN Buchsen am Router in Benutzung. Ich habe den Port 80 und 22 freigegeben. Jedoch habe ich den Port 22 nicht direkt sondern "verschleiert" freigegeben. Also extern spreche ich den nicht mit Port 22 an, sondern einen anderen. Zusätzlich läuft das Telefon über die Fritzbox, mein Anbieter stellt mir nur eine VOIP Telefonnummer zur Verfügung, die in der Fritzbox auf den Analoganschluß weitergeleitet wird. Als Webserver nutze ich mein Raspberry Pi mit dem Raspian Betriebssystem.

    Nun zu dem was ich machen möchte, bzw. was am Ende sein soll.

    Ich würde den Webserver gerne weiter so nutzen, dass dieser extern ansprechbar bleibt. Er soll aber möglichst keine oder beschränkte Zugriffe aufs restliche LAN haben. Für mich wäre nicht das Problem, dass ich dann diesen nur noch "extern" ansprechen kann. Müsste aber für den Fall auch den SSH Zugriff von extern erlauben. Alternativ könnte ich mich aber auch darauf beschrenken, dass ich den Webserver "nur" aus dem Web ansprechen kann. Also nicht über die IP Adresse, sondern nur über die DynDNS Domain. Und der sFTP / SSH Dienst über das LAN ausschließlich erreichbar ist.

    Ich habe etwas zu DMZ und co gelesen nur, anderseits habe ich gelesen, dass die Fritzbox keine "richtige" DMZ anbietet. Dazu habe ich was gelesen, man könnte 2 Router in "Reihe schalten", wobei der Router 1 den Externen Router bildet und dahinter die DMZ aufgebaut ist und der Router 1 kein DHCP aktiv hat und lediglich 2 IP Adressen (bei einem Server in der DMZ wenn mehr dann entsprechend mehr) vergibt. Die beiden wären zum einen die für den Server in der DMZ (in dem Fall mein Webserver) und zum anderen den für den "internen" Router. Jedoch klingt dies nicht ganz "optimal", vor allem da die Fritzbox ja eigentlich schon ein super Route ist. Also was Einstellungsmöglichkeiten und Co angeht. Und zusätzlich wäre die Frage, wie verhält es sich dann mit meinem Telefon? Also würde es in dem Senario dann auch sogesehen in der DMZ stehen?

    Hier der Link zu dem Beispiel mit den 2 Routern: https://www.heise.de/ct/artikel/DMZ…aut-221656.html

    Nun meine Frage, welche Möglichkeiten habe ich um mein Ziel möglichst einfach, sicher und optimal zu lösen?

    Ich hoffe mir kann man irgendwie bei meinem Problem helfen.

    Michael

    Der Raspberry Pi ist schon ein schönes Spielzeug mit dem man einiges anfangen kann.

    :angel: :wallbash:

  • Welche Möglichkeiten habe ich um meinen kleinen Webserver zu schützen? Schau mal ob du hier fündig wirst!

  • Ich vestehe das Problem nicht, du willst den Raspi von aussen erreichbar lassen, nur den Zugriff vom LAN aus beschränken ?
    Der Webserver soll keinen Zugriff auf andere haben ? Server warten eigtl. auf Anfragen und greifen nicht aufs LAN zu, es sei denn, du hast einen Standardfehler, wie Standardpasswörter nicht geändert, wenn z.B. WEBDAV mitinstalliert wurde und selbst dann betrifft das eigtl. nur den Webserver. Welchen überhaupt ?
    Also wo liegt den jetzt der Hase im Pfeffer, sprich: Was ist denn passiert ?
    Sonst fällt mir spontan ein:
    Listen : IP
    .htaccess
    fail2ban

    Die Ports zu ändern macht auch nicht viel Sinn, das sehe ich regelmässig in den Logs.


  • ich habe letztens eine etwas unschöne Erfahrung mit dem Internet im weitesten Sinne machen müssen ...

    Ist dein Webserver (auf dem PI) gehackt worden oder sind sie über den sshd (Port 22) deines PI's in dein (W)LAN eingedrungen?

    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

  • Es ist weder das eine noch das andere passiert.

    Bei meinem Mobilfunkanbieter wurde mein Account gehackt, endwerder der Account oder der Server das verrät einem der Anbieter so ja auch erstmal nicht. Könnte ja peinlich werden. Und mit dem "manipulierten" Accountdaten wurde auf meine Rechnung ein iPhone 7 gekauft und nun hab ich rennerei. Also nix mit dem Server ist passiert. Zumindest hab ich da nichts gemerkt.

    Aber man will ja dann doch mehr vorsorgen.

    Und ich möchte eigentlich primär verhindern, dass jemand sich erst in den Webserver häckt und damit wäre ja der Weg ins LAN normal zugänglich oder? Und das wäre ja etwas unvorteilhaft. Als Webserver nutze ich den Apache mit php Erweiterung. Er soll auch keinen großen Webauftritt stemmen, dafür ist weder der Pi noch meine Internetleitung ausgelegt. Es ist eher als kleine Infosite gedacht.

    Und am Router hab ich eben nur 2 Ports frei gegeben. Also schon recht eingegrenzt. Aber man sollte es ja potenziellen Angreifern möglichst nicht zu leicht machen ins LAN zu kommen oder? Und wie gesagt, hab hier und da schon das ein oder andere gelesen und da viel immer wieder das Thema DMZ wäre eigentlich ein "optimaler" weg um sein LAN bestmöglich zu schützen, jedoch unterstützen die "einfachen" Router kein Richtiges DMZ.


    Michael

    Der Raspberry Pi ist schon ein schönes Spielzeug mit dem man einiges anfangen kann.

    :angel: :wallbash:

  • Hier mal ein paar Dinge, die ich getan habe, um meinen Nginx und die darüber laufenden Dienste sowie SSH abzusichern:

    - SSH-Port von aussen geändert (nicht mehr Standard 22)
    - Standarduser pi existiert nicht mehr, hab einen neuen user angelegt
    - kein root Login

    - Server nur auf Port 443 erreichbar
    - alle Dienste (Seafile Gogits, Nginx) laufen unter einem eigenen User, der sich nicht per SSH-Einloggen kann
    - Zugriff auf den Server nur von IP-Adressenaus Deutschland, alle anderen werden per iptables geblockt
    - Ausschalten der Server-Signatur und des Directory Listenigs
    - Zugriff nur über SSL mit starker Verschlüsselung
    - Überwachung der Logs mit fail2ban und blockieren von IP's, z. B. beim Zugriffsversuch auf phpmyadmin (was bei mir nciht läuft) schon beim ersten Versuch
    - alle Dienste/Webseiten erfordern ein Login
    - regelmäßige Kontrolle der Logdateien des Webservers und der Systemlogs auf Auffälligkeiten

    Willst du einen Tag lang glücklich sein, dann saufe.

    Willst du ein Jahr lang glücklich sein, dann heirate.

    Willst du ein Leben lang glücklich sein, dann fahr Yamaha.

  • Okay, das klingt an sich alles machbar.

    Nur wenn ich eine Webseite habe, welche lediglich paar Messwerte anzeigt, muss da auch das ganze mit SSL sein? Also nur die Frage als unwissender. Und naja Passwortschutz, muss ich nicht zwangläufig haben. Weil ob jemand anders die Messwerte einsehen kann oder nicht stört mich selbst nur wenig.

    Aber z.B. der User Pi existiert bei mir auch nicht mehr. Das war einer der ersten Dinge, die ich erledigt habe.

    Was ich noch nich gemacht habe ist, dass ausschalten der Server-Signatur und so, da muss ich nochmal googlen wie man das macht.


    Michael

    Der Raspberry Pi ist schon ein schönes Spielzeug mit dem man einiges anfangen kann.

    :angel: :wallbash:

  • Mit SSL kann ich relativ sicher sein, dass ich mit meinem Raspberry kommuniziere und nicht mit einem Man in the Middle.

    Serversignatur abschalten:

    Apache
    ---------
    in /etc/apache2/conf.d/security:

    ServerTokens Prod
    ServerSignature Off
    TraceEnable Off

    Nginx
    ---------
    in /etc/nginx/nginx.conf:

    server_tokens off;

    Willst du einen Tag lang glücklich sein, dann saufe.

    Willst du ein Jahr lang glücklich sein, dann heirate.

    Willst du ein Leben lang glücklich sein, dann fahr Yamaha.

  • Hallo.
    Dein Pi hängt schon am Lan Anschluss 4 der Fritzbox. Jetzt aktivierst Du einfach das Gastnetzwerk auf LAN4 und verbietest den Geräten noch untereinander zu kommunizieren. Das ist meines Wissens das DMZ ähnlichste was man mit einer Fritzbox erreichen kann.
    Ist aber nur ein zusätzlicher Schutz zu den oben genannten Möglichkeiten

Jetzt mitmachen!

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