{"id":1435,"date":"2021-02-19T14:50:56","date_gmt":"2021-02-19T13:50:56","guid":{"rendered":"https:\/\/ekiwi.de\/?p=1435"},"modified":"2021-02-19T15:22:42","modified_gmt":"2021-02-19T14:22:42","slug":"wordpress-xml-rpc-deaktivieren-und-sicherheitsrisiken-minimieren","status":"publish","type":"post","link":"https:\/\/ekiwi.de\/index.php\/1435\/wordpress-xml-rpc-deaktivieren-und-sicherheitsrisiken-minimieren\/","title":{"rendered":"WordPress: Xml-Rpc deaktivieren und Sicherheitsrisiken minimieren"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Inhalt<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/ekiwi.de\/index.php\/1435\/wordpress-xml-rpc-deaktivieren-und-sicherheitsrisiken-minimieren\/#Was_ist_die_XML-RPC-Schnittstelle\" >Was ist die XML-RPC-Schnittstelle<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/ekiwi.de\/index.php\/1435\/wordpress-xml-rpc-deaktivieren-und-sicherheitsrisiken-minimieren\/#Deaktivieren_der_XmlRpc-Schnittstelle\" >Deaktivieren der XmlRpc-Schnittstelle<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/ekiwi.de\/index.php\/1435\/wordpress-xml-rpc-deaktivieren-und-sicherheitsrisiken-minimieren\/#Test_ob_XML-RPC_aktiv_ist\" >Test ob XML-RPC aktiv ist<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/ekiwi.de\/index.php\/1435\/wordpress-xml-rpc-deaktivieren-und-sicherheitsrisiken-minimieren\/#Deaktivieren_mit_einem_Plugin\" >Deaktivieren mit einem Plugin<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/ekiwi.de\/index.php\/1435\/wordpress-xml-rpc-deaktivieren-und-sicherheitsrisiken-minimieren\/#Deaktivierung_ueber_htaccess\" >Deaktivierung \u00fcber .htaccess<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/ekiwi.de\/index.php\/1435\/wordpress-xml-rpc-deaktivieren-und-sicherheitsrisiken-minimieren\/#Ein_eigenes_Plugin_schreiben\" >Ein eigenes Plugin schreiben<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<p>WordPress bringt eine Schnittstelle mit \u00fcber welche Programme und Dienste von au\u00dferhalb auf Funktionen des Blogs zugreifen k\u00f6nnen: XML-RPC. Wir schauen uns mal genauer an, was die Schnittstelle macht und wann es sinnvoll ist diese zu deaktivieren.<\/p>\n<p><!--more--><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Was_ist_die_XML-RPC-Schnittstelle\"><\/span>Was ist die XML-RPC-Schnittstelle<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>WordPress bringt von Haus aus eine Schnittstelle mit, \u00fcber welche verschiedene Systeme miteinander agieren k\u00f6nnen. Klingt erstmal komisch, daher hier ein Beispiel. Es gibt Programme wie z.B. den <a href=\"https:\/\/openlivewriter.com\/\" target=\"_blank\" rel=\"noopener\">Open Live Writer<\/a> der es erm\u00f6glicht offline Artikel zu erstellen und diese anschlie\u00dfend zu ver\u00f6ffentlichen.<\/p>\n<p>Auch eine Verwaltung von Posts, Kommentaren und anderen Dingen ist \u00fcber die Schnittstelle m\u00f6glich. So verwendete auch die WordPress App f\u00fcr das Smartphone anfangs diese Schnittstelle. Auch Trackbacks und Pingbacks wurden dar\u00fcber abgewickelt. Die Datei, welche hier verwendet wird, ist die &#8222;xmlrpc.php&#8220;.<\/p>\n<p>Inzwischen gibt die <a href=\"https:\/\/kinsta.com\/de\/blog\/wordpress-rest-api\/\" target=\"_blank\" rel=\"noopener\">WordPress Rest Api<\/a>, welche XmlRpc-Schnittstelle abl\u00f6st.<\/p>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/6v2qBKr41N8\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Deaktivieren_der_XmlRpc-Schnittstelle\"><\/span>Deaktivieren der XmlRpc-Schnittstelle<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Sofern Du keine Software oder App verwendest, welche noch die XML-RPC-Schnittstelle verwendet, kannst Du die Schnittstelle deaktivieren. Damit umgehst Du nicht nur potenziellen Sicherheitsl\u00fccken, sondern auch die &#8222;Gefahr&#8220; aufseiten wie <a href=\"https:\/\/ekiwi.de\/index.php\/1402\/openbugbounty-security-vulnerability-notification-was-steckt-dahinter\/\" target=\"_blank\" rel=\"noopener\">OpenBugBounty gemeldet zu werden<\/a>.<\/p>\n<p>Leider gibt es in WordPress keine direkte Option die Schnittstelle zu deaktiveren. Daher zeigen wir hier M\u00f6glichkeiten dies schnell uns einfach zu tun.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Test_ob_XML-RPC_aktiv_ist\"><\/span>Test ob XML-RPC aktiv ist<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Ob XML-RPC aktiv ist k\u00f6nnen wir mit dem &#8222;<a href=\"https:\/\/xmlrpc.eritreo.it\/\" target=\"_blank\" rel=\"noopener\">WordPress XML-RPC Validation Service<\/a>&#8220; verwenden. Hier geben wir die Adresse unseres Blogs ein und klicken auf &#8222;Check&#8220;.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2021\/02\/xml_1.png\" alt=\"\" width=\"745\" height=\"330\" class=\"alignnone size-full wp-image-1436\" srcset=\"\/wp-content\/uploads\/2021\/02\/xml_1.png 745w, \/wp-content\/uploads\/2021\/02\/xml_1-300x133.png 300w\" sizes=\"auto, (max-width: 745px) 100vw, 745px\" \/><\/p>\n<p>Es erscheint eine Erfolgsmeldung.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2021\/02\/xml_2.png\" alt=\"\" width=\"663\" height=\"144\" class=\"alignnone size-full wp-image-1437\" srcset=\"\/wp-content\/uploads\/2021\/02\/xml_2.png 663w, \/wp-content\/uploads\/2021\/02\/xml_2-300x65.png 300w\" sizes=\"auto, (max-width: 663px) 100vw, 663px\" \/><\/p>\n<p>XML-RPC ist also aktiv.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Deaktivieren_mit_einem_Plugin\"><\/span>Deaktivieren mit einem Plugin<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bei WordPress gibt es f\u00fcr alles ein Plugin. So auch f\u00fcr diesen Anwendungszweck, wir installieren das Plugin &#8222;<a href=\"https:\/\/de.wordpress.org\/plugins\/disable-xml-rpc-api\/\" target=\"_blank\" rel=\"noopener\">Disable XML-RPC-API<\/a>&#8220; Plugin.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2021\/02\/xml_3.png\" alt=\"\" width=\"543\" height=\"285\" class=\"alignnone size-full wp-image-1438\" srcset=\"\/wp-content\/uploads\/2021\/02\/xml_3.png 543w, \/wp-content\/uploads\/2021\/02\/xml_3-300x157.png 300w\" sizes=\"auto, (max-width: 543px) 100vw, 543px\" \/><\/p>\n<p>Eine Alternative ist das Plugin &#8222;<a href=\"https:\/\/wordpress.org\/plugins\/disable-xml-rpc\/\" target=\"_blank\" rel=\"noopener\">Disable XML-RPC<\/a>&#8222;, welches allerdings schon einige Zeit nicht aktualisiert worden ist.<\/p>\n<p>Ein erneuter Test zeigt uns, dass ein Zugriff nun nicht mehr m\u00f6glich ist.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2021\/02\/xml_4.png\" alt=\"\" width=\"509\" height=\"179\" class=\"alignnone size-full wp-image-1439\" srcset=\"\/wp-content\/uploads\/2021\/02\/xml_4.png 509w, \/wp-content\/uploads\/2021\/02\/xml_4-300x106.png 300w\" sizes=\"auto, (max-width: 509px) 100vw, 509px\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Deaktivierung_ueber_htaccess\"><\/span>Deaktivierung \u00fcber .htaccess<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Wer genau hinschaut, sieht, dass das Plugin die Schnittstelle mittels .htaccess deaktiviert. Dies k\u00f6nnen wir auch sehr leicht selbst umsetzen.<\/p>\n<p>Dazu erstellen wir eine <a href=\"https:\/\/da-software.net\/software\/da-htaccess\/\" target=\"_blank\" rel=\"noopener\">.htaccess-Datei<\/a> im WordPress-Verzeichnis oder erweitern eine bestehende Datei. Hier f\u00fcgen wir folgenden Inhalt ein:<\/p>\n<pre>&lt;Files xmlrpc.php&gt;\r\norder deny,allow\r\ndeny from all\r\n&lt;\/Files&gt;\r\n<\/pre>\n<p>Diese Anweisung sorgt daf\u00fcr, dass kein Zugriff mehr auf die &#8222;xmlrpc.php&#8220;-Datei m\u00f6glich ist. Anschlie\u00dfend erhalten wir auch hier das gleiche Ergebnis.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Ein_eigenes_Plugin_schreiben\"><\/span>Ein eigenes Plugin schreiben<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Hui das klingt kompliziert, ist es aber nicht. Wir erstellen ein eines Plugin und laden dieses in unseren Plugin-Ordner. Hier der Inhalt des Beispiel-Plugins. Erstelle einfach eine Text-Datei mit der Endung .php und f\u00fcge den Inhalt hinzu.<\/p>\n<pre>&lt;?php\r\n\/*\r\nPlugin Name: DA-Software XML-RPC-Disabler\r\nPlugin URI: https:\/\/ekiwi.de\r\nDescription: Disables XML-RPC\r\nVersion: 1.0\r\nAuthor: Andy Dunkel\r\nAuthor URI: https:\/\/ekiwi.de\r\n*\/\r\n\r\nadd_filter( 'xmlrpc_enabled', '__return_false' );\r\n?&gt;<\/pre>\n<p>Die Zeile mit &#8222;add_filter&#8220; deaktiviert XML-RPC. Nach dem Upload kann das Plugin \u00fcber die Admin-Oberfl\u00e4che aktiviert werden.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2021\/02\/xml_5.png\" alt=\"\" width=\"836\" height=\"104\" class=\"alignnone size-full wp-image-1440\" srcset=\"\/wp-content\/uploads\/2021\/02\/xml_5.png 836w, \/wp-content\/uploads\/2021\/02\/xml_5-300x37.png 300w, \/wp-content\/uploads\/2021\/02\/xml_5-768x96.png 768w\" sizes=\"auto, (max-width: 836px) 100vw, 836px\" \/><\/p>\n<p>Anschlie\u00dfend ist auch hier unsere XML-RPC-Schnittstelle deaktiviert.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2021\/02\/xml_6.png\" alt=\"\" width=\"667\" height=\"185\" class=\"alignnone size-full wp-image-1441\" srcset=\"\/wp-content\/uploads\/2021\/02\/xml_6.png 667w, \/wp-content\/uploads\/2021\/02\/xml_6-300x83.png 300w\" sizes=\"auto, (max-width: 667px) 100vw, 667px\" \/><\/p>","protected":false},"excerpt":{"rendered":"<p>WordPress bringt eine Schnittstelle mit \u00fcber welche Programme und Dienste von au\u00dferhalb auf Funktionen des Blogs zugreifen k\u00f6nnen: XML-RPC. Wir<\/p>\n","protected":false},"author":1,"featured_media":278,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[51],"tags":[72,53,172,52],"class_list":["post-1435","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","tag-anleitung","tag-plugin","tag-tutorial","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/1435","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/comments?post=1435"}],"version-history":[{"count":0,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/1435\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media\/278"}],"wp:attachment":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media?parent=1435"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/categories?post=1435"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/tags?post=1435"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}