Technische globale Konfiguration

Settings.ini

Bemerkung

Diese Funktion steht für docs365 documents Cloud nicht zur Verfügung.

In der Datei settings.ini wurde die Datenbank-URL database in eine eigene Sektion Database verschoben. Diese Konfiguration wird beim Upgrade automatisch migriert.

Darüber hinaus wurden sensible Konfigurationsoptionen in bestimmten Abschnitten nun verschlüsselbar gemacht. Im Abschnitt Zusätzliche Verschlüsselung der Zugangsdaten wird dazu weiterführend erläutert.

Die settings.ini befindet sich im config-Verzeichnis. Mit ihr können Sie z.B. den E-Mail-Versand an Adressen außerhalb von docs365 documents steuern. Unsere Default-settings.ini können Sie folgendermaßen verwenden (natürlich müssen Sie die auskommentierenden Semikola entfernen, um die Option zu aktivieren):

[Database]
host = localhost
port = 8551
database = phoenixarchive
username = phoenix
password = mypassword

In der settings.ini kann in der Sektion [Database] die neue Option host verwendet werden, um den Webserver auf eine einzelne IP-Adresse zu binden. Beispielsweise durch host=127.0.0.1 ist der Webserver dann nur noch über localhost zu erreichen.

Unter der Sektion General wird die client_url benötigt, damit der Server seine externe Adresse kennt und somit auch außerhalb von HTTP-Requests eine gültige URL zu Vorgängen beispielweise für Postbox-Benachrichtigungen generieren kann. Hier sollte die Adresse eingetragen werden, unter der der Server im Netzwerk primär angesprochen wird.

client_url = http://archive.example.com/

Damit der Webserver über SSL erreicht werden kann, werden signierte SSL-Zertifikate benötigt. ssl_certificate gibt den Pfad zu einer Datei an, die das unterschriebene Zertifikat erhält und ssl_certificate_key den privaten Schlüssel. Sobald beide Optionen eine gültige Datei enthalten, aktiviert der Server HTTPS.

ssl_certificate = C:\SSL\mycert.pub
ssl_certificate_key = C:\SSL\mycert.key
ssl_port = 443
ssl_redirect = true

Wenn von der CA noch sogenannte Intermediate Certificates benötigt werden, müssen diese ebenfalls in die Datei ssl_certificate kopiert werden.

Standardmäßig wird dafür der Port 443 benutzt, dieser kann aber über den optionalen Parameter ssl_port angepasst werden.

Wenn der ebenfalls optionale Parameter ssl_redirect auf true gesetzt wird, werden unverschlüsselte Verbindungen vom Server (auf Port 80 bzw. dem konigurierten Port) zwar weiterhin akzeptiert, Benutzer werden aber automatisch auf den SSL-Port weitergeleitet.

[Mail]
; ERFORDERLICH für E-Mail-Benachrichtigungen
smtp_host = mail.example.com
smtp_from = archive@example.com
; OPTIONAL
smtp_port = 25
smtp_user = myuser
smtp_password = mypassword
smtp_ssl = 1

Die Sektion [Directories] konfiguriert Pfade, in denen lokale Daten im Dateisystem abgelegt werden.

[Directories]
data = ../data
; OPTIONAL: Die folgenden Verzeichnisse befinden sich standardmäßig im data-Verzeichnis.
storages = D:\storages
test = D:\test-storages
thumbs = D:\temp\thumbs
uploads = D:\temp\upload

Bemerkung

Bei der Verwendung von UNC-Pfaden muss sichergestellt werden, dass der Benutzer, unter dem der Dienst „docs365 documents/“ läuft, korrekte Zugriffsrechte auf diesen Pfad hat.

Konfiguration der verfügbaren Themes

In der settings.ini kann in der Einstellung ‚theme‘ im Abschnitt ‚[General]‘ konfiguriert werden, welches theme standardmäßig verwendet wird, wenn ein Benutzer kein eigenes theme in seinem User-Profil eingestellt hat. Außerdem kann darüber hinaus konfiguriert werden, welche themes dem User grundsätzlich zur Verfügung stehen. Die Einstellung Themes akzeptiert eine komma-getrennte Liste aller themes, die den Benutzern angeboten werden. Das erste theme in der Liste wird als Standard verwendet, wenn ein User kein eigenes eingestellt hat. Verfügbare Werte sind „dark“ und „classic“.

Active-Directory-Authentifizierung

docs365 documents unterstützt neben lokalen Benutzern auch eine Authentifizierung über ein Active Directoy (AD). Dazu muss ein Benutzer weiterhin in docs365 documents angelegt werden, das Anmeldepasswort wird jedoch (über den übereinstimmenden Benutzernamen) gegen das AD abgeglichen.

Es ist möglich, für jeden Benutzer separat auszuwählen, ob er gegen ein AD oder als Standardbenutzer gegen die lokal gespeicherten Anmeldedaten authentifiziert werden soll. Außerdem ist es möglich, mehrere AD-Domänen und -Server zu konfigurieren und für jeden User separat zu wählen, gegen welche Domäne authentifiziert werden soll.

Dazu wird im Abschnitt [Active Directory] unter den Schlüsseln „domain“ und „server“ der settings.ini eine komma-getrennte Liste mit mehreren Domänen bzw. Servern eingetragen. Die beiden Listen müssen dabei gleich viele Einträge enthalten, damit eine Zuordnung möglich ist: Der ersten Domäne in der Liste wird der erste Server zugeordnet, der zweiten der zweite usw. In den Benutzer-Daten in der Administrationsoberfläche wird dann ausgewählt, gegen welche Domäne ein spezieller User authentifiziert werden soll.

Im folgenden Beispiel werden drei Domänen konfiguriert:

[Active Directory]
domain = domain1, domain2, domain3
server = ldaps://dc1.example.com, ldap://dc2.example.com:389, dc3.example.com

Es können bei den Servern statt einem einfachen Hostnamen auch URLs verwendet werden, die das verwendete Protokoll (“ldaps” für verschlüsselte Verbindungen, “ldap” für unverschlüsselte) und ggf. den Port einstellen.

  • “domain1” verwendet eine verschlüsselte Verbindung auf dem Standard-Port.

  • “domain2” verwendet eine unverschlüsselte Verbindung und gibt den Port noch einmal explizit an.

  • “domain3” gibt nur den Hostnamen an und verwendet damit eine unverschlüsselte Verbindung auf dem Standard-LDAP-Port.

Verschlüsselte LDAP-Verbindungen zum Active Directory:

Microsoft hat in ADV190023 angekündigt, dass im Laufe des Jahres 2020 unverschlüsselte bzw. unsignierte Anfragen zum Active Directory durch eine Änderung der Standardkonfiguration untersagt werden.

Wenn docs365 documents für Anmeldungen das Active Directory verwendet, sollte LDAP über SSL (LDAPS) eingestellt werden, damit Anmeldungen auch nach dieser Änderung von Microsoft weiterhin funktionieren.

Auf dem AD-Server müssen dafür ggf. noch eine SSL-Verschlüsselung (auf Port 636) und ein Zertifikat eingerichtet werden. Das SSL-Zertifikat wird standardmäßig validiert, d.h. Windows muss diesem Zertifikat vertrauen und der eingestellte Hostname muss mit dem im Zertifikat übereinstimmen. Diese Validierung kann über ein ssl_verify = false in der Sektion [Active Directory] auch ausgeschaltet werden, im Produktivbetrieb ist das jedoch nicht zu empfehlen.

Verschlüsseln von Zugangsdaten

In der Datei settings.ini wurde die Datenbank-URL database in eine eigene Sektion Database verschoben. Darüber hinaus wurden sensible Daten in bestimmten Abschnitten nun verschlüsselbar gemacht. Mithilfe des Tools PHCrypt.exe (zu finden im Unterverzeichnis tools) können die folgenden Optionen verschlüsselt und in der Konfiguration gespeichert werden:

Datei settings.ini:

  • Sektion [Database]: username und password

  • Sektion [Mail]: smtp_user und smtp_password

  • Sektion [Hotfolder]: token

Des Weiteren können verschlüsselte Optionen in anderen INI-Dateien hinterlegt werden. Wie zum Beispiel lookup.ini, import.ini, etc.:

  • Sektionen, die UID, PWD und token enthalten.

Beispiel:

[Database]
host = localhost
port = 5432
database = phoenixarchive
username = phoenix
password = @hI2DfIk8nbED

[Mail]
smtp_user = @pyKHfM2Dgx$f
smtp_password = @@pass.x!7z3

In diesem Beispiel sind drei verschiedene Fälle zu beachten. Erstens beginnen verschlüsselte Passwörter mit einem @-Zeichen. Diese werden standardmäßig serverseitig entschlüsselt. Texte, die mit zwei @ Zeichen beginnen, werden wie Klartext-Passwörter behandelt, wobei das erste @ Zeichen ignoriert wird. Dadurch wird vermieden, dass fälschlicherweise angenommen wird, dass hier eine Entschlüsselung stattfinden soll. Zusätzlich können die Daten wie üblich im Klartext angegeben werden.

Regeln für sichere Passwörter

In der Publikation 800-63B hat das amerikanische National Institute of Standards and Technology (NIST) im Juni 2017 neue Regeln für sichere Passwörter veröffentlicht. Veraltete, häufig benutzte Vorgaben wurden für nicht mehr zeitgemäß erklärt und neue Empfehlungen ausgesprochen.

Die sollen es Benutzern einfacher machen, sichere Passwörter zu verwenden und dennoch eine hohe Sicherheit ermöglichen. Zu den Empfehlungen gehören:

  • Keine komplexen Passwort-Regeln wie z. B. „mindestens ein Großbuchstabe, ein Sonderzeichen und eine Zahl“ mehr, da sie die Sicherheit kaum erhöhen und stattdessen Benutzer dazu verleiten, sich die komplizierten Passwörter aufzuschreiben.

  • Kein unnötiger Kennwortwechsel. Benutzer neigen dann eher dazu, unsicherere Passwörter zu verwenden, die sie sich leichter merken können.

  • Keine Sicherheitsfragen oder Passwort-Erinnerungen ermöglichen.

Stattdessen gehört zu den Empfehlungen, eine Mindestlänge von Passwörtern zu verlangen und sehr lange Passwörter mit allen druckbaren Unicode-Zeichen zu erlauben, damit Benutzer auch ganze Sätze als Passphrase verwenden können.

Die wichtigste Empfehlung ist, unsichere Passwörter beliebiger Länge zu blockieren, damit Benutzer diese gar nicht erst verwenden können. Dazu gehören beispielsweise häufig benutze Passwörter wie „password123“, Geburtsdaten oder aber auch Passwörter, die durch Wörterbuch-Attacken einfach erraten werden können.

docs365 documents unterstützt lange Passwörter mit bis zu 255 beliebigen Unicode-Zeichen. Weiterhin gibt PHOENIX eine konfigurierbare Mindestlänge von Passwörtern und eine automatische Bewertungsfunktion vor, die unsichere Passwörter blockiert.

In der settings.ini sind dafür in der Sektion [General] diese beiden Optionen konfigurierbar:

min_password_length = 8
min_password_score = 2

min_password_length gibt die Mindestlänge für neue Passwörter an, die Vorgabe ist 8 Zeichen. Erlaubt sind hier Werte zwischen 4 und 255 Zeichen, wobei für Produktivumgebungen eine Mindestlänge von weniger als 8 Zeichen nicht empfohlen wird.

min_password_score konfiguriert die erforderliche Passwort-Sicherheit. Bei neuen Passwörtern wird anhand einiger Heuristiken und Wörterbüchern unsicherer Passwörter ein Score zwischen 0 und 4 berechnet, wobei 0 sehr unsichere und 4 sehr sichere Passwörter sind. Wenn ein Passwort einen Score unter min_password_score hat, wird es nicht erlaubt. Die Einstellung min_password_score = 0 erlaubt daher alle Passwörter.

Filtermöglichkeit in pa_ctl.exe process_archive

Der Befehl pa_ctl.exe process_archive, mit dem man das erneute Nachverarbeiten von Dokumenten in einem Archiv veranlassen kann (z.B. falls erst nachträglich OCR aktiviert wurde), versteht einen Parameter --Filter, mit dem die Auswahl der zu verarbeitenden Vorgänge eingeschränkt werden kann. Der Filter muss im gleichen Format wie auch bei den gefilterten Archiven angegeben werden.

Da die Filter selbst oft doppelte Anführungszeichen enthalten, muss beachtet werden, dass diese Anführungszeichen z.B. über den Aufruf der Windows-Kommandozeile mit einem Backslash maskiert werden müssen.

Das folgende Beispiel verarbeitet nur die Vorgänge im Archiv „rechnungen“ neu, die ab dem 1.6.2017 archiviert wurden:

pa_ctl.exe process_archive rechnungen --filter "creation_date >= \"2017-06-01\""

RenderServer für Office-Dokumente

Der RenderServer wird standardmäßig mit installiert und aktiviert. Es wird das Konvertieren von Word- und Excel-Dokumenten unterstützt.

Über die Datei RenderServer.ini im config-Verzeichnis der Installation kann der RenderServer konfiguriert werden. Am wichtigsten ist hierbei die Option Converter in der Sektion [Office], die einstellt, mit welchem Verfahren die Office-Dokumente konvertiert werden sollen.

Die Konverter DevExpress und EVO basieren auf mitgelieferten Bibliotheken und sind daher immer verfügbar. Erfahrungsgemäß liefert DevExpress etwas bessere Ergebnisse und ist daher voreingestellt.

Der Konverter LibreOffice ruft ein installiertes LibreOffice auf, um die Office-Datei nach PDF zu konvertieren. Da LibreOffice selbst nicht mitgeliefert wird, muss es zunächst manuell installiert werden, außerdem muss in der Option LibreOfficePath der Pfad zur Datei soffice.exe im Installationsverzeichnis von LibreOffice eingetragen werden:

Converter=LibreOffice
LibreOfficePath=C:\Program Files\LibreOffice\program\soffice.exe

Der Konverter MSOffice verwendet ein installiertes Microsoft Office und liefert daher normalerweise die besten Ergebnisse. Durch eine Einschränkung von Microsoft Office selbst funktioniert diese Methode jedoch nur, wenn man den RenderServer von einem angemeldeten Benutzer aus aufruft, als Dienst kann man den RenderServer in diesem Fall also nicht starten.