1.5.0 / 5.2.0🔗

Wichtig

Im nachfolgenden finden Sie wichtige Änderungen, die einen manuellen Eingriff erfordern können.

Fail2Ban🔗

Vorsicht

Zur Verbesserung der Serversicherheit wird mit dieser Puppet Version im ldhost der Dienst Fail2Ban installiert und künftig über Puppet verwaltet.

  • sollte der Fail2Ban-Dienst manuell aktiviert und konfiguriert worden sein, gehen Anpassungen der Konfiguration verloren

  • individuelle Anpassungen, wie z.B. die Aufnahme der eigenen IPs zur Einwahl auf der AllowList, müssen über Puppet erfolgen

  • der SSH-Dienst wird überwacht und bei zu vielen fehlerhaften Login-Versuchen werden die Quell-IP-Adressen gesperrt

Konfiguration des Fail2Ban-Dienstes🔗

Die ausgelieferte Konfiguration des Fail2Ban-Dienstes kann auf zwei verschiedene Arten und Weisen angepasst werden.

  1. Standard-Werte an eigene Bedürfnisse anpassen. Alle unterstützten Variablen können aus folgenden Dateien ermittelt und in der entsprechenden Datei /etc/logodidact/hiera.d/custom.d/ldhost.yaml

    angepasst werden:

    1. Modul-Variablen können 1:1 aus /var/lib/ld-puppet/env.d/logodidact/modules/ld_ssh/data/common.yaml Datei übernommen werden.

    2. Klassen-Variablen können aus /var/lib/ld-puppet/env.d/logodidact/modules/ld_ssh/manifests/server/fail2ban.pp Datei nach dem folgenden Schema übernommen werden:

      Klassen-Variable für den Fail2Ban-Dienst anpassen🔗
      ld_ssh::server::fail2ban::[variable]: '[value]'
      
      Beispiel: Fail2Ban deaktivieren🔗
      ld_ssh::server::fail2ban::enable: false
      
  2. Eigene Templates [5] verwenden. Kopieren Sie dazu die Dateien aus /var/lib/ld-puppet/env.d/logodidact/modules/ld_ssh/templates/etc/fail2ban nach /etc/logodidact/overrides/templates/ld_ssh/etc/fail2ban und passen diese Ihren Bedürfnissen an.

Graylog Container🔗

Vorsicht

Unterstützung für den Graylog-Dienst wurde eingestellt. Zusätzlich wird wegen Sicherheitslücke in log4j [1] dringend empfohlen den Container zu entfernen.

  1. In puppeteer muss der graylog-g1 Container entweder in der /etc/logodidact/hosts/ldhost/guest.conf oder /etc/logodidact/hiera/custom.d/ldhost.yaml deaktiviert werden.

  2. In puppeteer muss der Container mit puppet-master-remove-client graylog-g1 entfernt werden.

  3. In ldhost muss der Container mit lxc-destroy -f -n graylog-g1 entfernt werden.

  4. In ldhost müssen die DNS-Einträge mit prun angepasst werden.

Kopano Container🔗

Migration der MariaDB/MySQL Datenbank auf den dafür vorgesehen Container.

Wichtig

Die Migration von Kopano auf die neue Datenbank MariaDB 10.3 ist ebenfalls eine wichtige Voraussetzung für die künftige Umstellung auf Puppet 7. Bitte diese Datenbank-Umstellung nicht verwechseln mit derjenigen für LD Mobile 5 und MariaDB 10.5 Der Hersteller Kopano hat seine gleichnamige Groupware offiziell für die MariaDB Version 10.3 freigegeben, weshalb es hier bewusst einen neuen Container mariadb103 gibt.

  1. In puppeteer muss die Einstellung ld_kopano::db_server in der Datei /etc/logodidact/hiera/custom.d/kopano-g1.yaml wie folgt angepasst werden:

    ld_kopano::db_server: mariadb103
    
  2. In kopano-g1 und danach in mariadb103 muss prun ausführt werden.

  3. In ldhost muss die Migration der Daten wie folgt angestoßen werden:

    mariadb-migrate -d kopano -s mysql56 -t mariadb103
    

UniFi Container🔗

Wichtig

Wegen der Sicherheitslücke in log4j [4] werden nur noch die stable, 6.5 und höhere Versionen unterstützt und in den LogoDIDACT Repositories zur Verfügung gestellt.

SSH🔗

Vorsicht

Mit dieser Version übernimmt Puppet die komplette Verwaltung aller SSH Dienste [2].

  • alle Anpassungen der Konfiguration des SSH-Dienstes gehen verloren

  • alle verteilten SSH-Keys werden ungültig

  • Einwahl per Kennwort wird aktiviert

Vorsicht

Beenden Sie auf keinen Fall die SSH-Sitzung, in der Sie das Update ausgeführt haben, solange nachfolgende Punkte nicht abgearbeitet wurden.

  1. [OPTIONAL] Konfiguration des SSH-Dienstes an den aktuellen Puppet Stand anpassen

  2. [OPTIONAL] SSH-Keys an die richtige Stelle kopieren

  3. [ERFORDERLICH] prun im ldhost

  4. [ERFORDERLICH] Loggen Sie sich danach von einem anderen Terminal auf dem Server ein. Achten Sie darauf, dass keine ControlMaster-Verbindung [3] verwendet wird.

Konfiguration des SSH-Dienstes🔗

Die ausgelieferte Konfiguration des SSH-Dienstes kann auf zwei verschiedene Arten und Weisen angepasst werden.

  1. Standard-Werte an eigene Bedürfnisse anpassen. Alle unterstützten Variablen können aus folgenden Dateien ermittelt und in den entsprechenden /etc/logodidact/hiera.d/custom.yaml oder /etc/logodidact/hiera.d/custom.d/[hostname].yaml Dateien angepasst werden:

    1. Modul-Variablen können 1:1 aus /var/lib/ld-puppet/env.d/logodidact/modules/ld_ssh/data/common.yaml Datei übernommen werden.

    2. Klassen-Variablen können aus /var/lib/ld-puppet/env.d/logodidact/modules/ld_ssh/manifests/server.pp Datei nach dem folgenden Schema übernommen werden:

      Klassen-Variable für den SSH-Dienst anpassen🔗
      ld_ssh::server::[variable]: '[value]'
      
      Beispiel: Authentifizierung per Kennwort deaktivieren🔗
      ld_ssh::server::auth_passwd: false
      
  2. Eigenes Template [5] verwenden. Kopieren Sie dazu die Datei /var/lib/ld-puppet/env.d/logodidact/modules/ld_ssh/templates/etc/ssh/sshd_config.epp nach /etc/logodidact/overrides/templates/ld_ssh/etc/ssh/sshd_config.epp und passen diese Ihren Bedürfnissen an.

SSH-Keys🔗

Wichtig

SSH-Keys können nicht mehr wie gewohnt mit ssh-copy-id verteilt werden.

Kopieren Sie Ihre SSH-Keys als Dateien in folgende Unterverzeichnisse im /etc/logodidact/ssh/keys/root, um SSH-Zugriff über gewünschte Interfaces zu ermöglichen:

  • extern => nur für Zugriffe von außen

  • global => für Zugriff von außen und intern

  • intern => nur für Zugriffe von intern

Die SSH Public-Keys, die im entsprechenden Verzeichnis abgespeichert werden, müssen die Dateiendung .pub besitzen (für jeden Zugang eine eigene Datei).

Shorewall für den externen Zugriff🔗

Wenn zwischen dem internen und dem externen Zugriff unterschieden werden soll, dann muss Shorewall im ldhost in der Datei /etc/shorewall/rules wie folgt angepasst werden:

Externen Port auf den internen Port 1212 umleiten🔗
REDIRECT ext 1212 tcp [externer Port]
Beispiel: Externen Port 2222 auf den internen Port 1212 umleiten🔗
REDIRECT ext 1212 tcp 2222