Zum Hauptinhalt springen

OPNsense Sicherheits- und Härtungs-Best-Practice-Leitfaden

Veröffentlicht am:
.
18 min read
.
Für die Englische Version

Firewalls erfordern Sicherheit und Härtung, um erfolgreich als erste Verteidigungslinie gegen Cyberangriffe zu funktionieren. Firewalls schützen das Netzwerk vor externen Bedrohungen wie Viren, Hacking-Versuchen und unbefugtem Zugriff. Das Härtung der Firewall beinhaltet die Implementierung verschiedener Sicherheitsmaßnahmen, um unerwünschten Zugriff zu verhindern und das Risiko einer Ausnutzung zu verringern. Regelmäßige Software-Updates, das Entfernen unnötiger Dienste, das Festlegen von Zugriffsbeschränkungen und die Einführung robuster Authentifizierungsmechanismen gehören alle dazu.

OPNsense ist ein sicheres Betriebssystem, das auf HardenedBSD basiert und eine starke Grundlage für Sicherheit bietet. Es umfasst Funktionen wie Paketfilterung, zustandsbehaftete Firewall, Eindringungserkennung und -verhinderung, VPN usw. Obwohl OPNsense standardmäßig sicher ist, können Sie die Sicherheit weiter verbessern.

In diesem Artikel erläutern wir die Bedeutung der Härtung der Firewall-Sicherheit und wie Sie die Sicherheit Ihrer Firewall erhöhen können, indem Sie die besten Praktiken für die OPNsense-Plattform anwenden. Die in diesem Schreiben behandelten Themen sind wie folgt:

  • Aktualisierung und Upgrade von OPNsense

  • Ändern der Standardpasswörter

  • Aktivierung der Zwei-Faktor-Authentifizierung

  • Konfiguration der Ländersperrung

  • Deaktivieren von SSH-Verbindungen

  • Regelmäßige Sicherungskopien erstellen und Sicherungsdateien schützen

  • Konfiguration von OPNsense für hohe Verfügbarkeit

  • Deaktivierung des Root-Zugriffs für die WebGUI

  • Einschränkung des Zugangs zum Management-Portal

  • Aktivierung von IPS/IDS

  • Benachrichtigungen für Änderungen erstellen

OPNsense Sicherheits- und Härtungs-Best Practices

Nachdem Sie die in diesem Artikel beschriebenen Best Practices auf Ihrer OPNsense-Firewall angewendet haben, können Sie auch die Best Practices für die Sicherheit von FreeBSD lesen und umsetzen, um die Härtung zu verbessern.

Warum sind Sicherheit und Härtung wichtig?

Systemhärtung ist eine Reihe von Technologien, Ansätzen und bewährten Verfahren, die darauf abzielen, die Verwundbarkeit in Technologieanwendungen, Systemen, Infrastrukturen, Firmware und anderen Bereichen zu verringern. Die Härtung von Systemen zielt darauf ab, das Sicherheitsrisiko zu verringern, indem potenzielle Angriffsvektoren entfernt und die Angriffsfläche des Systems reduziert werden. Durch das Löschen unnötiger Programme, Kontofunktionen, Apps, Ports, Berechtigungen und Zugriffe haben Angreifer und Malware weniger Möglichkeiten, in Ihre IT-Infrastruktur einzudringen.

Die Systemhärtung erfordert eine gründliche Strategie zur Überprüfung, Identifizierung, Schließung und Kontrolle aller Sicherheitsanfälligkeiten im gesamten Unternehmen. Es gibt mehrere Arten von System-Härtungsaktivitäten, die unten aufgeführt sind::

  • Härtung des Betriebssystems

  • Server-Härtung

  • Endpoint-Härtung

  • Datenbank-Härtung

  • Netzwerk-Härtung

Obwohl die Grundlagen der Systemhärtung universell sind, unterscheiden sich die spezifischen Werkzeuge und Verfahren je nach Art der durchgeführten Härtung. Die Systemhärtung ist während des gesamten Lebenszyklus der Technologie erforderlich, von der anfänglichen Installation bis zur Stilllegung am Ende ihrer Nutzungsdauer. Die Systemhärtung ist eine Anforderung von Vorschriften wie PCI DSS und HIPAA, und Cyber-Versicherer verlangen sie zunehmend.

Die Härtung einer Firewall bezieht sich auf die Praxis, eine Firewall zu schützen, indem potenzielle Schwachstellen durch Konfigurationsanpassungen und spezialisierte Maßnahmen verringert werden.

Was sind die Vorteile der Härtung von Firewalls?

Die Härtung der Firewall bietet die folgenden Vorteile:

  • Verbesserte Sicherheit: Die Härtung der Firewall verringert die Wahrscheinlichkeit potenzieller Sicherheitsverletzungen und unbefugten Netzwerkzugriffs.

  • Einhaltung: Die Härtung der Firewall kann Unternehmen dabei helfen, den PCI DSS, HIPAA und anderen Sicherheits- und Compliance Gesetzen zu entsprechen.

  • Verbesserte Leistung: Die Optimierung der Firewall-Leistung und die Verringerung der Gefahr einer Überlastung, die zu langsamen Netzwerkgeschwindigkeiten oder Ausfällen führt, ist durch deren Verstärkung möglich.

  • Erhöhte Sichtbarkeit: Die Härtung der Firewall erhöht die Netzwerksichtbarkeit, was bei der Erkennung und Verhinderung von Angriffen in Echtzeit hilft.

  • Besseres Risikomanagement: Das Härtung der Firewall erleichtert das Risikomanagement, indem mögliche Bedrohungen und Schwächen minimiert werden.

  • Erhöhte Zuverlässigkeit: Die Zuverlässigkeit wird erhöht, indem das Risiko eines Ausfalls oder Datenverlusts durch die Verstärkung der Firewall verringert wird.

Aktualisierung und Upgrade von OPNsense

Die Aktualisierung eines Netzwerksicherheitsgeräts aufrechtzuerhalten, ist unerlässlich. Es ist noch notwendiger, eine Netzwerkfirewall zu aktualisieren, da Smartphones, Webbrowser und Desktop-Betriebssysteme ständig aktualisiert werden. IT-Experten sollten die Firewall-Architektur und -Bereitstellung ihres Unternehmens ständig bewerten und verbessern, um die Netzwerksicherheit zu erhöhen.

OPNsense sollte je nach Schwere und Gefahr der Schwachstellen gepatcht werden. Bewerten Sie jeden Patch anhand der inhärenten Gefahren Ihrer Organisation. Sie können Ihre OPNsense-Firewall ganz einfach über die Web-Benutzeroberfläche aktualisieren. Das OPNsense-Projekt bietet viele Tools, um das System schnell zu patchen, ein Paket auf eine frühere Version zurückzusetzen oder den Kernel zurückzusetzen:

  • opnsense-update: Das opnsense-update-Dienstprogramm bietet integrierte Kernel- und Basissystem-Updates durch remote erworbene Binärsätze, zusätzlich zu Paket-Updates über pkg. Die Syntax des Befehls opnsense-update ist unten angegeben:

    opnsense-update [-BbCdefikPpRsuVvz] [-A mirror_abi] [-a abi_hint]
    [-D device] [-l directory] [-m mirror_url]
    [-n mirror_dir] [-N crypto_lib] [-r release] [-t type]
    opnsense-update [-cf [-bkpt]]
    opnsense-update [-LSTU [-bkp]]
    opnsense-update [-GKMO]

    Die Optionen -b, -k, -p und -t können gestapelt werden, um ausgewählte Updates mit einer kleinen Aktualisierungssequenz zu generieren. -bkp wird oft verwendet, um alle derzeit installierten Komponenten gleichzeitig zu aktualisieren. Große Upgrades werden mit -u anstelle von -bkp ausgelöst, es sei denn, -bkp wird ausdrücklich angegeben.

  • opnsense-revert: Das opnsense-revert-Dienstprogramm bietet die Möglichkeit, frühere Versionen von Paketen, die in einer OPNsense-Version enthalten sind, sicher zu installieren, vorausgesetzt, dass der angegebene Mirror diese Version speichert. Die automatic- und vital-Paket-Flags werden auf ihre erwarteten Einstellungen zurückgesetzt. Die Optionen des opnsense-revert-Dienstprogramms sind wie folgt:

    • -i: Ignoriere das Ergebnis der Signaturüberprüfung.
    • -l: Respektiere aktive Sperrmechanismen. Das Standardverhalten besteht darin, sie zu entfernen und mit der Rücksetzung fortzufahren.
    • -r release: Wählen Sie die Version des Pakets, die installiert werden soll. Beachten Sie, dass die Version nicht die des bestimmten Pakets ist, sondern die Version, die in der OPNsense-Version enthalten ist.
    • -z: Verwenden Sie das Snapshot-Verzeichnis, das keine Minor-Versionierung verwendet.

    Zum Beispiel, um das Unbound-Paket auf die Version in OPNsense 22.7.1 zurückzusetzen, können Sie den folgenden Befehl ausführen:

    opnsense-revert -r 22.7.1 unbound

    Um das Unbound-Paket auf die aktuelle Version zu bringen, können Sie den folgenden Befehl ausführen:

    opnsense-revert unbound
  • opnsense-patch: Die opnsense-patch-Funktion akzeptiert alle Parameter als Commit-Hashes aus dem Upstream-Git-Repository, lädt sie herunter und wendet sie dann sequenziell an. Patches können durch erneute Anwendung rückgängig gemacht werden, jedoch müssen viele Patches in umgekehrter Reihenfolge angewendet werden, um erfolgreich zu sein. Die Syntax des opnsense-patch-Dienstprogramms ist unten angegeben:

    opnsense-patch [-defiNV] [-c repo_default] commit_hash ... 
    opnsense-patch [-defiNV] [-a account] [-P prefix_dir] [-p patch_level] [-r repository] [-s site] commit_hash ...
    opnsense-patch -l [-c repo_default]
    opnsense-patch -l [-r repository]

Ändern der Standardpasswörter

Passwörter sind eine der wichtigsten Sicherheitsmaßnahmen, die heute eingesetzt werden. Es ist unerlässlich, dass der Administrator und alle Benutzer sichere, schwer zu erratende Passwörter haben. Ein starkes Passwort zu haben, ist die wichtigste Sicherheitsmaßnahme, die Sie ergreifen können.

Um die Sicherheit zu verbessern, empfehlen wir, das Standardpasswort zu ändern. Das Versäumnis, dies zu tun, setzt den Kunden der Gefahr aus, gehackt zu werden.

Wie ändert man das Standardpasswort auf OPNsense?

Sie können das Standard-OPNsense-Passwort über die CLI ändern, indem Sie die folgenden Schritte ausführen:

  1. Verbinden Sie Ihren OPNsense-Knoten über SSH oder Konsole.

  2. Melden Sie sich mit den Standard-Root-Anmeldeinformationen an. Die Standard-Anmeldeinformationen sind "root" und "opnsense". Dies wird das Konsolenmenü ähnlich dem unten angegebenen anzeigen:

    *** OPNsense.localdomain: OPNsense 23.1 ***

    LAN (vtnet1) -> v4: 10.10.10.1/24

    MyWireGuard (wg0) -> v4: 10.45.45.2/24

    WAN (vtnet0) -> v4/DHCP4: 192.168.0.34/24

    HTTPS: SHA256 3E 1A C6 00 C6 D0 FE B9 B8 39 74 07 3D AC 03 02
    75 1A DE 02 92 83 7B 3E F9 AC E7 70 75 DE 89 D1

    SSH: SHA256 NESuGb+GNjFA9egfXIvbmqm2FE1Og6r431BE2zZRYn0 (ECDSA)

    SSH: SHA256 MVpoHjreB+CQu0kE8t3E9U0/kBYzORr+OlDlJqakaZU (ED25519)

    SSH: SHA256 5q/ESIEfJsO29/1BSlD1rRg1tdV5nfj8x/p+1RpU6NQ (RSA)

    0) Logout 7) Ping host
    1) Assign interfaces 8) Shell
    2) Set interface IP address 9) pfTop
    3) Reset the root password 10) Firewall log
    4) Reset to factory defaults 11) Reload all services
    5) Power off system 12) Update from console
    6) Reboot system 13) Restore a backup

    Enter an option:
  3. Geben Sie 3 ein, um die Option 3) Reset the root password auszuwählen.

    The root user login behavior will be restored to its default.

    Do you want to proceed? [y/N]: y

    Type a new password:
    Confirm new password:
  4. Drücken Sie y zur Bestätigung.

  5. Geben Sie ein neues Passwort ein.

  6. Geben Sie das Passwort zur Bestätigung erneut ein.

Sie können das Standard-OPNsense-Passwort über die Web-Benutzeroberfläche ändern, indem Sie die folgenden Schritte ausführen:

  1. Verbinden Sie Ihren OPNsense-Knoten über Ihren bevorzugten Browser.

  2. Melden Sie sich mit den Standard-Root-Anmeldeinformationen an. Die Standard-Anmeldeinformationen sind "root" und "opnsense".

  3. Navigieren Sie zu System > Access > Users.

    Systembenutzereinstellungen auf OPNsense

    Abbildung 1. Systembenutzereinstellungen in OPNsense

  4. Klicken Sie auf die Schaltfläche „Bearbeiten“ mit dem Stiftsymbol neben dem Benutzer „root“.

  5. Geben Sie ein neues Root-Passwort in das Feld Password ein.

    Neues Root-Passwort auf OPNsense festlegen

    Abbildung 2. Neues Root-Passwort auf OPNsense festlegen

  6. Klicken Sie auf die Schaltfläche Save and go back am Ende der Seite.

Aktivierung der Zwei-Faktor-Authentifizierung

Phishing-Versuche und die Verwendung schwacher oder wiederholter Passwörter können traditionelle passwortbasierte Authentifizierungssysteme gefährden. Ein kompromittiertes Passwort ermöglicht es einem Angreifer, unbefugten Zugang zu einem Benutzerkonto zu erhalten, da viele Systeme von überall über das Internet zugänglich sind.

Die Zwei-Faktor-Authentifizierung, oft als Zwei-Schritt-Verifizierung bekannt, soll die Sicherheit von Benutzerkonten erhöhen. Das Einloggen in ein 2FA-aktiviertes Konto erfordert, dass der Benutzer zusätzlich zu einem Passwort einen zusätzlichen Authentifizierungsfaktor angibt.

Die Zwei-Faktor-Authentifizierung, oft als 2FA oder 2-Schritt-Verifizierung bekannt, ist ein Authentifizierungssystem, das aus zwei Komponenten besteht: einer PIN/Passwort und einem Token. Zwei-Faktor-Authentifizierung fügt einer Anwendung oder einem Dienst eine zusätzliche Schutzschicht hinzu. Zusätzlich ist es in der Regel einfach anzuwenden und erfordert minimalen Aufwand. OPNsense bietet vollständige Unterstützung für die Zwei-Faktor-Authentifizierung (2FA) im gesamten System mit Google Authenticator, und Sie können 2FA auf Ihrem OPNsense-Knoten einfach aktivieren. Die nachfolgenden OPNsense-Dienste unterstützen 2FA:

  • Virtuelles Privates Netzwerk (OpenVPN & IPsec)

  • Caching-Proxy

  • OPNsense Grafische Benutzeroberfläche

  • Captive Portal

Ländersperrung konfigurieren

Es gibt keine universelle Lösung für das Blockieren von Ländern, GeoIP-Blockierung, da die Länder, die auf einer Firewall blockiert werden sollten, von den individuellen Bedürfnissen und Zielen der Organisation abhängen. Ländersperrung wird aus den folgenden Gründen verwendet:

  • Um zu verhindern, dass Benutzer auf Inhalte zugreifen, die im Land illegal oder verboten sind.

  • Um den staatlichen Vorschriften oder Einschränkungen für bestimmte Arten von Inhalten zu entsprechen.

  • Um potenzielle rechtliche Haftung für das Hosten oder Übertragen von illegalen oder verbotenen Inhalten zu vermeiden.

  • Um sich gegen Cyberangriffe aus bestimmten Ländern zu schützen.

Bevor Organisationen entscheiden, welche Länder sie in ihrer Firewall einschränken, sollten sie ihre einzigartigen Bedürfnisse und Ziele gründlich bewerten.

Sie können die GeoIP-Blockierung auf Ihrer OPNsense-Firewall einrichten, indem Sie die 3 Hauptschritte befolgen:

  1. Generieren Sie den MaxMind GeoIP-Lizenzschlüssel

  2. Definiere GeoIP-Alias

  3. Firewall-Regel für Ländersperrung definieren

Jeder dieser Schritte wird im Folgenden ausführlicher erklärt.

Wie generiert man einen MaxMind GeoIP-Lizenzschlüssel?

Auf OPNsense können Sie ein oder mehrere Länder oder ganze Kontinente blockieren oder zulassen. OPNsense erreicht dies durch die Nutzung der MaxMind GeoIP-Datenbank, die einen Lizenzschlüssel erfordert. MaxMind, ein Branchenführer in der Genauigkeit der IP-Geolokalisierung, stellt Listen bereit und pflegt sie, die von OPNsense verwendet werden. Der MaxMind-Lizenzschlüssel ist völlig kostenlos. Die Beschreibung des MaxMind-Lizenzschlüsselfelds enthält einen Link zur MaxMind-Registrierungsseite.

warnung

Websites hosten Inhalte und Medien auf Servern auf der ganzen Welt, also seien Sie vorsichtig, nicht zu viel zu blockieren. Das unbeabsichtigte Blockieren einiger dieser IP-Adressen kann zu defekten Websites oder nicht verfügbaren Downloads führen.

Um Ihren Lizenzschlüssel zu erhalten, füllen Sie das Registrierungsformular auf der MaxMind-Anmeldeseite aus.

MaxMind GeoLite2 Anmeldeseite

Abbildung 3. MaxMind GeoLite2 Anmeldeseite

Nachdem Sie Ihr Konto erstellt und Ihre E-Mail-Adresse verifiziert haben, können Sie fortfahren, Ihren Lizenzschlüssel zu generieren. Der Lizenzschlüssel ist notwendig, damit OPNsense die Datenbank automatisch herunterladen kann.

Unter den Einstellungen Ihres MaxMind-Kontos sollte es eine Option zum Verwalten von Lizenzschlüsseln geben.

MaxMind Verwaltung von Lizenzschlüsseln

Abbildung 4. MaxMind Verwaltung von Lizenzschlüsseln

Hier können Sie einen neuen Schlüssel erstellen, ihn beschreiben und überprüfen.

Generierung des MaxMind-Lizenzschlüssels

Abbildung 5. Generierung des MaxMind-Lizenzschlüssels

Wie definiert man ein GeoIP-Alias?

Um die GeoIP-Datenbank von MaxMind herunterzuladen, können Sie die folgenden Schritte befolgen:

  1. Navigieren Sie zu Firewall > Aliases > GeoIP Settings.

    GeoIP-Alias-Einstellungen auf OPNsense

    Abbildung 6. GeoIP Alias-Einstellungen auf OPNsense

  2. Geben Sie https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-Country-CSV&license_key=YOUR_LICENSE_KEY&suffix=zip ein, wobei YOUR_LICENSE_KEY Ihr neu generierter MaxMind-Lizenzschlüssel im URL-Feld ist.

  3. Klicken Sie auf die Schaltfläche Apply, um den Download der GeoIP-Datenbank zu starten. Die Felder Last updated und Total number of ranges sollten aktualisiert werden.

    Herunterladen der MaxMind GeoIP-Datenbank

    Abbildung 7. Herunterladen der MaxMind GeoIP-Datenbank

  4. Wechseln Sie zurück zur Registerkarte Aliases in der OPNsense-Weboberfläche.

  5. Klicken Sie auf die Schaltfläche Add mit dem +-Symbol, um ein Alias zu erstellen.

  6. Geben Sie einen beschreibenden Namen ein, wie zum Beispiel Nordkorea im Feld Name ein.

  7. Wählen Sie GeoIP aus dem Dropdown-Menü Type. Sie können sowohl IPv4 als auch IPv6 auswählen.

  8. Sie können das Feld Category leer lassen oder eine Kategorie auswählen, wenn Sie zuvor eine definiert haben.

    Aktivieren von GeoIP-Alias

    Abbildung 8. Aktivierung des GeoIP-Alias

  9. Wählen Sie Korea (North) im Dropdown-Menü Countries neben der Region Asien.

  10. Sie können das Kontrollkästchen Statistics aktivieren, um eine Reihe von Zählern für jeden Tabelleneintrag zu führen.

  11. Geben Sie einen beschreibenden Namen ein, wie zum Beispiel Block North Korea im Feld Description.

    Alias für Ländersperrung hinzufügen

    Abbildung 9. Hinzufügen eines Alias für die Länderblockierung

  12. Klicken Sie auf Save, um das Alias zu speichern.

    Anzeigen von GeoIP-Aliasen

    Abbildung 10. Anwendung des GeoIP-Alias

  13. Klicken Sie auf Apply, um die Einstellungen zu aktivieren.

Wie definiert man eine Firewall-Regel zum Blockieren von Ländern?

Um eine Firewall-Regel für die Ländersperre zu definieren, können Sie die folgenden Schritte befolgen:

  1. Navigieren Sie zu Firewalls > Rules > WAN.

  2. Klicken Sie auf die Schaltfläche Hinzufügen mit dem +-Symbol, um eine Regel hinzuzufügen.

  3. Wählen Sie Block in der Option Action.

  4. Wählen Sie den neu definierten Alias, wie zum Beispiel NorthKorean, im Feld Source aus.

  5. Geben Sie einen beschreibenden Namen ein, wie GeoIP-Blockierung im Feld Description.

  6. Sie können die anderen Optionen als Standard belassen.

  7. Klicken Sie auf Save

    Anwenden der GeoIP-Firewall-Regel

    Abbildung 11. Anwendung der GeoIP-Firewall-Regel

  8. Klicken Sie auf Apply Changes, um die Regel zu aktivieren.

SSH-Verbindungen deaktivieren

Wenn Sie keinen Fernzugriff benötigen, deaktivieren Sie alle Dienste, wie z.B. SSH, die für den Betrieb Ihres Netzwerks nicht erforderlich sind. Das Deaktivieren der SSH-Verbindung ist einer der ersten Schritte, die Sie unternehmen können, um OPNsense zu stärken. Das Deaktivieren von SSH erhöht die Systemsicherheit insgesamt, indem die Anzahl der offenen Ports und potenziellen Angriffsvektoren begrenzt wird. Einige Regeln oder Geschäftspolitiken können die Deaktivierung unerwünschter oder zusätzlicher Dienste, wie z.B. SSH, erforderlich machen.

Indem Sie die Schritte befolgen, können Sie den SSH-Zugriff auf OPNsense deaktivieren:

  1. Navigieren Sie zu System > Settings > Administration.

  2. Deaktivieren Sie die Option Secure Shell aktivieren im Bereich Secure Shell.

    SSH-Verbindungen deaktivieren

    Abbildung 12. SSH-Verbindungen deaktivieren

Regelmäßige Sicherung und Schutz von Sicherungsdateien

Ein Software- oder Hardwareausfall, ein vom Menschen verursachtes Ereignis oder sogar Naturkatastrophen wie Überschwemmungen, Brände, Erdbeben oder Tornados könnten zu einem vollständigen Systemausfall führen. Und manchmal ereignen sich unglückliche Ereignisse, wenn wir sie am wenigsten erwarten oder am wenigsten darauf vorbereitet sind. Das Backup der Daten macht sie im Falle eines Datenverlusts oder einer Datenbeschädigung zugänglich. Sie können Daten aus einem früheren Zeitraum nur abrufen, wenn Sie ein Backup haben.

Um die Systemdaten zu sichern und deren Zugänglichkeit zu gewährleisten, müssen Sie regelmäßig ein Backup Ihres OPNsense erstellen. Um die Sicherheit Ihrer OPNsense zu erhöhen, müssen Sie Ihre Backup-Dateien schützen.

Wie man die Konfiguration manuell sichert/wiederherstellt?

Sie können Ihre OPNsense-Konfiguration manuell sichern, indem Sie die folgenden Schritte befolgen:

  1. Navigieren Sie zu System > Configuration > Backups.

  2. Sie können die Option Encrypt this configuration file aktivieren. Wenn Sie diese Option auswählen, füllen Sie die Felder Passwort und Bestätigung mit einem starken Passwort aus.

  3. Klicken Sie auf Download configuration, um die Konfigurationsdatei herunterzuladen.

    Backup OPNsense-Konfiguration manuell

    Abbildung 13. Manuelle Sicherung der OPNsense-Konfiguration

Sie können Ihre OPNsense-Konfiguration manuell aus einer Sicherungsdatei wiederherstellen, indem Sie die folgenden Schritte befolgen:

  1. Navigieren Sie zu System > Configuration > Backups.

  2. Wählen Sie den Restore Area, wie z.B. Alle, um die vollständige Konfiguration zu speichern.

  3. Klicken Sie auf Choose File*, um die Sicherungsdatei auszuwählen.

  4. Sie können Konfigurationsdatei ist verschlüsselt. auswählen und das während der Sicherungsoperation verwendete Verschlüsselungskennwort eingeben.

    Wiederherstellung der OPNsense-Konfiguration manuell

    Abbildung 14. Wiederherstellung der OPNsense-Konfiguration manuell

    tipp

    Vollständige oder inkrementelle Wiederherstellungen aus Backups sind möglich. Aufgrund der Interdependenz der Konfigurationsteile ist es am besten, die gesamte Konfiguration wiederherzustellen, anstatt nur einzelne Teile.

Sie können die Änderungen an Ihren Einstellungen sehen und sogar zu einer vorherigen Version zurückkehren, indem Sie die folgenden Schritte ausführen:

  1. Navigieren Sie zu System > Configuration > History.

  2. Wählen Sie die ältere Konfiguration aus der linken Spalte der Auswahlmöglichkeiten aus, und wählen Sie dann die aktualisierte Konfiguration aus der rechten Spalte aus.

    Anzeigen von OPNsense-Konfigurationsunterschieden

    Abbildung 15. Anzeigen von OPNsense-Konfigurationsunterschieden

  3. Klicken Sie auf die Schaltfläche View differences, um die Änderungen zwischen den beiden zu sehen.

    Anzeigen der OPNsense-Konfigurationshistorie

    Abbildung 16. Anzeigen der OPNsense-Konfigurationshistorie

    tipp

    Die Wahl der Anzahl der zu behaltenden Backups aus dieser Option ist nützlich, wenn ein höherer Prüfstandard erforderlich ist.

Wie man die Konfiguration automatisch sichert?

Sie können ein Cronjob-Skript verwenden, um den Backup-Prozess zu automatisieren.

  1. Installieren Sie das Plugin os-api-backup.

    Installation des os-api-backup-Plugins

    Abbildung 17. Installation des os-api-backup-Plugins

  2. Gehen Sie zu System > Access > Groups im OPNsense WebUI.

    Navigationssystem > Zugriff > Gruppen

    Abbildung 18. Navigationssystem > Zugriff > Gruppen

  3. Klicken Sie auf die Schaltfläche Add mit +, um eine neue Gruppe mit eingeschränkten Rechten zu erstellen.

  4. Geben Sie einen Group name ein, wie z.B. backup.

  5. Geben Sie einen beschreibenden Namen in das Feld Description ein.

    Hinzufügen der Backup-API-Gruppe

    Abbildung 19. Hinzufügen der Backup-API-Gruppe

  6. Klicken Sie auf Save.

  7. Klicken Sie auf die Schaltfläche Edit mit dem Stiftsymbol, um die neu erstellte Gruppe zu bearbeiten.

  8. Klicken Sie auf die Schaltfläche Edit mit dem Stiftsymbol im Bereich Zugewiesene Berechtigungen.

    Bearbeiten der zugewiesenen Berechtigungen der Backup-API-Gruppe

    Abbildung 20. Bearbeiten der zugewiesenen Berechtigungen der Backup-API-Gruppe

  9. Geben Sie Backup API in das Suchfeld ein und aktivieren Sie "Backup API" in der Liste. Lassen Sie die restlichen Optionen deaktiviert.

    Speichern von Backup-API-Systemberechtigungen

    Abbildung 21. Speichern der Systemprivilegien der Backup-API

  10. Klicken Sie auf Save. Dies wird die Berechtigungseinstellungen speichern und Sie zurück zu den Gruppeneinstellungen bringen.

  11. Klicken Sie auf Save, um die Einstellungen zu aktivieren.

  12. Gehen Sie zu System > Access > Users im OPNsense WebUI, um einen neuen Benutzer zu erstellen.

  13. Klicken Sie auf die Schaltfläche Add mit einem +-Symbol, um einen Benutzer hinzuzufügen.

  14. Setzen Sie den Username, wie z.B. backup

  15. Setzen Sie ein starkes Passwort.

Hinzufügen eines Backup-Benutzers

Abbildung 22. Hinzufügen eines Backup-Benutzers

  1. Setzen Sie die Gruppenmitgliedschaft des Benutzers, indem Sie die Gruppe backup auswählen.

Festlegen der Gruppenmitgliedschaft

Abbildung 23. Gruppenmitgliedschaft festlegen

  1. Klicken Sie auf die Schaltfläche Save & go back.

  2. Bearbeiten Sie den neu erstellten Backup-Benutzer, indem Sie auf die Edit-Schaltfläche mit dem Stiftsymbol klicken.

  3. Scrollen Sie nach unten zum Abschnitt API keys.

    Hinzufügen des Backup-API-Schlüssels

    Abbildung 24. Hinzufügen des Backup-API-Schlüssels

  4. Klicken Sie auf die Schaltfläche Add mit einem +-Symbol, um einen neuen Schlüssel hinzuzufügen. Dies wird einen API-Schlüssel erstellen und ein Dialogfeld öffnen.

  5. Klicken Sie auf Save, um die kleine Textdatei mit einem API-Schlüssel und einem Geheimnis herunterzuladen, die Sie an einem sicheren Ort aufbewahren sollten.

    Herunterladen des Backup-API-Schlüssels

    Abbildung 25. Herunterladen des Backup-API-Schlüssels

  6. Klicken Sie auf Save and go back.

  7. Schreiben Sie das folgende Skript auf einer entfernten Linux- oder BSD-basierten Maschine mit Ihrem bevorzugten Texteditor:

    #!/bin/bash
    KEY="api_key"
    SECRET="api_secret"
    HOST="opnsense_hostname"
    PATH="/path/to/backups"

    curl -s -k -u $KEY:$SECRET https://$HOST/api/backup/backup/download \
    -o $PATH/opnsense-config-$(date +%Y%m%d).xml

    find $PATH/ -type f -name '*.xml' -mtime +30 -exec rm {} \;

    Vergessen Sie nicht, die Variablenwerte gemäß Ihren Einstellungen zu aktualisieren.

    Dieses Skript speichert Sicherungsdateien mit dem Namen "opnsense-config-yyyymmdd.xml" und löscht alles, was älter als 30 Tage ist.

    hinweis

    Sie können auch ein anderes fortgeschrittenes Backup-Skript unter https://codeberg.org/SWEETGOOD/andersgood-opnsense-scripts/src/branch/main/backup-opnsense-via-api.sh verwenden.

  8. Richten Sie einen Cron-Job ein, um dies nach Ihrem gewünschten Zeitplan auszuführen, und Sie sind fertig.

Configure OPNsense for High Availability

For hardware failover, OPNsense uses the Common Address Redundancy Protocol or CARP. A failover group is set up with two or more firewalls. If a main interface breaks or the primary goes offline totally, the secondary becomes operational. Using high-availability capability of OPNsense produces a completely redundant firewall with smooth failover. While switching to the backup network, customers experience minimal disruption to their network connections. You may easily configure high availability on your OPNsense.

Disable root Access for the WebGUI

The default login after installing OPNsense is the root user. Because the root user has complete access to files and processes, it is typically not recommended to log in as root. Users of Linux, for example, are prompted to create a distinct user account after installation. The user can then use sudo to boost their privileges and carry out administrative activities. Theoretically, even if the user account is compromised, the root account is still safe (assuming there is no privilege escalation vulnerability being exploited or the password has been discovered). There is an option inside OpenSSH to prevent root access to the SSH server. It disables immediate log in as the root user as a security measure. OPNsense, which is based on FreeBSD (HardenedBSD, to be precise), does not deviate from this advice.

To disable the root access you may follow the next steps listed below:

  1. Navigate to the System > Settings > Administration.

  2. Uncheck Permit User Login option in the Secure Shell pane.

    Deaktivierung des Root-Zugriffs

    Figure 26. Deaktivierung des Root-Zugriffs

Zugriff auf das Verwaltungsportal einschränken

Die Verwendung eines Management-Netzwerks, um administrativen Zugriff auf Ihre Netzwerkgeräte zu erhalten, hat zahlreiche Vorteile:

  • Zuverlässigkeit: Wenn das Management-Traffic vom Produktions- oder Geschäftstraffic getrennt ist, kann der Management-Zugang während der Neugestaltung des Produktionsnetzwerks aufrechterhalten werden, da er nicht um Ressourcen konkurrieren muss.

  • Einfachere Richtlinien: Durch die Trennung des Managements vom Produktionsverkehr lassen sich Richtlinien leichter umsetzen. Richtlinien mit spezifischen Zwecken sind leichter zu verstehen und zu beheben.

  • Sicherheit: Wenn der Verwaltungszugriff auf Netzwerkgeräte in einem anderen Netzwerk erfolgt, ist der Zugriff auf diese Geräte im Produktionsnetzwerk schwieriger.

Alle administrativen Zugriffe sollten auf eine einzige Schnittstelle oder VLAN-Schnittstelle im Verwaltungsnetzwerk beschränkt werden. Alle anderen Schnittstellen sollten den administrativen Zugriff deaktiviert haben. Um dies in OPNsense zu tun, würden Sie Firewall-Regeln verwenden, wobei zu beachten ist, dass standardmäßig alle eingehenden Verbindungen (außer der LAN-Schnittstelle) abgelehnt werden (implizite Ablehnung).

IPS/IDS aktivieren

Intrusion Detection and Prevention Systeme (IDPS) sollten in OPNsense zur Härtung aktiviert werden, da sie der Firewall eine zusätzliche Schutzschicht bieten, indem sie feindliche oder unbefugte Netzwerkaktivitäten erkennen und blockieren. IDPS-Systeme identifizieren Bedrohungen und verhindern, dass sie ihre beabsichtigten Ziele erreichen, indem sie Ansätze wie signaturbasierte Erkennung, anomaliebasierte Erkennung und reputationsbasierte Erkennung verwenden. Durch die Aktivierung von IDPS in OPNsense verteidigen Unternehmen proaktiv ihr Netzwerk gegen Bedrohungen und verringern die Wahrscheinlichkeit von Datenverletzungen und anderen Sicherheitsproblemen. Sie finden die Details zur Aktivierung von IPS auf der OPNsense-Handbuchseite: https://docs.opnsense.org/manual/ips.html

Benachrichtigungen für Änderungen erstellen

Änderungsmanagement-Benachrichtigungen sind für die Härtung von Firewalls unerlässlich, da sie eine transparente Aufzeichnung aller Konfigurationsänderungen bieten. Dies hilft sicherzustellen, dass keine illegalen Änderungen vorgenommen werden, und erleichtert die Erkennung und Behebung von Problemen, die als Folge von Änderungen auftreten können. Darüber hinaus können Änderungsmanagement-Benachrichtigungen Unternehmen dabei helfen, gesetzliche Verpflichtungen zu erfüllen und im Falle eines Sicherheitsproblems die gebotene Sorgfalt zu demonstrieren. Durch die Bereitstellung eines klaren Protokolls der Änderungen erleichtern Change-Management-Warnungen das Debuggen und die Wiederherstellung einer vorherigen Konfiguration, falls erforderlich, und mindern die Auswirkungen möglicher Probleme.

Zu Überwachungszwecken verwendet OPNsense das Monit-Framework. Angesichts der Breite von Monits Überwachungsfunktionen ist es nicht überraschend, dass die Einrichtungsmöglichkeiten des Tools ebenso flexibel sind.

Monit ist ein Programm, das unter anderem Ihre Dateisysteme, Laufwerke, Prozesse und das System überprüft. Es läuft auf dem OPNsense-Firewall-Host und liefert Nachrichten oder führt Aktionen als Reaktion auf eine Vielzahl von Ereignissen aus.

Zuerst müssen Sie auswählen, was Sie überwachen möchten und wie ein Fehler aussieht. Es ist vorteilhaft zu verstehen, wie Monit-Warnungen konfiguriert sind.

Was ist M/Monit?

M/Monit ist eine IT-Infrastrukturüberwachungs- und -managementlösung, die automatisch und proaktiv arbeitet. M/Monit ist in der Lage, eine Vielzahl von Computersystemen zu überwachen und zu verwalten, routinemäßige Wartungsarbeiten und Reparaturen automatisch durchzuführen und im Falle eines Problems geeignete Maßnahmen zu ergreifen.

Alle Ihre Hosts und Dienste können mit M/Monit verwaltet und überwacht werden, da es Monit als Agent verwendet. Wenn ein Dienst nicht läuft, kann M/Monit seinen Start initiieren; wenn er nicht mehr reagiert, kann er neu gestartet werden; und wenn er zu viele Systemressourcen verbraucht, kann M/Monit ihn anhalten.

Achten Sie auf Änderungen an den Dateisystemen, Verzeichnissen, Dateien, Prozessen und anderen Systemeigenschaften Ihrer Hosts. Wenn ein Wert von einem vorgegebenen Schwellenwert abweicht, kann eine Warnung ausgelöst und eine vordefinierte Maßnahme ergriffen werden.

Alle Daten der überwachten Systeme werden gesammelt und in einem zentralen Repository aufbewahrt. Die gesammelten Daten können mithilfe von Drill-Down- und Filterfunktionen erkundet werden. Diagramme und Tabellen werden automatisch mit dem neuesten Status und den Ereignissen aller überwachten Systeme aktualisiert.

Was sind die Vorteile von M/Monit?

Monit bietet die folgenden Vorteile:

  • Einfach zu bedienen: Im Gegensatz zu anderen Lösungen benötigt M/Monit keine umfangreiche Konfiguration oder die Installation zusätzlicher Drittanbieter-Software.

  • Verbesserte Betriebszeit: Die Betriebszeit Ihrer Computersysteme wird sich verbessern, da M/Monit in der Lage ist, Problem-Szenarien automatisch zu bewältigen, in vielen Fällen ohne menschliches Eingreifen.

  • Intuitive Benutzeroberfläche: Monits Benutzeroberfläche ist intuitiv und gut gestaltet, was es zu einer guten Wahl macht, egal ob Sie zwei Hosts oder tausend überwachen müssen.

  • Open-Source: Der gesamte Quellcode und das Build-System stehen zur Überprüfung zur Verfügung. Das M/Monit-Framework umfasst auch frei verfügbare Open-Source-Software.

  • Kosteneffektiv: Im Austausch gegen eine einmalige Gebühr erhalten Sie einen dauerhaften Zugang zu einer M/Monit-Lizenz. Im Vergleich zu vergleichbaren kommerziellen Systemen sind die Kosten vernachlässigbar, und der Zeitaufwand ist im Vergleich zu einer gleichwertigen Open-Source-Lösung gering.

  • Skalierbare Anwendung: Der M/Monit-Anwendungsserver ist eine hochmoderne Option, die sowohl klein als auch erweiterbar ist. Hohe Leistung wird durch die Verwendung von Thread-Pools und einer ereignisgesteuerten, nicht blockierenden I/O-Architektur erreicht. M/Monit ist mit allen POSIX-Systemen kompatibel und benötigt nur etwa 10 MB Speicher. Ein Verbindungspool, der mit MySQL, PostgreSQL und SQLite kommunizieren kann, verwaltet den Zugriff auf die Datenbank.

Wie aktiviert und konfiguriert man Monit?

Um Monit für die OPNsense-Überwachung zu aktivieren und zu konfigurieren, können Sie die folgenden Schritte ausführen:

  1. Navigieren Sie zu Dienste > Monit > Settings im OPNsense-Web-UI.

  2. Aktivieren Sie Monit, indem Sie das Kontrollkästchen Enable Monit anklicken.

  3. Stellen Sie den Port des Mailservers in der Option Mail Server Port ein. Typischerweise können Sie 465 für SSL oder 25 für TLS und unsichere Verbindungen einstellen.

  4. Geben Sie Ihre E-Mail-Adresse in das Feld Mail Server Username zur Authentifizierung ein.

  5. Geben Sie Ihr E-Mail-Passwort in das Feld Mail Server Password zur Authentifizierung ein.

  6. Sie können die Verschlüsselung für die Kommunikation mit dem Mail-Server aktivieren, indem Sie auf die Option Mail Server SSL Connection klicken.

    Aktivierung des Monit-Dienstes

    Abbildung 27. Aktivierung des Monit-Dienstes

  7. Klicken Sie auf Apply, um die Einstellungen zu aktivieren.

  8. Um den Monit-Dienst zu starten, klicken Sie auf die Start-Schaltfläche in der oberen rechten Ecke der Seite.

    Starten des Monit-Dienstes

    Abbildung 28. Starten des Monit-Dienstes

  9. Um den Status des Monit-Dienstes anzuzeigen, navigieren Sie zu Services > Monit > Status. Sie sollten sehen, dass das Status-Feld OK ist.

    Sie können alle allgemeinen Einstellungen anzeigen, indem Sie auf die Option advanced mode auf der Seite General Settings klicken.

    EinstellungBeschreibung
    Monit aktivierenSchaltet Monit ein oder aus.
    AbfrageintervallWie oft Monit den Zustand der überwachten Elemente überprüft.
    StartverzögerungZeit in Sekunden, bevor Monit nach dem Starten beginnt, seine Komponenten zu überprüfen.
    Mail-ServerEine Liste von Mail-Servern, an die Benachrichtigungen gesendet werden sollen.
    Mail-Server-PortDer zu verwendende Mail-Server-Port.25 und 465 sind gängige Beispiele.
    BenutzernameDer Benutzername, der zum Anmelden an Ihrem SMTP-Server verwendet wird, falls erforderlich. Oft, aber nicht immer, dasselbe wie Ihre E-Mail-Adresse.
    PasswortDas Passwort, das zum Anmelden an Ihrem SMTP-Server verwendet wird, falls erforderlich.
    Sichere VerbindungVerwenden Sie TLS, wenn Sie sich mit dem Mailserver verbinden.
    SSL-VersionDie zu verwendende TLS-Version. AUTO wird versuchen, eine funktionierende Version auszuhandeln.
    SSL-Zertifikate überprüfenÜberprüft die Gültigkeit des TLS-Zertifikats. Wenn Sie ein selbstsigniertes Zertifikat verwenden, schalten Sie diese Option aus.
    ProtokolldateiDie Protokolldatei des Monit-Prozesses. Dies kann das Schlüsselwort syslog oder ein Pfad zu einer Datei sein.
    StatusdateiDie Statusdatei des Monit-Prozesses.
    Eventqueue-PfadDer Pfad zum Eventqueue-Verzeichnis.
    Eventqueue-SlotsDie Anzahl der Eventqueue-Slots.
    HTTPD aktivierenAktiviert die Monit-Weboberfläche.
    Monit HTTPD-PortDer Listenport des Monit-Weboberflächendienstes.
    Monit HTTPD-ZugriffslisteDer Benutzername:Passwort oder Host/Netzwerk usw. zum Zugriff auf den Monit-Weboberflächendienst.
    M/Monit-URLDie M/Monit-URL, z.B. https://user:[email protected]:8443/collector
    M/Monit-TimeoutSetzt das Timeout für Anfragen an M/Monit auf diesen Wert in Sekunden.
    M/Monit-RegistrierungsanmeldeinformationenDie Registrierung in M/Monit erfolgt automatisch durch die Übertragung der Monit-Anmeldeinformationen.
    info

    Es können mehrere Server in das Feld "Mail-Server" eingegeben werden. Beim Senden einer E-Mail wird Monit versuchen, sich nacheinander mit jedem Mail-Server zu verbinden, beginnend mit dem ersten und zum zweiten übergehend, wenn der erste fehlschlägt. Es werden keine weiteren Versuche unternommen, die E-Mail von Monit zu senden, wenn kein funktionierender Server gefunden wird.

    Um Informationen von mehreren Instanzen von Monit zu aggregieren, bietet M/Monit einen kostenpflichtigen Dienst an. Füllen Sie die erforderlichen Daten aus und fügen Sie die notwendigen Firewall-Regeln hinzu, um es über OPNsense nutzen zu können.

  10. Geben Sie From: [email protected] in das Feld "Mail-Format" ein, wenn Ihr Mail-Server das "From"-Feld korrekt konfiguriert haben muss.

  11. Setzen Sie die neuen Einstellungen in Kraft und Save Sie den Alarm.

Der Monit-Daemon wird mit dem os-monit-Plugin konfiguriert. Installieren Sie das os-monit-Plugin, bevor Sie Monit verwenden. Als Abhängigkeit installiert es das monit-Paket.

Laden Sie die GUI neu, wenn die Installation abgeschlossen ist, und navigieren Sie zu Dienste->Monit->Einstellungen.

Der erste Schritt besteht darin, sicherzustellen, dass der Plugin-Installer Ihre System->Benachrichtigungseinstellungen erfolgreich importiert hat. Dann schau dir die anderen Tabs an. Der Installer hat einige gängige Einträge hinzugefügt, um Ihnen den Einstieg zu erleichtern.

Um ein Überwachungssystem einzurichten, erstellen Sie zuerst Servicetests, dann zu überprüfende Dienste und schließlich Alarme.

Beginnen Sie mit den Einstellungen für den Servicetest. Eine Bedingung und eine Aktion sind beide Teil eines Tests. Es ist möglich, es einem oder mehreren Diensten zuzuweisen. Die Monit-Dokumentation enthält Beispiele für mögliche Tests. Entfernen Sie einfach die WENN- und DANN-Anweisungen, um es zu verwenden.

Der nächste Schritt besteht darin, Dienstprüfungen einzurichten. Je nach Art des Dienstes müssen wir eine Route, Start-/Stopp-Skripte angeben und bereits etablierte Tests zuweisen. Die gleichen Tests könnten verschiedenen Serviceüberprüfungen zugewiesen werden.

Auf der Seite der Benachrichtigungseinstellungen können Sie auswählen, wer Benachrichtigungen für bestimmte Ereignisse erhält und wer nicht.

Sie können den E-Mail-Text auch formatieren. Betreff: $SERVICE auf $HOST ist am $DATE fehlgeschlagen