[{"content":"Crowdsec Zähler und Stats Reset Ich habe die Website heute bereinigt und neu generiert. Da meine eigenen Testzugriffe die Statistik verfälscht hatten, wurde ein Reset durchgeführt.\nNeu integriert ist ein Angriffs-Zähler im Header der Seite. Dieser erfasst Zugriffe, die trotz Vorfilterung durchgeschlagen sind. Ich schätze, dass CrowdSec bereits etwa 60% aller schädlichen Anfragen vorab blockiert. Dennoch wurden bis zu diesem Post 48 Angriffe registriert.\nSelbst bei einer privaten Website zeigt dies die hohe Aktivität automatisierter Bots, die permanent nach Schwachstellen suchen.\n","permalink":"https://elgrundo.de/posts/reset/","summary":"\u003ch3 id=\"crowdsec-zähler-und-stats-reset\"\u003eCrowdsec Zähler und Stats Reset\u003c/h3\u003e\n\u003cp\u003eIch habe die Website heute bereinigt und neu generiert. Da meine eigenen Testzugriffe die Statistik verfälscht hatten, wurde ein Reset durchgeführt.\u003c/p\u003e\n\u003cp\u003eNeu integriert ist ein Angriffs-Zähler im Header der Seite. Dieser erfasst Zugriffe, die trotz Vorfilterung durchgeschlagen sind. Ich schätze, dass CrowdSec bereits etwa 60% aller schädlichen Anfragen vorab blockiert. Dennoch wurden bis zu diesem Post 48 Angriffe registriert.\u003c/p\u003e\n\u003cp\u003eSelbst bei einer privaten Website zeigt dies die hohe Aktivität automatisierter Bots, die permanent nach Schwachstellen suchen.\u003c/p\u003e","title":"Reset zum Start"},{"content":"Wer einen Server bei Hetzner betreibt, kennt das Gefühl: Kaum ist die Kiste online, klopfen die ersten ungebetenen Gäste an. Bots, Scaper, Skript-Kiddies – das Internet ist ein Dorf, und leider haben nicht alle Nachbarn gute Absichten.\nNachdem ich mein VPN auf Tailscale umgezogen habe, war klar: Der verbleibende HTTP-Traffic für Immich, Paperless und mein Portal braucht einen Türsteher, der keine Gefangenen macht.\nWarum CrowdSec? (Oder: Einer für alle, alle gegen die Bots) Fail2Ban ist okay, aber es kämpft allein. CrowdSec ist wie eine globale Nachbarschaftswache auf Steroiden. Wenn ein Server in Japan angegriffen wird, weiß mein Server in Nürnberg Sekunden später Bescheid und zieht die Zugbrücke hoch. Es ist eine echte Gemeinschaftsleistung gegen Cyber-Kriminalität.\nDie Architektur: Blocken, bevor es weh tut Ich fackele nicht lange. Mein Setup arbeitet auf Layer 3/4:\nSecurity Engine: Mein Ubuntu-Host scannt die Logs des Nginx Proxy Managers in Echtzeit nach verdächtigen Mustern. Firewall-Bouncer: Erkennt die Engine einen Angreifer, knallt der Bouncer die Tür zu (via nftables). Der bösartige Traffic wird verworfen, noch bevor er meine Docker-Container auch nur kitzeln kann. Das spart wertvolle CPU-Ressourcen auf dem Hetzner-Server. Meine persönliche Blacklist-Elite Zusätzlich zur lokalen Log-Analyse habe ich vier strategische Blocklisten abonniert, die das bekannte „Grundrauschen“ filtern:\nFirehol Greensnow: Blockt massenhafte IP-Scans und allgemeine Angriffe. Firehol BotScout: Mein persönlicher Schutz gegen Login-Bots an meinem Portal. Firehol Cybercrime Tracker: Sperrt IPs von bekannten Malware-Schleudern. CrowdSec Community List: Der Echtzeit-Feed der globalen CrowdSec-Nutzer. Fazit: Voller Schutz, null Stress Ist das Overkill für eine private Seite? Vielleicht. Aber es schläft sich deutlich ruhiger, wenn man weiß, dass die digitale Türsteher-Gang jeden Scammer direkt an der Bordsteinkante abfängt.\n","permalink":"https://elgrundo.de/posts/crowdsec/","summary":"\u003cp\u003eWer einen Server bei Hetzner betreibt, kennt das Gefühl: Kaum ist die Kiste online, klopfen die ersten ungebetenen Gäste an. Bots, Scaper, Skript-Kiddies – das Internet ist ein Dorf, und leider haben nicht alle Nachbarn gute Absichten.\u003c/p\u003e\n\u003cp\u003eNachdem ich mein VPN auf \u003cstrong\u003eTailscale\u003c/strong\u003e umgezogen habe, war klar: Der verbleibende HTTP-Traffic für Immich, Paperless und mein Portal braucht einen Türsteher, der keine Gefangenen macht.\u003c/p\u003e\n\u003ch3 id=\"warum-crowdsec-oder-einer-für-alle-alle-gegen-die-bots\"\u003eWarum CrowdSec? (Oder: Einer für alle, alle gegen die Bots)\u003c/h3\u003e\n\u003cp\u003eFail2Ban ist okay, aber es kämpft allein. \u003cstrong\u003eCrowdSec\u003c/strong\u003e ist wie eine globale Nachbarschaftswache auf Steroiden. Wenn ein Server in Japan angegriffen wird, weiß mein Server in Nürnberg Sekunden später Bescheid und zieht die Zugbrücke hoch. Es ist eine echte Gemeinschaftsleistung gegen Cyber-Kriminalität.\u003c/p\u003e","title":"CrowdSec: Die digitale Türsteher-Gang für elgrundo.de"},{"content":"Das Thema Hosting beschäftigt mich schon lange, und dabei stieß ich immer wieder auf dasselbe Problem: Wie mache ich meine Daten von außen sicher zugänglich, ohne mein Heimnetz wie ein offenes Scheunentor stehen zu lassen?\nDas Problem: Die IPv4-Sackgasse Um einen Server von außen erreichbar zu machen, benötigt man eine eindeutige Adresse – die IP-Adresse. Hier liegt der Hund begraben:\nIPv4: Der alte Standard (z. B. 138.199.205.5). Einfach zu handhaben, aber Adressen sind knapp. IPv6: Der moderne Nachfolger (lang und kryptisch). Theoretisch unendlich verfügbar, praktisch aber oft durch DS-Lite (mein Provider) eingeschränkt. Mein Problem: Mein Anschluss zu Hause hat keine öffentliche IPv4-Adresse. Von unterwegs – besonders aus ausländischen Netzen oder restriktiven WLANs – ist mein Heimserver per IPv6 oft schlicht nicht erreichbar.\nDie Lösung: Der Hetzner-Server als \u0026ldquo;Relay\u0026rdquo; Ich habe mein Setup um einen VPS bei Hetzner erweitert. Dieser Server besitzt eine feste IPv4 und dient als mein stabiler Ankerpunkt im Netz. Aber wie finden mein Handy, der Hetzner-Server und mein NUC zu Hause (\u0026ldquo;elgrundo\u0026rdquo;) zueinander?\nMein neuer Weg: Das Tailscale-Mesh Früher habe ich versucht, das Ganze mühsam mit manuellem WireGuard-Routing zu lösen. Heute nutze ich Tailscale. Das basiert technisch zwar auf dem WireGuard-Protokoll, ist aber \u0026ldquo;auf Steroiden\u0026rdquo; und deutlich intelligenter im Management.\nDas Mesh-Netzwerk: Ich habe Tailscale auf dem Hetzner-Server, meinem Heimserver und meinem CachyOS-PC installiert. Alle Geräte erhalten eine interne 100.x.x.x IP. Sie sind nun \u0026ldquo;Bros\u0026rdquo; in einem privaten, verschlüsselten Netzwerk. Keine Portfreigaben: Das Geniale an Tailscale ist, dass es Firewalls einfach \u0026ldquo;durchtunnelt\u0026rdquo;. Ich musste in meiner Fritzbox keinen einzigen Port öffnen. Sicherheit durch CrowdSec \u0026amp; UFW: Auf dem Hetzner-Server wacht CrowdSec. Es scannt die öffentlichen Web-Anfragen und blockt Angreifer sofort. Mein SSH-Zugang ist komplett vom öffentlichen Internet abgeklemmt und nur noch über den Tailscale-Tunnel erreichbar. Handy-Anbindung: Statt einer komplizierten WireGuard-Konfiguration nutze ich jetzt einfach die Tailscale-App. Ein Login, und mein Handy ist Teil des Heimnetzes – egal ob ich im Garten oder im Ausland bin. Das Ergebnis: Voller Zugriff, null Stress Nachdem ich WireGuard zugunsten von Tailscale in Rente geschickt habe, läuft das Setup endlich rund:\nStabile Verbindung: Dank Tailscale erreichen sich die Geräte immer auf dem kürzesten Weg (Direct Path) oder über Relay-Server, falls das Netz mal zickt. Mobiler Schutz: Ich kann meinen Heimserver oder den Hetzner-Server als Exit Node nutzen. Dann surfe ich auch im Hotel-WLAN so sicher wie zu Hause. Zentrale Dienste: Mein Nginx Proxy Manager auf dem Hetzner-Server leitet Anfragen für elgrundo.de sicher durch den VPN-Tunnel an meine Container (Immich, Paperless, etc.) weiter. Ein großer Schritt für mein Setup ist getan. Die manuelle Fricklei ist vorbei, die Logik regiert. Falls du also noch mit instabilen VPN-Tunneln kämpfst: Schau dir Tailscale an – dein Blutdruck wird es dir danken!\n","permalink":"https://elgrundo.de/posts/ipv6/","summary":"\u003cp\u003eDas Thema Hosting beschäftigt mich schon lange, und dabei stieß ich immer wieder auf dasselbe Problem: Wie mache ich meine Daten von außen sicher zugänglich, ohne mein Heimnetz wie ein offenes Scheunentor stehen zu lassen?\u003c/p\u003e\n\u003ch3 id=\"das-problem-die-ipv4-sackgasse\"\u003eDas Problem: Die IPv4-Sackgasse\u003c/h3\u003e\n\u003cp\u003eUm einen Server von außen erreichbar zu machen, benötigt man eine eindeutige Adresse – die \u003cstrong\u003eIP-Adresse\u003c/strong\u003e. Hier liegt der Hund begraben:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eIPv4:\u003c/strong\u003e Der alte Standard (z. B. \u003ccode\u003e138.199.205.5\u003c/code\u003e). Einfach zu handhaben, aber Adressen sind knapp.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIPv6:\u003c/strong\u003e Der moderne Nachfolger (lang und kryptisch). Theoretisch unendlich verfügbar, praktisch aber oft durch \u003cstrong\u003eDS-Lite\u003c/strong\u003e (mein Provider) eingeschränkt.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMein Problem: Mein Anschluss zu Hause hat keine öffentliche IPv4-Adresse. Von unterwegs – besonders aus ausländischen Netzen oder restriktiven WLANs – ist mein Heimserver per IPv6 oft schlicht nicht erreichbar.\u003c/p\u003e","title":"Von IPv4-Sackgassen und der Tailscale-Brücke: Mein Weg zum stabilen Fernzugriff"},{"content":"Ich bin mit den groben Zügen der aktuellen Infrastruktur-Migration so gut wie durch.\nWas ist neu? Die Website verfügt nun über zwei klar getrennte Bereiche:\nÖffentliches Portal: Der Haupteinstieg unter elgrundo.de. Geschützter Bereich: Ein passwortgeschütztes internes Portal (intern.elgrundo.de), das über Nginx-Gruppen abgesichert ist. Offene Statistiken: Ganz im Sinne von Open Source gewähre ich Zugriff auf die Besucherstatistiken (betrieben mit Umami). Security-Roadmap Das nächste große Projekt ist die tiefe Integration von CrowdSec in den Web-Stack. Manche mögen dieses Setup als „Overkill“ für eine persönliche Seite bezeichnen, aber es ist eine hervorragende Übung für professionelle Sicherheitskonzepte.\nMit Tailscale für das interne Mesh-Netzwerk und dem Nginx Proxy Manager für das Routing ist das Fundament nun felsenfest.\n","permalink":"https://elgrundo.de/posts/network-update/","summary":"\u003cp\u003eIch bin mit den groben Zügen der aktuellen Infrastruktur-Migration so gut wie durch.\u003c/p\u003e\n\u003ch3 id=\"was-ist-neu\"\u003eWas ist neu?\u003c/h3\u003e\n\u003cp\u003eDie Website verfügt nun über zwei klar getrennte Bereiche:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eÖffentliches Portal:\u003c/strong\u003e Der Haupteinstieg unter \u003ccode\u003eelgrundo.de\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGeschützter Bereich:\u003c/strong\u003e Ein passwortgeschütztes internes Portal (\u003ccode\u003eintern.elgrundo.de\u003c/code\u003e), das über Nginx-Gruppen abgesichert ist.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eOffene Statistiken:\u003c/strong\u003e Ganz im Sinne von Open Source gewähre ich Zugriff auf die Besucherstatistiken (betrieben mit \u003cstrong\u003eUmami\u003c/strong\u003e).\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch3 id=\"security-roadmap\"\u003eSecurity-Roadmap\u003c/h3\u003e\n\u003cp\u003eDas nächste große Projekt ist die tiefe Integration von \u003cstrong\u003eCrowdSec\u003c/strong\u003e in den Web-Stack. Manche mögen dieses Setup als „Overkill“ für eine persönliche Seite bezeichnen, aber es ist eine hervorragende Übung für professionelle Sicherheitskonzepte.\u003c/p\u003e","title":"Update: Netzwerk \u0026 Sicherheit"},{"content":"Hallo zusammen,\nschön, dass ihr den Weg in diese kleine Ecke des Internets gefunden habt. Hallo!\nDies ist ein Erweiterungsprojekt meines Homelabs. Was als Corona-Projekt begann, gerät immer mehr außer Kontrolle. Und da ich schon immer verstehen wollte, wie man eine Website hostet\u0026hellip; tadaaa!\nErmöglicht wird das Ganze durch CachyOS, Docker, Nginx, Hugo und PaperMod. Wie ihr seht, setze ich voll auf Open Source.\nMehr Inhalte werden folgen – oder auch nicht ;)\nDanke fürs Vorbeischauen. Linux FTW.\n","permalink":"https://elgrundo.de/posts/lets-start-de/","summary":"\u003cp\u003eHallo zusammen,\u003c/p\u003e\n\u003cp\u003eschön, dass ihr den Weg in diese kleine Ecke des Internets gefunden habt. Hallo!\u003c/p\u003e\n\u003cp\u003eDies ist ein Erweiterungsprojekt meines Homelabs. Was als Corona-Projekt begann, gerät immer mehr außer Kontrolle. Und da ich schon immer verstehen wollte, wie man eine Website hostet\u0026hellip; tadaaa!\u003c/p\u003e\n\u003cp\u003eErmöglicht wird das Ganze durch \u003cstrong\u003eCachyOS\u003c/strong\u003e, \u003cstrong\u003eDocker\u003c/strong\u003e, \u003cstrong\u003eNginx\u003c/strong\u003e, \u003cstrong\u003eHugo\u003c/strong\u003e und \u003cstrong\u003ePaperMod\u003c/strong\u003e. Wie ihr seht, setze ich voll auf Open Source.\u003c/p\u003e\n\u003cp\u003eMehr Inhalte werden folgen – oder auch nicht ;)\u003c/p\u003e","title":"Lass uns anfangen"}]