Где-то с четырех часов дня этой субботы кто-то неугомонный (вернее – известно кто, с IP 81.17.31.70 и 5.144.173.70) начал фигачить мой сайт через его же скрипт xmlrpc.php. Кто не знает – этот файлик отвечает за связь со сторонними сайтами (в случае, если надо пингбэк дать/принять), за удаленную публикацию сообщений, ну и естественно – за работу мобильного вордпрессовского приложения.
Поэтому, наделенные исключительным ЧСВ создатели вордпресса – начиная с версии 3.5 сделали эту фишку всегда включенной, и более того – стандартными способами вордпресса неотключаемой. А то как-же – надо ведь идти в ногу со временем (и фигня, что через мобильное приложение можно только пару абзацев нормально написать).
Я уже давно стараюсь относиться спокойно к все более и более возрастающему накалу идиотии создателей вордпреса – тем более те полезные функции, которые они вырезают – впоследствии воспроизводятся обычными пользователями в виде плагинов, и надо признать – реализуются в гораздо лучшем виде, нежели они были изначально, см. пример.
Но когда это касается не дизайна/функционала, а безопасности – это начинает подбешивать. Поскольку через xmlrpc.php можно совершенно спокойно как подбирать пароли (ага, а вы как думали, мобильное приложение коннектится?), так и осуществлять атаку на сайт, связанную с резким возрастанием потребляемых сайтом ресурсов, вплоть до Ошибка 508 Resource Limit Is Reached.
Что, собственно, с моим сайтом сегодня и произошло. Вернее, ошибка доступа периодически всплывала с момента начала атаки в субботу, но поскольку до поры-до времени носила она достаточно локальный характер, и лечилась простой перезагрузкой страницы в браузере – внимания я на нее особо не обращал. Но сегодня хамство достигло уже невиданных пределов, и потому, после того как сайт превысил выделенные ему ресурсы более, чем на 5 минут – через CPanel оба вышеуказанных АйПишника были отправлены в бан, а еще 5 минут спустя в .htaccess был прописан абзац следующего содержания:
1 2 3 4 5 |
# Защита xmlrpc <Files xmlrpc.php> Order Deny,Allow Deny from all </Files> |
Что сразу сделало его (xmlrpc) недоступным и для всех остальных IP. Ибо нефиг.
Делать это не плагинами, а через .htaccess лучше из-за того, что происходит блокировка и выдача 403-ей ошибки на уровне сервера, еще до подгрузки сайта. А так как это не ddos (атака ведется не с тысячи разных компьютеров, забивая весь канал, а с максимум десятка) – то существующих у сервера ресурсов хватает выше крыши.
Кстати, проверить доступность (и, соответственно – возможность атаки) xmlrpc.php можно через специальный WordPress XML-RPC Validation Service.
Если выдаст, что доступен – ну что-ж – значит рано или поздно, но к вам придут 🙂
Ну, а если вы не пользуетесь мобильным приложением для WordPress, и заблокировали доступ через xml-rpc, то должна вылезти примерно такая картинка:
У меня теперь – тишь, да гладь, да божья благодать. На сервер с 81.17.31.70 идет по 200 запросов в минуту, а у него (сервера) всего 10% загрузка по ресурсам – что соответствует тем реальным пользователям, что на нем и есть.
Красотень.
Добавить комментарий