Как да защитите своя WordPress Сайт с правила за защитна стена на Cloudflare

Написано от

Ако сте уеб администратор, управляващ блог или уебсайт на WordPress, вероятно уеб сигурността е един от най-важните ви приоритети. Докато вашият домейн е активиран за Cloudflare, можете добавете WordPress-специфични правила за защитна стена на Cloudflare за да подобрите сигурността на вашия сайт и дори да предотвратите атаки много преди да стигнат до вашия сървър.

Ако използвате безплатния план на Cloudflare, имате възможността да добавите 5 правила (професионалният план ви дава 20). 

Cloudflare прави лесно и бързо създаването на правила за защитна стена и всяко правило предлага страхотна гъвкавост: не само можете да направите много с всяко правило, но правилата често могат да бъдат консолидирани, освобождавайки място, за да правите още повече.

правила на защитната стена на cloudflare

В тази статия ще разгледам задълбочено някои от различните правила на защитната стена, които можете да приложите, за да допълните и подобрите вашата WordPress съществуващите функции за сигурност на сайта.

Резюме: Как да защитите своя WordPress уебсайт с Cloudflare Firewall

  • Защитната стена за уеб приложения (WAF) на Cloudflare е софтуерен инструмент, който ви позволява да защитите вашите WordPress уебсайта. 
  • Правилата на защитната стена на Cloudflare ви позволяват заявки за черен или бял списък според гъвкавите критерии, които задавате. 
  • Да се създайте херметична защита за вашия WordPress уебсайт, с Cloudflare можете да: поставите в белия списък собствения си IP адрес, да защитите административната си зона, да блокирате посетители по регион или държава, да блокирате злонамерени ботове и груби атаки, да блокирате XML-RPC атаки и да предотвратявате спам в коментари.

Поставете вашия собствен IP адрес в белия списък

За да избегнете проблеми по пътя, поставянето на IP адреса на собствения ви уебсайт в бял списък трябва да бъде първата задача в списъка ви преди активирате всички правила на защитната стена.

Защо и как да поставите вашия IP адрес в бял списък в Cloudflare

Това е основно защото може да се окажете заключени от собствения си уебсайт, ако решите да блокирате своя WordPress административна зона от други.

За да поставите IP адреса на уебсайта си в белия списък, отидете в секцията Сигурност на таблото за управление на Cloudflare и изберете „WAF“. След това щракнете върху „Инструменти“ и въведете своя IP адрес в полето „Правила за IP достъп“ и изберете „бял ​​списък“ от падащото меню.

собствен IP адрес в белия списък на cloudflare

За да намерите вашия IP адрес, можете да направите a Google потърсете „какъв е моят IP“ и ще върне вашия IPv4 адрес, а ако имате нужда от вашия IPv6, можете да отидете на https://www.whatismyip.com/

Не забравяйте, че ако вашият IP адрес се промени, ще трябва да въведете отново/в белия списък новия си IP адрес, за да избегнете изключване от вашата администраторска зона.

В допълнение към белия списък на точния IP адрес на вашия сайт, можете също така да изберете да поставите целия си IP диапазон в белия списък.

Ако имате динамичен IP адрес (т.е. IP адрес, който е настроен да се променя непрекъснато леко), тогава това определено е по-добрият избор за вас, тъй като постоянното повторно въвеждане и белите списъци на нови IP адреси би било голяма болка.

Можете също така да в белия списък на цялата ви страна. 

Това определено е най-малко сигурната опция, тъй като потенциално оставя вашата администраторска област отворена за атаки, идващи от вашата страна.

Въпреки това, ако пътувате много по работа и често установявате, че имате достъп до своя WordPress сайт от различни Wi-Fi връзки, поставянето на вашата държава в белия списък може да е най-удобната опция за вас.

Имайте предвид, че всеки IP адрес или държава, които сте включили в белия списък, ще бъдат освободени от всички други правила на защитната стена и по този начин не е нужно да се притеснявате за задаването на отделни изключения с всяко правило.

Защитете WordPress Табло (WP-Admin Area)

Сега, след като поставихте своя IP адрес и/или държава в белия списък, време е за да заключите плътно вашето табло за управление на wp-admin, така че само вие да имате достъп до него.

Защо и как да защитим WordPress Табло за управление в Cloudflare

От само себе си се разбира, че не искате неизвестни външни лица да имат достъп до вашата администраторска област и да правят промени без ваше знание или разрешение.

Като такъв, ще трябва да създадете правило за защитна стена, което предотвратява външен достъп до таблото ви за управление.

Въпреки това, преди заключвате своя WordPress табло, ще трябва да направите две важни изключения.

  1. /wp-admin/admin-ajax.php. Тази команда позволява на вашия уебсайт да показва динамично съдържание и следователно трябва да бъде достъпен отвън от определени добавки, за да функционира. Като такава, въпреки че се съхранява в папката /wp-admin/, тя трябва да бъде достъпна отвън, ако не искате уебсайтът ви да показва съобщения за грешка на посетителите.
  2. /wp-admin/theme-editor.php. Тази команда позволява WordPress за да стартирате проверка за грешки всеки път, когато промените или редактирате темата на вашия сайт. Ако пропуснете да добавите това като изключение, промените ви няма да бъдат запазени и ще получите съобщение за грешка, което гласи „Не може да се осъществи обратна връзка със сайта, за да се провери за фатални грешки“.

За да създадете правило за защитна стена, първо отидете на Сигурност > WAF в таблото за управление на Cloudflare, след което щракнете върху бутона „Създаване на правило за защитна стена“.

cloudflare protect wp-admin табло за управление

За да добавите тези изключения, когато защитавате вашата област на таблото за управление на wp-admin, ще трябва да създадете това правило:

  • Поле: URI път
  • Оператор: съдържа
  • Стойност: /wp-admin/

[И]

  • Поле: URI път
  • Оператор: не съдържа
  • Стойност: /wp-admin/admin-ajax.php

[И]

  • Поле: URI път
  • Оператор: не съдържа
  • Стойност: /wp-admin/theme-editor.php

[Действие: Блокиране]

Когато сте готови, кликнете върху „Разгръщане“ за да зададете правилото на вашата защитна стена.

Като алтернатива можете да щракнете върху „Редактиране на израз“ и да поставите следното в:

(http.request.uri.path contains "/wp-admin/" and not http.request.uri.path contains "/wp-admin/admin-ajax.php" and not http.request.uri.path contains "/wp-admin/theme-editor.php")

Блокиране на държави/континенти

Точно както можете да поставите държава в белия списък за достъп до вашето администраторско табло.

Можете също така да задайте правило на защитната стена, за да поставите в черен списък държави и дори цели континенти, за да не преглеждате или осъществявате достъп до вашия сайт.

Защо и как да блокирате държави/континенти в Cloudflare

Защо може да искате да блокирате достъпа на цяла държава или континент до вашия сайт?

Е, ако вашият уебсайт обслужва определена държава или географски регион и не е глобално приложим, тогава блокирането на достъп от неподходящи държави и/или континенти е лесен начин за ограничаване на риска от атаки на злонамерен софтуер и злонамерен трафик, идващ от чужбина, без изобщо да блокирате достъпа до легитимната целева аудитория на вашия уебсайт.

За да създадете това правило, ще трябва отново да отворите таблото за управление на Cloudflare и да отидете на Защита > WAF > Създаване на правило за защитна стена.

За да промените настройките, за да разрешите само определени държави, въведете следното:

  • Поле: Държава или Континент
  • Оператор: Вътре е
  • Стойност: Изберете държавите или континентите, които искате бял списък

(Забележка: ако искате да разрешите трафик само от една държава, можете да въведете „equals“ като оператор.)

Ако решите вместо това да блокирате определени държави или континенти, въведете следното:

  • Поле: Държава или Континент
  • Оператор: „Не е в“
  • Стойност: Изберете държавите или континентите, които искате блок

Забележка: това правило може да има обратен ефект, ако имате нужда от техническа поддръжка и екипът за поддръжка на вашия уеб хост се намира в държава или континент, които сте блокирали.

Това вероятно няма да е проблем за повечето хора, но е нещо, което трябва да знаете.

Ето пример как да откажете достъп до вашия сайт от определена държава, където потребителите от тази държава се показват a JavaScript предизвикателство преди да се опитате да получите достъп до вашия сайт.

страна в черния списък на cloudflare

Блокирайте злонамерени ботове

Въз основа на техния потребителски агент, Cloudflare ви позволява да блокирате достъпа до злонамерени ботове, опитващи се да проникнат във вашия сайт.

Ако вече използвате 7G, тогава не е нужно да се притеснявате за настройката на това правило: 7G WAF блокира заплахи на ниво сървър, като се позовава на изчерпателен списък със злонамерени ботове.

Ако обаче не използвате 7G, ще искате да конфигурирате правило на защитната стена, което идентифицира и блокира лоши ботове, преди да могат да причинят щети.

Защо и как да блокирате лоши ботове в Cloudflare

Както обикновено, първо отидете на таблото за управление на Cloudflare и отидете на Защита > WAF > Създаване на правило за защитна стена.

cloudflare блокира лоши ботове

След това задайте израза на правилото на защитната стена като такъв:

  • Поле: Потребителски агент
  • Оператор: „Равно е“ или „Съдържа“
  • Стойност: името на лошия бот или злонамерен агент, който искате да блокирате

Точно както при блокиращите държави, ботовете могат да бъдат блокирани индивидуално по име. За да блокирате повече от един бот едновременно, използвайте опцията „ИЛИ“ вдясно, за да добавите допълнителни ботове към списъка.

След това кликнете върху „Разгръщане“ бутон, когато приключите.

Въпреки това ръчното блокиране на лоши ботове стана излишно, тъй като Cloudflare стартира „Режим на борба с ботове“ за всички безплатни потребители.

режим на борба с ботове

и „Режим Super Bot Figth“ за потребители на Pro или Business plan.

супер режим на борба с ботове

Това означава, че лошите ботове вече се блокират автоматично за всички типове потребители на Cloudflare.

Блокиране на груби атаки (wp-login.php)

Атаките с груба сила, известни още като wp-login атаки, са най-често срещаните атаки, насочени към WordPress сайтове. 

Всъщност, ако погледнете регистрационните файлове на вашия сървър, вероятно ще намерите доказателства за такива атаки под формата на IP адреси от различни места по света, които се опитват да получат достъп до вашия файл wp-login.php.

За щастие, Cloudflare ви позволява да зададете правило на защитната стена за успешно блокиране на груби атаки.

Защо и как да защитите wp-login.php в Cloudflare

Въпреки че повечето груби атаки са автоматизирани сканирания, които не са достатъчно мощни, за да преминат WordPressзащитите, все пак е добра идея да зададете правило, за да ги блокирате и да успокоите ума си.

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

блокиране на wp-login.php

За да създадете това правило, върнете се към  Защита > WAF > Създаване на правило за защитна стена.

След като сте избрали име за това правило, въведете следното:

  • Поле: URI път
  • Оператор: съдържа
  • Стойност: /wp-login.php

[Действие: Блокиране]

Като алтернатива можете да щракнете върху „Редактиране на израз“ и да поставите следното в:

(http.request.uri.path contains "/wp-login.php")

След като разгърнете правилото, Cloudflare ще започне да блокира всички опити за достъп до wp-login, които идват от източник, различен от вашия IP адрес в белия списък.

Като допълнителен бонус, можете да проверите дали тази защита работи, като погледнете в раздела Събития на защитната стена на Cloudflare, където трябва да можете да видите запис на всички опити за атаки с груба сила.

Блокиране на XML-RPC атаки (xmlrpc.php)

Друг малко по-рядко срещан (но все пак опасен) тип атака е an XML-RPC атака.

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

Защо и как да блокирате XML-RPC в Cloudflare

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

блокира XML-RPC

За да блокирате груби атаки, насочени към XML-RPC процедури, първо отидете на Защита > WAF > Създаване на правило за защитна стена.

След това създайте следното правило:

  • Поле: URI път
  • Оператор: съдържа
  • Стойност: /xmlrpc.php

[Действие: Блокиране]

Като алтернатива можете да щракнете върху „Редактиране на израз“ и да поставите следното в:

(http.request.uri.path contains "/xmlrpc.php")

И точно така, само с няколко лесни стъпки, вие сте защитили своя WordPress сайт от два от най-често срещаните видове атаки с груба сила.

Предотвратяване на спам в коментарите (wp-comments-post.php)

Ако сте уебмастър, спамът във вашия сайт е само един от досадните факти в живота.

За щастие, Cloudflare Firewall предлага няколко правила, които можете да разположите, за да блокирате много често срещани видове спам, включително спам в коментарите.

Защо и как да блокирате wp-comments-post.php в Cloudflare

Ако спамът от коментари се е превърнал в проблем на вашия сайт (или още по-добре, ако искате проактивно да предотвратите това да се превърне в проблем), можете да ограничите wp-comments-post.php, за да ограничите трафика на ботове.

Това се прави на ниво DNS с Cloudflare JS предизвикателство, а начинът, по който работи, е относително прост: спам коментарите са автоматизирани и автоматизираните източници не могат да обработват JS.

След това те се провалят на JS предизвикателството и готово – спамът се блокира на ниво DNS и заявката дори не достига до вашия сървър.

cloudflare блок wp-comments.php

И така, как създавате това правило?

Както обикновено, отидете на страницата Сигурност > WAF и изберете „Създаване на правило за защитна стена“.

Уверете се, че сте дали на това правило разпознаваемо име, като например „Спам в коментари“.

След това задайте следното:

  • Поле: URI
  • Оператор: Равно
  • Стойност: wp-comments-post.php

[И]

  • Поле: Метод на заявка
  • Оператор: Равно
  • Стойност: POST

[И]

  • Поле: Референт
  • Оператор: не съдържа
  • Стойност: [yourdomain.com]

[Действие: JS Challenge]

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

След като въведете тези стойности, щракнете върху „Въвеждане“, за да създадете вашето правило.

Резюме: Осигуряване на вашия WordPress Сайт с правила за защитна стена на Cloudflare

В надпреварата във въоръжаването на уеб сигурността правилата на защитната стена на Cloudflare са едно от най-ефективните оръжия, които имате в арсенала си. 

Дори с безплатен акаунт в Cloudflare можете да разположите много различни правила, за да защитите своя WordPress сайт срещу някои от най-често срещаните заплахи за спам и зловреден софтуер.

Само с няколко (предимно) прости натискания на клавиши можете да повишите сигурността на вашия сайт и поддържайте го безпроблемно за посетителите.

За повече относно подобряването на вашия WordPress сигурността на сайта, вижте моята ръководство за конвертиране WordPress сайтове към статичен HTML.

Препратки

https://developers.cloudflare.com/firewall/

https://developers.cloudflare.com/fundamentals/get-started/concepts/cloudflare-challenges/

https://www.websiterating.com/web-hosting/glossary/what-is-cloudflare/

Присъединете се към нашия бюлетин

Абонирайте се за нашия седмичен бюлетин и получавайте най-новите новини и тенденции в индустрията

Като щракнете върху „абонирайте се“, вие се съгласявате с нашите условия за ползване и политика за поверителност.