Änderungen von Dokument Allgemeine Sicherheitsempfehlungen


Von Version 20.4
bearbeitet von MKO
am 24.11.2021, 16:39
Änderungskommentar: (Autosaved)
Auf Version 22.1
bearbeitet von MKO
am 24.11.2021, 17:23
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -57,58 +57,72 @@
57 57  
58 58  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 somit 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 hochgeladenen Dateien.
59 59  
60 +Details über die Datenverzeichnisse von {{formcycle/}}: [[hier>>doc:Formcycle.SystemSettings.TomcatSettings.ChangeDataDirectory||target="_blank"]]
61 +
60 60  == Konfigurationen innerhalb von {{formcycle/}} ==
61 61  
62 62  === Verschlüsselung von Formular-Daten/Datenbank ===
63 63  
64 -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.
66 +Es ist empfehlenswert bei der {{formcycle/}}-seitigen Verschlüsselung von Daten die Formular-Daten mit einzubeziehen. 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.
65 65  
68 +Konfiguration der Anwendungsseitigen Datenbank-Verschlüsselung: [[hier>>doc:Formcycle.SystemSettings.UserInterface.Database||anchor="HDatenverschlFCsselung" target="_blank"]]
69 +
66 66  === Verschlüsselte Kommunikation mit der Datenbank ===
67 67  
68 -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.
72 +Es wird empfohlen die komplette Kommunikation mit der Datenbank per SSL zu verschlüsseln. Je nach Datenbankhersteller sind hierfür andere Datenbank-URLs oder spezielle Parameter notwendig. Die Verschlüsselung verhindert, dass Angreifer mit Zugriff auf die interne Netzwerkstrukturen die Kommunikation zwischen {{formcycle/}} und der Datenbank mitlesen können und somit Zugriff auf sensieble Daten erhalten.
69 69  
74 +Weitere Informationen über die Verschlüsselte Kommunikation entnehmen Sie der Dokumentation ihre Datenbank-Herstellers.
75 +
70 70  === Verschlüsselte Kommunikation zwischen Master- und Frontend-Server ===
71 71  
72 -Sollte ein Frontend-Server benutzt werden ist es empfehlenswert die Kommunikation mit dem Master-Server zu verschlüsseln. Dies wird per SSL-Zertifikat realisiert welches nicht mit dem Zertifikat für die Formular-Auslieferung über HTTPS verwechselt werden sollte. Da dies nicht für die Kommunikation mit dem Anwender sichtbar ist und lediglich als eine Art Passwort dient, ist es hier auch möglich ein selbstgeneriertes Zertifikat zu benutzen. Dies stellt sicher, dass der von Angreifern abgefangene Netzwerk-Verkehr zwischen den Servern nicht lesbar ist.
78 +Sollte ein Frontend-Server benutzt werden ist es empfehlenswert die Kommunikation mit dem Master-Server zu verschlüsseln. Dies wird per SSL-Zertifikat realisiert welches nicht mit dem Zertifikat für die Formular-Auslieferung über HTTPS verwechselt werden sollte. Da dies nicht bei Kommunikation mit dem Formularbenutzer sichtbar ist und lediglich als eine Art Passwort dient, ist es hier auch möglich ein selbstgeneriertes Zertifikat zu benutzen. Allgemein stellt die Verschlüsselung hier sicher, dass Angreifer mit Zugriff auf den Netzwerk-Verkehr die zwischen dem Master- und Frontend-Server übertragenen Daten nicht mitlesen können.
73 73  
74 -Weitere Details unter [[Frontend-Server>>doc:Formcycle.SystemSettings.UserInterface.FrontendServer||target="_blank"]] und [[Installation eines Frontend-Servers>>doc:Formcycle.Installation.FrontendServer||target="_blank"]]
80 +Anleitung zur Installation des Frontend-Server inkl. SSL: [[hier>>doc:Formcycle.Installation.FrontendServer||target="_blank"]]
75 75  
82 +Anleitung zum Einrichten der Frontend-Server-Verbindung inkl. SSL: [[hier>>doc:Formcycle.SystemSettings.UserInterface.FrontendServer||target="_blank"]]
83 +
76 76  === Login und verschlüsselte Kommunikation mit Mail-Server ===
77 77  
78 78  Sofern es möglich ist, sollte bei der Anbindung des Mail-Servers darauf geachtet werden, dass diese per Login geschützt ist und eine verschlüsselte Kommunikation stattfindet. Sollte dies nicht der Fall sein, ist es einem Angreifer mit Zugriff auf die interne Netzwerkstruktur möglich versendete Mails mitzulesen.
79 79  
88 +Konfiguration des System-Mail-Server: [[hier>>doc:Formcycle.SystemSettings.UserInterface.EmailServer||anchor="HSicherheit" target="_blank"]]
89 +
90 +Konfiguration von Mandant-Mail-Servern: [[hier>>doc:Formcycle.UserInterface.Client.Settings||anchor="HMailserverbenutzen" target="_blank"]]
91 +
80 80  === Passwortrichtlinien ===
81 81  
82 82  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.
83 83  
84 -Weitere Details unter [[Allgemein>>doc:Formcycle.SystemSettings.UserInterface.General.WebHome||anchor="HPasswort-Richtlinien" target="_blank"]]
96 +Konfiguration der Passwortrichtlinien: [[hier>>doc:Formcycle.SystemSettings.UserInterface.General.WebHome||anchor="HPasswort-Richtlinien" target="_blank"]]
85 85  
86 86  === HTTP Strict Transport Security (HSTS) ===
87 87  
88 -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.
100 +Bei HSTS handelt es sich um einen HTTP-Header welcher gesetzt werden kann um die Möglichkeit eines Rückfall auf eine unsichere HTTP-Verbindung zu unterbinden. 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 die Option für das Einbeziehen von Subdomains benutzt werden. Zu beachten ist jedoch, dass ein gewollter Umstieg auf unverschlüsseltes HTTP auf Grund dieses Headers und dessen Gültigkeit bei Benutzern zu Problemen führen könnte.
89 89  
90 -Weiter Details unter [[Allgemein>>doc:Formcycle.SystemSettings.UserInterface.General.WebHome||anchor="HHTTPStrictTransportSecurity28HSTS29" target="_blank"]]
102 +Konfiguration des HSTS-Headers: [[hier>>doc:Formcycle.SystemSettings.UserInterface.General.WebHome||anchor="HHTTPStrictTransportSecurity28HSTS29" target="_blank"]]
91 91  
92 92  === Referrer-Policy einschränken ===
93 93  
94 -Die Referrer-Policy gibt an ob und wie die Information der ursprünglich aufgerufenen URL an Unterseiten oder Folgeseiten weitergegeben werden soll. Die bedeutet konkret, dass zum Beispiel die komplette ursprüngliche URL oder auch nur die Domäne (origin genannt) mitgeteilt werden soll. Da die URLs ggf. sicherheitsrelevante Informationen enthalten können, ist es empfohlen die Einstellung so restriktiv wie möglich zu wählen. Der Standardwert „strict-origin-when-cross-origin“ bietet meist ausreichenden Schutz ohne ggf. nötige Funktionalität zu beeinflussen. Er gibt an, dass die alle Informationen innerhalb der selben Domäne komplett geteilt werden und Domän-übergreifend nur die Name der Domäne (der origin) übermittelt wird. Dies passiert wiederrum nur wenn sich das Sicherheits-Level der Übertragung (HTTPS oder HTTP) nicht unterscheidet.
106 +Die Referrer-Policy gibt an ob und wie die Information der ursprünglich aufgerufenen URL an Unterseiten oder Folgeseiten weitergegeben werden soll. Die bedeutet konkret, dass zum Beispiel die komplette ursprüngliche URL oder auch nur die Domäne (origin genannt) mitgeteilt werden kann. Da die URLs ggf. sicherheitsrelevante Informationen enthalten können, ist es empfohlen die Einstellung so restriktiv wie möglich zu wählen. Der Standardwert „strict-origin-when-cross-origin“ bietet meist ausreichenden Schutz ohne ggf. nötige Funktionalität zu beeinflussen. Er gibt an, dass alle Informationen innerhalb der selben Domäne komplett geteilt werden und Domän-übergreifend nur die Name der Domäne (der origin) übermittelt wird. Dies passiert wiederrum ausschließlich wenn sich das Sicherheits-Level der Übertragungen (HTTPS oder HTTP) nicht unterscheidet.
95 95  
96 -Weitere Details unter [[Allgemein>>doc:Formcycle.SystemSettings.UserInterface.General.WebHome||anchor="HReferrer-Policy" target="_blank"]] und [[Mozilla>>url:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy||rel="noopener noreferrer" target="_blank"]]
108 +Konfiguration der Refferer-Policy: [[hier>>doc:Formcycle.SystemSettings.UserInterface.General.WebHome||anchor="HReferrer-Policy" target="_blank"]]
97 97  
110 +Weitere Informationen und mögliche Werte: [[Mozilla-Hilfe>>url:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy||rel="noopener noreferrer" target="_blank"]]
111 +
98 98  === Systeminterne Beschränkungen ===
99 99  
100 -Die systeminternen Beschränkungen dienen sowohl einer allgemeinen fachlichen aus auch daraus resultieren technischen Limitierung auf verschiedene Teilbereiche. So kann hier global festgelegt werden wie groß Absendung eines Formulars (mit Uploads) insgesamt, als auch wie groß die einzelnen Dateien separat sein dürfen. Hier sollte der möglichst kleinste verwendbare Wert gewählt werden um das System vor übergroßen Dateien oder Anfragen zu schützen.
114 +Die systeminternen Beschränkungen dienen sowohl einer allgemeinen fachlichen, als auch daraus resultierenden technischen Limitierungen innerhalb verschiedener Teilbereiche. So kann hier global festgelegt werden wie groß Absendung eines Formulars (inkl. Uploads) insgesamt, als auch wie groß die einzelnen Dateien separat sein dürfen. Hier sollte der möglichst kleinste verwendbare Wert gewählt werden um das System vor übergroßen Dateien oder Anfragen zu schützen.
101 101  
102 102  Ähnlich verhält es sich bei der Limitierung der maximalen Anzahl an Zeilen einer Datenbank-Abfrage sowie die Größenbeschränkung der einzelnen Datenbankzellen. Ein möglichst geringer Wert verhindert, dass z.B. bei Auswahl- oder AutoComplete-Felden zu viele Zeilen ausgeliefert werden und deswegen die Performance des Servers und des Clients (also des Formulars im Browser) leidet.
103 103  
104 -Die dritte Einstellung zum Festlegen der Dateigröße ab welcher Uploads oder auch Formular-Eingaben auf die Festplatte geschrieben werden sollen erlaubt gerade im Zusammenspiel mit einem Viren-Scanner eine Feinjustierung der zu behandelnden Daten. Ein Wert größer 0 führ dazu, dass Formulardaten kleiner als dieser Wert nur innerhalb des Arbeitsspeichers behandelt werden. Dies erhöht tendenziell die Performance beim Absenden des Formulars, erhöht jedoch nachvollziehbarerweise die Auslastung des Arbeitsspeichers. Auch können diese Daten nicht durch einen Datei-basierten Viren-Scanner behandelt werden. Sollte ein Viren-Scanner zum Einsatz kommen oder der zur Verfügung stehende Arbeitsspeicher gering ausfallen, ist es empfohlen diesen Wert auf 0 zu lassen.
118 +Die dritte Einstellung zum Festlegen der Dateigröße ab welcher Uploads oder auch Formular-Eingaben auf die Festplatte geschrieben werden sollen, erlaubt gerade im Zusammenspiel mit einem Viren-Scanner eine Feinjustierung der zu behandelnden Daten. Ein Wert größer 0 führ dazu, dass Formulardaten kleiner als dieser Wert nur innerhalb des Arbeitsspeichers behandelt werden. Dies erhöht tendenziell die Performance beim Absenden des Formulars, erhöht jedoch nachvollziehbarerweise die Auslastung des Arbeitsspeichers. Auch können diese Daten nicht durch einen Datei-basierten Viren-Scanner behandelt werden. Sollte ein Viren-Scanner zum Einsatz kommen oder der zur Verfügung stehende Arbeitsspeicher limitiert sein, ist es empfohlen diesen Wert auf 0 zu belassen.
105 105  
106 -Weitere Details unter [[Allgemein>>doc:Formcycle.SystemSettings.UserInterface.General.WebHome||anchor="HSysteminterneBeschrE4nkungen" rel="noopener noreferrer" target="_blank"]]
120 +Konfiguration der systeminternen Beschränkungen: [[hier>>doc:Formcycle.SystemSettings.UserInterface.General.WebHome||anchor="HSysteminterneBeschrE4nkungen" rel="noopener noreferrer" target="_blank"]]
107 107  
108 108  === Automatisches Löschen von Protokolleinträgen ===
109 109  
110 -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 vollläuft.
124 +Da innerhalb des fachlichen Protokolls von {{formcycle/}} Fehler während der Verarbeitung protokolliert werden, kann es hier dazu kommen, dass z.B. Fehlermeldungen 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 zu lassen. Auch verhindert dies, dass die Datenbank mit veralten, nicht mehr relevanten Einträgen gefüllt wird und je nach System-Limitierung früher oder später vollläuft.
111 111  
112 -Weitere Details unter [[Allgemein>>doc:Formcycle.SystemSettings.UserInterface.General.WebHome||anchor="HAutomatischesLF6schenvonProtokolleintrE4gen" target="_blank"]]
126 +Konfiguration der automatisierten Löschung von Protokolleinträgen: [[hier>>doc:Formcycle.SystemSettings.UserInterface.General.WebHome||anchor="HAutomatischesLF6schenvonProtokolleintrE4gen" target="_blank"]]
113 113  
114 114