Diese Seite beschreibt die empfohlenen Sicherheitseinstellungen für den sicheren Betrieb von Fess in Produktionsumgebungen.
Gefahr
Sicherheit ist äußerst wichtig
In Produktionsumgebungen wird dringend empfohlen, alle auf dieser Seite beschriebenen Sicherheitseinstellungen zu implementieren. Vernachlässigung der Sicherheitseinstellungen erhöht das Risiko von unbefugtem Zugriff, Datenlecks und Systemkompromittierung.
Erforderliche Sicherheitseinstellungen
Änderung des Administratorpassworts
Das Standard-Administratorpasswort (admin / admin) muss unbedingt geändert werden.
Vorgehensweise:
Anmeldung in der Verwaltungsseite: http://localhost:8080/admin
Klicken Sie auf „Benutzer“ → „Benutzer“
Wählen Sie den Benutzer
adminSetzen Sie ein starkes Passwort
Klicken Sie auf die Schaltfläche „Aktualisieren“
Bemerkung
Sobald Sie das Passwort von admin geändert haben, können Sie es nicht mehr auf einen einfachen Wert wie admin zurücksetzen (eine Sperrliste für Administratorpasswörter wird über password.invalid.admin.passwords konfiguriert). Außerdem können Sie das Initialpasswort des Benutzers admin bereits vor dem ersten Start ändern, indem Sie index.user.initial_password in fess_config.properties setzen.
Empfohlene Passwort-Richtlinie:
Fess bietet eine integrierte Funktion, die die Mindest- und Höchstlänge des Passworts sowie Anforderungen an die Zeichenarten erzwingt. Konfigurieren Sie die folgenden Eigenschaften in fess_config.properties (Standardwerte in Klammern):
password.min.length(Standard:8): Mindestlänge. 12 oder mehr wird empfohlen.password.max.length(Standard:100): Höchstlänge.password.require.uppercase(Standard:false): Großbuchstaben erforderlich.password.require.lowercase(Standard:false): Kleinbuchstaben erforderlich.password.require.digit(Standard:false): Ziffern erforderlich.password.require.special.char(Standard:false): Sonderzeichen erforderlich.
Bemerkung
Standardmäßig beträgt die Mindestlänge 8 und alle Anforderungen an Zeichenarten sind deaktiviert. Um Passwörter zu stärken, setzen Sie die oben genannten Eigenschaften explizit. Beachten Sie, dass Fess keine Funktion zum Ablaufen von Passwörtern (erzwungene regelmäßige Änderung) besitzt. Wenn Sie regelmäßige Passwortänderungen als Betriebsregel durchsetzen möchten, führen Sie diese manuell durch.
Aktivierung des OpenSearch-Sicherheits-Plugins
Vorgehensweise:
Entfernen oder kommentieren Sie folgende Zeile in
opensearch.yml:Konfiguration des Sicherheits-Plugins:
Konfiguration von TLS/SSL-Zertifikaten
Neustart von OpenSearch
Konfigurieren Sie auf Seiten von Fess die Verbindung zu OpenSearch.
Geben Sie die Verbindungs-URL über die Umgebungsvariable
SEARCH_ENGINE_HTTP_URLan (bearbeiten Siebin/fess.in.shoder die Umgebungsdatei des Dienstes; der Standardwert stammt aussearch_engine.http.urlinfess_config.properties):Geben Sie die Zugangsdaten über die folgenden Eigenschaften in
fess_config.propertiesan (es gibt keine UmgebungsvariablenSEARCH_ENGINE_USERNAME/SEARCH_ENGINE_PASSWORD):
Details finden Sie unter OpenSearch Security Plugin.
Aktivierung von HTTPS
HTTP-Kommunikation ist nicht verschlüsselt und birgt Risiken von Abhören und Manipulation. In Produktionsumgebungen muss unbedingt HTTPS verwendet werden.
Methode 1: Verwendung eines Reverse-Proxys (empfohlen)
Platzieren Sie Nginx oder Apache vor Fess für HTTPS-Terminierung.
Nginx-Konfigurationsbeispiel:
Methode 2: HTTPS-Konfiguration in Fess selbst
Fügen Sie in tomcat_config.properties Folgendes hinzu:
Empfohlene Sicherheitseinstellungen
Firewall-Konfiguration
Öffnen Sie nur erforderliche Ports und schließen Sie unnötige Ports.
Zu öffnende Ports:
8080 (oder HTTPS 443): Fess Weboberfläche (bei externem Zugriff erforderlich)
22: SSH (nur für Verwaltung, nur von vertrauenswürdigen IP-Adressen)
Zu schließende Ports:
9200, 9300: OpenSearch (nur interne Kommunikation, externer Zugriff blockieren)
Linux (firewalld) Konfigurationsbeispiel:
IP-Adressbeschränkung:
Zugriffskontroll-Konfiguration
Erwägen Sie, den Zugriff auf die Verwaltungsseite auf bestimmte IP-Adressen zu beschränken.
Nginx-Zugriffsbeschränkungsbeispiel:
Rollen und Zugriffskontrolle
Fess stellt standardmäßig zwei Rollen bereit:
admin: Administratorrolle, die alle Operationen einschließlich der Verwaltungsseite ausführen kann.guest: Rolle, die nicht angemeldeten (anonymen) Benutzern zugewiesen wird.
Alle anderen Rollen können frei über die Verwaltungsseite erstellt werden. In Fess ist eine Rolle ein Tag, das nur einen Namen besitzt, und wird hauptsächlich zur Zugriffskontrolle von Suchergebnissen verwendet (welche Dokumente ein Benutzer einsehen darf). Eine Rolle selbst ist nicht an bestimmte administrative Berechtigungen wie ‚Verwaltung von Crawl-Konfigurationen‘ oder ‚Bearbeitung von Suchergebnissen‘ gebunden.
Befolgen Sie das Prinzip der geringsten Rechte: Gewähren Sie die Administratorrolle (admin) nur Benutzern, die administrative Aufgaben durchführen, und nicht allgemeinen Suchbenutzern.
Vorgehensweise:
Klicken Sie in der Verwaltungsseite auf „Benutzer“ → „Rolle“
Erstellen Sie die erforderlichen Rollen
Weisen Sie Benutzern unter „Benutzer“ → „Benutzer“ Rollen zu
Audit-Protokollierung
Der Systembetriebsverlauf, wie Authentifizierung und administrative Operationen, wird standardmäßig als Audit-Protokoll aufgezeichnet. Das Audit-Protokoll wird vom Logger fess.log.audit ausgegeben, der in log4j2.xml definiert ist, und sein Standard-Ausgabeziel ist audit.log.
Da dies standardmäßig aktiviert ist, ist keine zusätzliche Konfiguration erforderlich. Um das Ausgabeziel oder die Protokollstufe anzupassen, bearbeiten Sie die folgende Definition in log4j2.xml:
Regelmäßige Sicherheitsupdates
Wenden Sie regelmäßig Sicherheitsupdates für Fess und OpenSearch an.
Empfohlene Vorgehensweise:
Regelmäßige Überprüfung von Sicherheitsinformationen
Überprüfung von Updates in der Testumgebung
Anwendung von Updates in der Produktionsumgebung
Datenschutz
Verschlüsselung von Backups
Backup-Daten können vertrauliche Informationen enthalten. Verschlüsseln und speichern Sie Backup-Dateien.
Beispiel für verschlüsselte Backups:
Sicherheits-Best-Practices
Prinzip der geringsten Rechte
Fess und OpenSearch nicht als Root-Benutzer ausführen
Mit dediziertem Benutzerkonto ausführen
Minimal erforderliche Dateisystemberechtigungen gewähren
Netzwerk-Isolation
OpenSearch in privatem Netzwerk platzieren
VPN oder privates Netzwerk für interne Kommunikation verwenden
Nur Fess Weboberfläche in DMZ platzieren
Regelmäßige Sicherheitsaudits
Regelmäßige Überprüfung von Zugriffslogs
Erkennung abnormaler Zugriffsmuster
Regelmäßige Durchführung von Schwachstellen-Scans
Konfiguration von Sicherheits-Headern
Konfigurieren Sie bei Bedarf Sicherheits-Header in Nginx oder Apache:
Sicherheits-Checkliste
Überprüfen Sie vor der Bereitstellung in der Produktionsumgebung folgende Checkliste:
Grundkonfiguration
[ ] Administratorpasswort geändert
[ ] HTTPS aktiviert
[ ] Standard-Portnummer geändert (optional)
Netzwerksicherheit
[ ] Unnötige Ports mit Firewall geschlossen
[ ] Zugriff auf Verwaltungsseite IP-beschränkt (falls möglich)
[ ] Zugriff auf OpenSearch nur auf internes Netzwerk beschränkt
Zugriffskontrolle
[ ] Rollen und Zugriffsberechtigungen angemessen konfiguriert (Administratorrolle nur an notwendige Benutzer vergeben)
[ ] Unnötige Benutzerkonten gelöscht
[ ] Passwort-Richtlinie konfiguriert
Überwachung und Protokollierung
[ ] Bestätigt, dass die Audit-Protokollierung aktiviert ist
[ ] Aufbewahrungsdauer für Protokolle konfiguriert
[ ] Log-Überwachungsmechanismus eingerichtet (falls möglich)
Backup und Recovery
[ ] Regelmäßiger Backup-Zeitplan konfiguriert
[ ] Backup-Daten verschlüsselt
[ ] Wiederherstellungsverfahren getestet
Update- und Patch-Management
[ ] Mechanismus zum Empfangen von Sicherheitsupdate-Benachrichtigungen eingerichtet
[ ] Update-Verfahren dokumentiert
[ ] System zur Überprüfung von Updates in Testumgebung eingerichtet
Reaktion auf Sicherheitsvorfälle
Reaktionsverfahren bei Sicherheitsvorfällen:
Erkennung von Vorfällen
Überprüfung von Protokollen
Erkennung abnormaler Zugriffsmuster
Überprüfung von Systemanormalitäten
Erstreaktion
Identifizierung des Umfangs der Auswirkungen
Verhinderung der Schadensausweitung (Stoppen betroffener Dienste etc.)
Sicherung von Beweisen
Untersuchung und Analyse
Detaillierte Analyse von Protokollen
Identifizierung des Eindringwegs
Identifizierung möglicherweise durchgesickerter Daten
Wiederherstellung
Behebung von Schwachstellen
Systemwiederherstellung
Verstärkung der Überwachung
Nachbereitung
Erstellung eines Vorfallsberichts
Umsetzung von Präventivmaßnahmen
Berichterstattung an Stakeholder
Referenzinformationen
Bei Fragen oder Problemen zur Sicherheit wenden Sie sich bitte an:
Kommerzieller Support: https://www.n2sm.net/