OPUS4 / application

OPUS 4 application.
Other
15 stars 21 forks source link

Cookie-Flag Secure setzen #960

Open j3nsch opened 2 years ago

j3nsch commented 2 years ago

Das Setzen des Cookie-Flag (Secure) verhindert das Abfließen des Cookies per HTTP.

Es muss sichergestellt sein, dass OPUS auch noch funktioniert, wenn kein HTTPS verwendet wird. Das ist insbesondere im Kontext des Testens und der lokalen Entwicklung wichtig.

Old: https://tickets.zib.de/jira/browse/OPUSVIER-4493

j3nsch commented 2 years ago

Das Flag würde (wie auch schon das HttpOnly-Flag) in der Apache-Webserver-Konfiguration gesetzt werden. Dafür haben wir ja zwei Templates. Das Install-Script sollte um eine Abfrage ergänzt werden, ob die zu installierende OPUS-Instanz via HTTPS erreichbar ist. Nur in diesem Fall sollte das Secure-Flag gesetzt werden. Für Tests und bereits in Betrieb befindliche Instanzen ändert sich nichts; ebenso für Instanzen, die nicht mit Install-Script aufgesetzt oder eine andere Webserver-Konfiguration (oder einen anderen Webserver) nutzen.

j3nsch commented 2 years ago

ich würde mal einen PR für diesen Aspekt vorbereiten: https://github.com/OPUS4/application/pull/380

j3nsch commented 2 years ago

Das klingt nach zu viel Aufwand, der nicht gerechtfertigt ist. Mein Vorschlag wäre, ein entsprechender Eintrag in den Konfigurationsdateien, auskommentiert, mit einem passenden Kommentar.

Dazu ein Eintrag in den Release Notes, am Besten sofort, mit der Umsetzung des Tickets. Ein Hinweis im Handbuch wäre auch sinnvoll.

In der Bonus-Runde kann dann vielleicht auf einer Status-Seite in der Administration angezeigt werden, ob diese Option aktiviert ist oder nicht.

Unterschiedliche Konfigurationsdateien, die bei der Installation ausgewählt werden und parallel gepflegt werden müssen, oder Installationscode der die Konfigurationsdatei anpasst, sind fehleranfälliger und für eine Entscheidung, die einmal getroffen werden muss, im Augenblick nicht gerechtfertigt. Zumal der Großteil der Instanzen, alle die sich im Hosting befinden, das Installationsskript nie verwenden.

j3nsch commented 2 years ago

In den OPUS4-Konfigurationsdateien können wir diese Änderung leider nicht übernehmen, da wir das Cookie-Management (Pfad und Flags) bislang direkt in der Apache-Konfiguration machen, d.h. in den beiden Templates für Apache 2.2 und 2.4. Man könnte das vermutlich auch in den PHP-Code ziehen.

Ich habe in der Apache-Konfiguration jetzt das Flag mit dem Wert "off" eingetragen. Während der Installation wird dann abgefragt, ob die Instanz unter HTTPS läuft (dann sind allerdings noch weitere Anpassungen in der Apache-Installation, außerhalb der Konfiguration erforderlich: mod_security und SSL-Zertifikat). Das sind aber Dinge, die das Install-Script nicht umsetzt und auch nicht sollte.

j3nsch commented 2 years ago

Es ist sinnvoll die Konfiguration vorzubereiten, mit entsprechenden Kommentare, so dass man die Datei durchgehen und an die eigenen Bedürfnisse anpassen kann, mehr nicht.

Das fällt in eine ähnliche Kategorie wie die Installation von Solr in den Installationsskripten. Theoretisch vielleicht ein gute Idee, macht aber Arbeit für die wir keine Resourcen haben und produziert keine Installation, die für den produktiven Einsatz sinnvoll wäre. Deshalb fliegt das auch demnächst rauss. Im Augenblick ist aber für all das keine Zeit.

Wenn BibTeX erledigt ist und auch sonst die 4.7.1 fertig ist, haben wir immer noch keine Zeit solange der Umstieg auf Laminas nicht erledigt ist.