Htaccess

Estimated reading: 2 minutes 233 views

Für einen guten Schutz bietet es sich an die .htaccess im Root von WordPress um folgende Einträge zu erweitern:

# WordPress .htaccess mit zusätzlichen Sicherheitsmaßnahmen

# WordPress Standard-Regeln beibehalten
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# BEGIN Sicherheitsmaßnahmen

# Schutz vor bösartigen Anfragen
<IfModule mod_rewrite.c>
  # Blockiere Anfragen mit verdächtigen Parametern
  RewriteCond %{QUERY_STRING} \.\./|\.\. [NC,OR]
  RewriteCond %{QUERY_STRING} (file_put_contents|eval\() [NC,OR]
  RewriteCond %{QUERY_STRING} (FUCKYOUWAF) [NC,OR]
  RewriteCond %{QUERY_STRING} (base64_decode|chmod|curl|system|exec) [NC]
  RewriteRule .* - [F,L]
</IfModule>

# Direkten Zugriff auf sensitive Dateien blockieren
<FilesMatch "^(wp-config\.php|php\.ini|\.htaccess|\.git)">
  Order deny,allow
  Deny from all
</FilesMatch>

# Zugriff auf wp-includes Dateien einschränken
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^wp-admin/includes/ - [F,L]
  RewriteRule !^wp-includes/ - [S=3]
  RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
  RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
  RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>

# PHP in Uploads-Verzeichnis deaktivieren
<Directory "/var/www/html/wp-content/uploads">
  <FilesMatch "\.(?i:php|phtml|php3|php4|php5|php7|phps)$">
    Order Allow,Deny
    Deny from all
  </FilesMatch>
</Directory>

# Verzeichnisauflistung deaktivieren
Options -Indexes

# Schutz vor Cross-Site Scripting und Clickjacking
<IfModule mod_headers.c>
  Header set X-XSS-Protection "1; mode=block"
  Header set X-Frame-Options "SAMEORIGIN"
  Header set X-Content-Type-Options "nosniff"
</IfModule>

# Verhindern von PHP-Ausführung in bestimmten Verzeichnissen
<IfModule mod_rewrite.c>
  RewriteRule ^wp-content/uploads/.*\.(?:php[1-7]?|pht|phtml|phps)$ - [NC,F,L]
</IfModule>

# END Sicherheitsmaßnahmen

Htaccess