WordPress Sicherheit ab Werk

Post on 13-Feb-2017

1.003 views 0 download

Transcript of WordPress Sicherheit ab Werk

Sicherheit ab Werkdie Bordmittel von WordPress

für sichere Plugins und Themes

ad personam

• Stefan Kremer

• freiberuflicher Systemberater Mac, Web, CTI

• 10 Jahre WordPress

• Contributor

• Inhaber von AdminPress

@WPAberSicher

adminpress

stefan@adminpress.de

Angriffsvektoren

Cross-Site-Scripting (XSS)bezeichnet das Ausnutzen einer

Computersicherheitslücke in Webanwendungen, indem Informationen

aus einem Kontext, in dem sie nicht vertrauenswürdig sind, in einen anderen Kontext eingefügt werden, in dem sie als vertrauenswürdig eingestuft werden. Aus diesem vertrauenswürdigen Kontext kann

dann ein Angriff gestartet werden.

SQL Injectionsbezeichnet das Ausnutzen einer

Sicherheitslücke in Zusammenhang mit SQL-Datenbanken, die durch mangelnde

Maskierung oder Überprüfung von Metazeichen in Benutzereingaben entsteht.

Der Angreifer versucht dabei, über die Anwendung, die den Zugriff auf die

Datenbank bereitstellt, eigene Datenbankbefehle einzuschleusen.

All data is guilty until proved innocent

Trefft keine AnnahmenVertraut keinen Daten

Lehnt Euch nicht zurück

Datenüberprüfung(Validation)

• Positivliste (Whitelisting)

• nur definierte Werte werden akzeptiert

• Tauglichkeit (Qualifying)

• PHP Funktionen

• WordPress Funktionen

PHP • is_bool()

• is_float()

• filter_input()

• filter_var()

• …

• is_email()

• wp_validate_boolean()

• wp_kses_allowed_html()

• …

WP

"In diesem Augenblick ist alles perfekt. Die Weichheit des Lichts, dieser feine Duft, die ruhige Atmosphäre der Stadt. Sie atmet tief ein, und das Leben erscheint ihr so einfach, so klar, dass sie eine Anwandlung von Liebe überkommt und das Verlangen der gesamten Menschheit zu helfen."

/wp-includes/kses.php

/wp-includes/formatting.php

IST SICHERHEITSLYRIK

WordPress Funktionenabsint() sanitize_post() esc_attr()

sanitize_email() sanitize_text_field() esc_attr__()

sanitize_file_name() sanitize_title() esc_attr_e()

sanitize_html_class() sanitize_title_for_query() esc_js()

sanitize_key() sanitize_title_with_dashes() esc_sql()

sanitize_meta() sanitize_user() esc_textarea()

sanitize_mime_type() esc_html() esc_url()

sanitize_option() esc_html__() esc_url_raw()

sanitize_sql_orderby() esc_html_e() urlencode()

Datenaufbereitung(Sanitization)

• to sanitize = desinfizieren, reinigen, …

• Validation: Daten sollen bestimmte Merkmale aufweisen

• Sanitization: Daten werden von unerwünschten Inhalten befreit

Validate InputSanitize Output

CRSFist ein Angriff auf ein Computersystem, bei

dem der Angreifer eine Transaktion in einer Webanwendung durchführt. Einem

Opfers, das bei einer Webanwendung bereits angemeldet sein muss, wird ohne

dessen Wissen im Webbrowser ein arglistiger HTTP-Request (‚Anforderung‘), der die vom Angreifer gewünschte Aktion

ausführt, untergeschoben.

Nonces• Numbers used once = Einmalpasswort

• keine dogmatische, reine Lehre

• alphanumerisch ≠ numerisch

• 12 h Lebensdauer ≠ einmalig

• Prüfung der Intention

• Erzeugung des nonces bei Aufruf Formular

• Überprüfung des nonces bei Übermittlung

QualitätssicherungTheme Review

required

recommended

"ottomatisch"

QualitätssicherungPlugIn Review

😱https://vip.wordpress.com/documentation/code-review-what-we-look-for/

… Security Team• http://www.joomla-security.de/das-team.html

• https://security.drupal.org/team-members

• http://typo3.org/teams/security/members/

• https://c-c-a.org/aktuelles/news/details/security-mailingliste

• https://docs.djangoproject.com/en/1.8/internals/roles/#security-team-list

• https://plone.org/team/SecurityTeam

–Andrew Nacin, WordPress Lead Developer

in a presentation‘WordPress.org & Optimizing Security for your WordPress sites’

June 2013

„The WordPress security team is made up of 25 experts including lead developers and security

researchers — about half are employees of Automattic, and a number work in the web security

field. We consult with well-known and trusted security researchers and hosting companies.“

WordPress Security Team

Stefan Kremerhttps://adminpress.de

FRAGEN?