#WPDUS 41. Meetup –
Sicherheit: Rückblick

Hier fin­dest du einen Rück­blick auf unser Meet­up vom 10.03.2020 zum Thema Sicher­heit. Die Vide­os in fünf Tei­len sind ent­spre­chend in den Text ein­ge­bun­den (ganze You­Tube-Play­list hier). Wir freu­en uns über Ergän­zun­gen. Wir haben ver­sucht, die Kom­men­ta­re aus dem Meet­up bereits an den rich­ti­gen Stel­len zu ergänzen.

Struk­tur

  1. Sicher­heit, Ein­füh­rung, Updates, Plugins von Mario Wolf
  2. Back­up auf Sys­tem­ebe­ne mit Klaus Nordmann
  3. Har­de­ning, Hos­ting, SSL von Mario Wolf
  4. Daten­si­cher­heit und ‑schutz von Max Lüdov
  5. Reco­very-Modus und Health-Check von Peter Sentner

Sicherheit, Einführung, Updates, Plugins

Vote für ein neues Thema.

Warum wird man angegriffen?

  • Angrif­fe auto­ma­tisch und nicht zielgerichtet
  • Häu­fig: auto­ma­ti­sier­te Angrif­fe von Bots auf klei­ne und mitt­le­re Websites
  • Sel­ten aber mög­lich: Angrif­fe aus Lan­ge­wei­le oder wegen poli­ti­schen & gesell­schaft­li­chen Statements

Ökonomische Gründe für Angriffe

  • Sys­temres­sour­cen: Nut­zung des Ser­vers für Auf­ga­ben wie Bot­net­ze, Spam, etc. Die Web­site muss dabei keine Auf­fäl­lig­kei­ten zeigen
  • Drive-by-Downloads:Infizierung der Web­site mit Mal­wa­re, die sich beim Besuch der Seite auf den Com­pu­ter des Besu­chers her­un­ter­lädt / installiert
  • BlackhatSEO: Ein­bin­den von (unsicht­ba­ren) Links, damit die Web­sites in Goog­le oder Bing gefun­den wer­den. Häu­fig Affi­lia­te-Links (Pro­vi­si­on)
  • Phishing:Aufbau wei­te­rer Sei­ten im Webs­pace zur Erlan­gung von Zugangs­da­ten o.ä.

Folgen von Angriffen und Hacks

  • Aus­sendung von Spam oder Mal­wa­re hat direk­te Fol­gen für die Web­site-Besu­cher ‑Fahr­läs­sig­keit?
    • Blo­cken der Web­site durch Google
    • Abschal­ten der Web­site durch den Hoster
    • Blo­cken durch Anti-Virus-Programme
  • Folge: keine Besu­cher, keine Bestel­lun­gen, ver­lo­re­ne Reputation
  • IT-Sicher­heits­ge­setz: Unter Umstän­den dro­hen Bußgelder

IT-Sicherheitsgesetz

  • Betrei­ber von Web-Ange­bo­ten sind ver­pflich­tet, aus­rei­chen­de, dem Stand der Tech­nik ent­spre­chen­de tech­ni­sche und orga­ni­sa­to­ri­sche Maß­nah­men zum Schutz ihrer Kun­den­da­ten und der von ihnen genutz­ten IT-Sys­te­me zu ergreifen.
  • Ggf. dro­hen Abmahnungen
  • DSGVO: Feh­len­de Absi­che­rung Grund für Unter­su­chun­gen / Bußgelder

Wie werde ich gehackt?

  • Sicher­heits­lü­cken in Wor­d­Press, Plugins, Themes 
    • Cross-Site-Scrip­ting
    • SQL Injec­tions
    • Unau­then­ti­ca­ted File Uploads
  • Ser­ver-Zugangs­da­ten (FTP)
  • Wor­d­Press-Login geknackt
  • Jede (!) Web­site wird täg­lich (!) angegriffen
  • Angrif­fe wenig ziel­ge­rich­tet und mit ein­fa­chen Mit­teln abzuwehren
  • 3 ein­fa­che Regeln erhö­hen die Sicher­heit der Seite immens!

Über 80% der Angrif­fe nut­zen gestoh­le­ne und/oder schwa­che Passwörter.
(Quel­le: https://www.verizonenterprise.com/resources/reports/rp_DBIR_2018_Report_execsummary_en_xg.pdf)

Persönliche Sicherheit

  • Com­pu­ter Sicher­heit – ist dein eige­ner Com­pu­ter sicher?
  • Pass­wort Sicherheit
  • Pass­wort Manager
  • Wie über­tra­ge ich Daten?

Basics der Website-Sicherheit

  • Regel­mä­ßi­ge Back­ups auf exter­ne Server
  • Regel­mä­ßi­ge Updates
  • Siche­re Passwörter

Erwei­te­te Basics:

  • Benut­zer nur mit benö­tig­ten Rech­ten ausstatten
  • Tes­ten in Test­um­ge­bung nicht in Live/Produktiv

Dis­ku­tier­bar: Secu­ri­ty by Obscurity/ Login-Sper­ren, Wor­d­Press-Ver­wen­dung ver­ste­cken. Für man­che unnütz oder ver­al­tet aber noch stets aktu­ell. Ver­hin­dert unnö­ti­ge Stan­dard-Abfra­gen auf bekann­te Ziele durch Dritte.

Regelmäßige Backups

  • Min­des­tens wöchentlich
  • Sowohl alle Datei­en als auch die Datenbank
  • Die Export-Funk­ti­on von Wor­d­Press reicht nicht aus!
  • Ent­we­der über den Hos­ter oder mit Backup-Plugin
  • Back­up muss auf exter­ner Quel­le liegen 
    • Beim Hos­ter auf ande­rem Server
    • Bei einem ande­ren Hoster
    • In der Cloud
    • Zuhau­se auf dem PC

Regelmäßige Updates

  • Updates min­des­tens wöchent­lich (für WP, Plugins und Themes)
  • Auto-Update für Minor-Ver­si­ons akti­viert lassen 
    • Bei One-Click-Instal­la­tio­nen ggf. vom Hos­ter deaktiviert
  • Kauf-Plugins und The­mes nur mit gül­ti­ger Lizenz 
    • Lizenz auch im Backend ein­tra­gen für Auto-Updates
    • Bei Lizenz-Abo: Abo regel­mä­ßig verlängern
  • Vor den Updates: natür­lich ein Back­up machen
  • Aus­nah­me: Bei grö­ße­ren Ver­si­ons­sprün­gen von Wor­d­Press (4.9.x auf 5.x) oder gro­ßen Plugins (Woo­Com­mer­ce) kann man etwas abwarten

Ergän­zend:

  • Keine alten Plugins ver­wen­den (letz­tes Update max. 2 Jahre her)
  • Aktu­el­le PHP-Ver­si­on nut­zen (mind. 7.3)
  • Nur einen Admi­nis­tra­tor-Benut­zer (der darf sogar admin heißen)
  • Arbei­ten an Sei­ten und Bei­trä­gen nur mit einem Nicht-Admin
  • So weni­ge Benut­zer wie mög­lich, ins­be­son­de­re Admins
  • Nicht genutz­te Plugins und The­mes löschen (nicht nur deaktivieren)
    Parent-The­mes von genut­zen Child ausgenommen!
    Ja, alle unge­nutz­ten The­mes kön­nen gelöscht wer­den, es emp­fiehlt sich aber eine Alter­na­ti­ve zu behalten.

Sichere Passwörter

  • Ein siche­res Pass­wort ist min­des­tens 10 Zei­chen lang
  • Unter­schied­li­che Pass­wör­ter für jeden Dienst einrichten
  • Zei­chen­klas­sen: Klein­buch­sta­ben, Groß­buch­sta­ben, Zah­len, Sonderzeichen
  • Je weni­ger Zei­chen­klas­sen, desto län­ge­res Passwort
  • 20 Zei­chen sind super!
  • Für alle (!) WP-Benutzer
  • Für FTP und Datenbank
  • Für den Login beim Hoster

Erweitertes Housekeeping

  • Webs­pace regel­mä­ßig aus­mis­ten (Test­in­stal­la­tio­nen, Tools)
  • Token und API-Schlüs­sel erneuern
  • Inak­ti­ve Nut­zer löschen
  • Regel­mä­ßig die Sicher­heits­maß­nah­men tes­ten und aktualisieren

Plugins

Antispam

  • Antis­pam Bee
  • Akis­met
    Udo: Akis­met kann nach wie vor nicht DSGVO-kon­form genutzt wer­den. Fin­ger weg!
  • Clean­talk Antis­pam (kos­ten­pflich­tig)

Login

Sicherheit

Plugins, die viele Funk­tio­nen in einer Lösung anbieten(aber auch mehr Res­sour­cen benötigen):

Fire­wall

Web App­li­ca­ti­on Firewall

Backup

Dupli­ca­tor emp­fiehlt sich nicht, da der Ein­satz eigent­lich zur Erstel­lung einer Kopie der Web­site gedacht ist.

Tools

SSL

Doku­men­ta­ti­on von Sicherheitslücken:

Passwort-Manager

  • 1password
  • Kee­Pass
  • Armin Moh­ren: Dashlane
  • Maria Squar­ra: LastPass
  • Ste­phan Anders: Robo­form everywhere
  • SafeIn­Cloud
  • Nor­ton Passwort-Manager

Backup-Hoster

Wo kann man die Back­ups gut spei­chern? (Vor­schlä­ge aus der Runde)

Prüft euren eige­nen Hos­ter, oft­mals haben diese bereits ein Ange­bot für euch.

Chris­ti­an Beh­rends: Auf­trags­Ver­ar­bei­tungs­Ver­trag beachten.

  • Ama­zon AWS Glacier
  • Ama­zon AWS S3
  • Goog­le Drive
  • STRATO HiD­ri­ve
  • tre­sorit
  • uvm

Verbesserter Schutz

Backups auf Systemebene

Hardening, Hosting, SSL

Wor­d­Press Doku­men­ta­ti­on deutsch / eng­lisch

 

  • Aktu­el­le PHP-Version
  • Aktu­el­le Datenbank
  • Aktu­el­ler Web­ser­ver (Apa­che, NginX)
  • Datei­be­rech­ti­gun­gen
  • Ver­zeich­nis Lis­tis­ting abschal­ten (Apa­che .htac­cess Opti­on ‑Inde­xes)
  • SSL
  • Debug-Modus deak­ti­vie­ren
  • wp-admin und wp-con­fig schüt­zen (Apa­che .htac­cess)
  • PHP-Aus­füh­rung ver­hin­dern in (Apa­che .htac­cess Deny from all) 
    • Wp-inclu­des
    • wp-con­ten­t/u­ploads
  • Bear­bei­tung von Theme-Files über das Admin-Panel verbieten
    (wp-con­fig: define(‘DISALLOW_FILE_EDIT’, true);
  • Zugriff auf .*** Datei­en ver­wei­gern (Apa­che .htac­cess)
  • Secu­ri­ty Headers

WordPress-Installation

  • pro Instal­la­ti­on eine eige­ne Datenbank
  • indi­vi­du­el­le Daten­bank-Zugangs­da­ten verwenden
  • Daten­bank-Prä­fix wp_ ändern ist nicht nötig
  • Instal­la­ti­on mit SSL-Verschlüsselung
  • kein admin oder leicht zu erra­ten­de Namen als Benutzer

Profi-Schutz

Web Application Firewall (WAF)

  • Eine „Mauer“ vor der eigent­li­chen Anwen­dung (Wor­d­Press)
  • Ver­hin­dert mit intel­li­gen­ten Regeln die Aus­nut­zung von bekann­ten Sicher­heits­lü­cken – Loka­le WAFs 
  • Cloud-WAFs
    • Cloud­fla­re, Sucu­ri
    • Daten­schutz­recht­lich in Deutsch­land nicht einwandfrei

Pro­blem: Zwei Sys­te­me (Fire­wall und Webserver/WordPress) müs­sen funktionieren.

Mehr Infos: Marc Nili­us – Web App­li­ca­ti­on Firewalls

DoS/DDos Schutz

In der Regel Auf­ga­be des Hos­ters. Bitte über­prü­fen und hinterfragen.

Überwachung aller Dateiänderungen

  • Angrei­fer hin­ter­le­gen Schad­code und Backdoors
  • Über­prü­fung aller Datei­än­de­run­gen ermög­licht schnel­le Erkennung
  • Auf­wen­dig und viel Erfah­rung not­wen­dig, um Auf­fäl­lig­kei­ten zu erken­nen – Beispiele: 

Login mit Zwei-Faktor-Authentifizierung

Szenarios, Hausmittel und Anderes

Dis­kus­si­ons­grund­la­ge, Erfah­run­gen mit der gesam­ten Grup­pe austauschen:

Diskussion Datenbank-Präfix

  • Als Daten­bank­prä­fix nicht ‘wp_’ verwenden

DiskussionAdmin Nutzername

Nut­zung eines Sicher­heits-Plugins sperrt auch echte Nut­zer aus. Nutzt man bspw. Admin als Benut­zer­na­men und die­ser wird stan­dard­mä­ßig viel ange­grif­fen, so kann man sich selbst ausschließen.

  • Haupt­nut­zer / Ers­ter Nut­zer nicht admin nennen

Diskussion Login Verschieben

Macht das Sinn?

Sicherheitslücken

Doku­men­ta­ti­on von Sicherheitslücken:

Datensicherheit

Recht­lich:

  • Art. 32 DSGVO
  • § 64 BDSG

Hil­fe­stel­lun­gen:

Tech­ni­sche und orga­ni­sa­to­ri­sche Maßnahmen:

  • Zutritts­kon­trol­le
  • Zugangs­kon­trol­le
  • Zugriffs­kon­trol­le
  • Benut­zer­kon­trol­le
  • Ver­schlüs­se­lung
  • Belast­bar­keit

Liste der EU DSGVO Buß­gel­der. Kann man nach Land fil­tern: https://www.enforcementtracker.com/

Notfall-Plan, Recovery-Modus und Health-Check

  • Ruhe bewah­ren – Panik-Ent­schei­dun­gen sind meist die falschen!
  • Doku­men­tie­ren
    • Aktu­el­len Stand der Daten sichern
    • Wann wurde der Hack bemerkt?
  • Über­le­gen und identifizieren 
    • Was wurde zuletzt gemacht?
    • Gab es Neues oder Änderungen?
  • Tools
  • Web­site vor­über­ge­hend off­line nehmen 
    • Vor­be­rei­te­te Maintenance-Seite
  • Ent­wick­lungs­um­ge­bung
    • Eben­falls betroffen?
    • Falls ja, Com­pu­ter prüfen?
  • Alle Zugrif­fe zurücksetzen 
    • FTP, SSHWP
  • Web­hos­ter kontaktieren 
    • Log­files
    • Back­ups
    • Hilfe / Support
  • Back­ups
  • Benach­rich­ti­gun­gen / Eskalation
  • Ver­öf­fent­li­chun­gen

Variante A Bereinigen

  • Prü­fen der Inte­gri­tät der WordPress-Installation
  • Veränderte/befallene Datei­en mit sau­be­rer ersetzen
  • Daten­bank prüfen

Variante B Ersetzen

  • Sau­be­res Back­up einspielen
  • Updaten

Generell im Anschluss

  • Zusätz­li­che, bis­her feh­len­de Schutz­maß­nah­men vornehmen
  • Manu­ell ein Back­up erstellen
  • Sofern in Black­lists ein­ge­tra­gen, die Aus­tra­gung beantragen
  • Hos­ter infor­mie­ren, falls die­ser Sper­run­gen akti­viert hat

Quellen und mehr zu dem Thema WordPress Sicherheit