.htaccess Tipps: Mehr Sicherheit für deine Webseite

Wer eine eigene Webseite betreibt — weiß, dass er dafür auch die Verantwortung übernehmen muss. Einerseits, damit seine Seitenbesucher sicher surfen und auch, um sich vor böswilligen Angreifern zu schützen. Deshalb steht die Sicherheit bei Webprojekten für mich sehr weit oben. Gutes Aussehen ist eben nicht alles, wenn die Basis schwankt. Damit dir das nicht passiert, habe ich ein paar Snippets zusammengetragen.

Security button (Quelle: GotCredit, Liz. CC BY 2.0)
Security button (Quelle: GotCredit, Liz. CC BY 2.0)

Schütze deine Webseite gegen Clickjacking

Gleich der erste Schnipsel hätte mir vor rund einem Jahr einigen Ärger erspart. Ein netter Chinese hatte meinen Blog per iframe auf seine Domain übernommen und wollte so von mir profitieren. Schnell schob ich ihm den Riegel vor. Mit dem Snippet gehören solche Szenarien der Vergangenheit an. Ein Einbinden der Seiteninhalte über Frames liefert nur eine weiße Seite.

<IfModule mod_headers.c>
	Header set X-Frame-Options "DENY"
	<FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|webmanifest|woff2?|xloc|xml|xpi)$">
		Header unset X-Frame-Options
	</FilesMatch>
</IfModule>

Maßnahmen zum Schutz vor Cross-Site-Scripting

Cross-Site-Scripting ist mittlerweile sehr beliebt. Viele Webseiten, darunter auch ganz bekannte, wurden schon mal Opfer einer XSS-Attacke. Das Risiko kannst du mit zwei Schnipseln reduzieren.

<IfModule mod_headers.c>
	<FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|webmanifest|woff2?|xloc|xml|xpi)$">
		Header unset Content-Security-Policy
	</FilesMatch>
</IfModule>
<IfModule mod_headers.c>
	Header set X-XSS-Protection "1; mode=block"
	<FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|webmanifest|woff2?|xloc|xml|xpi)$">
		Header unset X-XSS-Protection
	</FilesMatch>
</IfModule>

Serversignatur unterdrücken

Diese Regel habe ich seit dem Aufsetzen meiner ersten WordPress-Installation verinnerlicht. Gib immer nur die Daten preis, die keine eindeutigen oder bestenfalls keine Rückschlüsse auf deine Infrastruktur zulassen. Eine Versionsnummer kann einem Angreifer bereits helfen, eine zielgerichtete Attacke zu fahren. Daher rate ich auch dazu, die Serversignatur zu unterdrücken. Deine Seitenbesucher wird es nicht interessieren, welchen Server, welches CMS oder welche Plugins du einsetzt — außer Tracking-Tools. Aber da musst du deine Besucher eh drauf hinweisen.

<IfModule mod_headers.c>
    Header unset X-Powered-By
</IfModule>
ServerSignature Off

Das waren jetzt nur vier Schnipsel und meine Auflistung erhebt keinen Anspruch auf Vollständigkeit. Wenn du also noch ein wichtiges Snippet auf Lager hast, dann schreib einfach einen Kommentar unter diesen Beitrag. Ich freue mich auf deine Tipps.


Avatar von reraiseace
Autor: Markus Werner (reraiseace) Twitterreraiseace, Google+reraiseace, Twittercb_werner
Ich bin Redaktionsvolontär bei der COMPUTER BILD in Hamburg, Fernstudent am Deutschen Journalistenkolleg und schreibe auf re{raise}ace privat über Webdesign und Programmierung. Seit 2015 schrieb ich auch regelmäßig für andere Medien.

0 Kommentare – Schreib mir deine Meinung!

Fülle bitte die nachstehenden Felder aus. Angaben mit einem Sternchen sind Pflichtangaben. Deine E-Mail-Adresse wird nicht veröffentlicht.