Heute gibt es viele Internet Projekte, welche ohne aktiven Webmaster betrieben werden. Anders als bei manchen großen Websites oder Online Shops lauern viele Gefahren für die Betreiber.
Bei der Sicherheit um Webseiten sind viele Betreiber so unbekümmert, als würden Sie die Brieftasche offen im Auto herumliegen lassen. Um was geht es? Es geht schlichtweg darum, dass der Einbruch (Hacken) in Websites für zahlreiche dubiose Geschäftsmodelle interessant ist.
Das Interesse dahinter ist das verbreiten von Viren, Trojaner, Malware, Spam Mail, Kommentar Spam, Nutzung Rechenleistung und und und. Sie sollten die Situation ernst nehmen, denn es gibt zu viele Sicherheitslöcher in den Technologien, die im Internet verwendet werden.
Ihr Webmaster, Webagentur oder System Administrator sollte einige Bereich abklopfen damit Sie auf der "sicheren Seite" liegen. Denken Sie daran, wenn Google Malware auf Ihren Webseiten entdeckt, "raucht" auch Ihr Ranking ab oder die Website landet auf einer Blacklist.
Nachfolgend werden einige Bereiche erläutert und die Maßnahmen, die getroffen werden müssen.
Server
- Alle Logins erfolgen über verschlüsselte Kanäle
- Passwörter sind mind. 10 Zeichen aus dem vollen ASCII Zeichensatz
- Wordpress, Drupal, Contao, Magento usw. nur mit SSL verbinden
- Sperren IP Adressen unsicherer Regionen (oftmals Russland, Ukraine, Asiatische Staaten)
- Aktuelle Version von PHP, ASP usw.
- Keine anderen Dateien wie Backups, Passwortlisten, temporäre Entwickler Dateien o.ä. in der Webserver Root
Wordpress
Das beliebte CMS wird natürlich bei Ihnen täglich automatisiert angegriffen. Als Firmeninhaber oder Geschäftsführer gehört es zu Ihrer Pflicht Sorge zu tragen. Es gib eine Reihe von Blogs, die das Thema gut behandeln. Hier die wichtigsten Grundlagen
Login
Teilweise werden Namen, Begriffe aus der Webseite extrahiert sowie klassische admin:123456 Kombinationen. Eine Maßnahme ist das schützen der Login Sequenz.
- /wp-login.php url ändern
- /wp-login.php?action=register ändern
- Passwort nur stark wählen mit mind. 10 Zeichen
- Captcha oder ReCaptcha anwenden
- Kein Login als Admin für einfache Arbeiten
Benutzername
- Keine üblichen Namen wie admin oder root verwenden
- eMail Adresse als Login Namen verwenden mit dem Plugin WP EMail Login
- Benutzername und Pseudonym unterschiedlich einstellen
Schnittstellen
Einige sinnvolle Schnittstellen, die aber viele Projekte nicht brauchen ggf. Sperren bzw. gezielt beschränken. Wer, was, wann und wo darf. Testen Sie mal meine-domain.de/wp-json (für meine-domain bitte Ihre Domain nehmen) was kommt.
Sperren Sie also erstmal
- REST-API
- JSON
Mit dem Plugin WP Cerber kann man das einfach und schnell umsetzten.
Konfigurations Datei
Die wp-config.php Datei enthält relevante Konfigurationen. Die Benutzer Rechte per Terminal Komandozeile auf 444 setzen, damit nur Leseberechtigung besteht.
chmod -f 444 wp-config.php
Bevor Sie das machen können Sie noch die am Ende der wp-config.php folgenden Code eintragen:
define('DISALLOW_FILE_EDIT', true);
Außerdem sollten die Verbindung zur Datenbank auch per SSL erfolgen sowie ein starkes Passwort gewählt werden.
Plugins
Jedes Plugin stellt auch ein Sicherheitsrisiko dar. Es ist daher ratsam nicht alles zu installieren, was traumhafte Lösungen anbietet. Ein schlankes System ist beherrschbarer für viele Projekte. Nach Angaben einer Studien gehen die Sicherheitslücken zu ca. 50% von Plugins aus.
Folgende Überlegungen erscheinen sinnvoll:
- Löschen inaktiver unbenutzer Plugins
- Regelmäßige Updates
- Community Beiträge lesen zu den Plugins
- Ist das Plugin unter aktiver Entwicklung
Updates
Machn Sie regelmäßig Updates insbesondere wenn Sicherheitslücken bekannt werden. Automatisierte Programme durchdorsten das Internet nach Schwachstellen. Der Trick ist wie das versuchen ob eine Tür nicht abgeschlossen ist.
Backup
Legen Sie vorher und nach der Tätigkeit ein Backup an, das außerhalb der Webserver Root in einen sicheren Ordern liegt. Setzen Sie die Dateirechte auf 000 per Kommandozeile oder auch mit FTP Programm.
WP Cerber Security & Antispam führt auch einen Check der Dateiintegrität aus. Sprich, es wird kontrolliert ob Dateien manipuliert wurden.
Drupal
Viele Sicherheitsmaßnahmen, die für Wordpress gelten sind auch für Drupal anzuwenden. Es gibt natürlich Unterschiede die zudem abweichen zwischen Drupal 8 (insgesamt sicherer) und Drupal 7.
HTACCESS Datei
Die .htaccess Datei hat es vielen Benutzer angetan. Wer Kontrolle über seinen Server hat, kann darauf verzichten und das gleich in der vitrual-host.conf, apache2.conf (o.ä. Name) anpassen. Am besten .htaccess auch gleich deaktivieren und den Overhead reduzieren.
Wie auch immer hat .htaccess Vorteile, da es schnell und leicht geht und der Webserver Deamon nicht neu gestartet werden muss (z. B. apachectl restart ).
Wer Drupal nicht nutzt für Foren, Multi-User oder einer breiteren Nutzergruppe die sich einloggen sollt kann den Zugriff auf Login Attacken reduzieren und erweitert .htaccess gleich zu Anfang um folgende Zeilen.
#Beispiel SetEnvIfNoCase Request_URI "user/password" intrusion SetEnvIfNoCase Request_URI "user/register" intrusion Deny from env=intrusion
Viele Webseiten Betreibern brauchen keine Besucher z. B. aus China, Vietnam. Sie sind z. B. Rechtsanwalt, Architekt ein lokaler Shop oder Dienstleister mit DACH Kunden? Wie oft kam da ein Geschäft aus Asien zustande? Dann kann man den IP Adress Raum bestimmter Telekom Provider sprerren wo regelmäßig Attacken ausgehen.
#Beispiel #Chunghwa Telecom Co. Taiwan deny from 1.34.0.0/15
Erzwingen von SSL ist bei Drupal schon in der .htaccess Datei enthalten. Ändern Sie die betreffenden Zeilen, dass jeder Zugriff per TLS / SSL erfolgt und verschlüsselt ist.
Verzeichnisse
Hier scheiden sich die Geister, den je nach Projektumfang gibt es keinen Goldstandard, da es auch von Serverkonfiguration des jeweiligen Hosting Anbieters abhängt. Insgesamt darf man heute etwas Paranoid sein als zu freizügig.
Für die meisten Dateien reichen Dateirechte wie 555 ( lesen - ausführen ). Für viele Drupal Script Dateien reicht es aus im unbeaufsichtigten Betrieb die Recht auf 440 zu setzen, also nur Besitzer und Gruppe dürfen lesen.
Im Verzeichnis (Directory) files wird man nicht umhin kommen die Rechte auf 755 zu belassen, da sonst diverse Module Dateien nicht schreiben können, also z. B. Dateien aufladen, Sitemaps erstellen, CSS Dateien verbinden.
Nachfolgend ein Beispiel minimaler Dateirechte für D7, die jedoch bei Update o.ä. über Drupal oder Drush wieder angepasst werden müssen
rm -f CHANGELOG.txt rm -f COPYRIGHT.txt rm -f INSTALL.mysql.txt rm -f INSTALL.pgsql.txt rm -f INSTALL.sqlite.txt rm -f INSTALL.txt rm -f MAINTAINERS.txt rm -f README.txt rm -f UPGRADE.txt rm -f LICENSE.txt chmod 440 MAINTAINERS.txt chmod 440 README.txt chmod 440 UPGRADE.txt chmod 444 web.config chmod 444 robots.txt chmod 444 .gitignore chmod 444 .editorconfig chmod 440 cron.php chmod 440 index.php chmod 440 install.php chmod 440 update.php chmod 440 xmlrpc.php chmod 440 authorize.php chmod 555 vendor chmod 555 themes chmod 555 sites chmod 555 scripts chmod 555 profiles chmod 555 modules chmod 555 misc chmod 555 includes chmod 755 sites/all/modules chmod 755 sites/all/libraries
Module
Bei Wordpress ist der Begriff Plugin üblich bei Drupal sagt man Module. Im Prinzip das Gleiche, denn es ist Code der das System erweitert und auch aus dem Aspekt Sicherheit schwächt. Deinstallieren Sie unnötige Module komplett. Machen Sie regelmäßig die Sicherheits Update.
Es gibt einige Module welche helfen schneller Überblick zu erhalten zu Schwachstellen im System.
Security Review | Zeigt Schwachstellen in der Konfiguration auf |
Login Security | Blockiert IP Adressen erfolgloser Login Versuche |
Hacked | Prüft Dateiintegrität von Drupal und Modulen |
Diff | Aufspüren von Dateinänderungen |
Path2Ban | Blockiert IP Adressen mit verdächtigen Dateiaufrufe |
Seckit | Implementiert Content-Security-Policy |
Paranoia | |
Recaptcha | Kontrolle automatisierter Formular Übertragungen |
Das XML Sitemap Module sollte Beachtung finden. Hier kann es sein, dass versehentlich als Benutzer Name offen im Netz stehen. Das Module jQuery Update ist auch eine Kontrolle wert, da alte jQuery Version Sicherheitslöcher aufweisen.
Konfigruations Datei
In Drupal ist die Konfigurations Datei settings.php. Nach Änderung sind die Dateirechte 440 (lesen - lesen - keine) zu setzten.
chmod -f 440 ./sites/default/sitemap.xml
Benutzer
Drupal Core als auch einige Module bieten zahlreiche Einstellungen für Benutzerrechte. Bevor man daran geht, ist es zweckmäßig unnötige Module zu deinstallieren. Ein Benuzter hat in Drupal 7 und Drupal 8 besondere Rechte. Der User mit der ID 1 auch Root User genannt. Diesen sollten man in der Datenbank Tabelle sperren und zusätzlich einen alternativen Administrativen Nutzer anlegen.
Weitere Tipps
- https://www.keycdn.com/blog/drupal-security/
- https://www.drupal.org/security
- https://www.drupal.org/security/secure-configuration
Content-Security-Policy
CSP oder Content-Security-Policy verfolgt vor allem ein Ziel. Von wo dürfen Datei Resourcen geladen werden, die beim Aufruf Ihrer Webseite dem Benutzer im Browser gezeigt werden und das einschleusen von fremden Code bzw. Inhalte.
Beispiel: Sie integrieren ein Firmenvideo von Youtube auf Ihrer Webseite. Dann müssen Sie gemäß CSP das in dem HTTP Header Ihrer Webseite dem Browser mitteilen. Ansonsten sieht der Benuzter nicht den Inhalt der extern von Youtube geladen wurde.
Noch nicht ganz klar. Stellen Sie sich vor Unberechtigte schaffen es Inhalte auf Ihre Webseite zu integrieren. Dann wird das nur angezeigt, wenn Sie die externe Quelle explizit definiert habe.
Die Content-Security-Policy kommt Ihne etwas entgegen, wenn Sie es mit Datenschutz und Tracking ernst nehmen. Denn Sie werden zum ersten mal sehen, von wo überall Dateien in Ihrem Systems stammen und schön immer "mithören".
Insgesamt sollte man bevor eine CSP aufgesetzt darüber nachgedacht werden, wieviel Dateien aus externen Ressourcen wirklich geladen werden müssen, die man auch lokal bzw. unter eigener Kontrolle hosten kann.
Beispiele typischer Bibliotheken die extern geladen werden und dort auch aufzeigen, wie Ihr Webseiten Traffic ist.
- Bootstrap
- jQuery
- FontAwesome
- GoogleMaps
- GoogleFonts
- Google Recaptcha
- Google Analytics
- Youtube
- Vimeo
- TripAdvisor
- Jameda
- uvm
Weitere Tipps
- https://www.webarxsecurity.com/top-content-management-system-vulnerabili...
- https://de.wikipedia.org/wiki/Content_Security_Policy
- https://scotthelme.co.uk/content-security-policy-an-introduction/
Bots, Crawler, Harvester, Webscraper
Viel Webseiten Verkehr wird durch Bots, Crawlerm Webscraper o.ä. automatisierte Programme verursacht. Um was geht es dabei?
Webseiten oder Onine Shops werden durchforstet nach Inhalte, sei es um Ranking Vergleiche anzustellen, Ihre Preis Strategie, Copyright bzw. Urheberrechtsverstöße, Schwachstellen im System, Daten Extraktion im Allgemeinen. Vieles bringt Ihnen wenig Nutzen außer, dass Sie mehr Serverleistung bereitstellen müssen.
Eine allumfassende Lösung wird es hier in naher Zukunft nicht geben. Es bieten sich 2 Lösungen an mit denen man Risiken reduziert.
- Manuelle Listen mit sperren von IP Adressen sowie User-Agents über Einstellungen am CMS oder WebServer
- Einsatz spezieller Dienste, wie Cloudflare, welche dauerhaft sich dem Thema widmen
Als Webmaster kann man zu Lösung 1 greifen und seine eigenen Listen und Sperren pflegen, die sehr lang sind. Eine umfassen Liste von "misbehaving Bots" bietet Northwest.ca an.
SSL / TLS sicher machen
Eine Grundmaßnahme um Websites, Homepages oder eCommerce Shops sicher zu machen ist die SSL / TLS verschlüsselte Datenübertragung. Für den Laien hier kurz eine einfach bildliche Erklärung:
Wie Sie unschwer erkennen wissen Sie trotz dem schwarzen Schlauch nicht wer auf der anderen Seite der Hecke ist. Das wäre in dem Beispiel das Zertifikat, was der SSL Verbindung bestätigt wer die Gegenstelle ist.
Was macht nun eine SSL / TLS Verbindung nicht?
Sie verschlüsselt nicht Ihre Daten selber. Das bedeutet auf der Gegenstelle (Computer, Handy, Tablet) können die Daten ja von jedem gelesen werden. Wollen Sie nun ein Dokument wie z. B. Patientendaten sichern müssten Sie das Dokument selber auch verschlüsseln. Bedenken Sie, dass jedes eMail am eMail Server als unverschlüsselter Text wie eine ganz normale Textdatei hinterlegt ist.
Urheberrecht
Es gehört weniger zu den technischen Maßnahmen aber ist aufgrund zahlreicher Gesetze absolut wichtig, da automatisierte Programme (Bots) wie z. B. PicScout das Internet durchforsten ob Sie auf Ihrer Webseite ggf. Inhalte verwenden, die urheberrechtlich geschützt sind. Die Folge sind kostspielige Abmahnungen. Der Digital Millennium Copyright Act (DMCA) schafft eine rechtliche Basis für die juristische Verfolgung von Urheberrechtsverletzungen im Internet. Google bietet hier ein "Tool" an um Inhalte aus dem Suchindex zu entfernen. Sie sollten hier aufpassen, denn nachhaltige Verstöße werden bestimmt nicht mit guten Rankings belohnt.
Datenschutz
Spätestens seit in Kraft treten der EU-DSGVO sind Sie als kommerzieller Webseitenbetreiber verpflichtet datenschutzrechtliche Bestimmungen zu erfüllen. Schon seit geraumer Zeit was schon das Übermittlen an Formulardaten an Bedingungen geknüpft. Relevante Bedingungen für Webformulare sind in jedem Fall
- SSL gesicherte Übertragung
- Einwilligung EU-DSGVO
- Nachweis führen zu Einwilligung (Protokoll)
Um Ihre Webseite auch EU-DSGVO Konform zu gestalten sind je nah Projekt zahlreiche Aufgaben zu erfüllen. Einige Relevante sind davon:
- Inhaltlich Verantwortlicher
- Kontakt Daten für Löschung personenbezogener Daten
- Aufklärung personenbezogener Daten
- Seite mit Datenschutzbestimmung und Cookie Politik
- Impressum gem. §6 Telemediengesetz
- Übertragung über verschlüsselte Verbindungen bei eMail und Webseiten
- Einwilligung, dass man z. B. per Telefon, eMail, Whatsapp usw. in Kontakt treten darf
Fazit
Eine Website sicher machen erfordert einiges an Aufwand und laufende Kontrolle. Große Projekte brauchen ein aktives und laufende Sicherheitsmanagement der gesamten IT Infrastruktur. Jeder Betreiber von kommerziellen Webseiten ist schon aufgrund der EU-DSGVO verpflichtet für die Sicherheit ausreichend Maßnahmen getroffen zu haben und dies auch Nachweisen kann.
Für viele automatisierte oder einfachere Attacken können Sie Ihre Webseite sicher machen mit einem aktzeptablen Aufwand. Bedenken Sie dass es besonders vertrauenserweckend ist, wenn Ihre Kunden auf eine "Online Spiele" oder "Viagra" Seite umgeleitet werden.