Download - CMS Sicherheit
WordPress Securitymy ~/ is my castle
19.09.2015 Frank Staude <[email protected]>
Hallo!Frank Staude
Email: [email protected]: @staudeWebseite: www.staude.netGitHub: staude
Co-Founder of WP Meetup HannoverCo-Founder of PHP UG HannoverCo-Founder of Arduino Meetup HannoverOrganizer of WP Meetup NurembergMod @ german WordPress.org SupportforumTranslation Contributor & Editor for germanSpeaker and Volunteer @ WordCamp Hamburg 2014Speaker @ WordCamp Cologne 2015Co-Organizer @ WordCamp Nürnberg 2016Co-Founder of adminpress.de
Das hat doch nix mit mir zu tun!
•kleiner privater Blog
•unverfängliche Inhalte
•kaum öffentliche Wahrnehmung
•überschaubare Zielgruppe
•keine monetären Interessen
Content is King
•Rechenleistung (CPU)
•Speicherplatz
•Bandbreite
•sendmail für Spamversand
nothing
CMS? No prob!
•CVE-Hitliste
•(21) Joomla: 309
•(22) Drupal: 290
•(29) WordPress: 247
•(38) Typo3: 178
•ohne Eintrag ≠ sicher, sondern nur noch nicht dokumentiert
Angriffsvektoren
•Brute-Force Attacs
• „Standard“ Benutzernamen
• schwache Passwörter
•XSS - Cross Site Scripting / SQL Injections
• schlechter Code
• veraltete Installationen
Benutzername
• »admin« bis 3.0 als Vorgabe
•Teile des Domainnamens
•häufige eMail-Adressen wie »info@…«
•Ein Admin-, ein User-Account
•was spricht eigentlich gegen den Benutzernamen »asylufdeworig23r«?
Passwörter
Passwörter NoGos
•Vorkommen in Wörterbüchern
•SocialHacking anfälliges
•Tastaturläufe und Folgen
•Passwort-Recycling
• In Word/Excel speichern
Kopfschmerzen? Finger wund?
➡ Passwortmanager!
Verteidigungsstrategie
•willkürliche Benutzernamen
• starke Passwörter
•Sperre nach x Fehlversuchen für Zeitintervall y
• Blacklisting der IP
Update, Update, Update
• regelmässig WP-Core aktualisieren
•AutoUpdater seit 3.7!
•ok für Minor/Security-Releases
• regelmässig PlugIns aktualisieren
• regelmässig (Premium) Themes aktualisieren
Monitoring
•Server up?
•Dateien verändert?
•Benutzeranmeldungen?
•Eindringungsversuche?
•Wer hat wann was gemacht?
TTV
• zufällige Versionsnummer ausgeben
• .htaccess-Regeln zum Zugriffsschutz
• /wp-content/
•wp-config.php
• readme.html + liesmich.html
• „hide and seek“ (/wp-content, wp_, …)
die Mauer erhöhen•min. Login per SSL-Zertifikat absichern
•Kostenlos bis < 50 €/p.a.
•ggf. Kosten beim Hosting für eigene IP
•Zwei-Faktor Authentifizierung
• einfaches eMail Konzept vom Pluginkollektiv ehemals Sergej Müller
• aufwändiger Duo, Clef, Rublon
•Hardware abhängige Lösungen (YubiKey, U2F)
Weitwinkel
•Lokaler Rechner sicher?
•Keylogger
•FTP Zugang geschützt?
•besser SFTP oder FTPS (SSL/TLS)!
•PW per eMail übermittelt?
• eMail ohne Verschlüsselung = Postkarte
Serverbasis•Hosting
•Shared Hosting
•Virtual Host
•Managed Server
•Rootserver
•Housing
•Basissystem?
•OS?
•PHP?
•MySQL?
•Webadmin Tool?
•Plesk
im Fall der (Un)Fälle
•Backup!
• regelmässig, automatisiert, zeitgesteuert, offsite
•MySQL-Datenbank
•Dateien, insp. /wp-content/uploads/
•Wiederherstellung üben!
Fazit
•Sicherheit ist eine Daueraufgabe!
•Aufwand vs. Nutzen
•Make or Buy
Danke! Fragen?
Linksammlunghttps://www.cvedetails.com/top-50-vendor-cvssscore-distribution.phphttps://wpvulndb.comhttp://wpengine.com/unmasked/http://codex.wordpress.org/Configuring_Automatic_Background_Updateshttps://www.startssl.comhttps://buy.wosign.com/free/https://letsencrypt.orghttps://www.psw.net/ssl-zertifikate.cfmhttps://github.com/sergejmueller/2-Step-Verificationhttps://wordpress.org/plugins/better-wp-security/