CSSCurrent de:Erweiterte Konfiguration
Durch Anlegen einer zusätzlichen Konfigurationsdatei mit Namen 'cryptshare.properties' im Cryptshare Installationsverzeichnis können bestimmte Teile des Cryptshare Servers in ihrem Verhalten beeinflusst werden. Diese Einstellungen sind zur Nutzung bei Fehlverhalten innerhalb der Cryptshare Anwendung vorgesehen. Zum jetzigen Zeitpunkt existieren Einstellungen für die folgenden Bereiche:
- Überspringen von Schritten während des Bereinigungsvorganges (Cleanup Task)
- Größe des Threadpools für den Verschlüsselungsvorgang
- Maximaler Timeout für das Warten des BackupTasks
- Öffnen Sie das Cryptshare Installationsverzeichnis und legen Sie die Datei 'cryptshare.properties' an.
- Legen Sie die gewünschten Einstellungen an. Erstellen Sie einen Parameter pro Zeile nach folgendem Schema:
<Schlüssel>=<Wert>
- Speichern Sie die Änderungen
# DE: weitere Hilfe: https://documentation.cryptshare.com/w/CSSCurrent_de:Erweiterte_Konfiguration upload.html.maxerrors = 100 mainPoolSize = 150
Datenbank
Datenbank-Verbindungspool
Abhängig von den Anforderungen Ihres Cryptshare Servers und der zu erwartenden Last kann es notwendig sein, die Ressourcenzuweisung für die Datenbank zu erhöhen.
Berechnen der Poolgröße
Die folgende Formel kann zur Berechnung einer geeigneten Poolgröße verwendet werden:
(cpu_kern_anzahl * 2) + 1
Hier sind einige Beispiele mit aufgerundeter Poolgröße:
CPU Kerne | 2 | 4 | 8 | 16 |
---|---|---|---|---|
Poolgröße | 5 | 10 | 20 | 35 |
Database Optimization
database.connection.maxPoolSize=<int> database.connection.minIdlePoolSize=<int>
Überspringen von Bereinigungsschritten
Der Bereinigungsvorgang besteht aus mehreren Schritten, die in zeitlicher Abfolge hintereinander durchgeführt werden. Kann einer dieser Schritte aufgrund von Inkonsistenzen oder internen Datenbankfehlern nicht ordnungsgemäß beendet werden, oder bleibt hängen, so kann der betroffene Schritt übersprungen werden, damit der Rest des Bereinigungsvorganges abgeschlossen werden kann.
Schritte, welche übersprungen werden können
Um herauszufinden, welcher Ausführungsschritt für ein Fehlverhalten verantwortlich ist, kann das Systemlog überprüft werden, und dieser Schritt anschließend mittels des entsprechenden Parameters deaktiviert werden.
LockData Bereinigungsschritt
cleanup.skip.lockData = <true|false>
LockData ist ein interner Datensatz, welcher die Anzahl fehlgeschlagener Passworteingaben im Downloadbereich aufzeichnet. Diese Daten werden vom System entfernt, sobald sie nicht mehr benötigt werden, zum Beispiel wenn ein Transfer abgelaufen ist.
Verification Bereinigungsschritt
cleanup.skip.verifications = <true|false>
'Verification'-Datensätze repräsentieren den serverseitigen Teil eines verifizierten Benutzers. Abgelaufene Verifizierungen werden vom System entfernt.
Timeout für den Wartevorgang des BackupTask
Sofern das Datenbankbackup aktiviert wurde, ist der BackupTask so eingerichtet, dass auf den Abschluss anderer Tasks gewartet wird, bevor das Backup durchgeführt wird. Sollte einer dieser Tasks jedoch nicht ordnungsgemäß abgeschlossen werden, würde der BackupTask endlos im Wartezustand verbleiben. Die Einstellung für den maximalen Timeout legt fest, dass der BackupTask mit dem Backup fortfährt, auch wenn sich noch andere Tasks in der Ausführung befinden. Die Standardeinstellung liegt bei 60 Minuten.
Parameter zur Steuerung der Wartezeit des BackupTask
backup.maxWait = <int>
Standardwert: 60
Performanceanpassungen
Threadpool für die Verschlüsselung
Die Größe für den Cryptshare Verschlüsselungs-Threadpool legt die maximale Menge von parallelen Verschlüsselungsvorgängen für Cryptshare Transfers fest. Die Standardeinstellung ist auf 30 festgelegt. Dies bedeutet, dass bei einem Cryptshare Server mit dieser Einstellung 30 parallele Verschlüsselungsvorgänge initiiert werden können. Der nächste Vorgang, welcher dieses Maximum überschreiten würde, gerät in eine Warteschleife und wird ausgeführt, sobald wieder ein Thread aus dem Pool verfügbar ist. Zusätzlich zur Steuerung der Verschlüsselungs-Threadpoolgröße beeinflusst dieser Parameter die Zahl der parallelen Vorgänge zur Sammlung von Vorverarbeitungsergebnissen, wenn die Ausgabe dieser aktiviert ist.
- Ein hoher Wert für diesen Parameter ERHÖHT die CPU-Last
- Ein niedriger Wert für diesen Parameter VERRINGERT die CPU-Last
Parameter zur Festlegung der Verschlüsselungsthreadpoolgröße mainPoolSize = <int>
Standardwert: 30
Threadpool für den Mailversand
Die Größe für den Cryptshare Mailing-Threadpool legt die maximale Menge von parallelen Mailsendevorgängen fest. Um den Durchsatz versandter E-Mails zu erhöhen, können Sie den Wert selbst konfigurieren. Bitte beachten Sie, dass E-Mail-Server häufig nur eine begrenze Menge gleichzeitiger Verbindungen zulassen. Sollten Sie den Parameter für den "Theadpool für den Mailversand" anpassen, so stellen Sie sicher, dass Ihr E-Mail-Server mit dieser Menge auch umgehen kann.
Parameter zur Festlegung der Mailingthreadpoolgröße
mailingPoolSize = <int>
Standardwert: 5
Download-Entschlüsselungspuffer
Der Standardwert für den Entschlüsselungspuffer liegt bei 2MB. Dies ist ein guter Wert um sowohl kleine als auch große Dateien zu behandeln. Wird der Server hauptsächlich für große Dateien verwendet, so kann das Vergrößern des Puffers zu einer merkbaren Verbesserung der CPU-Auslastung führen. Eine Erhöhung der Speichernutzung ist allerdings die Folge.
Parameter für die Größe des Entschlüsselungspuffers
decrypt.buffer = <int>
Standardwert: 2097152 (2MB)
Download-Verzögerung
Unter hoher Last reduziert der Cryptshare Server die Entschlüsselungsgeschwindigkeit von Dateien, die heruntergeladen werden, um die Erreichbarkeit des Cryptshare Servers zu verbessern. Dieses Verhalten kann deaktiviert werden, falls Probleme damit auftreten.
Parameter für die Größe des Entschlüsselungspuffers
decrypt.delay=<true|false>
HTML5 Transfereinstellungen
Parallele HTML5 Upload Streams
Bitte beachten Sie auch, dass das Verkleinern dieses Wertes die HTML5-Uploadrate verlangsamen wird.
Ab Cryptshare Version v4.1.3 wird die Menge der parallelen Uploads bei einer langsamen Verbindung automatisch reduziert.Parameter für parallele HTML5 Uploadstreams
upload.html.parallel = <int>
Standardwert: 5
Maximum: 5HTML5 Cleanup-Tracker Timeout
Bei einer schlechten Internetverbindung kann jedoch die Standardeinstellung von 10 Minuten zu kurz sein und laufende HTML5-Uploads werden unterbrochen, bevor der Upload vollständig ist.
Um dieses Verhalten zu vermeiden, kann die Standardeinstellung erhöht werden.Cleanup Tracker Timeout
upload.html.timeout = <int>
Standardwert: 10
Maximum: 60HTML5 Client Fehler-Counter
Tritt solch ein Fehler auf, so wird der Client so lange die fehlgeschlagenen Pakete erneut senden, bis entweder alle Pakete erfolgreich übertragen wurden oder der Fehler-Counter überschritten ist. Wurde die maximale Anzahl an Fehlern erreicht, so bricht der Client den Transfer ab.
Tritt dieses Problem häufig bei Ihren Clients auf, so kann das Maximum für den Fehler-Counter erhöht werden, sodass Clients einen Transfer nicht so schnell unterbrechen.HTML5 Client Fehler-Counter
upload.html.maxerrors = <int>
Standardwert: 100
Erlaubt: 20-5000LDAP-Einstellungen
Verbindungspool
Zur Steigerung der Performance von LDAP-Abfragen verwendet Cryptshare einen sogenannten Verbindungspool. Dabei handelt es sich um eine Anzahl von bereits aufgebauten Verbindungen zum LDAP-Server, die bei Bedarf verzögerungsfrei verwendet und wiederverwendet werden können. Die Anzahl der mindestens (initial) und maximal gleichzeitig aufgebauten Verbindungen lässt sich über Parameter steuern.
Initiale Anzahl Verbindungen ldap.initialConnections = <int>
Maximale Anzahl Verbindungen ldap.maxConnections = <int>
Standardwert initiale Anzahl: 5
Standardwert maximale Anzahl: 20Alternativ ist es möglich, die Verwendung von Verbindungspools komplett zu deaktivieren. Werden Verbindungspools deaktiviert, so hat die Konfiguration der Parameter ldap.initialConnections und ldap.maxConnections keine Auswirkungen mehr. Standardmäßig sind Verbindungspools aktiv und können bei Bedarf deaktiviert werden.
Verwendung von Verbindungspools ldap.connectionPooling = <true|false>
Timeouts
Als Timeout wird eine Zeitspanne bezeichnet, die für eine bestimmte Tätigkeit zugelassen ist, bevor sie abgebrochen wird. Im Zusammenhang mit LDAP-Abfragen gibt es zwei konfigurierbare Timeouts: Verbindungstimeout: Zugelassene Dauer eines Verbindungsaufbaus zum LDAP-Server. Abfragetimeout: Zugelassene Dauer einer einzelnen LDAP-Abfrage.
Verbindungstimeout
ldap.connectTimeout = <int> Abfragetimeout
ldap.responseTimeout = <int>
Standardwert Verbindungstimeout: 5.000 (5 Sekunden)
Standardwert Abfragetimeout: 20.000 (20 Sekunden)Verweise (Referrals)
Manche LDAP-Verzeichnisse sind partitioniert/verteilt und enthalten dann Einträge, die auf andere Verzeichnisserver verweisen (sog. Referrals). Optional kann die automatische Auflösung dieser Verweise durch eine zusätzliche aufgebaute LDAP-Verbindung aktiviert werden. Enthält der aufgelöste Verweis wiederum einen Verweis, wird dieser in keinem Fall aufgelöst.
Auflösung von Verweisen
ldap.followReferrals = <true|false>
Sicherheitseinstellungen: Rate Limiting
Rate Limiting für das Anfordern von Verifizierungscodes
Zur Vermeidung von DoS-Angriffen und daraus folgendem Missbrauchs des E-Mail-Servers, ist ein Rate Limit bei Anfragen von Verifizierungscodes aktiv. Die Zahl der pro Minute anforderbaren Verifizierungscodes wird standardmäßig auf 25 eingeschränkt.
Parameter zum Setzen des Rate Limits zum Anfordern von Verifizierungscodes
verification.verificationsPerMinute=<int>
Standard: 25
Dieses Feature kann deaktiviert werden, indem der Wert auf 0 gesetzt wird.Content Security Policy
Content Security Policy (CSP) ist ein zusätzlicher Sicherheitsmechanismus, der hilft, bestimmte Arten von Angriffen, z.B. Cross-Site Scripting (XSS), zu erkennen und zu entschärfen. Zu diesem Zweck kann ein sogenannter CSP-Header verwendet werden, der dem Client (Browser) nur den Zugriff auf bestimmte definierte Ressourcen erlaubt. Dies kann z.B. verhindern, dass ein Angreifer Schadcode aus einer unbekannten Quelle ausführt. Standardmäßig erlaubt der Cryptshare Server nur die Nutzung von Ressourcen aus der Domäne des Servers.
Parameter zum Hinzufügen von anderen URL's als Ressource
csp.fetchDirectives.urls=<string>
Beispiel: Um die zusätzlichen URLs "https://example.com" und "https://app.example.com/images" hinzuzufügen, setzen Sie den Wert auf "https://example.com,https://app.example.com/images".
Verarbeitung von EML Dateien
Priorisierung von Dateitypen bei der EML Archivierung und im EML Download
Bei der EML Archivierung und beim EML Download ist es möglich, eine maximale Gesamtgröße aller Anhänge die in die EML-Datei eingebettet werden anzugeben. Überschreiten die Anhänge diese Größe, so werden die Anhänge anhand einer Prioritätenliste von Dateityperweiterungen an die EML-Datei angehängt, wobei die Priorität der Dateityperweiterungen am Anfang am höchsten ist. Dateityperweiterungen die nicht aufgelistet werden haben die niedrigste Priorität. Wenn eine leere String als Prioritätenliste genutzt wird, wird diese Priorisierung der Dateityperweiterungen deaktiviert.
Parameter zum Setzen der Prioritätenliste der Dateianhänge bei Überschreiten der Maximalgröße
eml.attachmentFileTypeOrder=<csv>
Weitere Konfigurationsparameter
Aufräumen verwaister temporärer Uploaddateien
Während des Dateiuploads werden diese Daten in ein temporäres Uploadverzeichnis geschrieben. Aus technischen Gründen kann es jedoch vorkommen, dass diese Dateien hinterher nicht gelöscht werden. Aus diesem Grund wird ein zusätzlicher Bereinigungsschritt während der Ausführung des Bereinigungsvorganges ausgeführt, welcher dafür Sorge trägt, diese Dateien von der Festplatte zu entfernen sofern sie älter als 24 Stunden sind.
Parameter zur Abschaltung des Aufräumens verwaister temporärer Dateien
cleanup.skip.tmpfiles = <true|false>
Häufigkeit der Logeinträge für laufende Uploads
Damit der Administrator besser in der Lage ist laufende Uploads zu bemerken, wird nach dem Erreichen einer bestimmten Zahl von Upload-Requests ein informeller Logeintrag geschrieben. Ein Datei-Upload besteht dabei in der Regel aus mehreren Upload-Requests. Die Zählung erfolgt Transfer-übergreifend.
INFO 2016-04-29 08:45:51 CS3System - (com.cryptshare.wicket.request.HTML5FileItemFactory@1771fb9f) - Cryptshare upload in progress.
Abhängig von der Uploadaktivität dieses Servers können dies entweder zu viele oder zu wenige Einträge sein. In beiden Fällen kann der Zähler für dieses Feature entsprechend angepasst werden.
Parameter zur Kontrolle der Häufigkeit von Logeinträgen zu aktiven Uploadvorgängen
upload.logverbosity = <int>
Durchführung eines Backups vor dem Update
Für gewöhnlich wird vor der Durchführung eines Updates ein Rollback-Kompatibles Backup angelegt. Sollte das Backup nicht korrekt funktionieren und dadurch die Durchführung des Updates verhindern, so kann dieser Schritt deaktiviert werden.
Parameter zur Aktivierung des Backups vor dem Update
update.backup = <true|false>
Maximale Transfergröße der Dateivorschau
Die Dateivorschau im Downloadbereich von Cryptshare öffnet Dateien, nur wenn sie maximal 2MB groß sind. Aus Sicherheitsgründen werden Dateien ausschließlich im Arbeitsspeicher geöffnet, was den Speicherverbrauch massiv erhöhen kann.
Erhöhen der maximalen Dateigröße für die Dateivorschau
viewer.maxSize = <int>
Standardwert: 2
Maximale Dateitypenfilter Puffergröße
Wenn die eingebettete Dateianalyse des Dateitypfilters aktiv ist, werden unterstützte Dateien geöffnet und auf ihren Inhalt hin untersucht. Im Falle von MS Office-Dateien kann diese Analyse bei größeren Dateien viel Speicherplatz benötigen. Wenn Dateien aus diesem Grund nicht gescannt werden können, kann der folgende Parameter auf einen großen Wert gesetzt werden, um das Scannen dieser Dateien zu ermöglichen, allerdings auf Kosten eines erhöhten Speicherverbrauchs.
Erhöhung der maximalen Puffergröße bei der Analyse von Office-Dateien
fileTypeFilter.byteArrayMax= <int>
Standardwert: 100000000 (100 Millionen Bytes = 100 MB)
Beschränkung der virtuellen Hosts
Standardmäßig antwortet der Cryptshare Server auf HTTP-Anfragen unabhängig vom Inhalt des 'Host'-Headers. Zum Schutz vor Host-Header-Injection-Attacken kann der Server so konfiguriert werden, dass er Anfragen mit einem Host-Header blockiert, der nicht dem kanonischen Host dieses Systems entspricht.
Host-Header einschränken
virtualHosts.restrict= <true|false>
Standardwert: false
Zusätzliche virtuelle Hosts
Wenn `virtualHosts.restrict` aktiviert ist, kann `virtualHosts.additional` verwendet werden, um zusätzliche Hosts hinzuzufügen, unter denen der Server verfügbar ist.
Zusätzlichen virtuellen Host hinzufügen
virtualHosts.additional= <string>
Standardwert: ""
Beispiel: Um die zusätzlichen virtuellen Hosts "example.com" und "app.example.com" hinzuzufügen, setzen Sie den Wert auf "example.com,app.example.com".