Подобряване на сигурността на WordPress

WordPress е най-използваното приложение за сайтове и една от причините за това е големият набор от теми и разширения, които обогатяват и разширяват неговите възможности. Това прави WordPress доста примамлива мишена за хакерски атаки, така че взимането на мерки за подобряването на неговата защита е силно препоръчително. Можете да изпълните четири лесни действия през хостинг Контролния панел > раздел "WordPress мениджър", които са много ефективни и би трябвало да предотвратят повечето опити за хакване на Вашия сайт:

Редовно обновяване на WordPress и неговите компоненти

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

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

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

Налични актуализации за WordPress

Използване на сайта през HTTPS (използване на SSL)

Инсталирайки SSL сертификат на сървъра и настройвайки WordPress да работи чрез HTTPS, всички данни ще се предават сигурно и криптирано между браузъра на посетителите на Вашия сайт и сървъра, от който работи Вашият сайт. Този вид защита помага при атаки тип "Човек в средата" (man-in-the-middle). Можете да откриете детайлни инструкции за правилната настройка на WordPress сайт, така че да работи чрез HTTPS, в статията ни "Активиране на HTTPS за WordPress". Ако има инсталиран сертификат, който може да се използва от WordPress, това ще бъде показано в секция Сигурност на WordPress мениджър. Ако няма инсталиран сертификат, натискайки бутонът "Промени", ще бъдете отведени в секция "SSL/HTTPS достъп", където можете да активирате безплатен сертификат от Let's Encrypt.

WordPress мениджър сигурност - SSL

 

Добавяне на допълнителна защита за административния панел на WordPress

Хакерите много често използват атаки за придобиване на достъп до административния панел на WordPress, така че използването на добра парола за всички администратори на сайта е задължително. Можете да откриете как можете лесно да смените паролите на администраторите на Вашия WordPress сайт в статията ни "Управление на WordPress администратори". На нашите уеб сървъри използваме модул, известен като защитна стена за уеб приложения (Web Application Firewall), който помага с предотвратяването на повечето атаки. Неговата работа е да филтрира трафика, предназначен за злоупотреба, и да пропуска легитимния трафик. За съжаление, някои атаки за придобиване на достъп (най-вече бавни или разпределени) са неразличими от нормалния трафик, поради което защитната стена за уеб приложения може да не ги блокира правилно. Повече информация за въпросната защита можете да откриете в статията "Грешка "412 Precondition Failed" - използване на mod_security2" от нашата документация.

Един от най-добрите начини да се предпазите от такъв тип атаки за придобиване на достъп е чрез добавяне на допълнителна защита за wp-login.php файла, използван за достъп до административния панел на WordPress, което е постижимо само с няколко лесни стъпки:

  1. Отворете страницата за управление на WordPress инсталацията чрез бутона "Управлявай" за нея в раздел "WordPress мениджър" на хостинг Контролния панел.

  2. Скролнете до подраздел "Инструменти" и кликнете върху бутона "Промени" до инструмента "Защити административния панел":

    Допълнителна защита за административния панел на WordPress

  3. Ще бъдете пренасочени към хостинг Контролния панел > раздел "Защити" > подраздел "Защита на уеб достъп" за wp-login.php файла от Вашата WordPress директория. Изберете потребителско име и парола във формата, която ще бъде показана там. Препоръчваме Ви да изберете потребителско име, което е трудно за отгатване и не е свързано с Вашето име, хостинг акаунт или сайт. За избора на сложна парола, можете да прегледате статията ни "Избор на парола" за общи съвети и информация. Можете да добавите повече от един потребител, използвайки тази форма, като списък с всички потребители ще се показва под нея, а за всеки отделен потребител ще видите опции за смяна на паролата и за неговото изтриване.

  4. Натиснете бутона "Добави".

    Защита на wp-login.php файла

Вече всеки опит за достъп до страницата за вход в административния панел на WordPress (файл wp-login.php) чрез браузър ще изисква предоставянето на комбинация от валидни потребителско име и парола (тези от допълнителната защита):


Прозорец за допълнителната защита

След успешно преминаване през допълнителната защита, ще се покаже нормалната страница за вход в административния панел на WordPress, където може да се въведат потребителските данни за WordPress:


Страница за вход в WordPress

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

Важно: Тази допълнителна защита ще се приложи за ВСИЧКИ потребители, регистрирани на Вашия WordPress сайт, така че трябва да предоставите допълнителните данни за достъп на всеки един от тях. В противен случай те няма да могат да достъпят страницата за достъп и WordPress административния панел. Ако естеството на сайта Ви изисква много посетители или потребители да са влезли с потребителско име и парола, този вид защита може и да не е най-доброто решение за Вас. В такива случаи бихме Ви посъветвали да потърсите разширение, предлагащо подобна защита.

Забраняване на изпълнението на PHP скриптове в директориите със съдържание

Някои уязвимости позволяват на хакери да качват файлове в директориите wp-admin/includes, wp-content/uploads и wp-includes на незащитена WordPress инсталация. Хакерите могат да използват това, за да качат зловредни PHP скриптове и да се опитат да ги отворят и изпълнят директно. Лесен начин да спрете такива атаки е като забраните изпълнението на PHP скриптове във въпросните директории. Разделът "WordPress мениджър" Ви позволява да направите това в две лесни стъпки:

  1. Влезте в хостинг Контролния панел > раздел "WordPress мениджър" и натиснете бутона "Управлявай" за Вашата WordPress инсталация.

  2. След като сте в страницата за управление на Вашата WordPress инсталация, отидете до подраздел "Инструменти" и натиснете бутона "Приложи" за инструмента "Защити директориите със съдържание".

Защита на директории със съдържание на WordPress

С това действие ще се добави следния блок с код към .htaccess файловете в директориите wp-admin/includes, wp-content/uploads и wp-includes на Вашата WordPress инсталация (WordPress мениджър ще създаде .htaccess файловете, ако те не съществуват):


# BEGIN rules managed by Control Panel > WordPress

### BEGIN PHP Security rules enabled via Control Panel > WordPress ###
Options -Indexes -ExecCGI
# Execution prevention
<Files ~ "\.ph(?:p[345]?|t|tml)$">
        deny from all
</Files>
#### END PHP Security rules enabled via Control Panel > WordPress ####

# END rules managed by Control Panel > WordPress


Важно: Някои разширения или теми може да не работят правилно, ако се нуждаят от публичен достъп за изпълнение на PHP скриптове от въпросните директории. Ако попаднете в такава ситуация, можете ръчно да премахнете блока с код, добавен от инструмента за защита на директориите със съдържание, или да използвате друго разширение/тема, предлагащи подобна функционалност, но работещи чрез изпълнението на файлове от тяхната собствена директория в wp-content/plugins директорията на Вашата WordPress инсталация.

 

Забраняване на достъпa до XML-RPC

XML-RPC е функционалност на WordPress, която позволява комуникация с други системи, когато това е необходимо. През повечето време това не е необходимо, а тази функционалност често бива експлоатирана от хакери. По подразбиране достъпът до XML-RPC в WordPress е забранен на нашите сървъри. Можете да разрешавате и забранявате достъпа до XML-RPC в WordPress през секция "Сигурност" в WordPress мениджър. Понякога, достъп до XML-RPC се изисква от някои разширения на WordPress. Ако има такова изискване е необходимо да натиснете бутонът "Разреши" до опцията "Достъп до XML-RPC". Ако достъпът до XML-RPC е бил вече разрешен, можете да го забраните отново, като натиснете бутонът "Забрани" до опцията.

WordPress мениджър сигурност - XML-RPC