Setup und Inbetriebnahme des Systems

Thomas Schmitt edited this page Dec 12, 2018 · 9 revisions

linuxmuster.net-Setup

Als Voraussetzung für das Setup muss die Firewall wie oben beschrieben eingerichtet sein und alle Appliances über das interne Netz verbunden sein und Internetverbindung haben.

  • Das Setup wird über den Befehl linuxmuster-setup gestartet. Es können sämtliche Setup-Werte als Kommandozeilenparameter übergeben werden:
    root@server:~# linuxmuster-setup -h
    Usage: linuxmuster-setup [options]
    [options] may be:
    -n <hostname>, --servername=<hostname> : Set server hostname.
    -d <domainname>, --domainname=<domainname> : Set domainname.
    -r <dhcprange>, --dhcprange=<dhcprange> : Set dhcp range.
    -o <opsiip>, --opsiip=<opsiip> : Set opsi ip.
    -k <dockerip>, --dockerip=<dockerip> : Set docker ip.
    -m <mailip>, --mailip=<mailip> : Set mailserver ip.
    -a <adminpw>, --adminpw=<adminpw> : Set admin password.
    -y <smtprelay>, --smtprelay=<smtprelay> : Set smtp relay.
    -t <smtpuser>, --smtpuser=<smtpuser> : Set smtp user.
    -p <smtppw>, --smtppw=<smtppw> : Set smtp user password.
    -e <schoolname>, --schoolname=<schoolname> : Set school name.
    -l <location>, --location=<location> : Set school location.
    -z <country>, --country=<country> : Set school country.
    -v <state>, --state=<state> : Set school state.
    -c <file>, --config=<file> : path to ini file with setup values
    -u, --unattended : unattended mode, do not ask questions
    -s, --skip-fw : skip firewall setup per ssh
    -h, --help : print this help

  • Außerdem ermöglicht der Parameter --config eine Ini-Datei mit Setupwerten anzugeben. Beispiel:
    [setup]
    servername = server
    domainname = linuxmuster.lan
    opsiip = 10.0.0.2
    dockerip = 10.0.0.3
    mailip = 10.0.0.3
    dhcprange = 10.0.0.100 10.0.0.200
    smtprelay = mbox.belwue.de
    smtpuser = smtp@schule.de
    smtppw = @pAssword!
    adminpw = @pAssword!
    schoolname = Linuxmuster
    location = Schönau
    country = DE
    state = BW
    skipfw = False

  • Zusammen mit dem Parameter --unattended kann mit beiden Optionen ein automatisches Setup gestartet werden.

  • linuxmuster-setup ohne Parameter aufgerufen, fragt zunächst alle benötigten Werte ab und richtet dann das System inklusive Firewall ein.

  • Um die Opsi- bzw. Docker-Appliance zu konfigurieren, gibt man einfach an der entsprechende Stelle im Setup die zuvor mit linuxmuster-prepare vergebenen IP-Adressen der Appliances ein:

  • Der Docker-Mailserver wird eingerichtet, wenn man beim Setup die IP der Appliance auswählt, auf der er gehostet werden soll:

    Es ist also auch möglich den Mailserver auf der Server-Appliance einzurichten.

  • Nach dem das Setup durchgelaufen ist, muss der Server neu gestartet werden.

  • Die Setupwerte werden unter /var/lib/linuxmuster/setup.ini gesichert.

  • Wichtig: Das Administrator-Passwort, das beim Setup eingegeben werden muss, wird auf allen Appliances als Rootpasswort und außerdem für den Benutzer global-admin gesetzt.

Firewall

Zustand nach dem Setup

  • Der Zugriff auf das OPNsense-Webgui geschieht z. Bsp. über die Adresse https://firewall.linuxmuster.lan (Domäne ggf. anpassen).
  • Das selbstsignierte Serverzertifikat muss akzeptiert werden.
  • Zugriff von außen ist gesperrt. Portweiterleitungsregeln unter Firewall NAT für ssh, https, ldaps, smtp sind angelegt aber nicht aktiviert. OPNsense NAT
  • Ebenso eine nicht aktive Regel Allow entire LAN unter Firewall | Regeln | LAN, die aus dem LAN uneingeschränkten Internetzugriff erlaubt. OPNsense Regeln LAN
  • Darüberhinaus ist eine NoProxy-Gruppe angelegt, die die ersten zehn IP-Adressen des LAN-Netzwerks und diejenigen der Server enthält. Für diese Gruppe ist eine aktive Regel vorhanden, die unbeschränkten Zugriff auf das Internet erlaubt. Eine IP-Adresse aus diesem Pool kann z.B. für einen Admin-PC verwendet werden, um die erste Einrichtung nach dem Setup durchführen zu können. OPNsense Edit Alias

Proxy-Authentifizierung

  • Clients können nur über den OPNsense-Webproxy ins Internet. Dieser muss im Clientbetriebssystem an der entsprechenden Stelle eingetragen werden:
    • Proxyadresse (muss mit FQDN eingetragen werden), z. Bsp. firewall.linuxmuster.lan:3128.
    • Für alle Protokolle (http, https, ftp).
    • Lokales Netz, localhost und Internetdomäne (z. Bsp. *.linuxmuster.net) ausnehmen.
  • Die Client-Browser müssen so konfiguriert sein, dass sie die Firewalleinstellungen des Systems verwenden.
  • Danach müssen sich die Nutzer für den Internetzugriff authentifizieren, falls man nicht wie unten beschrieben SSO aktiviert.
  • Zusätzliche AD-Gruppen zur Beschränkung des Internet-Zugangs können im Webgui unter System | Zugang | Server | linuxmuster | Erweiterte Abfrage eingetragen werden. Per Default sind alle User in der Gruppe internet, die zum Surfen berechtigt.

Single Sign-On aktivieren

Ab OPNsense 18.1 ist Single Sign-On (SSO) in der Firewall-Appliance vorkonfiguriert. Um es zu aktivieren so vorgehen:

  • Im ersten Schritt muss im OPNsense-Webinterface unter Dienste | Unbound DNS | Überbrückung der DNS-Dienst aktualisiert werden. Dazu einfach rechts oben die Aktualisierungsschaltfläche betätigen. OPNsense Proxy Reload DNS
  • Danach unter System | Zugang | Prüfer die Authentifizierung testen. Als Authentifizierungsserver linuxmuster auswählen falls noch nicht ausgewählt. OPNsense Authentifizierungsprüfer Geben Sie einfach einen gültigen Benutzernamen mit Passwort ein und betätigen Sie Test.
  • Ist der Test erfolgreich kann für den Web-Proxy SSO eingerichtet werden.
  • Dazu zunächst unter Dienste | Web-Proxy | Verwaltung sicherstellen, dass der Proxy-Dienst läuft: OPNsense Proxy-Verwaltung
  • Anschließend unter Dienste | Web-Proxy | Single Sign-On rechts oben den Reiter Kerberos Authentication auswählen.
  • Weiter unten auf der Seite im Bereich Key Table Creation im Feld AD admin login den User global-admin eintragen. Darunter das Admin-Passwort eingeben, das beim Setup vergeben wurde.
  • Die Schaltfläche Create Key Table bindet den Web-Proxy an das Samba-AD an. OPNsense Proxy-SSO
  • Ob SSO funktioniert kann man danach mit gültigen Accountdaten über die Schaltfläche Test Kerberos login prüfen.
  • Nach erfolgreichem Test können die Benutzer nach erfolgter Domänenanmeldung am Client ohne weitere Authentifizierung surfen.

Single Sign-On bei OPNsense 17.x nachrüsten (obsolet)

  • Zunächst ist die Firewall auf den aktuellen Versionsstand 18.1.x zu bringen:
    • im Web-UI unter System | Firmware | Aktualisierungen, oder
    • auf der Konsole im Menü Option 12 Upgrade from console wählen.
  • Nach dem fälligen Reboot muss der Server ins Firewall-DNS eingetragen werden, damit Servername- und IP vom Squid-SSO-Dienst aufgelöst werden können.
    • Unter Dienste | Unbound DNS | Überbrückung müssen eine Host- und eine Domänenüberschreibung eingerichtet werden.
      • Host-Überschreibung für den Server (Beispiel, Typ muss immer A sein, Beschreibungen wahlfrei):
        • Host: server
        • Domain: linuxmuster.lan
        • Typ: A
        • Wert: 10.0.0.1
        • Beschreibung: Server
      • Domänenüberschreibung für das Lan:
        • Domain: linuxmuster.lan
        • IP: 10.0.0.1
        • Beschreibung: linuxmuster.lan
      • Damit ist die Firewall in der Lage Hostnamen im Lan aufzulösen, was eine Voraussetzung für SSO ist.
  • Im nächsten Schritt muss das SSO-Plugin installiert werden:
    • Unter System | Firmware | Plugins den Eintrag os-web-proxy-sso suchen und durch Betätigen des +-Symbols installieren.
  • Danach wie im Abschnitt Single Sign-On aktivieren beschrieben vorgehen.

Serverzertifikate

Das Setup erzeugt eine CA und mit deren Root-Zertifikat selbstsignierte Serverzertifikate für Server und Firewall. Das Root-Zertifikat ist unter /etc/linuxmuster/ssl/cacert.crt abgelegt und kann auf den Clients importiert werden.
Der CA-Root-Key liegt unter /etc/linuxmuster/ssl/cakey.pem und ist mit einem Passwort gesichert, das unter /etc/linuxmuster/.secret/cakey abgelegt ist.

Testuser anlegen

Das Skript
/usr/share/linuxmuster/examples/create-testusers.py
legt die üblichen Verdächtigen an. Passwort ist für alle Testuser das beim Setup gesetzte Adminpasswort.

Domänenbeitritt

Der Domänenbeitritt kann mit dem User global-admin und dem beim Setup angegebenen Administrator-Passwort durchgeführt werden. Alternativ kann der Benutzer Administrator verwendet werden, dessen Passwort unter /etc/linuxmuster/.secret/administrator gespeichert ist.

Geräteimport

  • wird jetzt so aufgerufen:
    # linuxmuster-import-devices
  • Die Workstationsdatei für die Default-School liegt unter /etc/linuxmuster/sophomorix/default-school/devices.csv.
  • Ein Eintrag für einen Rechner muss z. Bsp so aussehen:
    r100;r100-pc01;win10-efi;00:50:56:3E:A5:7C;10.0.100.1;;;;computer;;2 Feld 9 enthält die Rolle des Geräts, Feld 10 ist reserviert/ungenutzt. Näheres siehe Manpage von devices.csv.

LDAP-Bind

LDAP/AD können mit der Benutzer-DN
CN=global-binduser,OU=Management,OU=GLOBAL,DC=linuxmuster,DC=lan abgefragt werden. Das Passwort ist unter /etc/linuxmuster/.secret/global-binduser abgelegt.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.