Änderungen von Dokument Allgemeine Sicherheitsempfehlungen


Von Version 14.1
bearbeitet von MKO
am 24.11.2021, 10:56
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 11.1
bearbeitet von MKO
am 23.11.2021, 18:35
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Titel
... ... @@ -1,1 +1,1 @@
1 -Allgemeine Sicherheitsempfehlungen
1 +Sicherheit
Inhalt
... ... @@ -1,26 +5,22 @@
1 -{{content/}}
2 -
3 -Für einen möglichst sicheren Betrieb von {{formcycle/}} sind je nach Systemumgebung und Anwendungsfällen verschiedene Konfigurationen möglich bzw. empfohlen. Hierbei ist zu unterscheiden zwischen der Konfiguration der Umgebung wie z.B. des Tomcat-Servers, der ggf. vorgeschaltenen Web-Server, Proxies oder Load-Balancer und der Konfiguration von {{formcycle/}} selbst.
4 -
5 5  == Konfigurationen der Umgebung ==
6 6  
7 7  === Betrieb über HTTPS ===
8 8  
9 -{{formcycle/}} sollte, wenn möglich gerade im Internet nur über HTTPS bereitgestellt werden. Dies erhöht die Sicherheit der abgesendeten Daten, sodass diese innerhalb des Netzwerks nicht mitgelesen oder per Man-in-the-middle manipuliert werden können. Sollte es möglich sein sollte der HTTP-Connector komplett deaktiviert werden.
5 +FORMCYCLE sollte, wenn möglich gerade im Internet nur über HTTPS bereitgestellt werden. Dies erhöht die Sicherheit der abgesendeten Daten, sodass diese über Netzwerk-Sniffing nicht mitgelesen oder per Man-in-the-middle manipuliert werden können. Sollte es möglich sein sollte der http-Connector komplett deaktiviert werden.
10 10  
11 -Konfiguration von HTTPS innerhalb des Tomcats: [[hier>>doc:Formcycle.SystemSettings.TomcatSettings.Bereitstellung über HTTPS.WebHome||target="_blank"]]
7 +Weitere Details unter [[Bereitstellung über HTTPS>>doc:Formcycle.SystemSettings.TomcatSettings.Bereitstellung über HTTPS.WebHome||target="_blank"]]
12 12  
13 13  === Session-Management ===
14 14  
15 15  ==== Tracking-Mode ====
16 16  
17 -Standardmäßig wird {{formcycle/}} in einer Konfiguration ausgeliefert in der sowohl die Formulare als auch die Verwaltungsoberfläche mit und ohne akzeptierte Cookies betrieben werden kann. Hierfür ist durch die Anwendung keine Einschränkung des sogenannten Tracking-modes konfiguriert. Sollten keine Cookies akzeptiert werden, so wird die Sitzungs-ID durch den Server (z.B. Tomcat) in die URL geschrieben. Ist die Benutzung von Cookies in allen gegebenen Anwendungsfällen und Umgebungen möglich, sollte dieses Verhalten hierfür abgeändert werden. Hintergrund ist, dass durch eine unachtsam weitergegebene URL mit Sitzungs-ID sonst sogenanntes Session-Hijacking möglich ist und dadurch ein Angreifer unberechtigte Zugriffe erlangen könnte.
13 +Standardmäßig wird FORMCYCLE in einer Konfiguration ausgeliefert in der sowohl die Formulare als auch die Verwaltungsoberfläche mit und ohne akzeptierte Cookies betrieben werden kann. Hierfür ist durch die Anwendung keine Einschränkung des Tracking-modes konfiguriert. Sollten keine Cookies akzeptiert werden, so wird die Sitzungs-ID durch den Servlet-Container (z.B. Tomcat) in die URL kodiert. Ist die Benutzung von Cookies in allen gegebenen Anwendungsfällen und Umgebungen möglich, sollte dieses Verhalten abgeändert werden. Hintergrund ist, dass durch eine unachtsam weitergegebene URL mit Sitzungs-ID sonst sogenanntes Session-Hijacking möglich ist und dadurch ein Angreifer unberechtigte Zugriffe erlangen könnte.
18 18  
19 -Konfiguration des Tracking-Modes: [[hier>>doc:Formcycle.SystemSettings.TomcatSettings.WebHome||anchor="HSession-Tracking" rel="noopener noreferrer" target="_blank"]]
15 +Weitere Details unter [[Session-Tracking>>doc:Formcycle.SystemSettings.TomcatSettings.WebHome||anchor="HSession-Tracking" rel="noopener noreferrer" target="_blank"]]
20 20  
21 21  ==== Cookie-Konfiguration ====
22 22  
23 -Sollte {{formcycle/}} ausschließlich über HTTPS betrieben werden ist es empfohlen die entsprechende Einstellung für Cookies zu hinterlegen. Diese verhindert, dass die Cookies bei Aufrufen über HTTP gesetzt und benutzt werden. Sollte {{formcycle/}} dennoch über HTTP aufgerufen werden, so greift der ggf. noch vorhandene Fallback mit in der URL kodierten Session-ID.
19 +Sollte FORMCYCLE ausschließlich über HTTPS betrieben werden ist es empfohlen die entsprechende Einstellung am Cookie zu hinterlegen. Diese verhindert, dass die Cookies bei Aufrufen über HTTP gesetzt und benutzt werden. Sollte FORMCYCLE dennoch über HTTP aufgerufen werden, so greift der ggf. noch vorhandene Fallback mit in der URL kodierten Session-ID.
24 24  
25 25  Je nach Umgebung und Anwendungsfall ist es möglich die maximale Dauer einer Sitzung zu limitieren. Dies bezieht sich hierbei sowohl auf die Sitzung innerhalb des Formulars, als auch die der Verwaltungsoberfläche. Sobald keine Kommunikation zwischen Browser und Server für den gegebenen Zeitraum mehr stattfindet wird die Sitzung invalidiert. Um dies beim Ausfüllen von großen Formularen oder dem Arbeiten innerhalb der Verwaltungsoberfläche zu umgehen, ist hier ein Keep-Alive-Mechanismus implementiert welcher in Regelmäßigen Abständen ein Lebenszeichen an den Server übermittelt. Sollte nun das Fenster oder der Browser geschlossen werden oder durch z.B. Sperren des Endgerätes nicht mehr aktiv sein, fällt dieser Mechanismus weg und der Benutzer wird nach Ablauf der konfigurierten Zeit abgemeldet.
26 26  
... ... @@ -47,17 +47,17 @@
47 47  
48 48  === Verwendung eines Viren-Scanners ===
49 49  
50 -Um das Entgegennehmen von schädlichen Dateien oder Eingaben zu verhindern ist es empfohlen auf dem entsprechenden {{formcycle/}}-Server (Master- und/oder Frontend) einen Virenscanner zu betreiben. Dieser kann auf das {{formcycle/}}-Datenverzeichnis konfiguriert werden und sollte alle schädlichen Dateien löschen. {{formcycle/}} erkennt anschließend, dass eine eigentlich abgesendete Datei entfernt wurde bzw. leer ist und vermerkt dies innerhalb des Vorgangs in der Übersicht der Uploads.
46 +Um das Entgegennehmen von schädlichen Dateien oder Eingaben zu verhindern ist es empfohlen auf dem entsprechenden FORMCYCLE-Server (Master- und/oder Frontend) einen Virenscanner zu betreiben. Dieser kann auf das FORMCYCLE-Datenverzeichnis konfiguriert werden und sollte alle schädlichen Dateien löschen. FORMCYCLE erkennt anschließend, dass eine eigentlich abgesendete Datei entfernt wurde bzw. leer ist und vermerkt dies innerhalb des Vorgangs in der Übersicht der Uploads.
51 51  
52 -== Konfigurationen innerhalb von {{formcycle/}} ==
48 +== Konfigurationen innerhalb von FORMCYCLE ==
53 53  
54 54  === Verschlüsselung von Formular-Daten/Datenbank ===
55 55  
56 -Es ist empfehlenswert bei der {{formcycle/}}-seitigen Verschlüsselung von Daten die Formular-Daten mit zu aktivieren. Dies bringt zwar kaum messbare Performance-Einbußen, verhindert jedoch, dass die Formular-Daten während der Kommunikation mit der Datenbank mitgelesen werden können und dass die Daten ohne Kenntnis des Algorithmuses und Passworts aus der Datenbank selbst ausgelesen werden können. Auch erhöht die Verschlüsselung der kompletten Datenbank durch das verwendete DBMS die Sicherheit im selben Angriffs-Szenario.
52 +Es ist empfehlenswert bei der FORMCYCLE-seitigen Verschlüsselung von Daten die Formular-Daten mit zu aktivieren. Dies bringt zwar kaum messbare Performance-Einbußen, verhindert jedoch, dass die Formular-Daten während der Kommunikation mit der Datenbank mitgelesen werden können und dass die Daten ohne Kenntnis des Algorithmuses und Passworts aus der Datenbank selbst ausgelesen werden können. Auch erhöht die Verschlüsselung der kompletten Datenbank durch das verwendete DBMS die Sicherheit im selben Angriffs-Szenario.
57 57  
58 58  === Verschlüsselte Kommunikation mit der Datenbank ===
59 59  
60 -Sollte dies in der bestehenden Umgebung möglich sein oder diese nicht komplett abgesichert sein, ist es empfohlen die Kommunikation mit der Datenbank per SSL zu verschlüsseln. Je nach Datenbankhersteller ist hierfür eine andere Datenbank-URL oder andere Parameter notwendig. Dies verhindert, dass Angreifer mit Zugriff auf die interne Netzwerkstruktur die Kommunikation zwischen {{formcycle/}} und der Datenbank mitlesen könnten.
56 +Sollte dies in der bestehenden Umgebung möglich sein oder diese nicht komplett abgesichert sein, ist es empfohlen die Kommunikation mit der Datenbank per SSL zu verschlüsseln. Je nach Datenbankhersteller ist hierfür eine andere Datenbank-URL oder andere Parameter notwendig. Dies verhindert, dass Angreifer mit Zugriff auf die interne Netzwerkstruktur die Kommunikation zwischen FORMCYCLE und der Datenbank mitlesen könnten.
61 61  
62 62  === Verschlüsselte Kommunikation zwischen Master- und Frontend-Server ===
63 63  
... ... @@ -71,13 +71,13 @@
71 71  
72 72  === Passwortrichtlinien ===
73 73  
74 -Um einen möglichst sicheren Login für Benutzer zu gewährleisten ist es empfohlen entweder bereits bestehende System-Umgebungen mit entsprechenden Richtlinien (z.B. LDAP) zu verwenden oder für den eigenen Anwendungsfall möglichst sichere Passwort-Richtlinien für Benutzer innerhalb von {{formcycle/}} festzulegen.
70 +Um einen möglichst sicheren Login für Benutzer zu gewährleisten ist es empfohlen entweder bereits bestehende System-Umgebungen mit entsprechenden Richtlinien (z.B. LDAP) zu verwenden oder für den eigenen Anwendungsfall möglichst sichere Passwort-Richtlinien für Benutzer innerhalb von FORMCYCLE festzulegen.
75 75  
76 76  Weitere Details unter [[Allgemein>>doc:Formcycle.SystemSettings.UserInterface.General.WebHome||anchor="HPasswort-Richtlinien" target="_blank"]]
77 77  
78 78  === HTTP Strict Transport Security (HSTS) ===
79 79  
80 -Bei HSTS handelt es sich um einen Netzwerk-Header welcher gesetzt werden kann um die Möglichkeit eines Downgrads auf http zu verringern. Hierbei wird an den Browser der entsprechende Header inkl. Gültigkeitsdauer und der Information ob dieser auch für Subdomains gilt übertragen. Der Browser wird nun bis zum Ablauf der Gültigkeit und ggf. für alle Sub-Domains keinerlei Anfragen über eine unverschlüsselte http-Verbindung aufbauen bzw. gestatten. Sollten Sie {{formcycle/}} ausschließlich über HTTPS betreiben ist es empfohlen diese Option zu aktivieren und eine möglichst lange Gültigkeit zu wählen. Auch sollte diese Option für Subdomains benutzt werden. Zu beachten ist jedoch, dass ein gewollter Umstieg auf unverschlüsseltes http bei Benutzern auf Grund dieses Header und dessen Gültigkeit zu Problemen kommen kann.
76 +Bei HSTS handelt es sich um einen Netzwerk-Header welcher gesetzt werden kann um die Möglichkeit eines Downgrads auf http zu verringern. Hierbei wird an den Browser der entsprechende Header inkl. Gültigkeitsdauer und der Information ob dieser auch für Subdomains gilt übertragen. Der Browser wird nun bis zum Ablauf der Gültigkeit und ggf. für alle Sub-Domains keinerlei Anfragen über eine unverschlüsselte http-Verbindung aufbauen bzw. gestatten. Sollten Sie FORMCYCLE ausschließlich über HTTPS betreiben ist es empfohlen diese Option zu aktivieren und eine möglichst lange Gültigkeit zu wählen. Auch sollte diese Option für Subdomains benutzt werden. Zu beachten ist jedoch, dass ein gewollter Umstieg auf unverschlüsseltes http bei Benutzern auf Grund dieses Header und dessen Gültigkeit zu Problemen kommen kann.
81 81  
82 82  Weiter Details unter [[Allgemein>>doc:Formcycle.SystemSettings.UserInterface.General.WebHome||anchor="HHTTPStrictTransportSecurity28HSTS29" target="_blank"]]
83 83  
... ... @@ -99,7 +99,7 @@
99 99  
100 100  === Automatisches Löschen von Protokolleinträgen ===
101 101  
102 -Da innerhalb des fachlichen Protokolls von {{formcycle/}} Fehler während der Verarbeitung protokolliert werden kann es hier dazu kommen, dass z.B. Fehler-Einträge von angebundenen Drittsystemen erfasst werden. Da {{formcycle/}} nicht die Kontrolle über deren Inhalt hat und diese aber für die Fehlerbehebung erfasst, ist es empfohlen über die entsprechende Konfiguration das Protokoll regelmäßig zu bereinigen. Auch verhindert dies, dass die Datenbank mit alten, nicht mehr relevanten Einträgen gefüllt wird und je nach System-Limitierung früher oder später voll läuft.
98 +Da innerhalb des fachlichen Protokolls von FORMCYCLE Fehler während der Verarbeitung protokolliert werden kann es hier dazu kommen, dass z.B. Fehler-Einträge von angebundenen Drittsystemen erfasst werden. Da FORMCYCLE nicht die Kontrolle über deren Inhalt hat und diese aber für die Fehlerbehebung erfasst, ist es empfohlen über die entsprechende Konfiguration das Protokoll regelmäßig zu bereinigen. Auch verhindert dies, dass die Datenbank mit alten, nicht mehr relevanten Einträgen gefüllt wird und je nach System-Limitierung früher oder später voll läuft.
103 103  
104 104  Weitere Details unter [[Allgemein>>doc:Formcycle.SystemSettings.UserInterface.General.WebHome||anchor="HAutomatischesLF6schenvonProtokolleintrE4gen" target="_blank"]]
105 105