Die Sicherheit durch .htaccess bedeutend verbessern
Wenn du eine Webseite betreibst, kannst du die Sicherheit durch .htaccess bedeutend erhöhen. Die .htaccess-Datei ein mächtiges Werkzeug, um die Sicherheit deines Webspace zu verbessern. Lass uns einen Blick darauf werfen, wie du diese Datei nutzen kannst, um deine Webseite vor unerwünschten Zugriffen und potenziellen Bedrohungen zu schützen.
Eine .htaccess wird in der Regel bei dir unterstützt, sofern dein Webspace unter einem Apache- oder Nginx-Server läuft!

Sicherheit durch .htaccess – Homepage Sicherheit
Zum Thema Sicherheit durch .htaccess folgt zuerst eine Erklärung zu wichtigen Einstellungen in der .htaccess.
Header set X-XSS-Protection „1; mode=block“:
- Diese Einstellung aktiviert den integrierten XSS-Schutz (Cross-Site Scripting) in modernen Browsern. Der Header X-XSS-Protection mit dem Wert „1; mode=block“ verhindert, dass Browser Seiten laden, die XSS-Angriffe enthalten könnten. Falls ein solcher Angriff erkannt wird, blockiert der Browser die Ausführung des schädlichen Skripts.
Header set X-Frame-Options „SAMEORIGIN“:
- Diese Einstellung steuert, ob eine Webseite in einem HTML-Frame (zum Beispiel durch <iframe>) angezeigt werden darf. Der Wert „SAMEORIGIN“ erlaubt nur das Einbetten der Seite in Frames, die von der gleichen Ursprungsdomain stammen. Dadurch wird das Risiko von Clickjacking-Angriffen reduziert.
Header set X-Content-Type-Options „nosniff“:
- Der Header X-Content-Type-Options mit dem Wert „nosniff“ verhindert, dass der Browser den MIME-Typ einer Datei automatisch interpretiert. Dies schützt vor Angriffen, bei denen Angreifer versuchen, schädlichen Code in Dateien mit falschen MIME-Typen einzuschleusen.
Header always set Strict-Transport-Security „max-age=63072000; includeSubDomains“:
- Diese Einstellung implementiert das „Strict Transport Security“ (HSTS)-Protokoll. Der Header gibt an, dass der Browser für einen bestimmten Zeitraum (hier 2 Jahre) eine sichere Verbindung (HTTPS) erzwingen soll. Die Option „includeSubDomains“ bedeutet, dass diese Regel auch für alle Subdomains der Hauptdomain gilt.
Header set Referrer-Policy „same-origin“:
- Diese Einstellung legt die Politik für die Übermittlung von Referrer-Informationen fest. Der Wert „same-origin“ sorgt dafür, dass der Referrer nur an Seiten auf der gleichen Ursprungsdomain übergeben wird. Dies trägt dazu bei, sensible Informationen zu schützen, indem verhindert wird, dass der Referrer auf externe Domains übertragen wird.

Mehr Sicherheit durch .htaccess – Homepage Sicherheit
Für mehr Sicherheit durch .htaccess hier nun das Beispiel für diese wichtigen Einstellungen in der .htaccess:
# X-XSS-Protection
<IfModule mod_headers.c>
Header set X-XSS-Protection „1; mode=block“
</IfModule>
# X-Frame-Options
<IfModule mod_headers.c>
Header set X-Frame-Options „SAMEORIGIN“
</IfModule>
# X-Content-Type-Options
<IfModule mod_headers.c>
Header set X-Content-Type-Options „nosniff“
</IfModule>
# Strict-Transport-Security
<IfModule mod_headers.c>
Header always set Strict-Transport-Security „max-age=63072000; includeSubDomains“
</IfModule>
# Referrer-Policy
<IfModule mod_headers.c>
Header set Referrer-Policy „same-origin“
</IfModule>
Die Möglichkeit, mit der .htaccess bestimmte Bots und etc. aussperren.

Kein Zutritt für Hacker- und Login-Idioten
Diese Konfiguration in der .htaccess-Datei dient dazu, bestimmte Bots oder User Agents von deiner Webseite auszusperren. Hier wird die Direktive SetEnvIfNoCase verwendet, um anhand des User-Agent-Headers der HTTP-Anfragen bestimmte Bots zu identifizieren. Wenn ein User Agent mit einem der aufgelisteten Bots übereinstimmt, wird eine Umgebungsvariable (bad_bot) gesetzt.
Hier ein Beispiel für die .htaccess dazu:
SetEnvIfNoCase User-Agent „Proxy“ bad_bot
SetEnvIfNoCase User-Agent „80legs“ bad_bot
SetEnvIfNoCase User-Agent „Pixray“ bad_bot
SetEnvIfNoCase User-Agent „Squider“ bad_bot
SetEnvIfNoCase User-Agent „Seznam“ bad_bot
SetEnvIfNoCase User-Agent „Mail.ru“ bad_bot
SetEnvIfNoCase User-Agent „BaiDu“ bad_bot
SetEnvIfNoCase User-Agent „Python“ bad_bot
SetEnvIfNoCase User-Agent „WGet“ bad_bot
SetEnvIfNoCase User-Agent „Yandex“ bad_bot
SetEnvIfNoCase User-Agent „sqlmap“ bad_bot
SetEnvIfNoCase User-Agent „Spider“ bad_bot
SetEnvIfNoCase User-Agent „Other“ bad_bot
SetEnvIfNoCase User-Agent „AhrefsBot“ bad_bot
SetEnvIfNoCase User-Agent „Java“ bad_bot
<Limit GET POST PUT HEAD>
order allow,deny
allow from all
deny from env=bad_bot
</Limit>
Zugriffskontrolle Sicherheit durch .htaccess: Wer darf rein?
Die .htaccess-Datei ermöglicht es dir, den Zugriff auf deine Webseite zu steuern. Mit ein paar einfachen Befehlen kannst du festlegen, wer deine Seite betreten darf und wer eben gesperrt wird! Das ist besonders nützlich, um zum Beispiel bestimmte Netzwerke zu sperren, die gerne von vielen Hacker- und Login-Idioten genutzt werden.
Hier sind die Erklärungen für die einzelnen Anweisungen:
- order allow,deny: Gibt die Reihenfolge an, in der die allow und deny Anweisungen angewendet werden sollen. Hier wird zuerst allen Anfragen erlaubt (allow from all), und dann werden diejenigen, die den aufgeführten Kriterien entsprechen, verweigert (deny from …).
- deny from .amazonaws.com: Blockiert den Zugriff für alle Anfragen, die von Domänen mit der Endung „.amazonaws.com“ kommen.
- deny from 2.38.128.0/17: Blockiert den Zugriff für alle IP-Adressen im Bereich von 2.38.128.0 bis 2.38.255.255.
Ähnlich werden alle nachfolgenden deny-Anweisungen genutzt, um den Zugriff für bestimmte IP-Adressbereiche oder Domänen zu blockieren. Dies kann nützlich sein, um beispielsweise den Zugriff von bekannten schädlichen IPs oder Domänen einzuschränken.
Die folgende Konfiguration in der .htaccess-Datei dient dazu, den Zugriff auf die Webseite für bestimmte IP-Adressbereiche und Domänen zu sperren. Das Sperren des Domain-Namen funktioniert leider nur, wenn er auch übertragen wird.
Was immer super funktioniert, ist das Sperren eines kompletten Netzwerks eines Hosting- oder Cloud-Providers. Hier wird die <Limit>-Direktive verwendet, um den Zugriff für bestimmte HTTP-Methoden wie GET und POST einzuschränken.
Weitere Sicherheit durch .htaccess, das Beispiel dazu:
<Limit GET POST>
order allow,deny
allow from all
deny from .amazonaws.com
deny from .bc.googleusercontent.com
deny from .co.nz
deny from 2.38.128.0/17
deny from 3.144.0.0/13
deny from 4.240.0.0/12
deny from 5.23.50.0/24
deny from 13.64.0.0/11
deny from 20.64.0.0/10
deny from 36.111.67.0/24
deny from 40.76.0.0/14
deny from 47.111.0.0/16
deny from 88.99.0.0/16
deny from 91.199.3.0/24
deny from 92.39.104.0/21
deny from 106.227.48.0/22
deny from 114.224.0.0/12
deny from 118.80.0.0/15
deny from 123.180.0.0/14
deny from 125.88.0.0/13
deny from 176.99.128.0/19
deny from 188.40.0.0/16
deny from 203.145.46.0/23
deny from 222.79.64.0/18
deny from 2400:8901::/32
deny from 2401:5f80:5000::/36
deny from 2600:3c00::/32
deny from 2a01:4f8::/32
deny from 2a06:2ec0::/32
</Limit>
Soviel zu dem wichtigen Thema – Mehr Sicherheit durch .htaccess. Eine Übersicht über alle Tipps zum Thema Website schützen über den Link.
Weitere Erklärungen zur .htaccess über diese Website.