OPNsense Sicherheits- und Härtungs-Best-Practice-Leitfaden
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
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
: Dasopnsense-update
-Dienstprogramm bietet integrierte Kernel- und Basissystem-Updates durch remote erworbene Binärsätze, zusätzlich zu Paket-Updates überpkg
. Die Syntax des Befehlsopnsense-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
: Dasopnsense-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. Dieautomatic
- undvital
-Paket-Flags werden auf ihre erwarteten Einstellungen zurückgesetzt. Die Optionen desopnsense-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
: Dieopnsense-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 desopnsense-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:
-
Verbinden Sie Ihren OPNsense-Knoten über SSH oder Konsole.
-
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: -
Geben Sie
3
ein, um die Option3) 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: -
Drücken Sie
y
zur Bestätigung. -
Geben Sie ein neues Passwort ein.
-
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:
-
Verbinden Sie Ihren OPNsense-Knoten über Ihren bevorzugten Browser.
-
Melden Sie sich mit den Standard-Root-Anmeldeinformationen an. Die Standard-Anmeldeinformationen sind "root" und "opnsense".
-
Navigieren Sie zu System > Access > Users.
Abbildung 1. Systembenutzereinstellungen in OPNsense
-
Klicken Sie auf die Schaltfläche „Bearbeiten“ mit dem Stiftsymbol neben dem Benutzer „root“.
-
Geben Sie ein neues Root-Passwort in das Feld Password ein.
Abbildung 2. Neues Root-Passwort auf OPNsense festlegen
-
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:
-
Generieren Sie den MaxMind GeoIP-Lizenzschlüssel
-
Definiere GeoIP-Alias
-
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.
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.
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.
Abbildung 4. MaxMind Verwaltung von Lizenzschlüsseln
Hier können Sie einen neuen Schlüssel erstellen, ihn beschreiben und überprüfen.
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:
-
Navigieren Sie zu Firewall > Aliases > GeoIP Settings.
Abbildung 6. GeoIP Alias-Einstellungen auf OPNsense
-
Geben Sie
https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-Country-CSV&license_key=YOUR_LICENSE_KEY&suffix=zip
ein, wobeiYOUR_LICENSE_KEY
Ihr neu generierter MaxMind-Lizenzschlüssel im URL-Feld ist. -
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.
Abbildung 7. Herunterladen der MaxMind GeoIP-Datenbank
-
Wechseln Sie zurück zur Registerkarte Aliases in der OPNsense-Weboberfläche.
-
Klicken Sie auf die Schaltfläche Add mit dem
+
-Symbol, um ein Alias zu erstellen. -
Geben Sie einen beschreibenden Namen ein, wie zum Beispiel
Nordkorea
im Feld Name ein. -
Wählen Sie GeoIP aus dem Dropdown-Menü Type. Sie können sowohl
IPv4
als auchIPv6
auswählen. -
Sie können das Feld Category leer lassen oder eine Kategorie auswählen, wenn Sie zuvor eine definiert haben.
Abbildung 8. Aktivierung des GeoIP-Alias
-
Wählen Sie Korea (North) im Dropdown-Menü Countries neben der Region
Asien
. -
Sie können das Kontrollkästchen Statistics aktivieren, um eine Reihe von Zählern für jeden Tabelleneintrag zu führen.
-
Geben Sie einen beschreibenden Namen ein, wie zum Beispiel
Block North Korea
im Feld Description.Abbildung 9. Hinzufügen eines Alias für die Länderblockierung
-
Klicken Sie auf Save, um das Alias zu speichern.
Abbildung 10. Anwendung des GeoIP-Alias
-
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:
-
Navigieren Sie zu Firewalls > Rules > WAN.
-
Klicken Sie auf die Schaltfläche Hinzufügen mit dem
+
-Symbol, um eine Regel hinzuzufügen. -
Wählen Sie Block in der Option Action.
-
Wählen Sie den neu definierten Alias, wie zum Beispiel
NorthKorean
, im Feld Source aus. -
Geben Sie einen beschreibenden Namen ein, wie
GeoIP-Blockierung
im Feld Description. -
Sie können die anderen Optionen als Standard belassen.
-
Klicken Sie auf Save
Abbildung 11. Anwendung der GeoIP-Firewall-Regel
-
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:
-
Navigieren Sie zu System > Settings > Administration.
-
Deaktivieren Sie die Option
Secure Shell aktivieren
im Bereich Secure Shell.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:
-
Navigieren Sie zu System > Configuration > Backups.
-
Sie können die Option Encrypt this configuration file aktivieren. Wenn Sie diese Option auswählen, füllen Sie die Felder
Passwort
undBestätigung
mit einem starken Passwort aus. -
Klicken Sie auf Download configuration, um die Konfigurationsdatei herunterzuladen.
Abbildung 13. Manuelle Sicherung der OPNsense-Konfiguration
Sie können Ihre OPNsense-Konfiguration manuell aus einer Sicherungsdatei wiederherstellen, indem Sie die folgenden Schritte befolgen:
-
Navigieren Sie zu System > Configuration > Backups.
-
Wählen Sie den Restore Area, wie z.B.
Alle
, um die vollständige Konfiguration zu speichern. -
Klicken Sie auf Choose File*, um die Sicherungsdatei auszuwählen.
-
Sie können
Konfigurationsdatei ist verschlüsselt.
auswählen und das während der Sicherungsoperation verwendete Verschlüsselungskennwort eingeben.Abbildung 14. Wiederherstellung der OPNsense-Konfiguration manuell
tippVollstä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:
-
Navigieren Sie zu System > Configuration > History.
-
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.
Abbildung 15. Anzeigen von OPNsense-Konfigurationsunterschieden
-
Klicken Sie auf die Schaltfläche View differences, um die Änderungen zwischen den beiden zu sehen.
Abbildung 16. Anzeigen der OPNsense-Konfigurationshistorie
tippDie 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.
-
Installieren Sie das Plugin
os-api-backup
.Abbildung 17. Installation des os-api-backup-Plugins
-
Gehen Sie zu System > Access > Groups im OPNsense WebUI.
Abbildung 18. Navigationssystem > Zugriff > Gruppen
-
Klicken Sie auf die Schaltfläche Add mit
+
, um eine neue Gruppe mit eingeschränkten Rechten zu erstellen. -
Geben Sie einen Group name ein, wie z.B. backup.
-
Geben Sie einen beschreibenden Namen in das Feld Description ein.
Abbildung 19. Hinzufügen der Backup-API-Gruppe
-
Klicken Sie auf Save.
-
Klicken Sie auf die Schaltfläche Edit mit dem Stiftsymbol, um die neu erstellte Gruppe zu bearbeiten.
-
Klicken Sie auf die Schaltfläche Edit mit dem Stiftsymbol im Bereich Zugewiesene Berechtigungen.
Abbildung 20. Bearbeiten der zugewiesenen Berechtigungen der Backup-API-Gruppe
-
Geben Sie
Backup API
in das Suchfeld ein und aktivieren Sie "Backup API" in der Liste. Lassen Sie die restlichen Optionen deaktiviert.Abbildung 21. Speichern der Systemprivilegien der Backup-API
-
Klicken Sie auf Save. Dies wird die Berechtigungseinstellungen speichern und Sie zurück zu den Gruppeneinstellungen bringen.
-
Klicken Sie auf Save, um die Einstellungen zu aktivieren.
-
Gehen Sie zu System > Access > Users im OPNsense WebUI, um einen neuen Benutzer zu erstellen.
-
Klicken Sie auf die Schaltfläche Add mit einem
+
-Symbol, um einen Benutzer hinzuzufügen. -
Setzen Sie den Username, wie z.B. backup
-
Setzen Sie ein starkes Passwort.
Abbildung 22. Hinzufügen eines Backup-Benutzers
- Setzen Sie die Gruppenmitgliedschaft des Benutzers, indem Sie die Gruppe
backup
auswählen.
Abbildung 23. Gruppenmitgliedschaft festlegen
-
Klicken Sie auf die Schaltfläche Save & go back.
-
Bearbeiten Sie den neu erstellten Backup-Benutzer, indem Sie auf die Edit-Schaltfläche mit dem Stiftsymbol klicken.
-
Scrollen Sie nach unten zum Abschnitt API keys.
Abbildung 24. Hinzufügen des Backup-API-Schlüssels
-
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. -
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.
Abbildung 25. Herunterladen des Backup-API-Schlüssels
-
Klicken Sie auf Save and go back.
-
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.
hinweisSie 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. -
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:
-
Navigate to the System > Settings > Administration.
-
Uncheck
Permit User Login
option in the Secure Shell pane.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:
-
Navigieren Sie zu Dienste > Monit > Settings im OPNsense-Web-UI.
-
Aktivieren Sie Monit, indem Sie das Kontrollkästchen Enable Monit anklicken.
-
Stellen Sie den Port des Mailservers in der Option Mail Server Port ein. Typischerweise können Sie
465
für SSL oder25
für TLS und unsichere Verbindungen einstellen. -
Geben Sie Ihre E-Mail-Adresse in das Feld Mail Server Username zur Authentifizierung ein.
-
Geben Sie Ihr E-Mail-Passwort in das Feld Mail Server Password zur Authentifizierung ein.
-
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.
Abbildung 27. Aktivierung des Monit-Dienstes
-
Klicken Sie auf Apply, um die Einstellungen zu aktivieren.
-
Um den Monit-Dienst zu starten, klicken Sie auf die Start-Schaltfläche in der oberen rechten Ecke der Seite.
Abbildung 28. Starten des Monit-Dienstes
-
Um den Status des
Monit
-Dienstes anzuzeigen, navigieren Sie zu Services > Monit > Status. Sie sollten sehen, dass das Status-FeldOK
ist.Sie können alle allgemeinen Einstellungen anzeigen, indem Sie auf die Option
advanced mode
auf der Seite General Settings klicken.Einstellung Beschreibung Monit aktivieren Schaltet Monit ein oder aus. Abfrageintervall Wie oft Monit den Zustand der überwachten Elemente überprüft. Startverzögerung Zeit in Sekunden, bevor Monit nach dem Starten beginnt, seine Komponenten zu überprüfen. Mail-Server Eine Liste von Mail-Servern, an die Benachrichtigungen gesendet werden sollen. Mail-Server-Port Der zu verwendende Mail-Server-Port.25 und 465 sind gängige Beispiele. Benutzername Der Benutzername, der zum Anmelden an Ihrem SMTP-Server verwendet wird, falls erforderlich. Oft, aber nicht immer, dasselbe wie Ihre E-Mail-Adresse. Passwort Das Passwort, das zum Anmelden an Ihrem SMTP-Server verwendet wird, falls erforderlich. Sichere Verbindung Verwenden Sie TLS, wenn Sie sich mit dem Mailserver verbinden. SSL-Version Die 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. Protokolldatei Die Protokolldatei des Monit-Prozesses. Dies kann das Schlüsselwort syslog oder ein Pfad zu einer Datei sein. Statusdatei Die Statusdatei des Monit-Prozesses. Eventqueue-Pfad Der Pfad zum Eventqueue-Verzeichnis. Eventqueue-Slots Die Anzahl der Eventqueue-Slots. HTTPD aktivieren Aktiviert die Monit-Weboberfläche. Monit HTTPD-Port Der Listenport des Monit-Weboberflächendienstes. Monit HTTPD-Zugriffsliste Der Benutzername:Passwort oder Host/Netzwerk usw. zum Zugriff auf den Monit-Weboberflächendienst. M/Monit-URL Die M/Monit-URL, z.B. https://user:[email protected]:8443/collector
M/Monit-Timeout Setzt das Timeout für Anfragen an M/Monit auf diesen Wert in Sekunden. M/Monit-Registrierungsanmeldeinformationen Die Registrierung in M/Monit erfolgt automatisch durch die Übertragung der Monit-Anmeldeinformationen. infoEs 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.
-
Geben Sie
From: [email protected]
in das Feld "Mail-Format" ein, wenn Ihr Mail-Server das "From"-Feld korrekt konfiguriert haben muss. -
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