Базові поради для захисту сайтів на WordPress

У цій статті ми розкажемо вам, як знизити ризик зламу сайту на WordPress та пом’якшити наслідки, якщо злам все-таки стався.

Сайт на базі WordPress складається з трьох частин — ядро WordPress, плагіни, які додають певний функціонал, та шаблон (тема), відповідальний за зовнішній вигляд. 

Цей список — програма-мінімум, що не потребує глибоких знань та доступна кожному власнику сайту. У майбутньому ми плануємо публікацію із більш “просунутою” програмою. 

1. Резервні копії (бекапи)

Кажуть, якщо дані існують лише в одному екземплярі, то насправді їх не існує. Аби вберегти щось від втрати — варто мати хоча б одну копію (золотий стандарт — три в різних місцях). Це ж стосується і сайту. Резервні копії не захищають від зламу, але дозволяють повернути сайт до життя, якщо з ним все-таки щось сталося (і це не обов’язково злам — можливо, невдале оновлення). 

Найпростіший спосіб налаштувати резервне копіювання — поставити відповідний плагін (мабуть, найпопулярніший з них — UpdraftPlus). Зазвичай такі плагіни дають змогу відправляти копію у хмарне сховище.

В ідеалі резервні копії повинні мати такі характеристики:

  • регулярні (регулярність визначаєте ви самі, відповівши на питання “втрату даних за який проміжок часу я можу пережити відносно безболісно?”)
  • автоматичні (якщо щось має регулярно робитись вручу, то з часом воно зазвичай перестає робитись)
  • зберігаються окремо від хостингу (часто хостери самі роблять бекапи і це класно, але одна з речей, від яких захищає бекап — злам хостера або втрата доступу до акаунту, тому краще класти резервну копію кудись окремо)
  • час від часу варто перевіряти цілісність бекапу: чи дійсно налаштований нами автоматичний процес продовжує відбуватись, чи всі файли копіюються тощо

Однак навіть час від часу завантажувати собі на комп’ютер копію сайту вручну — це вже краще, ніж нічого. Головне — не забути, де вона лежить.

2. Обережний вибір плагінів та тем

Плагіни несуть чи не найбільшу загрозу безпеці сайту на вордпресі. Біс його знає, наскільки кожен автор плагіну дотримується правил безпечної розробки. Тому варто дотримуватись певних правил:

  • при виборі плагіну звертайте увагу на його оцінку, кількість завантажень і на те, чи протестований він з вашою версією ядра вордпресу. У жодному разі не ставте “піратські” копії платних плагінів/тем (вони дуже часто вже містять вірус). Тут: https://wpscan.com/ можна перевірити, чи не має плагін відомих вразливостей.
  • менше плагінів — менше нагод отримати якусь вразливість, тому варто ставити тільки ті, які точно-точно потрібні. 

3. Правила щодо користувачів сайту:

  • кожен користувач повинен мати власний акаунт, лише з тими правами, які потрібні йому для роботи (якщо людина лише ставить публікації, їй не потрібен акаунт з правами адміністратора)
  • пароль до акаунту має бути довгим та унікальним (не використовуватись для іншого сайту чи сервісу). Бажано використовувати випадковий набір літер, цифр і символів та уникати паролів, що складаються зі слів, які можна знайти у словнику.

4. Підтримка сайту

За сайтом потрібно доглядати, як за машиною чи рослиною. У базовий догляд входить регулярне оновлення ядра, плагінів та тем, а також видалення користувачів, які вже не працюють з сайтом, та плагінів, потреба у яких відпала. 

Перед оновленням бажано мати під рукою резервну копію (просунутий варіант — оновлюватись спершу на тестовому сайту), оскільки оновлення потенційно може щось зламати на сайті (скажімо, розробники погано його протестували). Однак таке трапляється рідко, тому не варто з цієї причини повністю відмовлятися від оновлень. До того ж ризик проблем при оновленні зростає, якщо оновлення не проводились дуже давно. Ризик того, що при оновленні щось піде не так, особливо зростає, якщо один чи більше плагінів в принципі не можуть бути оновлені – таке буває, якщо плагін більше не підтримується розробниками, у вас закінчилась ліцензія на нього або ж його робили спеціально під ваш сайт. У такому випадку можлива несумісність через те, що сайт “іде вперед”, а якась його частинка “залишається в минулому”.

Якщо сайт вам розробляла веб студія, домовтеся з ними про подальшу підтримку. 

5. Зашифроване з’єднання з сайтом. 

Усе, що ви передаєте на сайт (у тому числі пароль, який ви вводите, коли логінитесь) може (якщо дуже захоче) побачити людина, яка сидить з вами в одній мережі. Щоб цього уникнути, обов’язково потрібно зробити з’єднання з сайтом зашифрованим. Для цього потрібен SSL сертифікат. Швидше за все, в адмінці вашого хостинг провайдера є відповідний розділ з інструкціями. Якщо сертифікат підключений, адреса сайту з https://yak.dslua.org перетворюється на https://yak.dslua.org і у віконці адреси з’являється іконка замочка. Окрім того бажано також налаштувати перенаправлення з http на https.

На додачу до більш безпечного користування сайтом це ще й покращить ваші стосунки з гуглівським пошуком (Google карає сайти без сертифіката, опускаючи їх нижче у видачі).

6.

Якщо це організаційний сайт, а не особистий блог, то бажано, щоб хостинг та доменне ім’я були зареєстровані на організацію/організаційну пошту. Це потрібно, щоб уникнути зав’язування на одну людину, яка може померти, звільнитись або посваритись з рештою працівників.

7.

Дбайте про захист хостинг акаунта: за можливості включіть 2-факторну автентифікацію на вхід, поставте гарний пароль. 

8.

Відключіть коментарі та реєстрацію, якщо вони вам не конче потрібні.

На жаль, навіть якщо ви все зробите правильно, від зламу це вас на 100% не застраховує (особливо якщо проти вас діє вмотивований та умілий зловмисник).

Є принаймні три загрози, які дуже важко прибрати повністю:

  • злам хостинг-провайдера 
  • свіжа вразливість в плагіні, для якого ще не випустили оновлення (або ви просто не встигли його поставити)
  • видурений пароль користувача (атаки на користувачів бувають дуже підступні)

Однак це не означає, що треба забити на безпеку і нічого не робити: чимало проблем з сайтами, які ми спостерігали за роки роботи, пов’язані саме з нехтуванням простими правилами, до того ж стати жертвою тупого російського школяра через вразливість в плагіні, який ви не оновлювали 10 років, більш неприємно, ніж програти дійсно підготовленому злочинцю.