Kategorie:OPNsense
OPNsense ist eine freie Firewall-Distribution auf Basis von FreeBSD und der Address Space Layout Randomization (ASLR) von HardenedBSD. OPNsense erlaubt die Benutzung der freien Kryptobibliothek LibreSSL, alternativ zum Standard OpenSSL (wählbar in der GUI). Die OPNsense Software steht unter der FreeBSD-Lizenz („2-clause BSD license“) und darf frei kopiert, verändert und verbreitet werden, auch für kommerzielle Projekte. Der Name leitet sich vom Suffix des Namens des Vorläufers pfSense ab.
Eigenschaften
- OPNsense kann auf Festplatten und CompactFlash-Karten installiert, sowie von Live CDs gestartet werden.
- OPNsense läuft auf einer Reihe von eingebetteten (embedded) Systemen, gewöhnlichen Personal Computern und als virtuelle Maschine.
- OPNsense bietet Eigenschaften, die oftmals nur von teuren kommerziellen Firewalls geboten werden.
- Mit Hilfe einer Webschnittstelle (Webinterface) kann OPNsense leicht konfiguriert werden und Updates sind komfortabel einzurichten, ohne dass genaue Kenntnisse des unterliegenden FreeBSD Betriebssystems erforderlich werden.
- Im Gegensatz zu vergleichbarer Open Source Firewall Software wie IPFire und pfSense bietet OPNsense Zwei-Faktor-Authentisierung.
- Seit OPNsense Version 19.1. kommt als Betriebssystem HardenedBSD in Version 11.2 zum Einsatz.
- Das OPNsense Project ist auf Code-Qualität, einfache Code-Entwicklung und freien Zugang zu den Build-Werkzeugen ausgelegt.
- Es wendet das Model View Controller Paradigma an.
Anwendungen
Geschichte
Das Projekt wurde am 2. Januar 2015 ins Leben gerufen. Das Projekt führt drei Gründe für seine Abspaltung an:
- Technische Gründe – klare, strukturierte Code-Basis, die von Entwicklern benutzt und gepflegt werden kann, soll entstehen
- Community (Gemeinschaft) – eine aktive, tragende Gemeinschaft von Anwendern und Entwicklern wird angestrebt
- Lizenz – OPNsense soll auf der bewährten 2-Klausel BSD Lizenz aufgebaut werden, die flexibel im gewerblichen und freien Umfeld eingesetzt werden kann
- Das OPNsense-Projekt wird von der niederländischen "Deciso B.V." finanziell und sachkundig unterstützt.
- Im November 2017 stellte ein Schiedsgericht der Weltorganisation für geistiges Eigentum fest, dass Netgate, der Urheber von pfSense, die Domain opnsense.com in böswilliger Absicht benutzt hatte, um OPNsense zu diskreditieren, und verpflichtete Netgate, die Domain an Deciso zu übertragen.
- Die Netgate-Partei versuchte, sich auf die Fair-Use-Klausel zu berufen und behauptete, dass der Domainname "für eine Parodie-Website verwendet wurde"; dies wurde mit der Begründung abgelehnt, dass die Meinungsfreiheit die Registrierung von Domainnamen nicht abdeckt.
Installation eines Routers mit OPNsense
Um einen Router zu erstellen benötigt man einen Computer mit zwei Netzwerkkarten und ein Bootmedium mit OPNsense.
- ein OPNsense VGA-Image von der Herstellerseite runterladen
- mit dem Befehl Disc-Dump auf einem Datenträger (Bootmedium) installieren
- den Datenträger in den Computer stecken und von diesem booten
- nachdem der PC hochgefahren ist, mit dem Login "installer" und dem Passwort "opnsense" anmelden
- Start des Installationsvorganges, zuerst zweimal bestätigen und dann auf "Guided installation" gehen
- eine Partition auswählen auf der OPNsense installiert wird und ein Installationsmodus (MBR mode)
- die "swap-Partition" bestätigen
- das Passwort des Benutzers "root" erstellen
- den Router neustarten
- die Installation ist jetzt abgeschlossen
- mit einem Gerät das im Netzwerk des OPNsense-Routers ist, kann man den Router im Webbrowser unter https://192.168.1.1 konfigurieren nach der Anmeldung startet der Einrichtungs-wizard
OPNsense
OPNsense ist eine Firewall-Distribution auf der Basis des Betriebssystems FreeBSD. Im Gegensatz zu den anderen vorgestellten Software-Komponenten ist OPNsense also ein eigenständiges Betriebssystem.
Im Schulnetzkonzept kommt OPNsense aber nicht nur die Aufgabe der Firewall zu. Vielmehr ist es die Kommunikationszentrale mit u. a. folgenden Aufgaben:* Firewall und NAT
- DNS-Server
- DHCP-Server
- NTP-Server
- Proxy-Server
- URL-Filter
- Reverse-Proxy
- Zertifikatsmanagement
- VPN-Server
Grundinstallation
siehe Netzwerke:Firewall:OPNsense:Grundinstallation
Netzwerkschnittstellen und grundlegende Firewall-Regeln
siehe Netzwerke:Firewall:OPNsense:Netzwerkschnittstellen und grundlegende Firewall-Regeln
Internetgeschwindigkeit
Netzwerke:Firewall:OPNsense:Internetgeschwindigkeit
Web-Proxy
siehe Netzwerke:Firewall:OPNsense:Web-Proxy
Webfilter
siehe Netzwerke:Firewall:OPNsense:Webfilter
Domänennamen
siehe Netzwerke:Firewall:OPNsense:Domänennamen
Installation und Konfiguration der automatisierten Zertifikatsverwaltung
Mit dem Let's-Encrypt-Plugin können Sie für Ihre Webdienste kostenlos gültige X.509-Zertifikate von der Zertifizierungsstelle Let's Encrypt generieren. Dies ermöglicht eine verschlüsselte Nutzung Ihrer Webdienste über https ohne Zertifikatswarnungen. Auch für verschlüsselte ldap-Anfragen an den Samba-Server können Let's-Encrypt-Zertifikate eingesetzt werden.
Installation und Konfiguration des acme-Plugins
Das Plugin muss zunächst über die Firmwareverwaltung installiert werden:
System / Firmware / Plugins / os-acme-client → Install
|
Grundkonfiguration
Services / Let's Encrypt / Settings* Haken bei: Enable Plugin
|
Anlage eines Let's-Encrypt-Kontos
Services / Let's Encrypt / Accounts → Add* Haken bei: enabled
|
Anlage einer Validierungsmethode
Services / Let's Encrypt / Validadtion Methods → Add* Haken bei: enabled
|
Anlage von Zertifikaten
Richten Sie für jeden Ihrer Webdienste - auch für jene, die nur innerhalb des Schulhauses erreichbar sein sollen - ein Zertifikat ein.
Beispiel für den Webdienst Nextcloud:
Services / Let's Encrypt / Certificates → Add* Haken bei: enabled
|
Den HAProxy für die Verwendung von Let's Encrypt konfigurieren
Durch die Angaben unter Settings und bei der Validierungsmethode http-01 hat das Let's-Encrypt-Plugin entsprechende Eintragungen im HAProxy vorgenommen. Überprüfen Sie deren Anwesenheit:
* HAProxy / Settings / Real Servers → acme_challenge_host
|
Stellen Sie sicher, dass im Public Service http_lan_wan die Regel redirect_acme_challenges an erster Stelle auftaucht. Sie können die Reihenfolge per Drag & Drop ändern:
HAProxy / Settings / Virtual Services / Public Services → http_lan_wan* Select Rules: redirect_acme_challenges (vor allen anderen Regeln)
|
Zertifikate generieren
Nachdem der HAProxy für die ACME-Challenge-Anfragen konfiguriert ist, können nun die Zertifikate generiert werden:
Services / Let's Encrypt / Certificates → Issue/Renew Certificates Now (bzw. Klick auf das Neu-Laden-Symbol neben jedem Zertifikat) |
Ob das Generieren der Zertifikate funktioniert hat, kann unter Services / Let's Encrypt / Log File nachverfolgt werden. Suchen Sie bei Problemen nach dem Schlagwort "error".
Zertifikate im HAProxy hinterlegen
Damit der HAProxy die mit Let's Encrypt generierten Zertifikate nun bei https-Anfragen bereitstellt, müssen diese bei den entsprechenden Public-Services hinterlegt werden:
Services / HAProxy / Settings / Virtual Services / Public Services / https_lan (Dienst für ausschließlich interne https-Anfragen)* SSL Offloading / Certificates: z. B. fog.ihre-schule.de, usermanagement.ihre-schule.de (Entfernen Sie das zuvor hinterlegte Zertifikat: Web GUI SSL certificate)
Services / HAProxy / Settings / Virtual Services / Public Services / https_lan_wan (Dienst für interne und externe https-Anfragen)* SSL Offloading / Certificates: z. B. nextcloud.ihre-schule.de, collabora.ihre-schule.de (Entfernen Sie das zuvor hinterlegte Zertifikat: Web GUI SSL certificate)
|
Besonderheit: Zertifikat für verschlüsselte ldap-Anfragen an den Samba-Server
Da der HAProxy die ldap-Anfragen nicht verarbeiten kann, wird der betroffene Port 636 für Anfragen von außen über eine NAT-Regel an den Samba-Server weitergeleitet:
Firewall / NAT / Port Forward→ Add* Interface: WAN
|
Die Zertifikatsgenerierung für ldap.ihre-schule.de soll aber trotzdem über das Let's-Encrypt-Plugin nach obigen Beispiel erfolgen.
Da der HAProxy die ldap-Anfragen aber nicht entgegennimmt, muss der Samba-Server selbst die Zertifikatsinformationen erhalten und ausgeben. Nachdem das Let's-Encrypt-Plugin das Zertifikat für ldap.ihre-schule.de generiert bzw. erneuert hat, soll es die Zertifikatsdateien also auf den Samba-Server kopieren. Hierzu sind die nachfolgenden Schritte erforderlich:
SSH-Kommunikation zwischen Samba-Server und OPNsense vorbereiten
Siehe hierzu die Beschreibung zum Samba-Server.
Skript zum Kopieren der Zertifikate
Damit nach einer Erneuerung des Zertifikats von ldap.ihre-schule.de durch das Let's-Encrypt-Plugin dieses auf dem LDAP-Server landet, ist ein Skript erforderlich, welches die Dateien von OPNsense auf den LDAP-Server kopiert, entsprechende Dateiberechtigungen setzt und den Domänen-Controller neu startet.
Dieses Skript wird in OPNsense so hinterlegt, dass es später an entsprechender Stelle in der Webmin-Oberfläche ausgewählt werden kann.
Achten Sie bei der Verwendung der nachfolgenden Datei auf die Verwendung der richtigen IP-Adresse und Pfade.
vi /usr/local/opnsense/service/conf/actions.d/actions_ldapserver.conf
Datei vi /usr/local/opnsense/service/conf/actions.d/actions_ldapserver.conf
[ldap-upload-certs] command:scp -i /root/.ssh/id_rsa_samba /var/etc/acme-client/home/ldap.ihre-schule.de/* root@10.1.100.7:/etc/samba/tls parameters: type:script message:copy certificates to ldap-server description:LDAP-Server - Copy Certificates
[ldap-restart-dc] command:ssh -i /root/.ssh/id_rsa_samba root@10.1.100.7 "chmod -R 0600 /etc/samba/tls && service samba-ad-dc restart" parameters: type:script message:restarting ldap-server-dc description:LDAP-Server - Restart DC
Damit das Skript im System zur Verfügung steht muss der Dienst configd neu gestartet werden:
service configd restart
Skript beim Let's-Encrypt-Zertifikat hinterlegen
Zunächst müssen die beiden Aktionen des Skriptes als Automatisierungsaufgaben im Let's-Encrypt-Plugin definiert werden:
Services / Let's Encrypt / Automation → Add* 1. Automatisierungsaufgabe
|
Anschließend werden die beiden Automatisierungsaufgaben dem Zertifikat ldap.ihre-schule.de zugeordnet.
Services / Let's Encrypt / Certificates / ldap.ihre-schule.de → edit* Automations (Achtung: Reihenfolge einhalten!)
|
Somit werden nach Erneuerung des Zertifikats für ldap.ihre-schule.de automatisch die Zertifikatsdateien auf den LDAP-Server kopiert und anschließend der DC-Dienst neu gestartet.= Installation und Konfiguration des OpenVPN-Servers =
Grundinstallation
Mithilfe des OpenVPN-Servers können Sie z. B. als Administrator von außen auf das interne Netzwerk zugreifen.
Für die Einrichtung des OpenVPN-Servers steht ein Wizard zur Verfügung, der auch die notwendigen Firewall-Einstellungen hinterlegt:
VPN / OpenVPN / Servers → Use a wizard to to setup a new server* Type of Server: Local User Access
|
Anlegen einer VPN-Gruppe
Durch Anlage einer Gruppe für den VPN-Zugriff, kann man folgende Festlegungen tätigen:* Berechtigung für die VPN-Einwahl nur für Mitglieder der Gruppe
- Beschränkung der OPNsense-Web-Oberfläche für die Gruppenmitglieder, sodass zugehörige Benutzer lediglich ihr eigenes Passwort ändern können
System / Access / Groups → Add* Group name: openvpnusers → Save
|
Anlegen von VPN-Benutzern
System / Access / Users → Add* Username: <gewünschter Benutzername>
|
Export der VPN-Zugangsdaten für angelegte User
VPN / OpenVPN / Client Export* Hostname: IP oder Dyndns-Adresse
|
Unterhalb der Einstellungsmöglichkeiten können für angelegte Benutzer deren individuellen Zugangsdaten heruntergeladen werden. Ggf. wählen Sie hierzu bei Export Type eine passende Downloadmöglichkeit.
Client-Installationsdateien und Konfigurationsdateien ausgeben
Nach Anlage eines VPN-Users können Sie diesem für sein System (z. B. Windows, Mac, ...) personalisierte Dateien für Installation und Konfiguration des OpenVPN-Clients aushändigen:
VPN / OpenVPN / Client Export
→ OpenVPN Clients→ Wahl der gewünschten Dateien des entsprechenden Users |
Links
- OPNsense Downloadseite
- OPNsense Dokumentation
- SSH-Consolen-Client Putty
- SCP-Dateitransfer-Client WinSCP
Quellen
Weblinks
Siehe auch
Unterkategorien
Diese Kategorie enthält die folgenden 11 Unterkategorien (11 insgesamt):
O
- OPNsense/Berichterstattung (leer)
- OPNsense/Energie (leer)
- OPNsense/Hardware (leer)
- OPNsense/Installation (5 S)
- OPNsense/IPv6 (1 S)
- OPNsense/Lobby (1 S)
- OPNsense/Schnittstellen (15 S)
- OPNsense/VPN (3 S)