| |
| web:wordpress:xmlrpc [2022/08/03 18:44] – создано dx | web:wordpress:xmlrpc [2022/08/03 18:51] (текущий) – dx |
|---|
| | ====== Wordpress: DDoS через XML-RPC ====== |
| |
| | ===== Что случилось? ===== |
| | |
| | * [[https://habrahabr.ru/post/232129/|И опять атака на сайты Wordpress — перебор + XMLRPC]] |
| | * [[https://habrahabr.ru/post/215543/|Более 162.000 сайтов на WordPress использовались для масштабной DDOS-атаки]] |
| | * [[https://habrahabr.ru/company/eset/blog/326198/|Sathurbot: распределенная атака на WordPress-сайты]] |
| | * [[https://blog.sucuri.net/2014/07/new-brute-force-attacks-exploiting-xmlrpc-in-wordpress.html|New Brute Force Attacks Exploiting XMLRPC in WordPress]] |
| | * [[https://blog.sucuri.net/2015/10/brute-force-amplification-attacks-against-wordpress-xmlrpc.html|Brute Force Amplification Attacks Against WordPress XMLRPC]] |
| | |
| | ===== Как обнаружить? ===== |
| | |
| | Пример access лога с POST запросами к xmlrpc.php |
| | |
| | <code> |
| | # grep xmlrpc /var/log/nginx/access.log |
| | 96.30.6.77 - - [17/May/2016:04:34:53 +0300] "POST /xmlrpc.php HTTP/1.1" 200 125935 "-" "-" "-" |
| | 108.179.197.218 - - [17/May/2016:07:48:06 +0300] "POST /xmlrpc.php HTTP/1.1" 200 125935 "-" "-" "-" |
| | 89.161.231.28 - - [17/May/2016:08:04:36 +0300] "POST /xmlrpc.php HTTP/1.1" 200 125935 "-" "-" "-" |
| | 89.111.177.110 - - [17/May/2016:08:08:15 +0300] "POST /xmlrpc.php HTTP/1.1" 200 125935 "-" "-" "-" |
| | 81.177.135.201 - - [17/May/2016:08:08:26 +0300] "POST /xmlrpc.php HTTP/1.1" 200 125935 "-" "-" "-" |
| | 46.229.230.48 - - [17/May/2016:08:08:28 +0300] "POST /xmlrpc.php HTTP/1.1" 200 125935 "-" "-" "-" |
| | 50.62.176.19 - - [17/May/2016:10:31:43 +0300] "POST /xmlrpc.php HTTP/1.1" 200 652 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:23.0) Gecko/20100101 Firefox/23.0" "-" |
| | 74.63.250.11 - - [17/May/2016:10:39:16 +0300] "POST /xmlrpc.php HTTP/1.1" 200 125935 "-" "-" "-" |
| | 159.8.34.18 - - [17/May/2016:10:53:40 +0300] "POST /xmlrpc.php HTTP/1.1" 200 652 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:23.0) Gecko/20100101 Firefox/23.0" "-" |
| | </code> |
| | |
| | {{:web:wordpress:wordpress_this_is_fine.jpg?nolink&600|}} |
| | |
| | TL;DR если вы не используете XML-RPC, то отключите его. |
| | |
| | Это можно сделать через .htaccess или с помощью плагина. |
| | |
| | ===== Отключение xmlrpc через .htaccess ===== |
| | |
| | Для Apache 2.2 |
| | |
| | <code> |
| | <Files xmlrpc.php> |
| | Order Deny,Allow |
| | Deny from all |
| | </Files> |
| | </code> |
| | |
| | Для Apache 2.4 |
| | |
| | <code> |
| | <Files xmlrpc.php> |
| | Satisfy any |
| | Order allow,deny |
| | Deny from all |
| | </Files> |
| | </code> |
| | |
| | Если вы используете [[https://apps.wordpress.com/mobile/|мобильное приложение Wordpress]], то для его работы дополнительно нужно добавить строку ''Allow from Ваш-IP''. |
| | |
| | Если используется Jetpack, то htaccess будет таким |
| | |
| | <code> |
| | <Files xmlrpc.php> |
| | Order Deny,Allow |
| | Deny from all |
| | Allow from 192.0.64.0/18 |
| | Satisfy All |
| | ErrorDocument 403 http://127.0.0.1/ |
| | </Files> |
| | </code> |
| | |
| | ===== Отключение xmlrpc в nginx ===== |
| | |
| | <code> |
| | location /xmlrpc.php { |
| | deny all; |
| | allow Ваш-IP; |
| | } |
| | </code> |
| | |
| | ===== Отключение xmlrpc через плагин ===== |
| | |
| | Плагины для отключения XML-RPC можно найти на сайте Wordpress [[https://ru.wordpress.org/plugins/tags/xmlrpc/|по тегу xmlrpc]]. |
| | |
| | * [[https://wordpress.org/plugins/disable-xml-rpc-pingback/|Disable XML-RPC Pingback]] |
| | * [[https://wordpress.org/plugins/disable-xml-rpc/|Disable XML-RPC]] |
| | |
| | {{tag>wordpress xml-rpc linux}} |