#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än­zen.

Struk­tur

  1. Sicher­heit, Ein­füh­rung, Updates, Plugins von Mario Wolf
  2. Back­up auf Sys­tem­ebe­ne mit Klaus Nord­mann
  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 Sent­ner

Sicherheit, Einführung, Updates, Plugins

Vote für ein neues Thema.

Warum wird man angegriffen?

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

Ökonomische Gründe für Angriffe

  • Sys­tem­res­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 zei­gen
  • 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 / instal­liert
  • 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 Webspace zur Erlan­gung von Zugangs­da­ten o.ä.

Folgen von Angriffen und Hacks

  • Aus­sen­dung 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 Goog­le
    • Abschal­ten der Web­site durch den Hos­ter
    • Blo­cken durch Anti-Virus-Pro­gram­me
  • Folge: keine Besu­cher, keine Bestel­lun­gen, ver­lo­re­ne Repu­ta­ti­on
  • IT-Sicher­heits­ge­setz: Unter Umstän­den dro­hen Buß­gel­der

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 ergrei­fen.
  • Ggf. dro­hen Abmah­nun­gen
  • DSGVO: Feh­len­de Absi­che­rung Grund für Unter­su­chun­gen / Buß­gel­der

Wie werde ich gehackt?

  • Sicher­heits­lü­cken in Word­Press, Plugins, The­mes
    • Cross-Site-Scrip­ting
    • SQL Injec­tions
    • Unau­then­ti­ca­ted File Uploads
  • Ser­ver-Zugangs­da­ten (FTP)
  • Word­Press-Login geknackt
  • Jede (!) Web­site wird täg­lich (!) ange­grif­fen
  • Angrif­fe wenig ziel­ge­rich­tet und mit ein­fa­chen Mit­teln abzu­weh­ren
  • 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 Pass­wör­ter.
(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 Sicher­heit
  • Pass­wort Mana­ger
  • Wie über­tra­ge ich Daten?

Basics der Website-Sicherheit

  • Regel­mä­ßi­ge Back­ups auf exter­ne Ser­ver
  • Regel­mä­ßi­ge Updates
  • Siche­re Pass­wör­ter

Erwei­te­te Basics:

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

Dis­ku­tier­bar: Secu­ri­ty by Obscurity/ Login-Sper­ren, Word­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 Drit­te.

Regelmäßige Backups

  • Min­des­tens wöchent­lich
  • Sowohl alle Datei­en als auch die Daten­bank
  • Die Export-Funk­ti­on von Word­Press reicht nicht aus!
  • Ent­we­der über den Hos­ter oder mit Back­up-Plugin
  • Back­up muss auf exter­ner Quel­le lie­gen
    • Beim Hos­ter auf ande­rem Ser­ver
    • Bei einem ande­ren Hos­ter
    • In der Cloud
    • Zuhau­se auf dem PC

Regelmäßige Updates

  • Updates min­des­tens wöchent­lich (für WP, Plugins und The­mes)
  • Auto-Update für Minor-Ver­si­ons akti­viert las­sen
    • Bei One-Click-Instal­la­tio­nen ggf. vom Hos­ter deak­ti­viert
  • 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 ver­län­gern
  • Vor den Updates: natür­lich ein Back­up machen
  • Aus­nah­me: Bei grö­ße­ren Ver­si­ons­sprün­gen von Word­Press (4.9.x auf 5.x) oder gro­ßen Plugins (Woo­Com­mer­ce) kann man etwas abwar­ten

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 deak­ti­vie­ren)
    Parent-The­mes von genut­zen Child aus­ge­nom­men!
    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 behal­ten.

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 ein­rich­ten
  • Zei­chen­klas­sen: Klein­buch­sta­ben, Groß­buch­sta­ben, Zah­len, Son­der­zei­chen
  • Je weni­ger Zei­chen­klas­sen, desto län­ge­res Pass­wort
  • 20 Zei­chen sind super!
  • Für alle (!) WP-Benut­zer
  • Für FTP und Daten­bank
  • Für den Login beim Hos­ter

Erweitertes Housekeeping

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

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ö­ti­gen):

Fire­wall

Web App­li­ca­ti­on Fire­wall

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 Sicher­heits­lü­cken:

Passwort-Manager

  • 1password
  • Kee­Pass
  • Armin Moh­ren: Dashla­ne
  • Maria Squar­ra: Last­Pass
  • Ste­phan Anders: Robo­form ever­y­whe­re
  • SafeIn­Cloud
  • Nor­ton Pass­wort-Mana­ger

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 beach­ten.

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

Verbesserter Schutz

Backups auf Systemebene

Hardening, Hosting, SSL

Word­Press Doku­men­ta­ti­on deutsch / eng­lisch

 

  • Aktu­el­le PHP-Ver­si­on
  • Aktu­el­le Daten­bank
  • 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 ver­bie­ten
    (wp-con­fig: define(‘DISALLOW_FILE_EDIT’, true);
  • Zugriff auf .*** Datei­en ver­wei­gern (Apa­che .htac­cess)
  • Secu­ri­ty Hea­ders

WordPress-Installation

  • pro Instal­la­ti­on eine eige­ne Daten­bank
  • indi­vi­du­el­le Daten­bank-Zugangs­da­ten ver­wen­den
  • Daten­bank-Prä­fix wp_ ändern ist nicht nötig
  • Instal­la­ti­on mit SSL-Ver­schlüs­se­lung
  • kein admin oder leicht zu erra­ten­de Namen als Benut­zer

Profi-Schutz

Web Application Firewall (WAF)

  • Eine „Mauer“ vor der eigent­li­chen Anwen­dung (Word­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 ein­wand­frei

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

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

DoS/DDos Schutz

In der Regel Auf­ga­be des Hos­ters. Bitte über­prü­fen und hin­ter­fra­gen.

Überwachung aller Dateiänderungen

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

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 aus­tau­schen:

Diskussion Datenbank-Präfix

  • Als Daten­bank­prä­fix nicht ‘wp_’ ver­wen­den

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 aus­schlie­ßen.

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

Diskussion Login Verschieben

Macht das Sinn?

Sicherheitslücken

Doku­men­ta­ti­on von Sicher­heits­lü­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ß­nah­men:

  • 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 fal­schen!
  • Doku­men­tie­ren
    • Aktu­el­len Stand der Daten sichern
    • Wann wurde der Hack bemerkt?
  • Über­le­gen und iden­ti­fi­zie­ren
    • Was wurde zuletzt gemacht?
    • Gab es Neues oder Ände­run­gen?
  • Tools
  • Web­site vor­über­ge­hend off­line neh­men
    • Vor­be­rei­te­te Main­ten­an­ce-Seite
  • Ent­wick­lungs­um­ge­bung
    • Eben­falls betrof­fen?
    • Falls ja, Com­pu­ter prü­fen?
  • Alle Zugrif­fe zurück­set­zen
    • FTP, SSH, WP
  • Web­hos­ter kon­tak­tie­ren
    • Log­files
    • Back­ups
    • Hilfe / Sup­port
  • Back­ups
  • Benach­rich­ti­gun­gen / Eska­la­ti­on
  • Ver­öf­fent­li­chun­gen

Variante A Bereinigen

  • Prü­fen der Inte­gri­tät der Word­Press-Instal­la­ti­on
  • Veränderte/befallene Datei­en mit sau­be­rer erset­zen
  • Daten­bank prü­fen

Variante B Ersetzen

  • Sau­be­res Back­up ein­spie­len
  • Updaten

Generell im Anschluss

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

Quellen und mehr zu dem Thema WordPress Sicherheit