Методи за защита на WordPress сайт

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

Използвайте WordPress Manager by SuperHosting в cPanel, за да активирате основните и препоръчителни защити за WordPress.

1. Защита на административния панел на WordPress

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

Първи вариант: Ограничаване на достъпа до Администрацията само за определени IP адреси

Ако желаете Администрацията да се достъпва само от вашият IP адрес е необходимо във файл с име .htaccess, разположен в директорията wp-admin, да се поставят редовете:

Deny from All
Allow from 12.23.34.56

Забележка:  Необходимо е да заместите 12.23.34.56 с вашия IP адрес;

Ако достъпвате администрацията от още един IP адрес, можете да активирате достъпа и до него, като добавите още един ред:

Allow from 12.23.34.56

Втори вариант: Защита на достъпа с допълнително потребителско име и парола

За този вариант може да използвате опцията от контролния панел cPanel » Директории, защитени с парола / Password Protect Directories.

Помощна информация за това как да извършите настройката, може да намерите в статията: 🔗 Защита на дадена директория с потребителско име и парола | Help

След като ползвате опцията в cPanel и защитите директория /wp-admin, при достъп до административния панел на WordPress може да получите съобщение за грешка. Съобщението може да съдържа текста: „Redirect Loop“. За да възстановите достъпа до администрацията, добавете следния ред, най-долу във файла /wp-admin/.htaccess:

ErrorDocument 401 default

2. Променете паролата и потребителското име за достъп до системата

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

Редовно променяйте паролата за достъп до администрацията. Ползвайте силни пароли, които съдържат малки и големи букви, цифри и специални символи.

  1. Не използвайте поредни цифри или букви.
    Пример: 123456, abcdef и др.
  2. Не използвайте личното си име, фамилия, телефонен номер, ЕГН, прякор, както и всяка друга информация, която е или би могла да стане публично достъпна, вследствие на което паролата да бъде налучкана от недоброжелатели.
  3. Не използвайте често срещани комбинации.
    Пример: 13579, asdasd, 1q2w3e4r, qwertyuiop, admin, password, administrator и т.н.
  4. При избора на парола, можете в избраната дума да заместите някои от символите в паролата по схемата букви = цифри.
    Пример:
    I=1, L=1, A=4, T=7, E=3, g=9, о=0, и т.н. По тази схема, примерно думата ‘hosting’ може да се изпише като ‘Hos71n9′.
  5. Използвайте комбинации от цифри, малки и главни букви. Дългите пароли (над 7 или 8 символа) дават по-голяма сигурност.

🔗 Няколко съвета при избора на подходяща парола | Help

Потребителското име admin, което също е по подразбиране и е едно и също за всички инсталации на системата, може да бъде променено.

Промяна да данните за достъп можете да извършите през WordPress Manager by SH в cPanel или през phpMyAdmin.

След като достъпите phpMyAdmin може да изпълните sql заявка за подмяна на потребителя admin с потребител siteadmin, в таблицата wp_users, в базата данни:

update wp_users set user_login='siteadmin' where user_login='admin';

Ако сте задали друг префикс (различен от wp_) за таблиците в базата данни, трябва да зададете коректното име за таблицата wp_users, в sql заявката.

Важно: Преди да правите промени препоръчително е да направите архив на базата данни. Можете да направите експорт на базата данни от phpMyAdmin и да запазите локално копие при вас.

3. Скриване на версията на WordPress

Във файл header.php на темата, която сте активирали, може да потърсите реда:

<meta name="generator" content="WordPress <?php bloginfo(’version’); ?>" />
<!-– leave this for stats please -->

Може да изтриете този ред, или само частта показваща версията на системата:

<?php bloginfo(’version’); ?>" />

Ако използвате по-стара версия на системата WordPress, всеки може да види версията в HTML кода на страниците и да използва информация за опит за злоупотреба.

4. Забрана за показване/листване на съдържанието на директориите

При по-старите версии на системата WordPress чрез достъпване на уеб адресите:

http://my-domain.com/wp-content и  http://my-domain.com/wp-includes

има възможност да се види съдържанието на тези директории и да се достъпват/разглеждат файловете.

Чрез добавянето на един ред във файла .htaccess, който файл трябва да се намира в основната директория на сайта, се извършва забраната за показване на съдържанието. Редът е:

Options -Indexes

5. Проверете ролята на потребителите, които се регистрират

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

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

🔗 Добавяне на reCAPTCHA v2/v3 в WordPress | Help

6. Абонирайте се за новини от блога на разработчиците на системата

Когато за системата бъде пуснато обновление/нова версия или поправка на пропуск/дупка в сигурността на системата, то тези новини ще бъдат публикувани в този блог:

https://wordpress.org/news/feed

При версиите на системата има основни версии, например 2.9, 3.0, 3.1 и т.н. и под-версии, например 2.9.1, 2.9.2, 3.0.1, 3.1.1 и т.н. В под-версиите са извършени поправки на кода и пропуските/дупките в сигурността, пропуснати в основната версия.

Силно препоръчително е възможно най-скоро, след като излезе нова под-версия (например 3.1.3) да се извърши обновяване на системата. Също така, може, когато излезе нова основна версия (например 3.1) да не извършвате веднага обновяването, а да изчакате докато бъде публикувана нейна под-версия (например 3.1.2, 3.1.3 и т.н.).

По този начин възможно най-ефективно ще се предпазвате от опити за злонамерен достъп. От голямо значение е да се извършва ъпдейт и на инсталираните към системата плъгини.

Необходимо е възможно най-скоро при наличието на обновление/ъпдейт, да извършвате обновяване и на всички допълнителни приложения, които ползвате към системата WordPress.

7. Резервен архив на вашия сайт

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

Ако не ползвате плъгин, може да направите бекъп на сайта през контролният панел на хостинг акаунта – Backup Manager by SH.

🔗 Възстановяване на архив през WordPress Manager SH | Help

8. Плъгини към WordPress за допълнителна защита

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

Примерни плъгини:

Част от тези плъгини имат включени и функционалности за изброените по-горе препоръки.

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

Какво представлява All In One WordPress Security & Firewall?

Плъгинът All In One WordPress Security & Firewall е много добър плъгин за сигурност (с над 900,000 активни инсталации), който ще повиши сигурността на вашия WordPress сайт.

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

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

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

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

All In One WP Security & Firewall също използва безпрецедентни точки на сигурност, както и система за оценяване, за да се измери колко добре се защитава вашия сайт въз основа на защитните елементи, които сте активирали.

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

Проверка на логовете за достъп

Това е една от най-важните стъпки за защита на вашия сайта.

Какво представляват логовете и как да ги видим? 

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

Логовете могат да бъдат разгледани през cPanel чрез инструмента Latest visitors, както и да бъдат свалени чрез инструмента Raw access logs.

Кои заявки са безопасни и кои не са?

Това, което трябва да следим с повишено внимание, са POST заявките без референция (препращащ адрес).

Пример за две заявки, първата от които е нормална и втора, причинена от скрипт:

1.2.3.4 - - [26/Aug/2020:14:23:33 +0300] "POST /wp-login.php HTTP/1.0" 302 - "https://yoursite.com/wp-login.php?redirect_to=https%3A%2F%2Fyoursite.com%2Fwp-admin%2F&reauth=1" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36"
1.2.3.4 - - [26/Aug/2020:14:23:33 +0300] "POST /wp-login.php HTTP/1.0" 302 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36"

В първата заявка забелязваме, че има препращаща страница (URL), докато във втората не. Това означава, че malware скрипт се опитва да отгатне паролата за WordPress администрацията.

Препоръчваме още

  1. Да правите регулярни бекъпи на вашия сайт;
  2. Да използвате услугите на авторитетен хостинг доставчик;
  3. Да осигурите нужните ресурси на вашия сайт, които да отговорят на неговите нужди – достатъчно дисково пространство, трафик, едновременни заявки към сървъра (Apache requests)и други;
  4. Да актуализирате (ъпдейтвате) редовно версиите на използвания софтуер (ядро, теми, плъгини, джаджи);
  5. Да отделяте време и чрез тестове да придобиете практически експертни познания по ключови елементи от работата на системата.

Научете повече за уникалния набор от инструменти за управление, оптимизация и сигурност WordPress Manager, специално разработен от техническия екип на СуперХостинг.БГ за клиенти с WordPress сайтове.

Обновена: 04.11.2022

Беше ли Ви полезна тази статия?

Вижте още