Бяспека

WordPress XML-RPC закрыццё: Як абараніць сайт ад brute force і бот-атак хутка і надзейна

  • 11 хвілін на чытанне
  • Каманда Hostragons
WordPress XML-RPC закрыццё: Як абараніць сайт ад brute force і бот-атак хутка і надзейна

WordPress XML-RPC закрыццё — гэта просты і надзейны спосаб зменшыць рызыку brute force нападаў, злоўжывання pingback і непатрэбнага бот-трафіку, заблакіраваўшы xmlrpc.php файл для аддаленых запытаў. Калі вы не карыстаецеся Jetpack, мабільным дадаткам WordPress, старымі інструментамі для аддаленай публікацыі або спецыяльнай інтэграцыяй, што патрабуе XML-RPC, закрыццё гэтага протакола — бяспечны і практычны крок для большасці WordPress-сайтаў. Найбольш эфектыўна рабіць гэта на ўзроўні сервера: заблакіраваць xmlrpc.php праз Apache, LiteSpeed, Nginx або WAF-правілы — гэта звычайна больш хутка і надзейна, чым праз плагін.

У гэтым гайдзе вы даведаецеся, чаму варта закрываць XML-RPC у WordPress, калі гэтага рабіць не трэба і як зрабіць гэта бяспечна ў розных хостынг-асяроддзях. Не мае значэння, працуеце вы на Hostragons або іншым хостынгу — галоўная задача: абараніць сайт без рызыкі зламаць яго, мінімізаваць расход рэсурсаў і стварыць кіраваны стандарт бяспекі. Калі вы шукаеце хуткі і бяспечны фундамент для WordPress-сайта, выбар хостынг WordPress таксама важны для агульнай абароны.

Што такое XML-RPC і навошта ён патрэбны ў WordPress?

XML-RPC — гэта стары протакол, які дазваляе розным сістэмам абменьвацца дадзенымі па HTTP у фармаце XML. У WordPress гэта функцыя працуе праз файл xmlrpc.php у каранёвым каталозе. Гістарычна xmlrpc.php выкарыстоўваўся для публікацыі запісаў з мабільнага дадатку, аддаленага кіравання каментарыямі, pingback і інтэграцый з іншымі сэрвісамі.

Сёння, калі REST API стаў стандартам, XML-RPC страціў сваю папулярнасць, але файл часта даступны на большасці ўстаноўак. Для зламыснікаў гэта зручны, прадказальны і лёгка аўтаматызуемы пункт атакі: боты скануюць IP-адрасы і нават новы дамен будзе прасканаваны на xmlrpc.php ў лічаныя хвіліны. Таму пры запуску новага сайта і праверка дамена варта адразу закладваць асновы бяспекі.

Калі XML-RPC можа быць патрэбны?

XML-RPC не патрэбны кожнаму сайту. Некаторыя функцыі Jetpack, мабільны WordPress, аўтаматызацыя або старыя блог-рэдактары могуць патрабаваць XML-RPC. Спецыяльныя інтэграцыі для кантэнта ці даных таксама могуць выкарыстоўваць xmlrpc.php. Таму перад закрыццём праверце ваш workflow.

Практычна: калі вы ўводзіце кантэнт толькі праз wp-admin, няма Jetpack, не публікуеце з мабільнага і ваш распрацоўшчык не наладжваў XML-RPC інтэграцыю — вам, хутчэй за ўсё, не трэба XML-RPC. Карпаратыўныя сайты, блогі, каталогі, малыя бізнесы і большасць WooCommerce крамаў працуюць без праблем, калі XML-RPC закрыты. Але калі ў вас аплатныя інтэграцыі ці адпраўка, лепш правесці змены ў неактыўны час і пратэставаць.

Чаму XML-RPC — рызыка для brute force?

Brute force — гэта калі зламыснік аўтаматычна падбірае спалучэнні лагіна і пароля. Звычайна гэта робіцца праз wp-login.php, але XML-RPC дазваляе рабіць некалькі спроб у адным HTTP-запыце. system.multicall дазваляе на дрэнна наладжаных сайтах сотні спроб за раз з мінімальнай бачнасцю.

Напрыклад, праз wp-login.php 500 спроб — 500 запытаў, а праз XML-RPC — некалькі запытаў. Гэта можа адкласці выяўленне атакі бяспечнымі плагінамі, павялічыць нагрузку на CPU, заняць PHP worker’ы, перагрузіць базу дадзеных і замарудзіць сайт для рэальных наведвальнікаў. У shared-хостынгу гэта не толькі пытанне бяспекі, але і прадукцыйнасці.

Яшчэ адна рызыка — pingback abuse. Pingback был створаны, каб паведаміць, што іншы сайт спаслаўся на ваш кантэнт, але яго можна выкарыстоўваць для DDoS або накіравання атак на іншыя сайты. Таму закрыццё XML-RPC зніжае не толькі brute force, але і пагрозы pingback.

Рашэнне: хуткая параўнальная табліца закрыцця XML-RPC

Рашэнне: хуткая параўнальная табліца закрыцця XML-RPC
МетадЭфектПрадукцыйнасцьДля каго?Асцярожнасць
Блакіроўка на серверыВельмі высокаяНайлепшаяApache, LiteSpeed, NginxПамылковая правіла можа паўплываць на сайт, абавязкова захоўваць бэкап
WAF або firewallВысокаяВельмі добраяCloudflare, серверны WAF, хостынг з firewallПравіла павінна блакіраваць толькі xmlrpc.php
ПлагінСярэдняяСярэдняяПачаткоўцыЗапыт можа дасягнуць WordPress, рэсурсы не цалкам абараняюцца
Код-фільтрСярэдняяСярэдняяТэмы пад кантролем распрацоўшчыкаКод лепш размясціць у child theme або спецыяльным плагіне
Rate limitСярэдняяДобраяСайты, што часткова патрабуюць XML-RPCНе так надзейна, як поўнае закрыццё; важна правільна наладзіць

Як відаць з табліцы, калі XML-RPC не патрэбны — закрыццё на серверы або праз WAF найбольш эфектыўнае. Плагін просты, але запыт можа дасягнуць PHP, і нагрузка застанецца. Для сайтаў з высокім трафікам і e-commerce прыярытэт — серверныя правілы.

Перад пачаткам: кантрольны спіс

Базавая прынцып: спачатку вымераць, потым дзейнічаць. XML-RPC закрыццё звычайна бяспечнае, але ніколі не мяняйце сайт без бэкапу. Гэты спіс дапаможа паменшыць памылкі:

  • Майце свежы бэкап файлаў і базы дадзеных за апошнія 24 гадзіны. Абавязкова перад абнаўленнем, наладкамі і зменамі плагінаў.
  • Праверце, ці карыстаецеся Jetpack, мабільным дадаткам WordPress, аддаленай публікацыяй або спецыяльнай інтэграцыяй.
  • Паглядзіце ў логах, колькі xmlrpc.php-запытаў. Калі дзясяткі ці сотні ў хвіліну — магчыма, атака.
  • Уносіце змены ў час мінімальнага трафіку, асабліва для WooCommerce: пасля праверце кошык, аплату, ўваход.
  • Майце план адкату: магчымасць каментаваць або выдаляць правілы праз файлменеджэр, FTP або SSH.

Прафесійны хостынг з рэгулярнымі бэкапамі, апошняй версіяй PHP, ізаляцыяй акаўнтаў і firewall — вялікая перавага. Для выбару інфраструктуры глядзіце Бяспечны вэб-хостынг, а для агульнай бяспекі сайта — Сертыфікат SSL.

Метад 1: .htaccess на Apache/LiteSpeed для закрыцця XML-RPC

На Apache і LiteSpeed найпапулярнейшы спосаб — дадаць правіла ў .htaccess у каранёвым каталозе сайта, каб блакіраваць xmlrpc.php. LiteSpeed падтрымлівае .htaccess, таму гэта працуе ў большасці хостынгаў. Галоўная перавага — запыт блакіруецца да запуску WordPress.

Крок за крокам

  • Адкрыйце file manager у панэлі хостынгу або падключыцеся па FTP да public_html.
  • Знайдзіце .htaccess і зрабіце бэкап. Калі не бачыце файл, уключыце адлюстраванне схаваных файлаў.
  • Без выдалення правіл WordPress дадайце ў пачатак файла правіла для XML-RPC.
  • Лагіка: усе запыты да xmlrpc.php павінны быць заблакіраваны.
  • Захавайце файл, зайдзіце ў браўзеры на ваш-дамен/xmlrpc.php.

Для Apache 2.4 і LiteSpeed: выкарыстоўвайце Require all denied для xmlrpc.php. Для старых Apache 2.2 — Deny from all; але ў 2026 годзе лепш абнавіць сервер. Састарэлы Apache — не толькі для XML-RPC, але і для агульнай бяспекі праблема.

Пры паспяховай блакіроўцы xmlrpc.php верне 403 Forbidden, 404 Not Found або падобную памылку. Галоўнае — не павінна быць паведамлення XML-RPC server accepts POST requests. Калі яно ёсць — файл яшчэ даступны.

Метад 2: закрыццё XML-RPC на Nginx

.htaccess не працуе на Nginx, таму правіла трэба дадаваць у server block. У кіраваных хостынгах гэты доступ можа быць абмежаваны, таму папрасіце падтрымку заблакіраваць xmlrpc.php.

Сутнасць: location = /xmlrpc.php блокуе запыт або вяртае 404. 403 — адкрыта забараняе, 404 — маскіруе, што файл адсутнічае. 404 дае менш інфармацыі ботам. Пасля дадання правіла праверце і перазагрузіце Nginx. Памылка ў канфігурацыі можа спыніць сайт, таму працуйце асцярожна.

На VPS або dedicated-серверах пасля закрыцця варта праглядзець логи: xmlrpc.php павінен вяртаць 403 або 404. Калі з адных IP працягваюцца спробы — дадайце fail2ban, rate limit або WAF. Для больш падрабязных гайдаў глядзіце Бяспека сервера VPS.

Метад 3: закрыццё XML-RPC праз бяспечны плагін

Для тых, хто не жадае змяняць файлы, бяспечныя плагіны — просты варыянт. Wordfence, Solid Security, All-In-One Security і падобныя дазваляюць адключаць XML-RPC, pingback, або блакіраваць уваход праз XML-RPC. Для малых блогаў і простых карпаратыўных сайтаў — хуткі старт.

Але памятайце: калі плагін блакіруе запыт толькі пасля запуску WordPress, атака можа нагрузіць CPU і RAM. Таму плагін лепш, чым нічога, але для сайт з нападамі патрэбны серверныя або WAF-правілы.

На што звярнуць увагу пры выкарыстанні плагіна

  • Сцягвайце плагін толькі з афіцыйнага каталога WordPress або сайта вытворцы.
  • Не выбірайце плагіны, што не абнаўляліся даўно. У 2026 годзе актуальнасць і падтрымка — паказчык бяспекі.
  • Не выкарыстоўвайце некалькі плагінаў для адной задачы — могуць узнікаць канфлікты і праблемы з доступам.
  • Пасля наладкі XML-RPC пратэстуйце здароўе сайта, формы, уваход і аплату.
  • Регулярна аналізуйце логи плагіна. Калі атакі працягваюцца — дадайце IP-блакіроўку або WAF.

Метад 4: закрыццё праз WAF, CDN і firewall хостынгу

WAF — Web Application Firewall — найбольш эфектыўны для фільтрацыі шкодных запытаў да запуску WordPress. CDN, напрыклад Cloudflare, таксама можа блакіраваць xmlrpc.php. Firewall хостынгу (ModSecurity, WAF-правілы) працуе падобна. Гэты слой асабліва важны для барацьбы з масавымі бот-атакамі.

Правіла ў WAF: калі URI ўключае xmlrpc.php — блакіруй або выдавай challenge. Калі XML-RPC не патрэбны — поўны блок. Калі патрэбны — дазволіць толькі для пэўных IP. Напрыклад, аўтаматызацыя з фіксаванага IP — дадаць у whitelist, астатняе заблакіраваць. Гэта баланс паміж бяспекай і працоўнымі патрэбамі.

WAF лепш выкарыстоўваць разам з SSL — без HTTPS ўваходныя дадзеныя рызыкуюць. Таму закрыццё XML-RPC варта дапаўняць поўным пераходам на HTTPS, HSTS і рэгулярнай праверкай сертыфіката. Адпаведныя матэрыялы: Сертыфікат SSL, Усталёўка бясплатнага SSL.

Як праверыць закрыццё XML-RPC?

Правільная праверка — не толькі адкрыць сайт. Варта пераканацца, што XML-RPC закрыты, уваход працуе, карыстальнікі не страцілі функцыі, у логах — чаканыя вынікі. Вось практычны workflow:

  • У браўзеры перайдзіце на ваш-дамен/xmlrpc.php. Павінен быць 403, 404 або пусты адказ. Не павінна быць “XML-RPC server accepts POST requests”.
  • Увайдзіце ў WordPress-адмін з звычайным логінам — пераканайцеся, што ўваход незалежны ад XML-RPC.
  • Пратэстуйце формы кантакту, каментары, рэгістрацыю і аплату WooCommerce.
  • Паглядзіце ў серверных логах, як xmlrpc.php адказвае: 403 або 404 — правільна.
  • Калі ёсць плагін бяспекі — праглядзіце яго логи: колькасць спроб XML-RPC павінна зменшыцца.

Тэхнічна можна адправіць POST-запыт праз тэрмінал, але для большасці ўладальнікаў сайтаў хопіць праверкі ў браўзеры і логах. Калі пасля змены Jetpack не працуе, мабільны дадатак не публікуе або інтэграцыя выдае памылку — XML-RPC патрэбны. У такім выпадку варта разгледзець IP whitelist або rate limit.

Ці дастаткова закрыць XML-RPC? Дадатковыя меры бяспекі

XML-RPC закрыццё — хуткі і эфектыўны крок супраць brute force, але гэтага недастаткова для поўнай абароны. Зламыснік можа атакаваць праз wp-login.php, REST API, слабыя плагіны, старыя тэмы або злітыя паролі. Таму варта думаць пра бяспеку комплексна.

Базавыя меры абароны

  • Выкарыстоўвайце моцныя паролі і унікальны лагін. admin — лёгкая мішэнь.
  • Падключайце двухфактарную аўтэнтыфікацыю (2FA) для адміністратараў.
  • Абмежуйце колькасць спроб ўваходу (rate limit) для wp-login.php або праз плагін бяспекі.
  • Абнаўляйце WordPress, плагіны і тэмы. Старыя плагіны — часта крыніца парушэнняў.
  • Выдаляйце неактыўныя плагіны і тэмы. Яны таксама могуць быць рызыкай.
  • Правярайце дазволы файлаў: мінімізуйце unnecessary write-права.
  • Рэгулярна рабіце бэкапы і тэстуйце аднаўленне.
  • Выбірайце надзейны хостынг: ізаляцыя, сучасны PHP, WAF, бэкапы.

Напрыклад, калі вы толькі закрыеце XML-RPC, але пакінеце пароль admin123456 — сайт застанецца ўразлівым. А калі дадаткова выкарыстаць моцны пароль, 2FA, абнаўленні, WAF і бяспечны хостынг — большая частка атак будзе неэфектыўная. Гэта важна і для SEO: сайты з дрэннай бяспекай могуць страціць бачнасць, атрымаць спам і быць выдалены з пошуку.

Як закрыццё XML-RPC уплывае на прадукцыйнасць і SEO?

XML-RPC-атаки не з’яўляюцца непасрэдным SEO-фактарам, але іх наступствы могуць уплываць на ранжыраванне. Калі бот-трафік з’ядае рэсурсы — павялічваецца час адказу, пагаршаюцца Core Web Vitals і карыстальніцкі досвед. Сайты з пастаяннымі нагрузкамі могуць выдаваць 500 памылак, таймауты і стаць менш даступнымі для Googlebot.

Напрыклад: ваш сайт загружаецца за 300 ms, але xmlrpc.php атрымлівае 1000 запытаў у хвіліну — PHP worker’ы перагружаныя, адказ павялічваецца да 2 сек. Карыстальнікі бачаць павольны сайт, падае канверсія, у Search Console — праблемы з crawl. Сервернае закрыццё XML-RPC знімае нагрузку да запуску WordPress і стабілізуе прадукцыйнасць.

SEO залежыць ад бяспекі і хуткасці. HTTPS, сучасны PHP, SSD, кэшаванне, чыстая тэма і мінімізацыя пункту атак — усё важна. Таму WordPress-бяспека — задача не толькі адміністратараў, але і SEO-каманд. У Hostragons блогу дадатковыя матэрыялы: Аптымізацыя хуткасці WordPress, Список кантролю тэхнічнай SEO.

Што рабіць, калі XML-RPC закрыць нельга? Альтэрнатыўныя стратэгіі

У некаторых праектах поўнае закрыццё XML-RPC немагчыма — напрыклад, мабільная публікацыя, карпаратыўная аўтаматызацыя або старая інтэграцыя. У такім выпадку варта не трымаць “адчыненыя дзверы”, а кантраляваць доступ:

Першы варыянт: IP whitelist — дазвол толькі для пэўных сервісных IP, астатняе блакіруецца.

Другі: rate limit — забарона на шмат запытаў з аднаго IP за кароткі час. Гэта не поўная блакіроўка, але памяншае маштаб атак.

Трэці: адключэнне pingback-функцый і дазвол толькі неабходных метадаў (патрэбна распрацоўшчык).

Чацвёрты: дадатковая аўтэнтыфікацыя — HTTP basic auth, VPN, IP-абмежаванне або challenge у WAF. Гэта памяншае рызыку адкрытых endpoints. Але ў перспектыве лепш перавесці інтэграцыі на REST API.

Практычная дарожная карта для карыстальнікаў Hostragons

Калі вы хостынгуеце WordPress на Hostragons, пачніце з аналізу патрэбнасці XML-RPC, выберыце самы просты спосаб для вас. На shared-hosting або WordPress hosting у большасці выпадкаў дастаткова .htaccess. На VPS або спецыяльным серверы — камбінацыя Nginx, Apache, LiteSpeed і WAF.

Парадак: спачатку бэкап, потым праверка інтэграцый, затым блакіроўка на серверы, тэсціраванне і аналіз логав на працягу сутак. Калі атакі працягваюцца — дадаткова WAF, IP-блакіроўка і rate limit для ўваходу. На апошнім этапе — 2FA, абнаўленні, бэкапы і SSL.

Гэта не продаж, а гігіенічны крок. Але калі інфраструктура састарэлая, няма firewall або пастаянныя праблемы — варта разгледзець новы хостынг. Асяроддзе, аптымізаванае для WordPress і з абаронай — лепшая прадукцыйнасць і стойкасць. Для гэтага чытайце хостынг WordPress, аблачны сервер, Сертыфікат SSL.

Частыя пытанні

Ці можа закрыццё XML-RPC зламаць мой сайт?

На большасці WordPress-сайтаў закрыццё XML-RPC не ўплывае на працу. Панэль кіравання, тэма, кантэнт, формы і карыстацкая частка, як правіла, не церпяць. Але Jetpack, мабільны WordPress або спецыяльныя інтэграцыі могуць страціць сувязь. Таму праверце патрэбнасць перад закрыццём і тэстуйце функцыі пасля.

Як даведацца, ці закрыты XML-RPC?

Адкрыйце ваш-дамен/xmlrpc.php у браўзеры. Калі бачыце “XML-RPC server accepts POST requests” — файл даступны. 403, 404 або забарона — правіла працуе. Для больш дакладнай праверкі праглядзіце серверныя логи.

Ці закрыццё XML-RPC цалкам спыняе brute force?

Гэта амаль цалкам спыняе brute force праз XML-RPC, але не праз wp-login.php. Таму, акрамя закрыцця, трэба выкарыстоўваць моцны пароль, 2FA, абмежаванне спроб ўваходу, WAF і абнаўляць плагіны.

Што рабіць, калі карыстаюся Jetpack?

Некаторыя функцыі Jetpack патрабуюць XML-RPC. Калі Jetpack вам патрэбны, праверце, якія модулі выкарыстоўваюцца. Альтэрнатыва — whitelist IP Jetpack або наладжванне кантраляванага доступу праз WAF.

Што лепш: закрыццё праз плагін ці сервер?

Найлепшая прадукцыйнасць і бяспека — закрыццё на серверы або праз WAF: запыт не даходзіць да WordPress і PHP. Плагін просты для пачаткоўцаў, але пры масавых атаках не цалкам абараняе рэсурсы. Калі магчыма — серверныя правілы, калі не — надзейны плагін і WAF.

Кароткае рэзюме і наступны крок

WordPress XML-RPC закрыццё — адзін з самых хуткіх спосабаў абараніць сайт ад brute force, pingback-атакаў і бот-трафіку, калі XML-RPC не патрэбны. Самы надзейны падыход — блакіраваць xmlrpc.php на серверы або праз WAF, затым дадаць двухфактарную абарону, абнаўленні, SSL і бэкапы для комплекснай бяспекі. Калі хочаце ацаніць інфраструктуру — паглядзіце WordPress-хостынг і бяспечныя рашэнні Hostragons, а для вашага сайта скарыстайцеся кантрольным спісам і пачніце першыя крокі ўжо сёння.

Падзяліцеся гэтым артыкулам:

Каманда Hostragons

Актуальныя кіраўніцтва ад нашай каманды экспертаў па хостынгу, серверах і даменных імёнах. Давайце разам знойдзем правільнае рашэнне для вашага праекта.

Звяжыцеся з намі