• WordPress

Как да защитим сайта на WordPress от реални заплахи

  • Felix Rose-Collins
  • 20 min read

Въведение

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

Не се нуждаете от уменията на инженер по сигурност, за да го защитите. Нужни са ви няколко основни защитни мерки, които работят добре заедно. Заключете ключовите настройки на WordPress. Добавете правила за сървъра. Поддържайте всичко актуализирано. Направете резервните копия и мониторинга задължителни. Ще откривате проблемите рано и ще се възстановявате бързо, вместо да откривате щетите седмици по-късно.

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

Чести атаки срещу сигурността на WordPress сайтове {#common-security-attacks-on-wordpress-sites}

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

Common Security Attacks on WordPress Sites

Ето най-често срещаните рискове, с които ще се сблъскате на реални WordPress сайтове.

Брут форс {#brute-force}

Брут форс работи, защото е лесен за автоматизиране и все още дава резултати. Вместо да гадаят една парола, ботовете пробват хиляди потребителски имена и пароли на минута на страниците за вход. Credential stuffing е още по-ефективен, защото използва изтекли данни за достъп от други пробиви. Ако изтеклите данни за достъп съвпадат, получава се незабавен администраторски достъп.

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

Уязвими плъгини и теми {#vulnerable-plugins-and-themes}

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

Запознайте се с Ranktracker

Универсалната платформа за ефективна SEO оптимизация

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

Най-накрая отворихме регистрацията за Ranktracker напълно безплатно!

Създаване на безплатен акаунт

Или влезте в системата, като използвате данните си

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

Вмъкване на зловреден софтуер {#malware-injection}

Зловредният софтуер често се крие на места, които са достъпни за запис или се пренебрегват. Това може да бъде злонамерен скрипт, пуснат в wp-content/uploads/, файл на плъгин, тихо модифициран с небрежен PHP код, или код, инжектиран в базата данни, така че да се разпространява чрез шаблони или публикации.

Типичните признаци включват пренасочвания само към мобилни устройства, мистериозни администратори, странни cron задачи, необичайни планирани задачи, пикове в изходящите заявки и предупреждения за злоупотреба от Search Console или хоста. Това често води до повтарящи се инфекции, спам и риск от включване в черни списъци.

SEO спам атаки {#seo-spam-attacks}

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

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

SQL инжекция {#sql-injection}

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

Фалшифициране на междусайтови заявки {#cross-site-request-forgery}

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

Сигнал за опасност е всяка промяна в администраторските права, която се случва веднага след кликване, а вие не сте имали намерение да я направите. Логите все още могат да изглеждат нормални, защото това се случва през вашата сесия, но може тихо да промени разрешенията и да доведе до поемане на контрола.

Крос-сайт скриптинг {#cross-site-scripting}

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

Може да видите странни скриптове в публикации или настройки, пренасочвания само за вход или промени, които не сте правили. Това може да доведе до откраднати сесии и постоянна инфекция, съхранена в базата данни.

Основни елементи на сигурността {#baseline-security-essentials}

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

Изберете сигурен WordPress хостинг {#choose-a-secure-wordpress-hosting}

Можете да подсилите WordPress и все пак да пострадате от слаб хостинг. Хостингът контролира средата, в която работи сайтът ви, а тази среда оказва голямо влияние върху сигурността.

Ето какво трябва да включва хостингът, фокусиран върху сигурността.

  • Изолация и безопасни настройки по подразбиране

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

  • Защита на ниво сървър

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

  • Резервни копия и бързо възстановяване

Когато нещо се обърка, скоростта е от значение. Автоматичните архивирания и бързото възстановяване спасяват вашия бизнес.

  • Видимост

Логите за достъп, логовете за грешки и показателите за производителност ви помагат да забележите брут форс атаки, проблеми с PHP и пикове в ресурсите, преди те да се превърнат в прекъсвания.

  • SSL

SSL сертификатите криптират влизанията и сесиите, така че данните остават поверителни по време на пренос. Сигурният хостинг улеснява настройката на сертификатите и автоматичната им ротация, за да се избегнат проблеми с изтичането на валидността.

Запознайте се с Ranktracker

Универсалната платформа за ефективна SEO оптимизация

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

Най-накрая отворихме регистрацията за Ranktracker напълно безплатно!

Създаване на безплатен акаунт

Или влезте в системата, като използвате данните си

На управляваните WordPress платформи вече са налице много защити, които спират често срещаните заплахи, преди те да достигнат WordPress. Например, управляваният хостинг на Cloudways включва функции за сигурност на ниво платформа, като защитни стени, автоматични архивирания, опционални WAF добавки и SafeUpdates. Въпреки това, вие все още носите отговорност за актуализациите и контрола на достъпа, но започвате от по-безопасна основа.

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

Инсталирайте SSL сертификат {#install-an-ssl-certificate}

Забелязали ли сте някога малката икона на катинар до URL адреса на уебсайта? Това означава, че сайтът ви използва HTTPS. Тя показва на посетителите, че връзката с вашия сайт е сигурна и данните им са защитени. Без нея хакерите биха могли да прихванат чувствителна информация като данни за вход или данни за плащане.

SSL (Secure Sockets Layer) криптира данните между вашия уебсайт и посетителите му. Той защитава този трафик, така че паролите и данните на клиентите не се пренасят в обикновен текст. Независимо дали управлявате блог, магазин или портфолио, инсталирането на SSL сертификат вече не е по избор; то е от съществено значение.

Изберете своя SSL вариант

Повечето хостинг доставчици предлагат безплатна SSL опция, която можете да активирате с няколко кликвания. В Cloudways можете да активирате безплатен сертификат Let’s Encrypt директно от платформата.

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

Генериране на CSR

Заявката за подписване на сертификат (CSR) е заявката, която сървърът ви изпраща до доставчика на сертификати. Обикновено в таблото за управление на хостинга ще видите опция „Генериране на CSR“.

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

Потвърдете собствеността върху домейна

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

Инсталирайте сертификата

Инсталирайте или качите сертификата в панела за управление на хостинга. Потърсете раздел като „Управление на SSL“ или „Настройки за сигурност“, след което следвайте инструкциите, за да го прикачите към правилния домейн.

Install the certificate

Принудително използване на HTTPS

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

Можете да направите това с плъгин като Really Simple SSL или да наложите HTTPS за административния панел на WordPress с тази настройка в wp-config.php:

Актуализирайте вътрешните линкове

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

Освен сигурността, SSL изгражда доверие и може да помогне за SEO. Това е бързо подобрение, което показва на посетителите, че вземате на сериозно поверителността.

Поддържайте WordPress, темите и плъгините актуализирани {#keep-wordpress-themes-and-plugins-updated}

Актуализациите са сигурност. Повечето версии поправят известни пропуски. Щом дадена уязвимост стане публично достояние, ботовете сканират за сайтове, които все още използват старата версия, и точно през този прозорец се случват заразяванията.

Актуализирайте ядрото на WordPress

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

Update WordPress Core

Следвайте тези стъпки, за да актуализирате ядрото на WordPress:

  • Отидете в административния панел на WordPress → Актуализации.
  • В WordPress кликнете върху „Актуализирай сега “, ако има налична актуализация.
  • След като приключи, отворете сайта си и се уверете, че се зарежда и можете да влезете.

Практична рутина за актуализиране

  • Активирайте автоматичните актуализации поне за малките версии.
  • Използвайте тестова среда за големи актуализации.
  • Заделете месечен период за поддръжка за инсталиране на кръпки и проверки за регресия.

Ако изберете хостинг платформа като Cloudways, функцията SafeUpdates планира актуализациите на ядрото на WordPress, плъгините и темите чрез работен процес за архивиране и тестване, преди промените да бъдат приложени в производствената среда.

Актуализиране на теми

Следвайте тези стъпки, за да актуализирате тема на WordPress:

  • Отидете в административния панел на WordPress → „Актуализации“.

Updates

  • Ако там са изброени актуализации на теми, маркирайте квадратчетата, след което кликнете върху „Актуализирай теми“.
  • След като приключи, проверете дали началната страница, менютата и ключовите страници се зареждат правилно.

Премахване на неизползвани плъгини и теми

Неактивните плъгини и теми остават на вашия сървър. Изтрийте ги, за да намалите рисковете за сигурността и да ограничите повърхността за атака.

themes

Списък за почистване:

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

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

  • В административния панел на WordPress отидете на ПлъгиниИнсталирани плъгини.
  • Намерете плъгина, от който нямате нужда.
  • Кликнете върху „Деактивирай“. След това се появява опцията „Изтрий “.
  • Кликнете върху „Изтрий“ и потвърдете, ако бъдете подканени.

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

  • В административния панел на WordPress отидете на Външен видТеми.
  • Кликнете върху темата, от която нямате нужда.
  • Кликнете върху „Изтрий“ и потвърдете, ако бъдете подканени.

Избирайте теми и плъгини с добра репутация

Не всички плъгини заслужават доверие, дори ако функциите им изглеждат страхотни. Търсете редовни актуални актуализации, ясна документация, активна поддръжка и съвместимост с текущите версии на WordPress.

Кратка проверка преди инсталирането:

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

Практически операции по сигурността {#practical-security-operations}

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

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

Използвайте двуфакторна автентификация {#use-two-factor-authentication}

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

За да активирате 2FA на вашия WordPress сайт, изберете надежден 2FA плъгин и приложение за удостоверяване на телефона си. Често срещани опции за 2FA плъгини включват miniOrange 2FA, WP 2FA, Wordfence Login Security и Two Factor.

Активиране на двуфакторна автентификация:

  • В таблото за управление на WordPress отидете в „Плъгини“„Добави нов“.
  • Потърсете плъгин за 2FA, след което го инсталирайте и активирайте.
  • Отворете менюто на плъгина от лявата странична лента, обикновено под „Сигурност“ или като отделен елемент.
  • Намерете Двуфакторна автентификация или 2FA, след което изберете приложение за автентификация.
  • Сканирайте QR кода в приложението си за удостоверяване или въведете ключа за настройка.
  • Въведете еднократния код за потвърждение, след което кликнете върху „Активиране“ или „Включване “.
  • Изтеглете кодовете за възстановяване и ги съхранете в мениджъра си за пароли.

Наложете 2FA за администраторските роли:

  • Отворете настройките на плъгина, обикновено в „Настройки “ или „Сигурност “ → „2FA“.
  • Активирайте „Изискване на 2FA“.
  • Приложете го за ролите „Администратор“ и „Редактор“ и добавете „Управител на магазин“, ако управлявате магазин за електронна търговия.
  • Запазете промените, след като сте регистрирали поне два администраторски акаунта на различни устройства.

2FA

Променете URL адреса за вход по подразбиране {#change-the-default-login-url}

Повечето WordPress сайтове използват едни и същи URL адреси по подразбиране: /wp-login.php за вход и /wp-admin/ за администраторския панел. Ботовете знаят тези URL адреси, затова продължават да ги пробват отново и отново.

Промяната на URL адреса за вход няма да спре решен атакуващ, но може да намали автоматизирания спам при вход и опитите за брут форс.

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

  • Отидете в „Плъгини“„Добави нов“.
  • Инсталирайте плъгин за промяна на URL адреса за вход, след което го активирайте.
  • Отворете настройките на плъгина в „Настройки “ или „Сигурност“.
  • Задайте нов URL адрес за вход и запазете промените.
  • Излезте от профила си и тествайте новия URL адрес в прозорец в режим „инкогнито“.

Използвайте уникално име на администратор {#use-a-unique-admin-username}

** **„admin” е първото предположение във всеки списък за брут форс. Използването му дава на хакерите половината от това, от което се нуждаят.

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

  • Отидете в „Потребители“„Добави нов“.
  • Създайте нов потребител с уникално потребителско име. Не използвайте името на домейна, името на марката или префикса на имейла си.
  • Задайте ролята „Администратор“, след което създайте акаунта.
  • Излезте от профила си и влезте отново с новия администраторски профил.
  • Отидете в „Потребители “ → „Всички потребители“.
  • Намерете стария администраторски акаунт и или променете ролята му на по-ниска, или го изтрийте. Ако го изтриете, прехвърлете съдържанието му на новия администратор, когато WordPress ви подкани.

Ограничете опитите за вход {#limit-login-attempts}

Не позволявайте на ботовете да пробват неограничен брой пароли. След няколко неуспешни опита блокирайте IP адреса за известно време.

Първо лесните опции

  • Инсталирайте плъгин, който управлява ограничаването на скоростта, като Wordfence, Limit Login Attempts Reloaded или Loginizer.
  • Активирайте ограничаването на скоростта в таблото за управление на защитната стена на хоста ви, ако има такова.

Разширена конфигурация на сървъра

Пример за ограничаване на скоростта в Nginx (препоръчително, ако контролирате конфигурацията на Nginx):

Добавете това в Nginx HTTP контекста:

След това добавете ограничение за крайната точка за вход във вашия сървър блок:

Съвет: Увеличете „rate“ или „burst“, ако легитимни потребители бъдат блокирани. Тествайте внимателно.

Използвайте силни администраторски пароли {#use-strong-admin-passwords}

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

Съвети за конфигуриране:** **

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

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

  • Отидете в „Потребители “ → „Всички потребители“.
  • Редактирайте администраторския потребител.
  • Кликнете върху „Задаване на нова парола“, след което върху „Актуализиране на потребителя“.

Използвайте препоръчани плъгини за сигурност за WordPress {#use-recommended-wordpress-security-plugins}

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

Един добър плъгин за сигурност включва:

  • Мониторинг на целостта на файловете за откриване на неочаквани промени
  • Защита при вход и налагане на 2FA
  • Сканиране за зловреден софтуер с ясен път за почистване и възстановяване
  • Сигнали и аудитни логове, които можете действително да прегледате
  • Основни правила на защитната стена

След като разберете какво търсите, инсталирайте един надежден плъгин като Wordfence, Sucuri или All In One WP Security. Тези инструменти добавят защита при вход, откриване на промени във файловете и логове, и могат да блокират много често срещани опити за злоупотреба, включително опити за груба сила.

Следвайте тези стъпки, за да инсталирате плъгин за сигурност за WordPress:

  • Отидете в „Плъгини“„Добави нов“.
  • Потърсете плъгина за сигурност.
  • Кликнете върху „Инсталирай сега“, а след това върху „Активирай“.
  • Отворете плъгина от лявата странична лента и стартирайте неговия помощник за настройка, ако има такъв.

Съвети за настройка:

  • Използвайте един основен плъгин за сигурност, за да избегнете конфликти и дублиране.
  • Деактивирайте функциите, които няма да използвате, особено тежките сканирания на натоварени сайтове.
  • Ако вашият хостинг доставчик предлага ограничаване на скоростта или блокиране, използвайте тези функции за защита срещу атаки от типа „брут форс“, когато е възможно.

Отстраняване на проблеми:

  • Ако бъдете блокирани от администраторския панел на WordPress, проверете правилата на защитната стена и първо намалете строгия режим.
  • Добавете вашия IP адрес в белия списък, за да не блокирате собствения си екип.
  • Прегледайте логовете, преди да деактивирате защитата, за да видите какво е предизвикало блокирането.

Използвайте защитна стена и сканиране за зловреден софтуер {#use-a-firewall-and-malware-scanning}

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

Ако не контролирате конфигурацията на сървъра, използвайте таблото за управление на защитната стена на хоста си или плъгин за сигурност като Wordfence или Sucuri, за да ограничите честотата на влизанията и да забавите или блокирате XML-RPC.**

Настройка на защитната стена

Използвайте слоеве. WAF в периферията, сървърни правила за злонамерен трафик и сканиране за зловреден софтуер за почистване.

Firewall setup

На управляваните платформи можете да активирате вградения уеб приложен защитен стена с блокиране по IP или държава. Например, Cloudways предлага опционален добавка Cloudflare Enterprise за филтриране на границата и защита от ботове.

Сканиране за зловреден софтуер

Сканирайте за неочаквани промени във файловете и инжекции в базата данни (спам връзки, скрити скриптове).

Планирайте редовни проверки за:

  • Промени във файловете и неизвестен PHP код в wp-content/uploads
  • Спам в базата данни или инжектиран код
  • Подозрителни cron задачи и изходящи връзки

Cloudways предоставя добавка за защита от зловреден софтуер, базирана на Imunify360, за сканиране на ниво сървър и автоматично почистване.

Следвайте тези стъпки, за да почистите WordPress от зловреден софтуер:

  • Активирайте режим на поддръжка.
  • Идентифицирайте точката на вход (уязвим плъгин, слаби идентификационни данни).
  • Сменете всички тайни (администраторски/бази данни пароли, соли, SSH ключове).
  • Възстановете от чист бекъп.
  • Отстранете основната причина, преди да пуснете системата в експлоатация.

Разширено техническо укрепване {#advanced-technical-hardening}

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

Защитете файла wp-config.php {#secure-the-wp-config-php-file}

Файлът wp-config.php съдържа данни за достъп до базата данни и тайни ключове. Третирайте го като сейф за ключове.

Задайте строги разрешения с помощта на следната команда:

chmod 400 wp-config.php.

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

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

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

Ограничете ролите и разрешенията на потребителите {#limit-user-roles-and-permissions}

Предоставяйте на потребителите само правата, от които се нуждаят (принцип на минимални привилегии). Това предотвратява хакнат акаунт да поеме контрола над целия ви сайт.

Следвайте тези стъпки, за да ограничите потребителските роли и разрешения в WordPress:

  • Отидете в „Потребители “ → „Всички потребители“.
  • Кликнете върху потребителя, който искате да прегледате.
  • В падащото меню „Роля“ изберете най-ниската роля, от която се нуждаят, например Абонат, Съавтор, Автор или Редактор.
  • Кликнете върху „Актуализирай потребител“.

Повторете това за всеки акаунт с права на администратор и отнемете тези права на всеки, който не се нуждае от тях. Премахнете или деактивирайте неактивните акаунти, които вече никой не използва.

Ако се нуждаете от специален достъп, използвайте персонализирани роли и прегледайте възможностите, преди да ги присвоите. Проверявайте ролите на всеки три месеца и премахвайте ненужния администраторски достъп. Това ограничава действията, които хакерът може да извърши с откраднат логин.

Деактивирайте редактирането на файлове от таблото {#disable-file-editing-from-the-dashboard}

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

Следвайте тези стъпки, за да деактивирате редактирането на файлове от таблото за управление на WordPress:

  • Свържете се с вашия сайт чрез SFTP или файловия мениджър на вашия хост.
  • Редактирайте wp-config.php в кореновата директория на WordPress и добавете:
  • Запазете файла.
  • Проверете „Външен вид“ в администрацията на WordPress. Редакторът на теми изчезва. Редакторът на плъгини също изчезва.

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

Деактивирайте XML-RPC {#disable-xml-rpc}

XML‑RPC е често срещана входна точка за атаки с груба сила и злоупотреба с пингбек. Блокирайте го на ниво WordPress или на ниво сървър.

Вариант А: Деактивиране в WordPress

  • Добавете следното към functions.php или към персонализиран плъгин:
  • Запазете файла.
  • Отворете крайната точка xmlrpc.php в браузъра си, като посетите https://yourdomain.com/xmlrpc.php Ще видите общо XML-RPC съобщение, но XML-RPC заявките вече няма да работят.

Това деактивира XML-RPC на нивото на WordPress. Крайната точка xmlrpc.php все още може да бъде достигната, така че за пълна защита и за да намалите натоварването, блокирайте я на уеб сървъра или WAF.

Вариант Б: Блокиране на ниво уеб сървър**

Блокирането на XML-RPC на сървъра е най-силният вариант, защото спира заявките, преди PHP да се изпълни.

Nginx:

  • Отворете конфигурационния файл на Nginx за домейна на вашия сайт.
  • Добавете правило за xmlrpc.php в сървърния блок.
  • Презаредете Nginx.

Apache:

  • Редактирайте конфигурацията на Apache на сайта си или .htaccess, ако е позволено.
  • Добавете правилото за блокиране на xmlrpc.php.
  • Презаредете Apache.

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

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

Резервни копия и мониторинг {#backups-and-monitoring}

Подгответе се за възникване на проблеми. Резервните копия ви позволяват да възстановите бързо. Мониторингът показва какво се е променило.

Резервирайте уебсайта си редовно {#back-up-your-website-regularly}

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

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

Ръчно архивиране

Следвайте тези стъпки, за да направите резервно копие на вашия WordPress сайт:

  • Инсталирайте и активирайте плъгин за архивиране от ПлъгиниДобави нов.
  • Отворете плъгина и стартирайте „Направи резервно копие сега“ с избрани файлове и база данни.
  • Запазете го във външно хранилище, ако имате такова.

Автоматично архивиране

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

Automated backup

Изберете график в зависимост от това колко често се променя сайтът ви.

  • Ежедневно: За активни сайтове с чести актуализации, коментари или поръчки.
  • Седмично: За маркетингови сайтове с малко промени.
  • Месечно:** **Когато съдържанието се променя рядко.

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

Най-добри практики:

  • Съхранявайте резервните копия извън сайта. Така те няма да бъдат загубени при срив на сървъра.
  • Поддържайте няколко точки за възстановяване, а не само най-новата снимка.
  • Тествайте възстановяването редовно. Нетестваните резервни копия не са доказани. Надявате се, че ще работят, когато е важно.

Ако възстановяването се забавя или се провали, резервното копие обикновено е прекалено голямо. Проверете нарастването на размера на резервното копие, често причинено от лог файлове или кеш директории вътре в wp-content. Изключете кеш директориите от резервните копия, когато вашата платформа може да ги възстанови безопасно.

Наблюдавайте сайта си {#monitor-your-site}

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

Наблюдение на времето за работа

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

Инструменти за проверка на работоспособността като UptimeRobot (с щедър безплатен план) или Pingdom извършват HTTP и ключови думи проверки на началната ви страница и ключовите страници.

Практична настройка:

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

Сигнали за сигурност

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

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

Следвайте тези стъпки, за да настроите предупреждения в WordPress:

  • Отидете в „Плъгини“„Добави нов“.
  • Инсталирайте и активирайте плъгин за сигурност, който поддържа предупреждения.
  • Отворете плъгина от лявата странична лента.
  • Намерете „Аларми“ или „Уведомления“ в настройките на плъгина.
  • Активирайте предупрежденията за:
    • Създаване на нов администратор
    • Промени във файловете на плъгина или темата
    • Скокове в броя на влизанията или повтарящи се неуспешни опити
    • Налични критични актуализации на плъгина
    • Проблеми с DNS или SSL сертификати
  • Препращайте критичните предупреждения към Slack или PagerDuty. Запазете имейла за уведомления с ниска приоритетност.

Регистри на активността

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

Практична настройка:

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

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

  • Отидете в ПлъгиниДобави нов.
  • Инсталирайте и активирайте плъгин за регистриране на активността.
  • Отворете плъгина от лявата странична лента.
  • Активирайте записването на администраторски действия, като създаване на потребители, инсталиране на плъгини и промени в настройките.
  • Задайте колко дълго да се съхраняват логовете, след което запазете.
  • Ако е налично, активирайте експортирането на логовете или препращането им към външно хранилище.

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

  • Намалете подробността за некритични събития.
  • Извършвайте агресивно ротиране на логовете.
  • Прехвърляйте към външно хранилище за логове, когато е налично.

Заключителни мисли {#final-thoughts}

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

Ако направите само едно нещо, нека то да е последователност. Актуализирайте ядрото на WordPress, темите и плъгините редовно. Наложете 2FA за акаунтите на администраторско ниво. Използвайте дълги, уникални пароли и избягвайте очевидни потребителски имена. Поддържайте HTTPS на всяка страница, за да останат криптирани входовете, сесиите и данните от формулярите.

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

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

Често задавани въпроси {#frequently-asked-questions}

1. WordPress сигурен ли е?

Да, WordPress е сигурен, когато спазвате основните практики: поддържайте актуализирани ядрото, темите и плъгините; използвайте силни уникални пароли и 2FA за администраторите; изберете хостинг с изолация и защитни стени; правете редовни резервни копия.

2. Има ли WordPress вградена сигурност?

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

Запознайте се с Ranktracker

Универсалната платформа за ефективна SEO оптимизация

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

Най-накрая отворихме регистрацията за Ranktracker напълно безплатно!

Създаване на безплатен акаунт

Или влезте в системата, като използвате данните си

3. Хакнат ли е моят WordPress сайт?

Обръщайте внимание на очевидни предупредителни знаци като неочаквани пренасочвания, нови администратори, които не сте създали, промени в файловете на теми или плъгини без имплементиране, странни планирани задачи и внезапни пикове в влизанията. Проверете логовете на плъгина за сигурност и логовете за достъп до сървъра. Ако използвате Google Search Console, потърсете предупреждения и непознати индексирани URL адреси.

4. Как да превърна моя WordPress сайт в HTTPS?

Инсталирайте SSL сертификата в панела за управление на хостинга. След това актуализирайте началния URL адрес на WordPress и URL адреса на сайта към HTTPS и наложете HTTPS за административната зона и интерфейса. Ако видите предупреждения за смесено съдържание, заместете твърдо кодираните HTTP връзки в базата данни и ресурсите на темата. Ако използвате прокси или балансиращ сървър, уверете се, че WordPress разпознава първоначалното заявка като HTTPS, за да избегнете цикли на пренасочване.

Felix Rose-Collins

Felix Rose-Collins

Ranktracker's CEO/CMO & Co-founder

Felix Rose-Collins is the Co-founder and CEO/CMO of Ranktracker. With over 15 years of SEO experience, he has single-handedly scaled the Ranktracker site to over 500,000 monthly visits, with 390,000 of these stemming from organic searches each month.

Започнете да използвате Ranktracker... безплатно!

Разберете какво възпрепятства класирането на уебсайта ви.

Създаване на безплатен акаунт

Или влезте в системата, като използвате данните си

Different views of Ranktracker app