Как да предпазите от Pingback DDoS атаки вашия Wordpress

Как да предпазите от Pingback DDoS атаки вашия Wordpress

Вече ви запознахме какво представляват Bruteforce атаките, които неотдавна засегнаха Wordpress. А знаете ли какво означава Pingback DDoS атака? В тази статия Friendly Geeks екипът на ICN.Bg, ще ви представи няколко пропуски в сугирността в Wordpress, чрез който се извършва т.нар. “Pingback DDoS” атака чрез xmlrpc.php. А в допълнение Friendly Geeks ви предлагат и 5 решения, които успешно ще ви помогнат да се защитите от този вид атаки!

Какво е xmlrpc.php и какво прави този файл в папката на инсталирания Wordpress?

Wordpress използва XML-RPC интерфейс поради това, че се използва имплементирана Wordpress специална функция в API (Wordpress API). Тази функция се използва за да синхронизира API вариации започващи с WP префикс. Тази поддръжка основно служи за WordPress плъгини. Функцията е включена по подразбиране в Wordpress 3.5, като в предишните версии се управлява от потребителя – може да бъде спряна или пусната, според желанието на потребителя.

За какво се използва xmlrpc.php?

xmlrpc.php се използва основно за:

  • Директни публикации във вашия блог с помощта на TextMate, Flock и други клиенти

  • Директно публикуване във вашия блог с помощта на Eudora, Thunderbird и други мейл апликации

  • Получаване на pingbacks и проследявания към вашия сайт от други блогове.

Като цяло всяки една от посочените по-горе възможности използва функция за отдалечено публикуване в Wordpress, като повечето блогове използват основно XML-RPC протокол за функционалност за проследяване и сравняване.

А какво означава това – пропуска в сигурността на Wordpress позволява на злонамерени лица, да публикуват съдържание от всякакъв тип директно във вашия Wordpress сайт.

А дали xmlrpc.php представлява риск за сигурността?

Сериозният пропуск в xmlrpc.php е засегнал над 100 милиона сайта по света. Посредством този файл, чрез използваната Pingback функция (проверяваща за ъпдейт на блог) , се извършва Pingback DDoS атака. Интересното при тази уязвимост е това, че на нападателя не му се налага да компроментира сайта. Еxploit-а не се нуждае от компилиране и пуска заявки като използва UNIX команден ред. Така се предизвиква от вашия домейн да се изпращат http заявки към целта, като могат да бъдат пуснати хиляди заявки паралелно, което е еквивалент на малък ботнет с неограничен набор от източници на IP адреси! Повечето сайтове не могат да издържат на подобна атака и няколко хиляди от тези заявки. Още повече ако сайтовете използват повече ресурс и се изпълняват множество скриптове.

Включеният в Wordpress Pingback механизъм от скоро време е известен с риска в сигурността си. Първата публикация за този риск се появява Декември 2012г. е, като след информацията в публикацията потребителите започват да извършват сканиране на портовете чрез този механизъм. По това време Богдан Калин от Acunetix споменава за възможността за извършване на DDoS атаки посредством Pingback механизма, което става все по-наболял проблем.

Направен е опит уязвимостта да бъде остранена в Wordpress версия 3.5.1, чрез прилагане на филтри за позволени URL адреси, като това решава проблема със сканирането на портовете и SSRF атаки. Но функционалностт на Pingback механизма остaва нерешена като уязвимост дори и след ъпдейта към версия 3.5.2.

Какви са възможните решения?**

1) Винаги следете за обновления на Wordpress и в случай, че приложението ви информира за налична нова версия, задължително обновете приложението.

2) Премахване на xmlrpc.php – в случай, че не използвате някоя от гореописаните функционалности на файла, това е един от най-сигурните начини да елиминирате потенциална уязвимост в сигурността. Ако нямате нужда от дистанционно публикуване или от постоянно проследяване за ъпдейт на информацията, друг успешен вариант е преименоване на файла с проста команда: mv xmlrpc.phpsome_name или като използвате FTP клиент или Файлов мениджър.

3) Добавяне на филтър във файла functions.php – друг възможен вариант за преустановяването на pingback механизма e добавянето на следните редове във functions.php:

functionremovexpingback($headers) {

unset($headers[‘X-Pingback’]);

return $headers;

}

addfilter(‘wpheaders’, ‘removexpingback’);

Или чрез премахването на връзките към xmlrpc.php и wlwmanifest.xml посредством филтър в същия файл:

functionremoveHeadLinks() {

removeaction(‘wphead’, ‘rsd_links;);

removection(‘wphead’, ‘wlwmanifest_link’);

}

Add_action(‘init’, ‘removeHeadLinks’);

Това ще попречи на тези два файла да бъдат свързани с горния, но самите файлове остават налични.

В случай, че използвате този метод направете проверка дали е изключено дистанционното публикуване.

4) Премахване на злоупотреби чрез сканиране на директории посредством xmlrpc.php файла.

За да се предпазите от сканиране на директории посредсвом уязвимост във фaйла, можете да използвате вариант, при който се добавя директива в .htaccess

<IfModule mod_alias.c>

RedirectMatch 301 /(.*)/xmlrpc.phphttp://domain.tld/xmlrpc.php

</IfModule>

5) Ограничаване на достъпа до xmrpc.php, като файла остава наличен.

Друг възможен вариант за ограничаване на достъпа до файла посредством директива в .htaccess:

<IfModule mod_alias.c>

RedirectMatch 403 /(.*)/xmlrpc.php$

</IfModule>

Не пропускайте да защитите Wordpress сайта или блога си от “Pingback DDoS” атака!

Етикети: #publikatsii #ddos-ataki #http-zayavki #htaccess #api #xml-rpc-interfejs #funktsiya #wordpress-pingback #risk-za-sigurnostta #pingback-ddos-ataka #xmlrpc-php #wordpress #wp-prefiks #pingback