Dieser Blog basiert auf WordPress – vermutlich wenige überraschend. WordPress ist eines der am weitesten verbreiteten Content-Management-Systeme weltweit und erfreut sich großer Beliebtheit, sowohl bei privaten Bloggern als auch bei Unternehmen.
Doch gerade diese Verbreitung macht WordPress auch zu einem bevorzugten Ziel für Hacker und automatisierte Angriffe. Aufgrund der großen Nutzerbasis und der Vielzahl an verfügbaren Plugins und Themes ergeben sich regelmäßig Sicherheitslücken, die ausgenutzt werden können.
Aus diesem Grund ist es besonders wichtig, WordPress-Installationen stets aktuell zu halten, sichere Plugins zu wählen und grundlegende Sicherheitsmaßnahmen umzusetzen, um den Blog vor unerwünschten Zugriffen zu schützen.
Ich möchte hier zeigen, wie man mit einfachen Mitteln das WordPress resilienter gestaltenk kann und das ohne Plugins zubenötigen.
Generelle Einstellungen
- Der Standard-Nutzername von WordPress ist geändert.
- Das Passwort für den Login ist sicher: min. 16stellig, Groß-, Kleinbuchstaben, Zahlen Sonderzeichen
- Die Updates für WordPress, Plugins und Themes werden automatisch durchgeführt.
- Nutze die neueste PHP-Version
Anpassungen an der Worpress-eigenen .htaccess
Folgende Zeilen am Anfang der .htaccess
erschweren den Angreifern ihr tun:
# Disable Directory Listing
Options -Indexes
# Block the include-only files.
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]
RewriteRule ^wp-content/uploads/[^/]+\.php$ - [F,L]
# Disable XMLRPC
RewriteRule ^xmlrpc.php - [F,L]
# Disable author scans
RewriteCond %{QUERY_STRING} (author=\d+) [NC]
RewriteRule .* - [F]
REST API und XML-RPC beschränken
Um die REST API und XML-RPC zu beschränken müssen folgende Anpassungen an der functions.php
vorgenommen werden:
# REST API einschränken
add_filter('rest_authentication_errors', function($result) {
if (!is_user_logged_in()) {
return new WP_Error('rest_disabled', 'REST API disabled.', ['status' => 403]);
}
return $result;
});
# XML-RPC deaktivieren
add_filter('xmlrpc_enabled', '__return_false');
Versionsausgabe unterdrücken
Die Versionsausgabe des WordPress im HTML-Head kann man wie folgt in der functions.php
deaktivieren:
# Versionsausgabe unterdrücken
remove_action('wp_head', 'wp_generator');
Automatische Updates aktivieren
Um die WordPress-Update automatisch durchzuführen, ist folgende Einstellung in der wp-config.php
notwendig:
define('WP_AUTO_UPDATE_CORE', true);