In der heutigen digitalen Landschaft ist die Sicherheit von Netzwerken wichtiger denn je. Täglich sind Systeme weltweilt unzähligen Angriffsversuchen ausgesetzt – von einfachen Port-Scans bis hin zu komplexen Distributed Denial of Service (DDoS)-Attacken und dem Eindringen von Botnets. Der erste Schritt zur Verteidigung besteht darin, unerwünschten Traffic abzuwehren, noch bevor er Ihre wertvollen internen Ressourcen erreicht. Hier kommt **pfSense** ins Spiel, eine leistungsstarke Open-Source-Firewall, die durch Pakete wie **pfBlockerNG** noch effektiver wird.
Dieser Artikel führt Sie umfassend und detailliert durch die Konfiguration von **pfBlockerNG**, um eingehende (inbound) Verbindungen zu blockieren. Wir zeigen Ihnen, wie Sie mit diesem mächtigen Tool bösartige IP-Adressen und sogar ganze Länder präventiv aussperren können, um Ihr Netzwerk sicherer zu machen.
**Warum eingehenden Traffic blockieren?**
Das Internet ist ein riesiger, oft feindseliger Ort. Ohne angemessenen Schutz ist Ihr Netzwerk ständig Versuchen ausgesetzt, Schwachstellen auszunutzen. Durch das proaktive Blockieren von eingehendem Traffic, der von bekannten schädlichen Quellen stammt oder aus Regionen, mit denen Sie keine Geschäftsbeziehungen oder legitimen Kontakt haben, erreichen Sie mehrere Ziele:
* **Reduzierung des Angriffsvektors**: Viele Angriffe erfolgen automatisiert. Durch das Blockieren bekannter Angreifer-IPs oder ganzer geografischer Gebiete reduzieren Sie die Angriffsfläche erheblich.
* **Schutz vor Botnets und Malware**: Zahlreiche IP-Adressen sind Teil von Botnets oder werden für die Verteilung von Malware genutzt. **pfBlockerNG** hilft, diese zu isolieren.
* **Minimierung von Port-Scans und Aufklärungsversuchen**: Unerwünschte Scans belasten Ihre Firewall und Protokolle und können potenzielle Schwachstellen aufzeigen.
* **Ressourcenschonung**: Indem Sie bösartigen Traffic frühzeitig blockieren, entlasten Sie Ihre internen Systeme und Netzwerkgeräte, die sich dann auf legitime Anfragen konzentrieren können.
* **Erhöhte Compliance und Datenschutz**: Durch strengere Kontrollen des eingehenden Traffics können Sie zur Einhaltung von Sicherheitsstandards beitragen und sensible Daten besser schützen.
**Was ist pfBlockerNG?**
**pfBlockerNG** ist ein kostenloses und Open-Source-Paket für **pfSense**, das die Funktionalität Ihrer Firewall erheblich erweitert. Es integriert verschiedene Arten von Threat-Intelligence-Feeds (Listen mit bösartigen IP-Adressen, Domains oder geografischen Daten) und generiert daraus automatisch Firewall-Regeln. Während **pfBlockerNG** auch für das Blockieren ausgehenden Traffics (DNSBL) sehr nützlich ist, konzentrieren wir uns in diesem Leitfaden auf seine Fähigkeiten, unerwünschte **eingehende Verbindungen** zu identifizieren und zu blockieren.
**Voraussetzungen für die Konfiguration**
Bevor wir mit der detaillierten Konfiguration beginnen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben:
* **Eine installierte und konfigurierte pfSense-Firewall**: Ihr **pfSense**-System sollte betriebsbereit sein und Internetzugang haben.
* **Das pfBlockerNG-Paket muss installiert sein**: Falls nicht, können Sie es über die **pfSense**-Weboberfläche installieren: Navigieren Sie zu *System > Package Manager > Available Packages*, suchen Sie nach „pfBlockerNG” und klicken Sie auf „Install”.
**Die Grundlagen von pfBlockerNG für eingehenden Traffic**
Um **pfBlockerNG** effektiv für eingehende Verbindungen einzurichten, ist es wichtig, einige Kernkonzepte zu verstehen:
* **IP-Listen (Feeds)**:
**pfBlockerNG** bezieht seine Intelligenz aus externen Listen, die IP-Adressen enthalten, die als bösartig, gefährlich oder unerwünscht eingestuft wurden. Diese Feeds werden von verschiedenen Quellen bereitgestellt (z.B. Spamhaus, Abuse.ch, DShield). Es gibt auch GeoIP-Datenbanken, die IP-Adressen bestimmten geografischen Standorten zuordnen.
* **Aktionstypen (Action Types)**:
Für jede IP-Liste können Sie eine bestimmte Aktion festlegen:
* **Deny Inbound / Deny Outbound**: Diese Aktionen weisen **pfBlockerNG** an, den Traffic entweder explizit eingehend oder ausgehend zu blockieren. Unser Fokus liegt auf **Deny Inbound**. Innerhalb von Deny gibt es Unteroptionen:
* **Deny – Drop**: Der Traffic wird stillschweigend verworfen. Der Absender erhält keine Rückmeldung. Dies ist oft die bevorzugte Methode, da sie Angreifern keine Informationen über die Existenz Ihres Netzwerks liefert.
* **Deny – Reject**: Der Traffic wird verworfen, aber es wird eine RST (TCP) oder ICMP-Antwort (UDP) an den Absender gesendet. Dies kann nützlich sein, um legitimen, aber unerwünschten Traffic schnell abzuweisen, kann aber auch Informationen preisgeben.
* **Deny – Both**: Wendet die Regeln auf eingehenden und ausgehenden Traffic an.
* **Permit**: Erlaubt den Traffic, wird hauptsächlich für Whitelisting verwendet.
* **Match**: Erlaubt den Traffic, protokolliert ihn aber. Nützlich für Monitoring, aber nicht zum Blockieren.
* **Schnittstellen (Interfaces)**:
Sie müssen auswählen, auf welchen Netzwerkschnittstellen die **pfBlockerNG**-Regeln angewendet werden sollen. Für das Blockieren von **eingehendem Traffic** ist dies in der Regel die **WAN**-Schnittstelle(n), da dort der externe Traffic zuerst ankommt.
* **Reihenfolge der Firewall-Regeln**:
Es ist entscheidend zu wissen, dass die von **pfBlockerNG** generierten Regeln automatisch am Anfang der Firewall-Regelliste platziert werden. Das bedeutet, sie werden *vor* allen anderen manuell erstellten Regeln verarbeitet. Dies ist wünschenswert, da bösartiger Traffic so früh wie möglich blockiert wird.
**Schritt-für-Schritt-Konfiguration von pfBlockerNG für eingehenden Traffic**
Lassen Sie uns nun die Konfiguration Schritt für Schritt durchgehen.
1. **Aktivierung von pfBlockerNG**
* Melden Sie sich bei Ihrer **pfSense**-Weboberfläche an.
* Navigieren Sie zu *Firewall > pfBlockerNG > General*.
* Setzen Sie das Häkchen bei „**Enable pfBlockerNG**”.
* Unter „CRON Settings” können Sie die Häufigkeit der automatischen Updates der IP-Listen festlegen. „Update Frequenc” auf „Every day” ist ein guter Startwert, um die Listen aktuell zu halten.
* Klicken Sie auf „Save”, um die Änderungen zu speichern.
2. **Konfiguration der IP-Schnittstelleneinstellungen (IP Interface/Subnet Settings)**
* Wechseln Sie zum Reiter *Firewall > pfBlockerNG > IP*.
* Stellen Sie unter „IP Interface/Subnet Settings” sicher, dass „**Enable pfBlockerNG IP**” aktiviert ist.
* Wählen Sie unter „Inbound Firewall Rules” die Schnittstelle(n) aus, auf denen die Blockierregeln für eingehenden Traffic angewendet werden sollen. In den meisten Fällen ist dies die **WAN**-Schnittstelle. Wenn Sie mehrere WAN-Schnittstellen haben, wählen Sie alle relevanten aus. Die Option „Floating Rules” bietet mehr Flexibilität, ist aber für Anfänger komplexer; bleiben Sie zunächst bei der direkten Auswahl der WAN-Schnittstelle.
* Klicken Sie auf „Save”.
3. **GeoIP-Blockierung einrichten**
Eine der leistungsstärksten Funktionen von **pfBlockerNG** ist die Möglichkeit, Traffic basierend auf der Herkunftsregion zu blockieren.
* Bleiben Sie im Reiter *Firewall > pfBlockerNG > IP* und scrollen Sie nach unten zum Abschnitt „MaxMind GeoIP Configuration”.
* **MaxMind-Lizenzschlüssel**: Um die GeoIP-Datenbanken nutzen zu können, benötigen Sie einen kostenlosen Account und einen Lizenzschlüssel von MaxMind (www.maxmind.com). Registrieren Sie sich dort, generieren Sie einen Lizenzschlüssel und tragen Sie Ihre „MaxMind Account-ID” und „MaxMind License-Key” in die entsprechenden Felder in **pfSense** ein.
* Klicken Sie auf „Save Settings”.
* Scrollen Sie nun zum Abschnitt „IPv4 Country/Continent Blocking”.
* Klicken Sie auf das kleine Plus-Symbol (**Add**), um eine neue GeoIP-Regel hinzuzufügen.
* **Description**: Geben Sie eine aussagekräftige Beschreibung ein, z.B. „Blockierte Länder Inbound”.
* **Action**: Wählen Sie „**Deny Inbound**”. Für die meisten Szenarien ist „Deny – Drop” die bevorzugte Option, um den Traffic stillschweigend zu verwerfen. Wenn Sie auch IPv6 nutzen, wählen Sie „Deny – Both”.
* **Select Countries**: Hier wählen Sie die Länder oder Kontinente aus, die Sie blockieren möchten. Seien Sie hier **äußerst vorsichtig**! Das Blockieren ganzer Länder kann unbeabsichtigte Nebenwirkungen haben und den Zugriff auf legitime Dienste oder Websites von dort aus verhindern. Blockieren Sie nur Länder, von denen Sie absolut keinen legitimen Traffic erwarten und die bekanntermaßen eine hohe Anzahl bösartiger Aktivitäten aufweisen (z.B. bestimmte Regionen, die für Botnet-Aktivitäten bekannt sind, aber mit denen Sie keine Geschäftsbeziehungen pflegen).
* Klicken Sie auf „Save”.
4. **Hinzufügen von IPv4/IPv6-Blacklists (Feeds)**
Neben der GeoIP-Blockierung können Sie auch Listen mit bekannten bösartigen IP-Adressen von Drittanbietern integrieren.
* Gehen Sie zum Reiter *Firewall > pfBlockerNG > IP > IPv4* (oder *IPv6*, wenn Sie auch IPv6-Listen hinzufügen möchten).
* Klicken Sie auf „Add” (das Plus-Symbol) unter „IPv4 Group” (oder „IPv6 Group”).
* **Description**: Geben Sie eine Beschreibung für diese Gruppe von Listen ein, z.B. „Bekannte Bad IPs Inbound”.
* **Action**: Wählen Sie erneut „**Deny Inbound**” (und dann „Drop” oder „Both”).
* **IP Feeds**: Klicken Sie auf das Plus-Symbol, um eine neue Feed-Definition hinzuzufügen.
* **State**: Setzen Sie auf „ON”.
* **Name**: Geben Sie einen Namen für den Feed ein (z.B. „Spamhaus_DROP”).
* **Format**: Wählen Sie das Format des Feeds aus (z.B. „Auto” oder „IP”).
* **Source**: Hier können Sie aus einer Liste vordefinierter Feeds auswählen (z.B. Spamhaus DROP, DShield Top 20, Emerging Threats). Sie können auch eine „Custom URL” angeben, wenn Sie eine spezifische Liste verwenden möchten, die nicht vordefiniert ist.
* **Header/Label**: Für die Protokollierung.
* Fügen Sie weitere Feeds hinzu, indem Sie erneut auf das Plus-Symbol klicken. Beginnen Sie mit einer moderaten Anzahl von Feeds, die gut gepflegt sind, um die Leistung Ihrer Firewall nicht zu überlasten.
* Klicken Sie auf „Save”, um die Liste zu speichern.
5. **Benutzerdefinierte IP-Listen (Custom Lists)**
Manchmal müssen Sie spezifische IP-Adressen oder Subnetze blockieren, die nicht in öffentlichen Feeds enthalten sind.
* Bleiben Sie im Reiter *Firewall > pfBlockerNG > IP > IPv4* (oder *IPv6*).
* Scrollen Sie zum Abschnitt „IPv4 Custom List” (oder „IPv6 Custom List”).
* Geben Sie die IP-Adressen oder CIDR-Netzwerke ein, die Sie blockieren möchten, jeweils eine pro Zeile.
* Stellen Sie sicher, dass die „Action” auf „**Deny Inbound**” (Drop/Both) gesetzt ist.
* Klicken Sie auf „Save”.
6. **Update der Regeln erzwingen**
Nachdem Sie alle gewünschten Konfigurationen vorgenommen haben, müssen Sie **pfBlockerNG** anweisen, die neuen Listen herunterzuladen und die Firewall-Regeln zu generieren.
* Navigieren Sie zu *Firewall > pfBlockerNG > Update*.
* Unter „Reload” wählen Sie „IP” oder „All”, je nachdem, was Sie aktualisieren möchten.
* Klicken Sie auf „Run”. Dieser Vorgang kann je nach Anzahl und Größe der Listen einige Minuten dauern. Eine Erfolgsmeldung sollte erscheinen, sobald der Vorgang abgeschlossen ist.
**Testen und Überwachen**
Die Konfiguration ist der erste Schritt, die Überwachung der zweite.
* **Logs überprüfen**:
* Gehen Sie zu *Firewall > pfBlockerNG > Alerts*. Hier sehen Sie in Echtzeit, welche IP-Adressen von **pfBlockerNG** blockiert wurden. Dies ist das wichtigste Werkzeug, um die Effektivität Ihrer Regeln zu überwachen und unerwünschte Blockierungen zu identifizieren.
* Sie können auch unter *Status > System Logs > Firewall* nach „pfB” filtern, um spezifische **pfBlockerNG**-bezogene Blockierungen in den allgemeinen Firewall-Logs zu sehen.
* **False Positives (Fehlalarme)**: Es ist unerlässlich, die Logs regelmäßig auf „False Positives” zu überprüfen – legitime Verbindungen, die fälschlicherweise blockiert wurden. Sollte dies der Fall sein (z.B. wenn ein Cloud-Dienst oder ein Remote-Mitarbeiter keinen Zugriff mehr hat), müssen Sie die betreffende IP-Adresse zur Whitelist hinzufügen.
* **Whitelisting**: Gehen Sie zu *Firewall > pfBlockerNG > IP > IPv4 / IPv6 Whitelist*. Tragen Sie die IP-Adresse oder das Subnetz ein, das explizit zugelassen werden soll, und wählen Sie als „Action” „Permit Outbound” oder „Permit Both” (trotz des Namens „Outbound”, wirkt es als Whitelist für den IP-Blockierer). Alternativ können Sie auch eine „Custom List” mit der „Action” „Permit Inbound” erstellen. Denken Sie daran, nach dem Whitelisting ein „Force Reload – IP” durchzuführen.
**Best Practices und wichtige Überlegungen**
Um das Beste aus Ihrer **pfBlockerNG**-Konfiguration herauszuholen und gleichzeitig Probleme zu vermeiden, beachten Sie die folgenden Empfehlungen:
* **Regelmäßige Updates**: Stellen Sie sicher, dass Ihre Listen regelmäßig aktualisiert werden, um auch gegen neue Bedrohungen geschützt zu sein. Die Standard-CRON-Einstellungen sollten dies gewährleisten.
* **Leistungsauswirkungen**: Zu viele oder sehr große IP-Listen können die Leistung Ihrer **pfSense**-Firewall beeinträchtigen, insbesondere auf älterer oder ressourcenbeschränkter Hardware. Beginnen Sie mit einer moderaten Auswahl an Feeds und beobachten Sie die Systemauslastung (*Status > Monitoring > RRD_Graphs > Traffic / System*). Erweitern Sie die Listen bei Bedarf schrittweise.
* **Whitelisting strategisch einsetzen**: Seien Sie proaktiv beim Whitelisting von IP-Adressen, die unbedingt zugreifen müssen. Denken Sie an VPN-Dienstanbieter, Cloud-Dienste, Remote-Büros oder spezifische Partner-IPs, die in einer Blacklist landen könnten.
* **GeoIP mit Bedacht anwenden**: Das Blockieren ganzer Länder kann weitreichende Konsequenzen haben. Überlegen Sie sehr genau, welche Länder Sie ausschließen und welche Auswirkungen dies auf den Zugriff auf globale Dienste haben könnte. Wenn Sie beispielsweise ein Content Delivery Network (CDN) nutzen, könnten dessen IP-Adressen auch in als „riskant” eingestuften Ländern liegen.
* **Schichten der Verteidigung**: **pfBlockerNG** ist ein hervorragendes Tool, aber es ist nur eine Schicht in Ihrer gesamten Sicherheitsstrategie. Kombinieren Sie es mit anderen Maßnahmen wie Intrusion Detection/Prevention Systems (IDS/IPS) wie Suricata oder Snort, starken Passwörtern, regelmäßigen Software-Updates und sicheren Konfigurationen Ihrer Dienste.
* **Dokumentation**: Halten Sie fest, welche Listen Sie verwenden, welche Länder Sie blockieren und welche IP-Adressen Sie whitelisten. Dies erleichtert die Fehlerbehebung und Wartung.
**Fazit**
Die Konfiguration von **pfBlockerNG** für **eingehende Verbindungen** ist ein entscheidender Schritt zur Stärkung der Netzwerksicherheit. Durch das Blockieren bekannter bösartiger IP-Adressen und ganzer geografischer Regionen können Sie einen Großteil des unerwünschten und gefährlichen Traffics abfangen, noch bevor er Ihre internen Ressourcen erreicht. Obwohl die Einrichtung einige Sorgfalt erfordert, insbesondere bei der Auswahl der Listen und der Überwachung der Logs, ist der Schutzgewinn enorm.
Implementieren Sie **pfBlockerNG** als einen robusten Pfeiler Ihrer Sicherheitsarchitektur und genießen Sie ein deutlich saubereres, sicheres und leistungseffizienteres Netzwerk. Mit einem wachsamen Auge auf Ihre Logs und einer durchdachten Auswahl der Blockierregeln wird **pfBlockerNG** zu einem unverzichtbaren Wächter an der Grenze Ihres digitalen Reichs.