Wiki-Quellcode von Allgemein


Zeige letzte Bearbeiter
1 {{figure image="system_general_de.png" clear="h1"}}
2 Konfiguration der allgemeinen Einstellungen von FORMCYCLE.
3 {{/figure}}
4
5 {{content/}}
6
7
8 Über das Menü //Allgemein// können allgemeine Anpassungen an FORMCYCLE vorgenommen werden, etwa Cache-Konfigurationen oder Uploadbeschränkungen.
9
10 == Sicherheit
11
12 === HTTP Strict Transport Security (HSTS) ===
13
14 {{figure image="system_general_hsts_de.png" clear="h3" width="600"}}
15 HSTS kann aktiviert werden, um vor dem Aushebeln der Verbindungsverschlüsselung und vor Session Hijacking zu schützen
16 {{/figure}}
17
18 HTTP Strict Transport Security (HSTS) ist ein Sicherheitsmechanismus für HTTPS-Verbindungen, der sowohl vor Aushebelung der Verbindungsverschlüsselung und vor Session Hijacking schützen soll. Hierfür wird dem Browser durch diesen Header mitgeteilt, dass er für die gegebene Gültigkeit und gegebenenfalls für alle Subdomains keine unsicheren HTTP-Verbindungen mehr zulassen darf. Sollte {{formcycle/}} ausschließlich über HTTPS betreiben werden ist das Aktivieren dieser Funktion durch das Setzten einer Gültigkeitsdatuer größer als 0 empfohlen. Für diese sollte mindestens ein Wert von 10368000 Sekunden (120 Tage), am besten jedoch von 31536000 Sekunden (einem Jahr) gewählt werden. Ebenso ist das Einbeziehen von Subdomains in den meisten Fällen problemlos möglich und ratsam.
19
20 Für das Deaktivieren dieser Funktion für z.B. den Betrieb über HTTP wählen Sie eine Dauer von 0.
21
22 === IFrame-Einbindung ===
23
24 {{figure image="system_general_iframe_de.png" clear="h3" width="600"}}
25 Per Whitelist kann es Drittseiten erlaubt werden, Backend-Seiten als IFrame einbinden zu dürfen.
26 {{/figure}}
27
28 Aus Sicherheitsgründen verbietet es {{formcycle/}} standardmäßig, Backend-Seiten als IFrame in Drittseiten einzubinden. Falls dies aber einmal erforderlich ist, können die gewünschten Drittseiten hier freigeschaltet werden. Die hier eingetragenen Werte werden in den //frame-ancestors//-Direktive des //Content-Security-Policy//-HTTP-Headers geschrieben, siehe etwa [[mdn web docs>>url:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors||target="_blank"]] für eine detaillierte Beschreibung der Syntax.
29
30 === Passwortrichtlinien ===
31
32 {{figure image="Passwort-Richtlinien.PNG" clear="h3" width="600"}}
33 Bei Bedarf ist es möglich, stärkere Passwörter erforderlich zu machen.
34 {{/figure}}
35
36 Die Passwortsicherheit von Benutzerpasswörtern kann für verschiedene Sicherheitsstufen konfiguriert werden. Die Länge des Passworts kann anhand einer Mindestlänge eingestellt werden, wobei eine Mindestlänge von 8 nicht unterschritten werden darf. Zusätzlich kann erzwungen werden, dass Passwörter bestimmte Zeichengruppen enthalten müssen: Buchstaben allgemein, Kleinbuchstaben, Großbuchstaben, Ziffern oder Sonderzeichen. Je länger und komplexer das Passwort konfiguriert wird, desto sicherer ist es. Werden diese Einstellungen verändert, so müssen alle neu vergebene oder geänderte Passwörter diesen Richtilinien entsprechen. Bereits vergebene Passwörter werden nicht verändert, auch wenn sie den neuen Richtlinien nicht entsprechen.
37
38 === Referrer-Policy ===
39
40 {{figure image="system_general_referrer_de.png" clear="h3" width="600"}}
41 Referrer-Policy
42 {{/figure}}
43
44 Mit diesem Header-Eintrag kann gesteuert werden, welche Referrer-Informationen weitergegeben werden. Die Referrer-Informationen geben einer aufgerufenen Seite an, von wo der Request ausgelöst wurde. Bei der Weitergabe der URL an die nächste aufgerufene Seite kann es Probleme im Bereich der Privatsphäre und der Sicherheit geben.
45
46 === Session-Cookie-Einstellungen ===
47
48 {{figure image="system_general_session_cookie_de.png" clear="h3" width="600"}}
49 Sofern möglich, sollten die Einstellung für das Session-Cookie so strikt wie möglich sein und nur per HTTPS übertragen werden.
50 {{/figure}}
51
52 Das Session-Cookie dient zur Aufrechterhaltung einer Sitzung, während der Nutzer angemeldet ist. Hier kann festgelegt werden, ob das Session-Cookie nur bei HTTPS-Verbindungen gesetzt wird (Secure) und ob es an Drittseiten übermittelt werden soll (SameSite). Bei ausschließlicher Verwendung von HTTPS wird empfehlen, das Secure-Flag zu aktivieren. Das Erlauben des Session-Cookies auf Drittseiten ist für einige Anwendungsfälle wie das Einbinden per AJAX in externe Seiten notwendig.
53
54 === Content-Security-Policy ===
55
56 {{figure image="system_general_csp_de.png" clear="h3" width="600"}}
57 Zusätzliche Policies können zum Content-Security-Policy-Header hinzugefügt werden.
58 {{/figure}}
59
60 {{version major="7" minor="2" patch="1"/}} Ermöglicht es, weitere Werte zum Content-Security-Policy-Header hinzuzufügen. Für Backend (Verwaltungsoberfläche, Designer, Postfach) und für Frontend (Webformulare) können verschiedene Werte hinterlegt werden.
61
62 Content Security Policy (CSP) ist ein Sicherheitskonzept, um Cross-Site-Scripting und andere Angriffe durch Einschleusen von Daten in Webseiten zu verhindern. Es geht insbesondere darum, das Unterschieben von bösartigem Code abzuwehren. Bei den sogenannten Cross-Site-Scripting-Attacken werden Daten von fremden Webservern eingebunden, die die Aufgabe haben, den Datenverkehr auf der gerade besuchten Website auszuspionieren, diesen zu manipulieren oder gar mögliche Softwarefehler auf dem Rechner des Seitenbesuchers auszunutzen, um Schadsoftware zu installieren. So ist es damit beispielsweise möglich, dass der Browser keine JavaScript-Dateien lädt und ausführt, wenn diese nicht von exakt demselben Webserver stammen, von dem die eigentliche Seite geladen wurde. Es kann sehr fein abgestuft werden, ob das JavaScript in einer eigenen Datei notiert sein muss, oder ob direkt im HTML-Dokument notierter JavaScript-Code, der in <script>-Elemente eingebettet ist, ausgeführt werden darf.
63
64 Eine Liste von möglichen Policies findet sich etwa bei [[Mozilla>>url:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy||_target="blank"]].
65
66 == Protokoll ==
67
68 === Automatisches Löschen von Protokolleinträgen ===
69
70 {{figure image="system_delete_protocoll_de.png" clear="h3" width="600"}}
71 Alte Protokolleinträge können automatisch gelöscht werden, um etwa zu vermeiden, dass die Datenbank zu viel Speicher verbraucht.
72 {{/figure}}
73
74 Veraltete Protokolleinträge (von Prozessen, Mandant, System) können in einem automatischen Rhythmus gelöscht werden. Zu der Uhrzeit des einstellbaren Ausführungszeitpunktes werden täglich alle Protokolleinträge, die älter als die angegebene Zeitspanne sind, gelöscht. Alternativ kann man über den "Jetzt leeren" Button sofort alle Protokolleinträge löschen, welche älter als die angegebene Zeitspanne sind. Wurden Protokolleinträge gelöscht, so wird ein Protokolleintrag erstellt, der Informationen über die Anzahl der gelöschten Protokolleinträge enthält.
75
76 === Erzeugte Protokolleinträge ===
77
78 {{figure image="system_general_generated_protocol_entries_de.png" clear="h3" width="600"}}
79 Über diesen Menüpunkt kann gesteuert werden, welche Protokolleinträge erzeugt werden sollen.
80 {{/figure}}
81
82 ; Automatisch durch Bots abgesendete Formulare sollen protokolliert werden
83 : {{formcycle/}} versucht zu erkennen, ob ein Formular durch eine Maschine (Bot) automatisiert abgesendet wurde. Ist dies der Fall, wird die Formularabsendung blockiert. Ist diese Option aktiviert, wird dann ein entsprechender Prozess[[protokolleintrag>>doc:Formcycle.UserInterface.Protocol]] angelegt.
84 ; Nutzung unerlaubter Absendeknöpfe soll protokolliert werden
85 : Im Formular können [[Schaltflächen>>doc:Formcycle.Designer.Form.FormElements.Button]] zum Absenden eingefügt werden. Innerhalb des Workflows kann dann [[geprüft werden>>doc:Formcycle.Designer.Workflow.Events.SubmitButton]], welche Schaltfläche zum Absenden verwendet wurde und dementsprechend Aktionen ausgeführt werden. Seit Version 7 ist es möglich, zu überprüfen, ob der verwendete Absendeknopf auch tatsächlich existiert, um Manipulationen zu vermeiden. Ist diese Option aktiviert, wird ein Prozess[[protokolleintrag>>doc:Formcycle.UserInterface.Protocol]] angelegt, falls ein unerlaubter Absendeknopf verwendet wird.
86
87 == Limits ==
88
89 === Formular- und Datei-Cache ===
90
91 {{figure image="system_general_cache_de.png" clear="h3" width="600"}}
92 Die Cache-Größe kann erhöht werden, wenn diese bei vielen Formularen nicht ausreicht oder zu Testzwecken auch deaktiviert werden.
93 {{/figure}}
94
95 Der Datei-Cache speichert vom System verwendete Dateien zwischen, der Formular-Cache dient der Zwischenspeicherung ausgelieferter Formulare.
96
97 {{table dataTypeAlpha="0" preSort="0-asc" caption="Einstellungen zum Cache für Formulare"}}
98 |= Eigenschaft |= Standardwert |= Beschreibung
99 |Max Disk Size|-1|Maximale Größe in MB des Teils des Formular-Caches, der im Dateisystem gespeichert wird. Keine Einschränkung, wenn {{code language="none"}}-1{{/code}}. Wenn gleich {{code language="none"}}0{{/code}}, werden keine Einträge im Dateisystem gecached.
100 |Max Heap Size|75|Maximale Größe in MB des Teils des Formular-Caches, der im Speicher gehalten wird. Wenn gleich {{code language="none"}}0{{/code}}, werden keine Einträge im Speicher gecached.
101 |Time to Idle|0|Zeitspanne in Sekunden, bis ein Eintrag im Formular-Cache als unbenutzt betrachtet und aus dem Cache entfernt wird. Wenn gleich {{code language="none"}}0{{/code}}, gibt es keine solche Ablaufzeit.
102 {{/table}}
103
104 {{table dataTypeAlpha="0" preSort="0-asc" caption="Einstellungen zum Cache für Dateien"}}
105 |= Eigenschaft |= Standardwert |= Beschreibung
106 |Max Disk Size|-1|Maximale Größe in MB des Teils des Datei-Caches, der im Dateisystem gespeichert wird. Keine Einschränkung, wenn {{code language="none"}}-1{{/code}}. Wenn gleich {{code language="none"}}0{{/code}}, werden keine Einträge im Dateisystem gecached.
107 |Max Heap Size|75|Maximale Größe in MB des Teils des Datei-Caches, der im Speicher gehalten wird. Wenn gleich {{code language="none"}}0{{/code}}, werden keine Einträge im Speicher gecached.
108 |Time to Idle|0|Zeitspanne in Sekunden, bis ein Eintrag im Datei-Cache als unbenutzt betrachtet und aus dem Cache entfernt wird. Wenn gleich {{code language="none"}}0{{/code}}, gibt es keine solche Ablaufzeit.
109 {{/table}}
110
111 === Systeminterne Beschränkungen ===
112
113 {{figure image="system_general_limits_de.png" clear="h3" width="600"}}
114 Systeminterne Beschränkungen
115 {{/figure}}
116
117 {{table dataTypeAlpha="0" preSort="0-asc" caption="Einstellungen zu Begrenzungen"}}
118 |= Eigenschaft |= Standardwert |= Beschreibung
119 |Grenzwert für die Nutzung der Festplatte|0|Grenzwert, ab dem Upload-Dateien direkt auf der Festplatte zwischengespeichert werden.
120 |Limit pro Datei||Maximale Größe in Byte für hochgeladene Dateien in Formularen. Keine Datei darf größer als dieser Wert sein. {{code language="none"}}-1{{/code}} oder keine Angabe bedeutet keine Grenze. Diese Einstellung betrifft sowohl Uploads in Formularen als auch Upload im Backend.
121 |Limit gesamt||Die maximale Größe aller Dateien, die auf einmal hochgeladen werden. Diese Einstellung trifft nicht zu, wenn mehrere Dateien separat hochgeladen werden. Beim Formularabsenden ist dies die maximal erlaubte Größe des POST-Request. {{code language="none"}}-1{{/code}} oder keine Angabe bedeutet keine Grenze.
122 |Maximale Anzahl an Zeilen einer Datenbankabfrage|5000|Maximale Anzahl von zurückgegebenen Zeilen bei einer Abfrage an die Datenbank. Wenn {{code language="none"}}0{{/code}}, gibt es keine Einschränkung.
123 |Größenbeschränkung einer Datenbakzelle|0|Maximale Größe in Bytes bei einer Abfrage an die Datenbank für Werte vom Typ Zeichenkette oder //Binary//. Wenn {{code language="none"}}0{{/code}}, gibt es keine Einschränkung.
124 {{/table}}
125
126 == Konfiguration ==
127
128 === Loopback URL ===
129
130 {{figure image="system_general_loopback_de.png" clear="h3" width="600"}}
131 Die Loopback-URL gibt an, über welche Adresse der Server auf sich selber zugreifen kann.
132 {{/figure}}
133
134 Für einige Funktionalitäten (z.B. Formularbildvorschau oder PDF-Print) werden Formulare durch den Server selbst aufgerufen. In Clustersystemen oder Umgebungen, in denen die interne und externe Domain verschieden sind, dient diese URL zur Konfiguration der internen Erreichbarkeit (z.B. http://localhost:8080/formcycle).
135
136 === Lizenz ===
137
138 {{figure image="system_general_license_de.png" clear="h3" width="600"}}
139 Hier können Einstellungen zur Lizenz vorgenommen werden.
140 {{/figure}}
141
142 ; Automatisches Lizenz-Update durch externe Benachrichtigungen erlauben
143 : Ist diese Option aktiviert, kann die Lizenz über ein HTTP-Request an {{code language="text"}}http://example.com/formcycle/license/notify?key=LICENSE_KEY{{/code}} aktualisiert werden. Dabei muss {{code language="text"}}http://example.com/formcycle{{/code}} durch die tatsächliche URL des {{formcycle/}}-Servers ersetzt werden und //LICENSE_KEY// durch den zu aktualisierenden Lizenschlüssel.