{"id":6173,"date":"2020-08-13T07:50:17","date_gmt":"2020-08-13T05:50:17","guid":{"rendered":"https:\/\/blog.iese.fraunhofer.de\/?p=6173"},"modified":"2024-01-22T11:22:58","modified_gmt":"2024-01-22T10:22:58","slug":"it-security-teil4","status":"publish","type":"post","link":"https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil4\/","title":{"rendered":"IT-Security (4\/4): Gezielte Untersuchungs- und Absicherungsmethoden f\u00fcr mehr WordPress-Sicherheit"},"content":{"rendered":"<p class=\"lead\">Dieser Artikel setzt die Reihe <a href=\"https:\/\/www.iese.fraunhofer.de\/de\/leistungen\/security\/cyber-security.html\">\u00bbIT-Security\u00ab<\/a> fort und beleuchtet Aspekte der Sicherheit von Webanwendungen am Beispiel von WordPress sowie die Themen Transportverschl\u00fcsselung und Sicherheitsheader eines Webservers. In den vorhergehenden Artikeln dieser Artikelserie haben wir zuerst unsere <a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil1\">IT-Sicherheitsaudits vorgestellt<\/a> und anschlie\u00dfend einen wichtigen Bestandteil einer IT-Sicherheits\u00fcberpr\u00fcfung: die <a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil2\">Penetrationstests<\/a>. Der <a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil3\">darauffolgende Artikel<\/a> diskutierte die Verwundbarkeiten und zeigte, wie man sie beheben kann.<\/p>\n<h2>IT-Sicherheit bei Webanwendungen<\/h2>\n<p>Wenn man die IT-Sicherheit bei Webanwendungen genauer untersuchen will, muss man mehrere Ebenen betrachten. Die nachfolgende Grafik stellt diese Ebenen grafisch dar:<\/p>\n<figure id=\"attachment_6174\" aria-describedby=\"caption-attachment-6174\" style=\"width: 400px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/EbenenDerSicherheitInWebanwendungen.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-6174 size-medium\" src=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/EbenenDerSicherheitInWebanwendungen-400x354.png\" alt=\"Ebenen der IT-Sicherheit bei Webanwendungen wie z.B. WordPress\" width=\"400\" height=\"354\" srcset=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/EbenenDerSicherheitInWebanwendungen-400x354.png 400w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/EbenenDerSicherheitInWebanwendungen.png 638w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><figcaption id=\"caption-attachment-6174\" class=\"wp-caption-text\">Ebenen der IT-Sicherheit bei Webanwendungen<\/figcaption><\/figure>\n<p>Das <strong>Betriebssystem<\/strong> eines Webservers ist das Fundament jeder Webanwendung. Es sollte sicher konfiguriert, d.h. geh\u00e4rtet sein.<\/p>\n<p>Auf dem Betriebssystem l\u00e4uft ein <strong>Webserver<\/strong>, der die notwendigen Dateien der Webanwendung ausliefert. Seine sichere Konfiguration ist ebenfalls essenziell, da er direkt mit dem Internet und potenziellen Angreifern kommuniziert. Zur Verarbeitung von Skript-Dateien wie beispielsweise PHP nutzt er weitere Software, wie z.B. den PHP Interpreter. Die zus\u00e4tzlich verwendete Software muss deshalb ebenfalls sicher konfiguriert werden.<\/p>\n<p>Bevor die Webanwendung an den Browser eines Clients ausgeliefert wird, findet im Rahmen des Verbindungsaufbaus die Aushandlung der <strong>Transportverschl\u00fcsselung<\/strong> statt. Hierbei sollte sichergestellt sein, dass sichere Verfahren und Protokolle verwendet werden.<\/p>\n<p>Mit Beginn der Auslieferung der ersten Dateien der Webanwendung k\u00f6nnen in den Headern der http-Verbindungen auch <strong>Sicherheitsheader<\/strong> \u00fcbermittelt werden. Diese weisen den Browser auf weitere von ihm zu treffende Schutzma\u00dfnahmen hin.<\/p>\n<p>Anschlie\u00dfend kann die <strong>Webanwendung<\/strong>, z.B. WordPress, auf dem Client verwendet werden. Diese sollte ebenfalls sicher konfiguriert werden, da auch diese Sicherheitsl\u00fccken aufweisen kann, mit denen dann der Server kompromittiert werden kann. Neben der Kompromittierung des Webservers besteht au\u00dferdem die Gefahr des Abfischens von Zugangsdaten, die Gefahr einer Entstellung oder Verunstaltung (\u00bbDefacement\u00ab) der Webseite oder z.B. die Verbreitung anderer rufsch\u00e4digender Inhalte \u00fcber die Webseite. Die <strong>O<\/strong>pen <strong>W<\/strong>eb <strong>A<\/strong>pplication <strong>S<\/strong>ecurity <strong>P<\/strong>roject Foundation (OWASP Foundation) listet unter <a href=\"https:\/\/owasp.org\/www-project-top-ten\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/owasp.org\/www-project-top-ten\/<\/a> die Top Ten m\u00f6glicher Sicherheitsrisiken auf.<\/p>\n<p>Dieser Artikel beleuchtet die Aspekte Transportverschl\u00fcsselung, Sicherheitsheader und die Sicherheit der Webanwendung WordPress.<\/p>\n<h2>\u00dcberpr\u00fcfen einer WordPress-Installation<\/h2>\n<p>WordPress ist ein sehr beliebtes und freies <strong>C<\/strong>ontent-<strong>M<\/strong>anagement-<strong>S<\/strong>ystem (CMS). Mit einem <a href=\"https:\/\/trends.builtwith.com\/cms\" target=\"_blank\" rel=\"noopener noreferrer\">Anteil von etwa 37 %<\/a> (Stand 14. Juli 2020) an den im Web verwendeten CMS f\u00fchrt WordPress mit gro\u00dfem Abstand das Feld an. Das PHP-basierte System bietet die M\u00f6glichkeit einer rollenbasierten Benutzerverwaltung. Es l\u00e4sst sich au\u00dferdem mit Plug-ins in seinem Funktionsumfang erweitern. W\u00e4hrend sich das Hauptsystem selbstst\u00e4ndig updaten kann, k\u00f6nnen Plug-ins nicht selbstst\u00e4ndig aktualisiert werden. Ein solches Feature ist erst zu einem sp\u00e4teren Release geplant. H\u00e4ufig entstehen durch veraltete Plug-ins Verwundbarkeiten, die das Gesamtsystem negativ beeinflussen k\u00f6nnen.<\/p>\n<p>Mit <a href=\"https:\/\/wpscan.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">WPScan<\/a> existiert ein Tool, das von Sicherheitsexperten zur Untersuchung von WordPress-Installationen verwendet wird. Es ist f\u00fcr die nicht kommerzielle Nutzung frei verf\u00fcgbar und wird zur Demonstration in diesem Artikel zur Untersuchung unseres Testservers verwendet. Es sucht und findet verwendete Plug-ins, die eingesetzten Versionen der Plug-ins und von WordPress, Konfigurationsbackups und vieles mehr. Die wichtigsten Optionen, die auch im Rahmen dieses Artikels verwendet werden, sind:<\/p>\n<ul>\n<li><strong>&#8211;url<\/strong><br \/>\nDie URL der zu scannenden WordPress-Instanz.<\/li>\n<li><strong>&#8211;enumerate<\/strong><br \/>\nAuflistung aller verwendeten Plug-ins mit Detaildaten.<\/li>\n<\/ul>\n<p>Der Befehl zum Scannen einer WordPress-Installation setzt sich daher wie folgt zusammen:<\/p>\n<p><em>wpscan &#8211;enumerate &#8211;url 192.102.162.236<\/em><\/p>\n<h2>Auswertung der Ergebnisse der \u00dcberpr\u00fcfung von WordPress<\/h2>\n<p>Der Ergebnisbericht der \u00dcberpr\u00fcfung listet verschiedene Verwundbarkeiten auf. Aufgrund der Menge wurde die Ergebnisliste verk\u00fcrzt. Bez\u00fcglich der im Einsatz befindlichen Version wurde Folgendes identifiziert:<\/p>\n<p><em>[+] WordPress version 4.9.7 identified (Insecure, released on 2018-07-05).<\/em><br \/>\n<em>\u00a0| Found By: Emoji Settings (Passive Detection)<\/em><br \/>\n<em>\u00a0|\u00a0 &#8211; http:\/\/192.102.162.236\/, Match: &#8218;wp-includes\\\/js\\\/wp-emoji-release.min.js?ver=4.9.7&#8216;<\/em><br \/>\n<em>\u00a0| Confirmed By: Meta Generator (Passive Detection)<\/em><br \/>\n<em>\u00a0|\u00a0 &#8211; http:\/\/192.102.162.236\/, Match: &#8218;WordPress 4.9.7&#8216;<\/em><br \/>\n<em>\u00a0|<\/em><br \/>\n<em>\u00a0| [!] 20 vulnerabilities identified:<\/em><br \/>\n<em>\u00a0|<\/em><br \/>\n<em>\u00a0| [!] Title: WordPress &lt;= 5.0 &#8211; Authenticated File Delete<\/em><br \/>\n<em>\u00a0|\u00a0\u00a0\u00a0\u00a0 Fixed in: 4.9.9<\/em><br \/>\n<em>\u00a0|\u00a0\u00a0\u00a0\u00a0 References:<\/em><br \/>\n<em>\u00a0|\u00a0\u00a0\u00a0\u00a0\u00a0 &#8211; https:\/\/wpvulndb.com\/vulnerabilities\/9169<\/em><br \/>\n<em>\u00a0|\u00a0\u00a0\u00a0\u00a0\u00a0 &#8211; https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2018-20147<\/em><br \/>\n<em>\u00a0|\u00a0\u00a0\u00a0\u00a0\u00a0 &#8211; https:\/\/wordpress.org\/news\/2018\/12\/wordpress-5-0-1-security-release\/<\/em><\/p>\n<p>Die im Einsatz befindliche WordPress-Version ist also veraltet und muss aktualisiert werden. Die bestehenden Verwundbarkeiten hat WPScan aufgelistet. Laut der obigen Meldung kann ein Autor z.B. Metadaten \u00e4ndern, die zur L\u00f6schung einer Datei f\u00fchren (was er aufgrund seiner Berechtigung nicht d\u00fcrfte).<\/p>\n<p>Dar\u00fcber hinaus wurde noch ein Plug-in in einer verwundbaren Version identifiziert. Die Verwundbarkeit kann mit einer Aktualisierung behoben werden:<\/p>\n<p><em>[+] contact-form-7<\/em><br \/>\n<em>\u00a0| Location: https:\/\/192.102.162.236\/wp-content\/plugins\/contact-form-7\/<\/em><br \/>\n<em>\u00a0| Last Updated: 2018-12-18T18:05:00.000Z<\/em><br \/>\n<em>\u00a0| [!] The version is out of date, the latest version is 5.1.1<\/em><br \/>\n<em>\u00a0|<\/em><br \/>\n<em>\u00a0| Detected By: Urls In Homepage (Passive Detection)<\/em><br \/>\n<em>\u00a0|<\/em><br \/>\n<em>\u00a0| [!] 1 vulnerability identified:<\/em><br \/>\n<em>\u00a0|<\/em><br \/>\n<em>\u00a0| [!] Title: Contact Form 7 &lt;= 5.0.3 &#8211; register_post_type() Privilege Escalation<\/em><br \/>\n<em>\u00a0|\u00a0\u00a0\u00a0\u00a0 Fixed in: 5.0.4<\/em><br \/>\n<em>\u00a0|\u00a0\u00a0\u00a0\u00a0 References:<\/em><br \/>\n<em>\u00a0|\u00a0\u00a0\u00a0\u00a0\u00a0 &#8211; https:\/\/wpvulndb.com\/vulnerabilities\/9127<\/em><br \/>\n<em>\u00a0|\u00a0\u00a0\u00a0\u00a0\u00a0 &#8211; https:\/\/contactform7.com\/2018\/09\/04\/contact-form-7-504\/<\/em><br \/>\n<em>\u00a0|\u00a0\u00a0\u00a0\u00a0\u00a0 &#8211; https:\/\/plugins.trac.wordpress.org\/changeset\/1935726\/contact-form-7<\/em><br \/>\n<em>\u00a0|\u00a0\u00a0\u00a0\u00a0\u00a0 &#8211; https:\/\/plugins.trac.wordpress.org\/changeset\/1934594\/contact-form-7<\/em><br \/>\n<em>\u00a0|\u00a0\u00a0\u00a0\u00a0\u00a0 &#8211; https:\/\/plugins.trac.wordpress.org\/changeset\/1934343\/contact-form-7<\/em><br \/>\n<em>\u00a0|\u00a0\u00a0\u00a0\u00a0\u00a0 &#8211; https:\/\/plugins.trac.wordpress.org\/changeset\/1934327\/contact-form-7<\/em><br \/>\n<em>\u00a0|\u00a0\u00a0\u00a0\u00a0\u00a0 &#8211; https:\/\/www.ripstech.com\/php-security-calendar-2018\/#day-18<\/em><br \/>\n<em>\u00a0|<\/em><br \/>\n<em>\u00a0| Version: 4.9.2 (100% confidence)<\/em><br \/>\n<em>\u00a0| Detected By: Readme &#8211; Stable Tag (Aggressive Detection)<\/em><br \/>\n<em>\u00a0|\u00a0 &#8211; https:\/\/192.102.162.236\/wp-content\/plugins\/contact-form-7\/readme.txt<\/em><br \/>\n<em>\u00a0| Confirmed By: Readme &#8211; ChangeLog Section (Aggressive Detection)<\/em><br \/>\n<em>\u00a0|\u00a0 &#8211; https:\/\/192.102.162.236\/wp-content\/plugins\/contact-form-7\/readme.txt<\/em><\/p>\n<h2>Behebung der WordPress-Befunde<\/h2>\n<p>Die Befunde bei WordPress lassen sich bereits durch eine Aktualisierung der WordPress-Installation und aller Plug-ins beheben. Unabh\u00e4ngig von den WordPress-Befunden in diesem Artikel sollten WordPress-Installationen geh\u00e4rtet und einer regelm\u00e4\u00dfigen Wartung unterzogen werden. Die Entwickler von WordPress geben hierzu entsprechende <a href=\"https:\/\/wordpress.org\/support\/article\/hardening-wordpress\/\" target=\"_blank\" rel=\"noopener noreferrer\">Tipps zur H\u00e4rtung<\/a>, die man bei jeder produktiv eingesetzten Instanz umsetzen sollte.<\/p>\n<h2>\u00dcberpr\u00fcfung der Header des WordPress Server<\/h2>\n<p>Bei jeder Anfrage eines Browsers sendet der Webserver mit der Auslieferung des angeforderten Datums einen HTTP Response Header. Typischerweise enth\u00e4lt dieser Header verschiedene Metadaten wie beispielsweise zur \u00bbCache-Steuerung\u00ab, zum \u00bbInhaltstyp\u00ab (z.B. text\/html) oder zu den \u00bbFehlercodes\u00ab. Dar\u00fcber hinaus ist es m\u00f6glich, zus\u00e4tzlich besondere Sicherheitsheader zu senden. Diese weisen den Browser zu einem speziellen Verhalten an, der dies nach dem Laden der Seite dann umsetzt. Ein Beispiel hierf\u00fcr ist der Strict-Transport-Security-Header. Dieser erteilt dem Browser die Anweisung, ausschlie\u00dflich \u00fcber HTTPS zu kommunizieren. Derzeit kennen die Browser sieben Sicherheitsheader:<\/p>\n<ul>\n<li><strong>Strict-Transport-Security<\/strong><br \/>\nDieser Header wird nur bei HTTPS-Webseiten ben\u00f6tigt. Er weist den Browser an, die Webseitenelemente nur \u00fcber eine gesicherte HTTPS-Verbindung zu beziehen. Dar\u00fcber hinaus verhindert er einen Zugriff auf die Webseite, sobald ein Zertifikat nicht mehr als vertrauensw\u00fcrdig gilt. Es sch\u00fctzt den Benutzer vor dem Datenabruf \u00fcber eine unsichere Verbindung.<br \/>\nDie Einstellm\u00f6glichkeiten lauten wie folgt:<\/p>\n<ul>\n<li><em>max-age<\/em><br \/>\nZeitdauer in Sekunden, innerhalb der der Browser die verschl\u00fcsselte Verbindung erzwingen soll.<\/li>\n<li><em>includeSubDomains<\/em><br \/>\nErzwingt die sichere Verbindung auch f\u00fcr Subdomains.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 40px;\">Empfehlung: <em>Strict-Transport-Security: max-age=31536000; includeSubDomains<\/em><\/p>\n<ul>\n<li><strong>X-Frame-Options<br \/>\n<\/strong>Mit dieser Header-Option l\u00e4sst sich sicherstellen, dass die Webseite nicht in einem Frame ausgef\u00fchrt wird. Diese Option ist sehr praktisch, wenn man verhindern m\u00f6chte, dass Content-Diebe Teile der Webseite bei sich einbinden.<br \/>\nNachteil: Dieser Header verhindert nat\u00fcrlich, dass die Webseite in einem Frame angezeigt wird. Damit sind auch die Responsive Layouts der Webentwickler-Toolbars der Browser Firefox und Chrome verbunden. Der Header sollte demnach erst im Produktionsmodus gesetzt werden.<\/li>\n<\/ul>\n<p style=\"padding-left: 40px;\">Die Einstellm\u00f6glichkeiten lauten wie folgt:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><em>DENY<\/em><br \/>\nVerhindert die Darstellung in einem Frame komplett.<\/li>\n<li><em>SAMEORIGIN<\/em><br \/>\nErlaubt die Darstellung in einem Frame f\u00fcr die eigene Seite.<\/li>\n<li><em>ALLOW-FROM https:\/\/&#8230;.\/<\/em><br \/>\nErlaubt die Darstellung in einem Frame von explizit genannten fremden Seiten.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 40px;\">Empfehlung: <em>X-Frame-Options &#8222;SAMEORIGIN&#8220;<\/em><br \/>\noder:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0 <em>X-Frame-Options &#8222;DENY&#8220;<\/em><\/p>\n<ul>\n<li><strong>X-Content-Type-Options<\/strong><br \/>\nDieser Header wird nur von den Browsern Internet Explorer und Google Chrome verstanden. Er verhindert, dass ein Browser versucht, den MIME-Typ einer \u00fcbermittelten Ressource selbst zu erkennen und zu verwenden. Stattdessen wird der Browser angewiesen, den im Header angegebenen Content-Type zu verwenden. Dies reduziert das Risiko von Drive-by-Downloads und dass ein Benutzer etwas hochl\u00e4dt, das aufgrund des Dateinamens falsch behandelt werden w\u00fcrde. Empfehlung: <em><em>X-Content-Type-Options &#8222;nosniff&#8220;<\/em><\/em><\/li>\n<\/ul>\n<ul>\n<li><strong>X-XSS-Protection<br \/>\n<\/strong>Mit diesem Header kann der im Browser enthaltene Schutzfilter gegen XXS (Cross-Site-Scripting) aktiviert werden. Auch wenn dieser in der Regel bereits aktiv ist, kann er durch diesen Header erzwungen werden. Die Einstellm\u00f6glichkeiten lauten wie folgt:<\/p>\n<ul>\n<li><em>0<\/em><br \/>\nSchaltet den Schutz aus.<\/li>\n<li><em>1<\/em><br \/>\nSchaltet den Schutz ein.<\/li>\n<li><em>1; mode=block<\/em><br \/>\nSchaltet den Schutz ein und weist den Browser an, die Antwort komplett zu blocken.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 40px;\">Empfehlung: <em>X-Xss-Protection &#8222;1; mode=block&#8220;<\/em><\/p>\n<ul>\n<li><strong>Content-Security-Policy<\/strong><br \/>\nBei der Umsetzung dieses Headers muss man sehr vorsichtig sein, da er die Webseite negativ beeinflussen kann. Der Header kann XSS und Code-Injection-Angriffe verhindern, indem er dem Browser seine Whitelist schickt. In dieser Whitelist sind alle erlaubten Ressourcen aufgef\u00fchrt, d.h. welche Inhaltstypen und -arten explizit zum Laden erlaubt sind. Teilweise m\u00fcssen hier sehr lange Code-Snippets erzeugt werden. Hierbei helfen Tools wie beispielsweise <a href=\"https:\/\/report-uri.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/report-uri.com\/<\/a>.<\/li>\n<\/ul>\n<ul>\n<li><strong>Referrer-Policy<\/strong><br \/>\nWenn ein Benutzer auf einen Link klickt, \u00f6ffnet der Browser f\u00fcr ihn die verlinkte Seite. Die Zielseite erh\u00e4lt vom Browser dabei Informationen, wo der Benutzer herkam, also welche Seite zuvor ge\u00f6ffnet war. Dies macht sich z.B. auch Google Analytics zu Nutze und hilft Webseitenbetreibern herauszufinden, wie die Besucher auf die Seite aufmerksam wurden. Mit dem Header Referrer Policy teilt eine Webseite dem Browser mit, welche URL der vorher angezeigten Webseite der Zielseite mitgeteilt werden darf. Es gibt acht Einstellungsm\u00f6glichkeiten:<\/p>\n<ul>\n<li><em>no-referrer<\/em><br \/>\nKeinen Referrer Header senden<\/li>\n<li><em>no-referrer-when-downgrade<\/em><br \/>\nKeinen Header senden, wenn Verbindung von HTTPS auf HTTP wechselt<\/li>\n<li><em>same-origin<\/em><br \/>\nNur Header senden, wenn die Domain gleich ist<\/li>\n<li><em>origin<\/em><br \/>\nNur Domain Header senden, ohne Pfad<\/li>\n<li><em>strict-origin<\/em><br \/>\nWie origin, aber Header wird nur bei HTTPS gesendet<\/li>\n<li><em>origin-when-cross-origin<\/em><br \/>\nVoller Pfad wird gesendet, wenn das Ziel die eigene Domain ist, ansonsten nur die Domain<\/li>\n<li><em>strict-origin-when-cross-origin<\/em><br \/>\nWie die Option davor, bei Downgrade von HTTPS zu HTTP wird kein Header gesendet<\/li>\n<li><em>unsafe-url<\/em><br \/>\nImmer den vollen Header senden<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 40px;\">Empfehlung: <em>Referrer-Policy: same-origin<\/em><\/p>\n<ul>\n<li><strong>Feature-Policy<br \/>\n<\/strong>Mit diesem Header k\u00f6nnen Webseitenbesitzer verschiedene Plattformfeatures aktivieren oder deaktivieren. Dies gilt f\u00fcr die eigene Seite wie auch f\u00fcr eingebettete Seiten. Features k\u00f6nnen beispielsweise sein: geolocation, midi, notifications, push, sync-xhr, microphone, camera. Beispiel: <em>Feature-Policy: push &#8217;self&#8216;; <\/em>Das Beispiel aktiviert die Push-Funktion f\u00fcr die eigene Domain, deaktiviert jedoch die Funktion f\u00fcr alle anderen Domains.<\/li>\n<\/ul>\n<p>Die Header lassen sich auf drei verschiedenen Wegen setzen: \u00fcber die Konfigurationsdatei des jeweiligen Webservers (z.B. Apache oder nginx), \u00fcber eine Server-Steuerungsdatei wie .htaccess oder direkt innerhalb der Webanwendung (in PHP, in Java, etc.).<\/p>\n<p>Das \u00dcberpr\u00fcfen der Sicherheitsheader wurde durch den Aufruf von <em>testssl.sh<\/em> im vorherigen Abschnitt bereits durchgef\u00fchrt. Die Header lassen sich auch mit <em>testssl.sh<\/em> testen:<\/p>\n<p><em>testssl -h 192.102.162.236<\/em><\/p>\n<p>Alternativ kann auch das Tool cURL verwendet werden:<\/p>\n<p><em>curl &#8211;head 192.102.162.236<\/em><\/p>\n<h3>Auswertung der Ergebnisse<\/h3>\n<p>Die Auswertung der Sicherheitsheader f\u00e4llt nicht so umfangreich aus. Bei der \u00dcberpr\u00fcfung konnte das <em>testssl.sh<\/em> Skript insgesamt zwei Sicherheitsheader feststellen:<\/p>\n<p><em><strong>Security headers\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/strong><strong>X-Frame-Options<\/strong> SAMEORIGIN<\/em><br \/>\n<em>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <strong>Content-Security-Policy<\/strong> frame-ancestors \u2018none\u2019<\/em><\/p>\n<p>Der erste Sicherheitsheader (X-Frame-Options) sorgt daf\u00fcr, dass nur die eigene Seite die Einbindung als Frame erlaubt. Mit dem zweiten Sicherheitsheader (Content-Security-Policy) wird festgelegt, welche Quellen eingebettete Inhalte haben d\u00fcrfen. Andere wichtige Sicherheitsheader fehlen jedoch: Strict-Transport-Security, X-Content-Type-Options und X-XSS-Protection.<\/p>\n<h3>Behebung der Sicherheitsheader-Befunde<\/h3>\n<p>Die fehlenden Sicherheitsheader m\u00fcssen noch hinzugef\u00fcgt werden. In diesem Artikel werden sie zentral in der Webserver-Konfiguration hinterlegt und gelten damit f\u00fcr alle vom Webserver angebotenen Webseiten. Wenn auf einem Webserver mehrere Webseiten gehostet werden, sollte zuvor kontrolliert werden, ob die jeweiligen Sicherheitsheader f\u00fcr die betreffende Webseite geeignet sind. Bei unserem Ubuntu Testserver werden die Sicherheitsheader in <em>\/etc\/apache2\/conf-enabled\/security.conf<\/em> konfiguriert:<\/p>\n<p><em>Header always set Strict-Transport-Security &#8222;max-age=63072000; includeSubDomains; preload&#8220;<\/em><br \/>\n<em>Header always set X-Content-Type-Options nosniff<\/em><br \/>\n<em>Header always set X-Xss-Protection &#8222;1; mode=block&#8220;<\/em><br \/>\n<em>Header always set Referrer-Policy &#8222;same-origin&#8220;<\/em><\/p>\n<p>Damit die Sicherheitsheader auf diese Weise gesetzt werden k\u00f6nnen, muss sichergestellt sein, dass das Modul \u00bbHeaders<em>\u00ab<\/em> in der Apache-Konfiguration aktiviert ist. Der Befehl <em>a2enmod headers<\/em> aktiviert das Modul, falls es deaktiviert ist.<\/p>\n<h2>Check der Verschl\u00fcsselung des WordPress-Servers<\/h2>\n<p>Bevor die Verschl\u00fcsselung \u00fcberpr\u00fcft und bewertet werden kann, ist es empfehlenswert, einen Blick in die derzeitigen allgemeinen Empfehlungen zu werfen. Das BSI empfiehlt sich hier als nennenswerte Anlaufstelle. In seiner technischen Richtlinie <a href=\"https:\/\/www.bsi.bund.de\/SharedDocs\/Downloads\/DE\/BSI\/Publikationen\/TechnischeRichtlinien\/TR02102\/BSI-TR-02102-2.pdf?__blob=publicationFile&amp;v=10\" target=\"_blank\" rel=\"noopener noreferrer\">BSI TR-02102-2<\/a> \u00bbKryptographische Verfahren: Verwendung von Transport Layer Security (TLS)\u00ab gibt das BSI Empfehlungen f\u00fcr den Einsatz des kryptografischen Protokolls TLS. Zum Zeitpunkt der Erstellung des Artikels ist Version 2019-1 der Technischen Richtlinie aktuell.<\/p>\n<p>Bei der Wahl der TLS-Version empfiehlt das BSI grunds\u00e4tzlich die Verwendung von TLS 1.2 und TLS 1.3. TLS 1.0 und TLS 1.1 (oder die schw\u00e4cheren SSLv2 und SSLv3) werden aufgrund existierender Schw\u00e4chen nicht empfohlen. Die empfohlenen Chiffren k\u00f6nnen den entsprechenden Tabellen in TR-02102-2 entnommen werden.<\/p>\n<p>Zur \u00dcberpr\u00fcfung der Verschl\u00fcsselung existieren verschiedene Tools. Das Tool <a href=\"https:\/\/ssllabs.com\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/ssllabs.com<\/a> ist online einsetzbar. Alternativ ist auch das von Dirk Wetter entwickelte Skript <em>testssl.sh<\/em> empfehlenswert, dass i.d.R. aus den Distributionsrepositories bezogen werden kann. Ein Download \u00fcber seine Homepage <a href=\"https:\/\/testssl.sh\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/testssl.sh\/<\/a> oder von <a href=\"https:\/\/github.com\/drwetter\/testssl.sh\" target=\"_blank\" rel=\"noopener noreferrer\">Github<\/a> ist ebenfalls m\u00f6glich. In diesem Artikel verwenden wir <em>testssl.sh<\/em>, um die Verschl\u00fcsselung unseres Webservers zu \u00fcberpr\u00fcfen.<\/p>\n<p>Mit dem Befehl <em>testssl &#8211;hints &#8211;html 192.102.162.236<\/em><\/p>\n<p>l\u00e4sst sich eine \u00dcberpr\u00fcfung der Verschl\u00fcsselung starten. M\u00f6chte man die Verschl\u00fcsselung anderer Dienste wie z.B. FTP oder IMAP \u00fcberpr\u00fcfen, ist es beispielsweise notwendig, den Schalter <em>\u2013t<\/em> zu verwenden. Dar\u00fcber hinaus gibt es eine Vielzahl von Optionen, die schnellere Pr\u00fcfungen oder nur ganz bestimmte \u00dcberpr\u00fcfungen durchf\u00fchren. Die Schalter <em>&#8211;html<\/em> und <em>&#8211;hints<\/em> werden in diesem Fall dazu verwendet, um die Suchergebnisse als HTML-Bericht auszugeben (<em>&#8211;html<\/em>) und um weitere Hinweise zu Befunden anzuzeigen (<em>&#8211;hints<\/em>).<\/p>\n<h3>Auswertung der SSL-Testergebnisse<\/h3>\n<p>Zuerst werden die Ergebnisse der \u00dcberpr\u00fcfung der Transportverschl\u00fcsselung ausgewertet. Der Pr\u00fcfbericht von <em>testssl.sh<\/em> ist in mehrere Abschnitte aufgeteilt. Die Auff\u00e4lligkeiten werden nachfolgend schrittweise besprochen.<\/p>\n<h4>Angebotene Protokolle<\/h4>\n<p>Im ersten Abschnitt werden die angebotenen Protokolle untersucht:<\/p>\n<figure id=\"attachment_6181\" aria-describedby=\"caption-attachment-6181\" style=\"width: 692px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/blogProtokolle.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-6181 size-full\" src=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/blogProtokolle.png\" alt=\"Unterst\u00fctzte Verschl\u00fcsselungsprotokolle des Webservers\" width=\"692\" height=\"184\" srcset=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/blogProtokolle.png 692w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/blogProtokolle-400x106.png 400w\" sizes=\"auto, (max-width: 692px) 100vw, 692px\" \/><\/a><figcaption id=\"caption-attachment-6181\" class=\"wp-caption-text\">Unterst\u00fctzte Verschl\u00fcsselungsprotokolle des Webservers<\/figcaption><\/figure>\n<p>Farblich hat <em>testssl.sh<\/em> bereits die Befunde bewertet. Aus den Ergebnissen ist ersichtlich, dass noch SSLv3 und TLS 1.0 angeboten werden. Neuere Protokolle (TLS 1.2 und TLS 1.3) werden nicht angeboten. Die Ergebnisse entsprechen damit nicht den Empfehlungen des BSI und sollten entsprechend verbessert werden.<\/p>\n<h4>Angebotene Chiffren<\/h4>\n<p>Im n\u00e4chsten Abschnitt werden die Kategorien der Chiffren bewertet:<\/p>\n<figure id=\"attachment_6182\" aria-describedby=\"caption-attachment-6182\" style=\"width: 698px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/blogCiphers.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-6182 size-large\" src=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/blogCiphers-698x151.png\" alt=\"Unterst\u00fctzte Chiffren des Webservers\" width=\"698\" height=\"151\" srcset=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/blogCiphers-698x151.png 698w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/blogCiphers-400x86.png 400w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/blogCiphers.png 737w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><\/a><figcaption id=\"caption-attachment-6182\" class=\"wp-caption-text\">Unterst\u00fctzte Chiffren des Webservers<\/figcaption><\/figure>\n<p>Der Webserver bietet verschiedene Chiffren an, die auf jeden Fall vermieden werden sollten (beispielsweise NULL Ciphers, DES, 3DES, RC4). Diese Chiffren sind nicht mehr als sicher anzusehen.<\/p>\n<figure id=\"attachment_6184\" aria-describedby=\"caption-attachment-6184\" style=\"width: 698px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/blogCipherHonor.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-6184 size-large\" src=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/blogCipherHonor-698x42.png\" alt=\"Vorgabe der Reihenfolge der Chiffren des WordPress-Servers\" width=\"698\" height=\"42\" srcset=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/blogCipherHonor-698x42.png 698w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/blogCipherHonor-400x24.png 400w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/blogCipherHonor-768x46.png 768w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/blogCipherHonor.png 1126w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><\/a><figcaption id=\"caption-attachment-6184\" class=\"wp-caption-text\">Vorgabe der Reihenfolge der Chiffren<\/figcaption><\/figure>\n<p>Hier ist erkennbar, dass der Server nicht die zu verwendende Chiffre vorgibt, d.h. der Client kann unter den angebotenen Chiffren frei w\u00e4hlen. Ein potenzieller Angreifer k\u00f6nnte dies ausnutzen und absichtlich eine schw\u00e4chere Chiffre w\u00e4hlen\/erzwingen. Der DH-Parameter zur Aushandlung des Schl\u00fcssels ist au\u00dferdem mit 1024 Bit nicht stark genug.<\/p>\n<h4>Bekannte Verwundbarkeiten bei der Transportverschl\u00fcsselung<\/h4>\n<p>Im weiteren Verlauf testet das Skript auch auf bekannte Verwundbarkeiten. Hier das Ergebnis bei unserem Testwebserver (es werden aufgrund der L\u00e4nge des Ergebnisberichts nur die Verwundbarkeiten angezeigt):<\/p>\n<figure id=\"attachment_6185\" aria-describedby=\"caption-attachment-6185\" style=\"width: 698px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/BlogTLSvulns.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-6185 size-large\" src=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/BlogTLSvulns-698x221.png\" alt=\"Anf\u00e4lligkeit f\u00fcr bekannte Verwundbarkeiten in den Verschl\u00fcsselungsprotokollen des Webservers\" width=\"698\" height=\"221\" srcset=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/BlogTLSvulns-698x221.png 698w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/BlogTLSvulns-400x127.png 400w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/BlogTLSvulns-768x243.png 768w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/BlogTLSvulns-1536x486.png 1536w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/BlogTLSvulns-1320x418.png 1320w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/BlogTLSvulns.png 1601w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><\/a><figcaption id=\"caption-attachment-6185\" class=\"wp-caption-text\">Anf\u00e4lligkeit f\u00fcr bekannte Verwundbarkeiten in den Verschl\u00fcsselungsprotokollen des Webservers<\/figcaption><\/figure>\n<p>Die Ergebnisse zeigen deutlich, dass unsere Webserverkonfiguration in diesem Bereich ungeeignet f\u00fcr den produktiven Betrieb ist. Beispielsweise erm\u00f6glicht die Verwundbarkeit POODLE (englische Abk\u00fcrzung f\u00fcr: <strong>P<\/strong>adding <strong>O<\/strong>racle <strong>O<\/strong>n <strong>D<\/strong>owngraded <strong>L<\/strong>egacy <strong>E<\/strong>ncryption) das Auslesen von privaten Daten zwischen Client und Server bei verschl\u00fcsselten Verbindungen.<\/p>\n<h3>Behebung der Verschl\u00fcsselungsbefunde<\/h3>\n<p>Zur Behebung der Verschl\u00fcsselungsbefunde muss die Konfiguration des Webservers angepasst werden. Konkret m\u00fcssen die passenden Chiffren und Protokolle konfiguriert werden. Au\u00dferdem muss sichergestellt sein, dass der Webserver die Chiffre vorgibt und der Client sie sich nicht aussuchen darf. Die Konfiguration wird in der Datei vorgenommen, in der auch der virtuelle SSL-Host konfiguriert ist. Bei unserem Testserver ist dies die folgende Datei: <em>\/etc\/apache2\/sites-enabled\/default-ssl.conf<\/em><\/p>\n<p>Innerhalb des Tags <em>&lt;VirtualHost _default_:443&gt;<\/em> m\u00fcssen folgende Einstellungen konfiguriert werden:<\/p>\n<p><em>SSLCipherSuite EECDH+AESGCM:EDH+AESGCM<\/em><br \/>\n<em>SSLProtocol -all +TLSv1.3 +TLSv1.2<\/em><br \/>\n<em>SSLHonorCipherOrder On<\/em><br \/>\n<em>SSLSessionTickets Off<\/em><br \/>\n<em>SSLCompression off<\/em><\/p>\n<p>Die Einstellungen k\u00f6nnen abweichen, falls eine \u00e4ltere Version von Apache eingesetzt wird. Die Option <em>SSLCipherSuite<\/em> legt fest, welche Chiffren vom Webserver angeboten werden. Mit <em>SSLProtocol<\/em> wird definiert, welche Protokolle verwendet werden d\u00fcrfen. <em>-all<\/em> verbietet alle; danach werden mit <em>+TLSv1.X<\/em> die erlaubten einzeln hinzugef\u00fcgt. Bei beiden Einstellungen sollte darauf geachtet werden, dass die Anzahl der Ger\u00e4te, die eine Verbindung aufbauen k\u00f6nnen, eingeschr\u00e4nkt ist. W\u00e4hrend sich bei der obigen Konfiguration alle neueren Systeme verbinden k\u00f6nnen, k\u00f6nnen alte Browser wie der Internet Explorer &lt; Version 11 oder Android &lt; 4.4 keine Verbindung mehr aufbauen. Welche Verfahren hier erlaubt sein sollten, muss im Einzelfall abgewogen werden. Handelt es sich beispielsweise um Dienste, auf die nur die eigenen Firmenger\u00e4te zugreifen werden, ist davon auszugehen, dass die neusten Chiffren problemlos unterst\u00fctzt werden. Das Skript <em>testssl.sh<\/em> gibt hier Auskunft, welche Clients eine Verbindung aufbauen k\u00f6nnen. <em>SSLHonorCipherOrder<\/em> teilt dem Server mit, dass er die passende Chiffre ausw\u00e4hlt. <em>SSLSessionTickets<\/em> und <em>SSLCompression<\/em> sollten zum Schutz vor Angriffen ebenfalls deaktiviert werden.<\/p>\n<div class=\"info-box\">\n<p>Hinweis: Die hier genannten Einstellungen waren zum Zeitpunkt der Erstellung dieses Artikels empfehlenswert. Achten Sie darauf, die zum Zeitpunkt der Konfiguration g\u00fcltigen Einstellungen zu verwenden.<\/p>\n<\/div>\n<p>Zur Erh\u00f6hung der Performance kann au\u00dferdem folgende Konfiguration erfolgen:<\/p>\n<p><em>SSLUseStapling on<\/em><br \/>\n<em>SSLStaplingCache &#8222;shmcb:logs\/stapling-cache(150000)&#8220;<\/em><\/p>\n<p>Dies vermeidet, dass der Client selbst einen Request zur Verifikation des Zertifikats absenden muss.<\/p>\n<h2>Ende der Artikelserie\u00a0zum Thema \u00bbIT-Security\u00ab<\/h2>\n<p>Die Artikel dieser Serie haben einen kleinen Einblick in einzelne Aspekte der Sicherheit von Webanwendungen gegeben. Es wurde deutlich, dass das Thema vielschichtig ist und viele Bausteine ineinandergreifen m\u00fcssen, um eine geeignete Absicherung von Webservern zu erzielen. Gerne k\u00f6nnen wir auch Sie bei der Absicherung Ihrer Infrastruktur unterst\u00fctzen und eine IT-Sicherheits\u00fcberpr\u00fcfung durchf\u00fchren.<\/p>\n<div class=\"info-box\">\n<p><strong>Weitere Infos zu unserer Artikelserie zum Thema \u00bbIT-Security\u00ab<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>Dieser Artikel ist der vierte und letzte unserer mehrteiligen Artikelserie, die einen Einblick in unsere Arbeit im Bereich <a href=\"https:\/\/www.iese.fraunhofer.de\/de\/leistungen\/security\/cyber-security.html\">\u00bbIT-Security\u00ab<\/a> gew\u00e4hrt.<\/p>\n<p>&nbsp;<\/p>\n<p>In unserem <a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil1\">ersten Artikel<\/a> haben wir unsere IT-Sicherheitsaudits vorgestellt. Im <a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil2\">zweiten Artikel<\/a> fokussierten wir uns auf das f\u00fcr IT-Sicherheitsaudits wichtige Thema \u00bbPenetrationstests\u00ab. Wir erkl\u00e4rten hilfreiche Definitionen zu g\u00e4ngigen Begrifflichkeiten und demonstrierten, wie man mit dem Tool Nmap Verwundbarkeiten aufsp\u00fcren kann. Im <a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil3\">dritten Artikel<\/a> haben wir die gefundenen Verwundbarkeiten besprochen und gezeigt, wie sich diese unter Anwendung geeigneter Mittel und Methoden beheben lassen.<\/p>\n<p>&nbsp;<\/p>\n<p>Weitere Infos zu unserer Forschung und zu unseren L\u00f6sungen finden Sie <a href=\"https:\/\/www.iese.fraunhofer.de\/de\/leistungen\/security\/cyber-security.html\">hier<\/a> auf unserer Website.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Dieser Artikel setzt die Reihe \u00bbIT-Security\u00ab fort und beleuchtet Aspekte der Sicherheit von Webanwendungen am Beispiel von WordPress sowie die Themen Transportverschl\u00fcsselung und Sicherheitsheader eines Webservers. In den vorhergehenden Artikeln dieser Artikelserie haben wir zuerst unsere IT-Sicherheitsaudits vorgestellt und anschlie\u00dfend&#8230;<\/p>\n","protected":false},"author":75,"featured_media":6211,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[18],"tags":[337,338],"coauthors":[305],"class_list":["post-6173","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sicherheit","tag-it-sicherheit","tag-sicherheitsueberpruefung"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>IT-Security (4\/4): Gezielte Untersuchungs- und Absicherungsmethoden f\u00fcr mehr Wordpress-Sicherheit - Blog des Fraunhofer IESE<\/title>\n<meta name=\"description\" content=\"Dieser Artikel diskutiert Aspekte der IT-Sicherheit von Webanwendungen (Verwundbarkeiten, Verschl\u00fcsselung, Sicherheitsheader) am Beispiel von WordPress.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil4\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"IT-Security (4\/4): Gezielte Untersuchungs- und Absicherungsmethoden f\u00fcr mehr Wordpress-Sicherheit - Blog des Fraunhofer IESE\" \/>\n<meta property=\"og:description\" content=\"Dieser Artikel diskutiert Aspekte der IT-Sicherheit von Webanwendungen (Verwundbarkeiten, Verschl\u00fcsselung, Sicherheitsheader) am Beispiel von WordPress.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil4\/\" \/>\n<meta property=\"og:site_name\" content=\"Fraunhofer IESE\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/FraunhoferIESE\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-08-13T05:50:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-22T10:22:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/it_sicherheit_header_4_blogserie-fraunhofer_iese.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"748\" \/>\n\t<meta property=\"og:image:height\" content=\"375\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Andreas Eitel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@FraunhoferIESE\" \/>\n<meta name=\"twitter:site\" content=\"@FraunhoferIESE\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andreas Eitel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"15\u00a0Minuten\" \/>\n\t<meta name=\"twitter:label3\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data3\" content=\"Andreas Eitel\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/it-security-teil4\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/it-security-teil4\\\/\"},\"author\":{\"name\":\"Andreas Eitel\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#\\\/schema\\\/person\\\/d5285935062273556f3970b5c8e4d86d\"},\"headline\":\"IT-Security (4\\\/4): Gezielte Untersuchungs- und Absicherungsmethoden f\u00fcr mehr WordPress-Sicherheit\",\"datePublished\":\"2020-08-13T05:50:17+00:00\",\"dateModified\":\"2024-01-22T10:22:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/it-security-teil4\\\/\"},\"wordCount\":3019,\"publisher\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/it-security-teil4\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/07\\\/it_sicherheit_header_4_blogserie-fraunhofer_iese.jpg\",\"keywords\":[\"IT-Sicherheit\",\"Sicherheits\u00fcberpr\u00fcfung\"],\"articleSection\":[\"Sicherheit\"],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/it-security-teil4\\\/\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/it-security-teil4\\\/\",\"name\":\"IT-Security (4\\\/4): Gezielte Untersuchungs- und Absicherungsmethoden f\u00fcr mehr Wordpress-Sicherheit - Blog des Fraunhofer IESE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/it-security-teil4\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/it-security-teil4\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/07\\\/it_sicherheit_header_4_blogserie-fraunhofer_iese.jpg\",\"datePublished\":\"2020-08-13T05:50:17+00:00\",\"dateModified\":\"2024-01-22T10:22:58+00:00\",\"description\":\"Dieser Artikel diskutiert Aspekte der IT-Sicherheit von Webanwendungen (Verwundbarkeiten, Verschl\u00fcsselung, Sicherheitsheader) am Beispiel von WordPress.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/it-security-teil4\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/it-security-teil4\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/it-security-teil4\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/07\\\/it_sicherheit_header_4_blogserie-fraunhofer_iese.jpg\",\"contentUrl\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/07\\\/it_sicherheit_header_4_blogserie-fraunhofer_iese.jpg\",\"width\":748,\"height\":375,\"caption\":\"IT-Security\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/it-security-teil4\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"IT-Security (4\\\/4): Gezielte Untersuchungs- und Absicherungsmethoden f\u00fcr mehr WordPress-Sicherheit\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/\",\"name\":\"Fraunhofer IESE\",\"description\":\"Blog des Fraunhofer-Institut f\u00fcr Experimentelles Software Engineering\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#organization\",\"name\":\"Fraunhofer IESE\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/08\\\/fhg_iese_logo.png\",\"contentUrl\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/08\\\/fhg_iese_logo.png\",\"width\":183,\"height\":50,\"caption\":\"Fraunhofer IESE\"},\"image\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/FraunhoferIESE\\\/\",\"https:\\\/\\\/x.com\\\/FraunhoferIESE\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/fraunhoferiese\\\/\",\"https:\\\/\\\/www.youtube.com\\\/c\\\/FraunhoferIESE\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#\\\/schema\\\/person\\\/d5285935062273556f3970b5c8e4d86d\",\"name\":\"Andreas Eitel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/04\\\/andreas-eitel-96x96.jpg6543a68c5a7f45e81c4fcd079a9f4082\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/04\\\/andreas-eitel-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/04\\\/andreas-eitel-96x96.jpg\",\"caption\":\"Andreas Eitel\"},\"description\":\"Andreas Eitel arbeitet seit 2013 am Fraunhofer IESE. Als Expert \u00bbCyber Security\u00ab leitet er das Security-Team der Abteilung Security Engineering. F\u00fcr die Fraunhofer-Gesellschaft f\u00fchrt er IT-Sicherheits\u00fcberpr\u00fcfungen durch und ber\u00e4t zum Thema IT-Sicherheit. Wissenschaftlich besch\u00e4ftigt er sich haupts\u00e4chlich mit Themen rund um Security und Netzwerksicherheit im Speziellen.\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/author\\\/andreas-eitel\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"IT-Security (4\/4): Gezielte Untersuchungs- und Absicherungsmethoden f\u00fcr mehr Wordpress-Sicherheit - Blog des Fraunhofer IESE","description":"Dieser Artikel diskutiert Aspekte der IT-Sicherheit von Webanwendungen (Verwundbarkeiten, Verschl\u00fcsselung, Sicherheitsheader) am Beispiel von WordPress.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil4\/","og_locale":"de_DE","og_type":"article","og_title":"IT-Security (4\/4): Gezielte Untersuchungs- und Absicherungsmethoden f\u00fcr mehr Wordpress-Sicherheit - Blog des Fraunhofer IESE","og_description":"Dieser Artikel diskutiert Aspekte der IT-Sicherheit von Webanwendungen (Verwundbarkeiten, Verschl\u00fcsselung, Sicherheitsheader) am Beispiel von WordPress.","og_url":"https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil4\/","og_site_name":"Fraunhofer IESE","article_publisher":"https:\/\/www.facebook.com\/FraunhoferIESE\/","article_published_time":"2020-08-13T05:50:17+00:00","article_modified_time":"2024-01-22T10:22:58+00:00","og_image":[{"width":748,"height":375,"url":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/it_sicherheit_header_4_blogserie-fraunhofer_iese.jpg","type":"image\/jpeg"}],"author":"Andreas Eitel","twitter_card":"summary_large_image","twitter_creator":"@FraunhoferIESE","twitter_site":"@FraunhoferIESE","twitter_misc":{"Verfasst von":"Andreas Eitel","Gesch\u00e4tzte Lesezeit":"15\u00a0Minuten","Written by":"Andreas Eitel"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil4\/#article","isPartOf":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil4\/"},"author":{"name":"Andreas Eitel","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#\/schema\/person\/d5285935062273556f3970b5c8e4d86d"},"headline":"IT-Security (4\/4): Gezielte Untersuchungs- und Absicherungsmethoden f\u00fcr mehr WordPress-Sicherheit","datePublished":"2020-08-13T05:50:17+00:00","dateModified":"2024-01-22T10:22:58+00:00","mainEntityOfPage":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil4\/"},"wordCount":3019,"publisher":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#organization"},"image":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil4\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/it_sicherheit_header_4_blogserie-fraunhofer_iese.jpg","keywords":["IT-Sicherheit","Sicherheits\u00fcberpr\u00fcfung"],"articleSection":["Sicherheit"],"inLanguage":"de"},{"@type":"WebPage","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil4\/","url":"https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil4\/","name":"IT-Security (4\/4): Gezielte Untersuchungs- und Absicherungsmethoden f\u00fcr mehr Wordpress-Sicherheit - Blog des Fraunhofer IESE","isPartOf":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil4\/#primaryimage"},"image":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil4\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/it_sicherheit_header_4_blogserie-fraunhofer_iese.jpg","datePublished":"2020-08-13T05:50:17+00:00","dateModified":"2024-01-22T10:22:58+00:00","description":"Dieser Artikel diskutiert Aspekte der IT-Sicherheit von Webanwendungen (Verwundbarkeiten, Verschl\u00fcsselung, Sicherheitsheader) am Beispiel von WordPress.","breadcrumb":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil4\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil4\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil4\/#primaryimage","url":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/it_sicherheit_header_4_blogserie-fraunhofer_iese.jpg","contentUrl":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/it_sicherheit_header_4_blogserie-fraunhofer_iese.jpg","width":748,"height":375,"caption":"IT-Security"},{"@type":"BreadcrumbList","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/it-security-teil4\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/www.iese.fraunhofer.de\/blog\/"},{"@type":"ListItem","position":2,"name":"IT-Security (4\/4): Gezielte Untersuchungs- und Absicherungsmethoden f\u00fcr mehr WordPress-Sicherheit"}]},{"@type":"WebSite","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#website","url":"https:\/\/www.iese.fraunhofer.de\/blog\/","name":"Fraunhofer IESE","description":"Blog des Fraunhofer-Institut f\u00fcr Experimentelles Software Engineering","publisher":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.iese.fraunhofer.de\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#organization","name":"Fraunhofer IESE","url":"https:\/\/www.iese.fraunhofer.de\/blog\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2016\/08\/fhg_iese_logo.png","contentUrl":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2016\/08\/fhg_iese_logo.png","width":183,"height":50,"caption":"Fraunhofer IESE"},"image":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/FraunhoferIESE\/","https:\/\/x.com\/FraunhoferIESE","https:\/\/www.linkedin.com\/company\/fraunhoferiese\/","https:\/\/www.youtube.com\/c\/FraunhoferIESE"]},{"@type":"Person","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#\/schema\/person\/d5285935062273556f3970b5c8e4d86d","name":"Andreas Eitel","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/04\/andreas-eitel-96x96.jpg6543a68c5a7f45e81c4fcd079a9f4082","url":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/04\/andreas-eitel-96x96.jpg","contentUrl":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/04\/andreas-eitel-96x96.jpg","caption":"Andreas Eitel"},"description":"Andreas Eitel arbeitet seit 2013 am Fraunhofer IESE. Als Expert \u00bbCyber Security\u00ab leitet er das Security-Team der Abteilung Security Engineering. F\u00fcr die Fraunhofer-Gesellschaft f\u00fchrt er IT-Sicherheits\u00fcberpr\u00fcfungen durch und ber\u00e4t zum Thema IT-Sicherheit. Wissenschaftlich besch\u00e4ftigt er sich haupts\u00e4chlich mit Themen rund um Security und Netzwerksicherheit im Speziellen.","url":"https:\/\/www.iese.fraunhofer.de\/blog\/author\/andreas-eitel\/"}]}},"jetpack_featured_media_url":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2020\/07\/it_sicherheit_header_4_blogserie-fraunhofer_iese.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/posts\/6173","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/users\/75"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/comments?post=6173"}],"version-history":[{"count":18,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/posts\/6173\/revisions"}],"predecessor-version":[{"id":10064,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/posts\/6173\/revisions\/10064"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/media\/6211"}],"wp:attachment":[{"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/media?parent=6173"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/categories?post=6173"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/tags?post=6173"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/coauthors?post=6173"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}