Server-Sicherheit verbessern durch Security Headers

Hast du Vorschläge, was wir an Admidio noch verbessern könnten ? Hier kannst du uns deine Vorstellung an neuen Funktionen mitteilen.
Antworten
Hilo73
Beiträge: 11
Registriert: 1. Nov 2024, 10:44

Server-Sicherheit verbessern durch Security Headers

Beitrag von Hilo73 »

Seit ein paar Wochen beschäftige ich mich intensiv mit Admidio und bin echt schwer begeistert. Tolle Funktionen und sehr logisch umgesetzt. Wer etwas weiter entwickeln will, hat eine gute Doku und auch die Dateien sind super dokumentiert. Vielen Dank dafür!
Ein paar Fragen konnte ich über das Forum hier auch schon sehr schnell klären. Jetzt möchte ich aber etwas beitragen, was Admidio ergänzen kann. Achtung, langer Text....

Ich habe lange Erfahrung mit verschiedensten System, die alle toll funktionieren und grandiose Webseiten erzeugen und den User dabei toll unterstützen. Aber leider wird jedoch häufig die Sicherheit der Systeme auf Serverseite vernachlässigt, man will ja lieber laufende Websites statt endlos lang die Serverkonfiguration bearbeiten. 8)

Die Sicherheit von Admidio stelle ich überhaupt nicht in Frage, ich möchte lieber auf eine serverseitige Ergänzung zur Verbesserung eingehen. Dafür gibt es wirksame (aber leider immer noch zu unbekannte) Möglichkeiten.

Die Security Header:
Sie sind ein sehr wichtiges Tool, um die Sicherheit auf Websites zu erhöhen. Auch ich habe erst letztes Jahr durch eine Nextcloud-Instanz, die ich aufgesetzt habe, intensiv damit Bekanntschaft machen dürfen. Nextcloud setzt diese Header nämlich systemseitig intensiv ein und verweist in der eigenen Dokumentation auch auf die Verbesserung der Sicherheit durch die verschiedenen Einstellungsmöglichkeiten.

Hier dazu zwei umfangreiche Artikel, die die Hintergründe und Zielsetzung gut erklären:
* https://www.tutkit.com/de/blog/200-secu ... it-und-seo
https://kulturbanause.de/blog/http-security-header/
• und hier ein super Vortrag vom CCC zum Thema: https://youtu.be/xbPK6ux9C7o?si=9vw-YGDran_Dhn0w

Eigene Seiten testen:
Unter https://securityheaders.com/ oder https://observatory.mozilla.org könnt ihr auch eure eigene Seite testen und bekommt eine Auswertung, welche Header aktiv sind und welche nicht. Beide Seiten haben etwas unterschiedliche Kriterien zur Bewertung, aber es sind alle Einstellung umfangreich dokumentiert und mit Anwendungsbeispielen bzw. Empfehlungen versehen. Die ganzen Optionen muss man halt wirklich für seine eigenen Bedürfnisse anpassen und passen nicht immer für jede Website gleich gut.

Ich würde mir für Systeme wie Admidio wünschen, dass grundlegende Einstellungen über eine bei der Installation mitgelieferte .htaccess schon gesetzt werden um eine Grundsicherheit zu erreichen und den Anwender zu unterstützen.
Unten seht ihr die .htaccess, die ich aktuell benutze. Diese habe ich nach etlichen Tests in dieser Form für meine Admidio-Instanz erstellt.
Vor Allem die Einstellungen des Headers "Content-Security-Policy" wirken sehr empfindlich auf die Funktionalität. Skripte, CSS, Bilder usw sind davon betroffen. Aber sie sind auch sehr mächtig, um die eigene Seite zu sichern. Hier musste ich einige Tage testen, um die benötigten Funktionen für Admidio herauszufinden. Hier hilft die Chrome-Entwickler-Konsole sher gut weiter wenn man zu restriktiv war.

Hier kann man natürlich noch viel optimieren wenn man möchte. Das Thema ist unglaublich vielfältig. Aber es lohnt sich meiner Meinung nach wirklich, Systeme wie Admidio dahingehend noch besser zu machen, weil wir Daten verwalten, die auch geschützt werden müssen.

Unten noch meine .htaccess-Einträge der Security Header, die für Admidio so laufen und für mich einen guten Kompromiss zwischen Sicherheit und Funktionalität bieten. Ich erhalte damit eine A, bzw. B+-Bewertung bei den beiden oben genannten Prüfungstools.

Code: Alles auswählen

# Ich gehe hier rein auf Security Headers ein
<IfModule mod_headers.c>
	Header always set strict-transport-security "max-age=31536000; includeSubDomains"
	Header always set X-XSS-Protection "1; mode=block"
	Header always set X-Frame-Options "SAMEORIGIN"
	Header always set X-Content-Type-Options "nosniff"
	Header always set Referrer-Policy "strict-origin-when-cross-origin"
	Header always set Cross-Origin-Resource-Policy "same-origin"
	Header always set Permissions-Policy "accelerometer=(), autoplay=(), camera=(), cross-origin-isolated=(), display-capture=(), encrypted-media=(), fullscreen=(self), geolocation=(), gyroscope=(), keyboard-map=(), magnetometer=(), microphone=(), midi=(), payment=(), picture-in-picture=(), publickey-credentials-get=(), screen-wake-lock=(), sync-xhr=(), usb=(), web-share=(), xr-spatial-tracking=(), clipboard-read=(), clipboard-write=(), gamepad=(), hid=(), idle-detection=(), interest-cohort=(), serial=()"
	Header always set Content-Security-Policy "default-src 'none'; script-src 'self' 'unsafe-inline'; img-src 'self' data: ; style-src 'self' 'unsafe-inline'; frame-ancestors 'self'; object-src 'none'; form-action 'self' ;
# wenn es Probleme gibt, kann der 	Header Content-Security-Policy auskommentiert werden. Besser ist aber, zu schauen, wo man besser einstellt
</IfModule>
Ich hoffe, ich konnte das Thema "Security Headers" weitgehend verständlich rüberbringen und kann damit hoffentlich zu einer Verbesserung beitragen. :P

Schöne Grüße
Sven
Benutzeravatar
fasse
Administrator
Beiträge: 6213
Registriert: 12. Nov 2005, 16:06

Re: Server-Sicherheit verbessern durch Security Headers

Beitrag von fasse »

Hallo Sven,

vielen Dank für deinen sehr umfangreichen Post zum Thema Server-Sicherheit. Ich denke es ist hier sicherlich möglich einige Optionen in Admidio zu integrieren. Im ersten Schritt fände ich es aber gut, wenn wir dieses Thema im Wiki positionieren würden. Hast du hier Interesse deinen Post vielleicht noch etwas aufs Wiki angepasst dort zu hinterlegen. Man könnte überlegen eine eigene Seite für Server-Sicherheit zu machen und das SSL-Thema mit dort reinzunehmen. Das kann bestimmt etwas abgespeckt werden https://www.admidio.org/dokuwiki/doku.p ... :2.0:https .

Was hältst du davon?
Wenn du Interesse hast, kannst du schon mal einen Wiki-User anlegen und mir den Namen schicken, dann kann ich dir die entsprechenden Rechte geben.

Viele Grüße
Markus
Hilo73
Beiträge: 11
Registriert: 1. Nov 2024, 10:44

Re: Server-Sicherheit verbessern durch Security Headers

Beitrag von Hilo73 »

Klar, gerne. Gleicher Username wie im Forum:)
Benutzeravatar
fasse
Administrator
Beiträge: 6213
Registriert: 12. Nov 2005, 16:06

Re: Server-Sicherheit verbessern durch Security Headers

Beitrag von fasse »

Es hat ein bischen gedauert, aber jetzt habe ich dich freigeschaltet.

Am Besten erstellst du eine Seite "server-security" und hinterlegst da deine Punkte und gerne das bisherige Thema https. Das darfst du auch gerne anpassen, auf den neusten Stand bringen und ergänzen.
Hilo73
Beiträge: 11
Registriert: 1. Nov 2024, 10:44

Re: Server-Sicherheit verbessern durch Security Headers

Beitrag von Hilo73 »

Bitteschön:
https://www.admidio.org/dokuwiki/doku.p ... ersecurity

Ich weiß nur nicht, wo man das am sinnvollsten plaziert. Das müsstest du einfach entscheiden ;)
Antworten