Archiv der Kategorie: WordPress Tutorials

WordPress Usability and Addons Integration unblog Technical Workarounds and Tutorials for Professionals

WordPress von HTTPS auf HTTP zurückstellen

WP-Admin ist nach Umstellung auf HTTPS gesperrt, Abbruch beim laden der Webseite, WordPress muss zurück zu HTTP.

Geht bei der Umstellung mit WordPress von HTTP auf HTTPS etwas schief, weil etwa das SSL-Zertifikat und die Webserver Konfiguration nicht konsistent ist, muss möglicherweise zum weiteren vorgehen wieder zurück auf HTTP gewechselt werden, der Zugang zum WP-Admin ist nun jedoch versperrt.

Lösung WordPress zurück zu HTTP

Abhilfe schaft das ändern von HTTPS auf HTTP über phpMyAdmin in der SQL Tabelle wp_options und dem Feld siteurl und home, mit Bearbeiten wird bei option_value die gewünschte URL mit dem Präfix (http) eingetragen.

WordPress von HTTPS auf HTTP zurückstellen, ändern über phpMyAdmin in der SQL Tabelle wp_options und dem Feld siteurl und home

Die hier geänderte URL entspricht der in WP-Admin unter Einstellungen › Allgemein bei WordPress-Adresse (URL) und Website-Adresse (URL) eingetragen ist.

WordPress von HTTPS auf HTTP zurückstellen, WordPress-Adresse (URL) und Website-Adresse (URL)

Möglicherweise muss die WordPress-Konfigurationsdatei wp-config.php editiert werden, um SSL zu deaktivieren.

define('FORCE_SSL_ADMIN', true);

Den Wert auf false setzen, oder die Zeile mit einem hash (#) auskommentieren.

define('FORCE_SSL_ADMIN', false);

Apache RewriteRule überprüfen

Auch muss möglicherweise beachtet werden, das wenn die Apache RewriteRule HTTPS aktiviert wurde, diese wieder auf HTTP zurückgesetzt werden kann.

RewriteEngine on
RewriteCond %{SERVER_NAME} =www.mydomain.com
RewriteRule ^https://%{SERVER_NAME}%{REQUEST_URI} [L,NE,R=permanent]

Dies könnte sich in der .htaccess-Datei befinden, oder in der Webserver Konfiguration unter VirtualHost der entsprechenden Domain.

Fazit

In diesem Beitrag wird gezeigt, wie WordPress von HTTPS auf HTTP zurückgesetzt werden kann. Das wenn etwa nicht wie vorgesehen, das SSL-Zertifikat und die Webserver oder DNS Konfiguration noch nicht vorgenommen wurde.

WordPress vor Angriffe schützen

Botnetze greifen WordPress weltweit an, schütze dein WordPress vor Angriffe

Der Angriff selbst ist dabei denkbar einfach, es wird versucht, sich mit „admin“ einzuloggen. Um das Passwort herauszufinden, wird schlichtweg eine entsprechende Vorlage aus tausenden Einträgen sehr schnell abgearbeitet. Es kommt deshalb bei den betroffenen Blogs in der Folge zu einer massiv erhöhten Anzahl von Login-Versuchen – „Brute Force Attack“. Was die Angriffswelle in diesem Fall so problematisch macht, ist die riesen Menge an infizierten PCs, die zum Einsatz kommt.

WordPress vor Angriffe schützen

Gemäss Experten geht es am Ende darum, aus den Servern ein neues Botnet aufzubauen. Das wäre dann um ein Vielfaches mächtiger als das jetzige, weil die Server beispielsweise eine wesentlich bessere Internetanbindung haben als infizierte PCs.

Die wichtigsten Massnahmen um ein WordPress zu schützen

Den Account „admin“ nach Möglichkeit ganz vermeiden. Er ist bei WordPress-Blogs so verbreitet, dass er – so wie auch in diesem Fall – als Hebel für den Angriff genutzt wird. In diesem Blog wird ebenfalls aufgezeigt, wie man den „admin“-Loginname ändert.

Eine weitere Möglichkeit WordPress vor Angriffe zu schützen gibt es, in dem man den Admin-Bereich von WordPress selbst mit einem Passwort schützt. Ohne dieses „Master-Passwort“ kommt man gar nicht erst auf die Login-Seite fürs back-end. Das kann gerade bei Brute-Force-Attacken sehr sinnvoll sein, da der automatische Angriff sehr früh abgefangen wird und den Server dadurch weniger belastet. Auch sollte das MySQL front-end nicht über „phpMyAdmin“ oder „MyAdmin“ in der URL abrufbar sein, hier sollte ein Apache Alias oder ein Symlink, z.B. „db_manager“ angelegt werden, damit ist man aus der Schusslinie von Brute-Force-Attacken, zusätzlich schützt auch ein htaccess-Passwort.

Schutz vor Angriffe mit fail2ban

WordPress vor Angriffe schützen

Noch effizienter und den Server nicht belastend, wirkt sich der Schutz vor Angriffe durch den Einsatz von fail2ban aus.

Dazu wird fail2ban installiert, hier bei CentOS, Fedora.

wget https://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -ivh epel-release-5-4.noarch.rpm
yum repolist
yum install fail2ban
chkconfig --add fail2ban
chkconfig fail2ban on
service fail2ban start

Bei Debian und Ubuntu kann fail2ban direkt aus dem Standard Repo installiert werden.

sudo apt install -y fail2ban

Nach der Installation wird die Filter Definition für WordPress-„wp-login.php“ erstellt.

vi /etc/fail2ban/filter.d/wp-auth.conf

[Definition]
failregex = ^<HOST> .* "POST .*wp-login\.php HTTP.*"
ignoreregex =

Und nun die jail-Konfiguration hinzufügen.

vi /etc/fail2ban/jail.conf

[wp-auth]
enabled = true
filter = wp-auth
action = iptables-multiport[name=wp-auth, port="http,https"]
         mail[name=wp-auth, dest=root]
logpath = /home/www/*/web/logs/access_log
bantime = 3600
maxretry = 6

Die Änderungen aktivieren mit service fail2ban restart

Es wird nun die Brute Force Attacke nach 6 fehlerhaften Login-Versuche, den Zugang für eine Stunde von der Firewall blockiert, geht die Attacke nach einer Stunde weiter, beginnt die Blockierung erneut.