Wordpress Sicherheit
Wordpress ist aufgrund der hohen Verbreitung auch im Fokus von Hackern bzw. von denen, die es gerne wären. Es gibt reichlich Tools, mit denen Angriffe bzw. Hackversuche automatisiert (also mit Software) erfolgen. Diese Angriffe sind u. U. sehr massiv, so daß man manuell eingreifen muß.
Um Angreifern u. automatischen Tools, die Erfolgschancen zu minimieren u. von weiteren Versuchen abzubringen, ist die ständige Aktualiserung der Webanwendungen nötig.
Also Wordpress sollte immer zeitnah auf aktuellen Stand gebracht werden.
Es sind auch weitere Maßnahmen sinnvoll, die den Zugang bzw. den Angriff auf die Admin-Oberfläche erschweren. Soweit man diese Regeln einhält, ist das Risiko für einen erfolgreichen Angriff gering.
Ist das Kind in den Brunnen gefallen, also die Homepage gehackt, muß der Hack untersucht werden. Meist werden Scripte geändert oder neue Scripte (Dateien) auf den Server eingebracht und damit Spam versendet oder anderer Unfug (Malware-Verteiler etc.) getrieben. Ist das der Fall, müssen sämtliche Dateien der Homepage untersucht werden u. ggf. Hackercode oder Hackerscripte entfernt werden. Dies kann im Einzelfall sehr umständlich sein, mit bestimmten Wordpress-Addons kann man das aber vereinfachen.
Für weitere Informationen stehe ich Ihnen gerne zur Verfügung:
per Mail
direkt: 06242 990949 - Uwe Orlemann - Linux-Administrator.Net
Linux-Server Sicherheit - ein Überblick
Server im Internet sind ständig Angriffen ausgesetzt. Damit der Angreifer keinen Erfolg hat, muß man zunächst folgende Basis-Maßnahmen ergreifen:
- Ein aktuelle Linux-Version betreiben und regelmäßig mit Sicherheitspatches versorgen.
- Die Zugänge mit sicheren Passwörtern anlegen (und Zugangsdaten sicher aufbewahren)
- Den SSH-Zugang mit fail2ban sichern, den SSH-Port verlegen und/oder mit SSH-Keys arbeiten.
- Nicht benötige Ports nach außen schließen.
- Beobachten und eingreifen - Servermonitoring.
Für die Server-Software bzw. Web-Anwendungen auf dem Server gilt:
- Aktuelle Software betreiben und mit Sicherheitspatches versorgen - z.B. FTP-Server, Web-Server, Datenbank-Server, PHP-Versionen.
- Webanwendungen
Webanwendungen sind ein sehr häufiger Grund für Hacks auf einem Server bzw. Mißbrauch von Server-Anwendungen wie Mail. Hier gilt unbedingte Aktualität der Software herstellen, ggf. frühzeitig patchen. Sollte dies nicht möglich sein, sind weitere Sicherheitsmaßnahmen zu ergreifen - z.B. schützen von Verzeichnissen, Deaktivierung bestimmter Funktionen. - Datenbank-Zugänge sollten auf den Server begrenzt oder gesichert sein.
- Auch für Server-Software und Webanwendungen gilt der Einsatz sicherer Passwörter.
Darüberhinaus kann man noch eine Firewall einsetzen. Es gilt aber in erster Linie nicht benötige Ports über die Software zu schließen.
Ich meine es gibt keine absolute Sicherheit (gerade in bezug auf Internet-Server). Es werden immer wieder neue Sicherheitslücken bekannt, die zum Teil schon seit Jahren bestehen und wir müssen davon ausgehen, daß diese Lücken einigen Hackern schon vor der Öffentlichkeit bekannt sind.
Trotzdem muß man hier immer am Ball bleiben und das System und Software aktuell halten. An dieser Stelle erinnere ich an ein Backup-Verfahren, daß die Daten auf einen anderen Server kopiert. Dabei ist ein Backup-Verfahren sinnvoll, daß von einem anderen Server (Backup-Server) gesteuert wird und kein Zugriff vom Server aus besteht.
Fail2ban - IP's blocken
Fail2ban dient zur Vorbeugung von Einbrüchen bzw. zum Austesten von Passwörtern. Ab einer bestimmten Anzahl von Fehlversuchen wird die IP des Versuchers (oder Angreifers) für eine bestimmte Zeit über IPTables (Firewall) gesperrt.
Heutzutage finden fast auf jeder IP Einlogversuche statt, je nach IP oder Server in unterschiedlich hoher Zahl. Je mehr Versuche, umso mehr ist Fail2ban empfehlenswert, um einfach die Anzahl der Versuche niedrig zu halten und somit die Wahrscheinlichkeit eines Treffers zu minimieren. (Es gilt aber trotzdem sichere Passwörter zu verwenden!). Fail2ban läßt sich für SSH, Mail, Apache, FTP etc. verwenden. In erster Linie wird es für SSH verwendet. Für SSH kann man auch einen anderen Port als 22 einsetzen, dies schmältert auch die Anzahl der Einlog-Versuche oder noch besser man nutzt einen anderen SSH-Port und Fail2ban.
Ich setze Fail2ban gerne ein, wenn wirklich viele Angriffe standfinden - auf den Server ist inzwischen leider der Fall. Es kommt hier immer auf den Kundenfall bzw. Verwendungszweck des Servers an und man sollte die Konfiguration von Fail2ban danach ausrichten.
Alternative Denyhosts
Denyhosts ist für SSH-Angriffe (Versuche) geignet. Es sperrt IP's über die /etc/hosts.deny des Systems.
http://denyhosts.sourceforge.net
http://www.fail2ban.org
IPTables
Iptables ist eine Software und gehört zur Firewall im Linux-Kernel. Mittels IPTables lassen sich einfache aber auch komplexe Firewalls erstellen. Das Thema ist nicht einfach, aber umfangreich - deshalb hier zu ein Link:
http://de.wikibooks.org/wiki/Linux-Praxisbuch:_Linux-Firewall_mit_IP-Tables
Als Firewall-Produkte (auf Basis IPTables) für Linux-Server gibt es z.B.:
- APF(Advanced Policy Firewall) https://www.rfxn.com/projects/advanced-policy-firewall/
- Shorewall http://shorewall.net/
- Plesk-Firewall
Das wäre die Möglichkeit einer Firewall auf einem Server. Besser ist es aber eine Firewall dem Server vorzuschalten, damit ein Angreifer schon vor dem Eintritt auf dem Server geblockt wird.
ModSecurity Web Application Firewall
ModSecurity meint "modul security" für den Apache Webserver und ist eine sogenannte Web Application Firewall (WAF). Die Software unterbindet (grob erklärt) auf Regelbasis den Zugriff auf bestimme URL's. ModSecurity kann die üblichen Angriffe auf Webseiten verhindern - z.B. SQL Injection, System Befehle, Webanwendungsfehler. Die Betonung liegt auf "kann". Die Regeln können sehr komplex sein und man muß aufpassen, daß man keine regulären URLS sperrt.
Ich meine ModSecurity kann man durchaus in der Basis-Variante einsetzen, aber die Komplexität macht es letztlich eher etwas für WAF-Spezialisten.
https://www.modsecurity.org/about.html
SSL-Zertifikate - Verschlüsselung
SSL-Zertifikate sind die Basis für eine verschlüsselte Daten-Übertragung vom PC zum Server und umgekehrt.
Bekannt ist vom Browser her https (HyperText Transfer Protocol Secure). Für die Verbindung mit Mailservern ist es SSL/TLS bzw. imapS, pop3S, smtps - dabei dient dies zur verschlüsselten Übertragung vom Daten vom Mailclient zum Mailserver und umgekehrt.
Gleiches gilt für FTP über SSL (FTPS).
SFTP oder SSH ist etwas anderes, hier wird nicht das SSL-Protokoll genutzt.
Also um SSL nutzen zu können, benötigt man ein Zertifikat. Dieses Zertifikat kann man selbst erstellen und signieren (self-signed). Self-Signed-Zertifikat sind nicht validiert, deshalb kommt es im Browser, Mailclient etc. eine Sicherheits-Meldung wenn man es nutzt (soweit man das Zertifikat erstellt hat und konfiguriert hat, findet auch hier eine verschlüsselte Datenübertragung statt).
Möchte man diese Sicherheitsmeldung nicht, muß man bei einen Zertifikatsanbieter ein valdiertes Zertifikat kaufen. Je nach Verwendungszweck und Anspruch genügt hier oftmals die günstigste Variante. Der Besteller erstellt ein CSR (Certificate Signing Request) auf dem Server für die jeweilge Domain mit den erfoderlichen Angaben, wird vom Zertifikatsaussteller geprüft und erhält letztlich ein für einen bestimmten Zeitraum gültiges Zertifikat.
Ein weiterer Punkt sind Cipher Suite's (Chiffrensammlung), wie RSA, DSA, SHA, AES, DES usw.. Bei der erweiterten Zertifikatsprüfung sollten nur sichere Suite's verwendet werden