Налаштування безпеки Wordpress після встановлення. Ломаємо та захищаємо WordPress своїми руками. Визначення встановлених компонентів

Сьогодні на нуледі прочитав досить непогану статтю про покращення безпеки сайту на WordPress. Оскільки на нуледі текст видно тільки зареєстрованим користувачам з певною кількістю постів, викладу статтю у себе на блозі, для громадського користування 😉 Загалом усім також пропоную ознайомитися і внести свої пропозиції та виправлення (якщо звичайно вони будуть).

1. Перед інсталяцією;
2. Після інсталяції;
3. Періодичні перевірки та оновлення.

1. Перед інсталяцією

1.1. Видаляємо всі непотрібні файли:
readme.html, license.txt, hello.php, непотрібні теми та плагіни.

1.2. Правильно відредагуємо файл wp-config.php:

define("DB_NAME", "wpdb"); // Замість "wpdb" потрібно вигадати сильне ім'я, наприклад, wp433Fd6HW
define("DB_USER", "wpuser"); // Наприклад, UserFB56SKl
define("DB_PASSWORD", "strongpassword"); // Тут має бути сильний пароль, наприклад, 'FE876!8e#fh#9fDfds9f'
define("DB_HOST", "localhost"); // У 99% випадках це значення не потрібно змінювати
define("DB_CHARSET", "utf8"); define("DB_COLLATE", "");

Змінюємо секретний ключ із дефолтного:

define("AUTH_KEY", "izmenite eto на unikalnuyu frazu");
define("SECURE_AUTH_KEY", "izmenite eto на unikalnuyu frazu");
define("LOGGED_IN_KEY", "izmenite eto на unikalnuyu frazu");
define("NONCE_KEY", "izmenite eto на unikalnuyu frazu");

на згенерований, за допомогою сервісу

define("AUTH_KEY", "M.uFL(R Bw5UkRw%P&+>E*jJZBikz3-OV7sO*-_g*(9z,PnM,T&LPAE");
define("NONCE_KEY", "d2A~8NBb%2?+6`z)?nWoD0`f]-.gUOC);

Робимо таблиці більш захищеними:

$table_prefix = "wp_4i32aK_"; // Використовуйте лише літери, числа та символи підкреслення, щоб зробити свій table_prefix унікальним. Принаймні це захистить Вас від частини public експлоїтів.

1.3. Створюємо користувача та базу даних для блогу в консолі MySQL:
Спочатку заходимо під root'ом і створюємо базу даних для блогу:

$ mysql -u root
mysql> CREATE database wpdb;

$ mysql -u root
mysql> CREATE database wp433Fd6HW;
Query OK, 1 row affected (0.00 sec)

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

mysql>
-> ON wpdb.*
-> TO "wpuser"@"localhost"
-> IDENTIFIED BY "strongpassword"; Query OK, 0 rows affected (0.01 sec)

У нашому прикладі це виглядатиме так:

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
-> ON wp433Fd6HW.*
-> TO "UserFB56SKl"@"localhost"
-> IDENTIFIED BY "FE876!8e#fh#9fDfds9f";
Query OK, 0 rows affected (0.01 sec)

1.4. Приберіть блок meta з коду вашої теми
У стандартній темі шматок коду, що відповідає за виведення блоку meta:

  • Meta





    • Valid XHTML

    • XFN

    • WordPress



  • 2. Після інсталяції

    2.1. Змінюємо пароль Адміністратора за замовчуванням
    Змініть згенерований на етапі встановлення пароль Адміністратора

    2.2. Видаляємо версію WordPress

    remove_action ("wp_head", "wp_generator");

    У файлі header.php у папці з Вашою темою видаляємо рядок:

    " />

    Для WordPress версії 2.8.4 знаходимо імплементацію функції get_the_generator($type) та змінюємо її:

    function get_the_generator($type) (
    $gen = "";
    return apply_filters("get_the_generator_($type)", $gen, $type);
    }

    2.3. Порожній index.php
    Помістіть у папки wp-includes/, wp-content/, /plugins/ порожній файл index.php

    2.4. Змінюємо ім'я користувача Admin на щось більш неочевидне
    Змінюємо ім'я через MySQL консоль:

    wp $ mysql -u UserFB56SKl -p
    mysql> use wp;
    UPDATE wp_users SET user_login="adm" where user_login="admin";

    У нашому прикладі це виглядатиме так:

    wp $ mysql -u wpuser -p
    mysql> use wp433Fd6HW;
    UPDATE wp_4i32aK_users SET user_login="adm234Df" where user_login="admin";
    Query OK, 1 ряд зафіксований (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0

    Або, якщо не хочете копатися із запитами, можна зробити таке:

    1. Створіть новий обліковий запис. Ім'я користувача має бути унікальним;
    2. Призначте новому користувачеві роль Адміністратора;
    3. Перелогінтесть як новий Адміністратор;
    4. Видаліть облік старого Адміністратора.

    2.5. Створюємо нові ролі користувачів
    Для цього необхідно спочатку встановити на Ваш блог плагін. Цей плагін надасть Вам можливість скрупульозно та точково встановлювати права користувачів. Після активації плагіна Вам спочатку потрібно створити користувача для себе. Видаліть усі права користувача і потім уважно виберіть лише ті права, які знадобляться Вам для щоденної активності (писати пости, модерувати коментарі тощо). Переконайтеся, що тільки адмінський обліковий запис має привілеї для активації / дезактивації плагінів, завантаження файлів, керування опціями, перемикання тем, імпорт і т.д.
    Якщо у Вашому блог буде розрахований на багато користувачів, то необхідно подумати про те, які права дійсно потрібні користувачам і створити на основі цього свої власні ролі.
    Під час створення ролей будьте обережні, роздаючи користувачам такі права як: аплоад файлів, доступ до редагування вихідного коду плагінів, активації плагінів, редагування файлів/постів/сторінок, імпорт, нефільтрований HTML, оскільки ці ролі дають користувачам великі повноваження.

    2.6. Обмежуємо доступ до папок wp-content та wp-includes
    За допомогою файлу.htaccess і спеціальних правил, ми заборонимо все, крім запитів на картинки, CSS та JavaScript. Файли.htaccess необхідно покласти з відповідної директорії.

    Order Allow, Deny
    Deny from all

    Allow from all

    Ви також можете додати специфічні PHP файли для певних шаблонів та плагінів.

    2.7. Ховаємо директорію wp-content
    Починаючи з WordPress 2.6, з'явилася можливість перемістити директорію wp-content.
    Змінюємо у wp-settings.php рядки:

    define("WP_CONTENT_DIR",$_SERVER["DOCUMENT_ROOT"]."/blog/wp-content");
    define("WP_CONTENT_URL","http://domain.ru/blog/wp-content");

    І щоб не було проблем із плагінами:

    define("WP_PLUGIN_DIR",$_SERVER["DOCUMENT_ROOT"]."/blog/wp-content/plugins");
    define("WP_PLUGIN_URL","http://domain.ru/blog/wp-conten/plugins");

    2.8. Обмежуємо доступ до папки wp-admin
    Якщо у Вас статичний IP
    Цей крок легко здійснимо для однокористувацького блогу, але може принести справжній головний біль для розрахованого на багато користувачів варіанта. Цей трюк підходить тільки якщо у Вас статичний IP. Файл.htaccess для директорії wp-admin повинен містити такі правила:

    AuthUserFile /dev/null
    AuthGroupFile /dev/null
    AuthName "Example Access Control"
    AuthType Basic

    order deny,allow
    deny from all
    allow from a.b.c.d. #Ваш статичний IP

    Покладіть файл у каталог wp-admin і спробуйте зайти в цю папку через проксі. Якщо все працює правильно, доступу буде відмовлено. Після цього спробуйте зайти зі свого IP.

    Обмежуємо доступ за паролем
    Більш кращим може бути доступ до папки wp-admin за паролем. А це означає, що Ви можете заходити до адмінської панелі, звідки завгодно. Також це варіант, якщо у Вас є динамічний IP.
    Файл.htaccess для директорії wp-admin повинен містити такі правила:

    #Файл.htpasswd знаходиться за межами root директорії Вашого блогу

    ErrorDocument 401 default
    AuthUserFile /srv/www/user1/.htpasswd
    AuthType Basic
    AuthName "WordPress Dashboard"

    require user adminuser #Створіть сек'юрний username


    require valid-user

    Згенеруйте пароль командою:

    $ htpasswd -cm .htpasswd adminuser

    Або для генерації пароля скористайтеся сервісом. Ось приклад для user: admin, password: test

    admin:$apr1$t3qLL...$uUmj9Wm/WbJk7YNza6ncM/

    Файл.htpasswd краще розташувати директорією вище за корінь блогу.

    2.9. Файл wp-config.php
    Варіант перший: для захисту Ваших даних необхідно перекинути на папку вище, WordPress автоматично перевірить директорію вище, якщо не знайде в корені wp-config.php.
    Якщо з якихось причин Ви не можете зробити те, що описано вище, існує ще один варіант. А саме – захистити Ваш wp-config.php за допомогою. htaccess:

    # protect wpconfig.php

    Order deny,allow
    deny from all

    2.10. Встановлюємо правильні права на файли та папки
    Основне правило:

    1. Для файлів – 644
    2. Для папок – 755

    З шелла ці операції можна зробити за допомогою:

    cd
    find (your path) -type d -exec chmod 755 '()' \
    find (your path) -type f -exec chmod 644 '()' \

    2.11. SSL для адмінів
    Якщо ваш сервер підтримує SSL, то краще зробити доступ до адмінки захищеною. Для цього у файлі wp-config.php заберіть коментарі у рядку:

    define('FORCE_SSL_ADMIN', true);

    2.12. Видалити виведення логів WordPress
    У файлі functions.php у папці з Вашою темою додаємо рядок:

    add_filter("login_errors",create_function("$a", "return null;"));

    2.13. Забороняємо індексацію за допомогою Robots.txt
    Перевірити правильність можна за адресою

    2.14. Плагіни для Вашої безпеки
    Login LockDown- Встановлюємо кількість хибних логінів
    Для цього є два рішення у вигляді плагінів and . Після того, як плагін активований, він записує всі спроби залогінитись. Плагін дозволяє заборонити відвідувачу логінуватися певний час, після того, як відвідувач кілька разів неправильно ввів пароль.

    Belavir– Слідкуємо за змінами у ключових php файлах

    WPIDS- Визначаємо ознаки впровадження

    WordPress Online Security Scanner- Скануємо блог на вразливості

    Akismit- Протиборство СНІДу Спаму

    SpamBam– Чи визначаємо валідний чи браузер користується клієнт

    3. Періодичні перевірки та оновлення

    3.1. Слідкуйте за оновленням WordPress
    3.2. Слідкуйте за оновленням плагінів
    3.3. Слідкуйте за оновленнями безпеки

    3.4. Перевіряйте код теми та плагінів, які Ви хочете додати, на «дірявість»
    3.5. Боріться зі спамом
    3.6. Регулярно робіть повний backup бази даних Вашого блогу
    3.7. Читайте девелоперські блоги
    Невеликий список:

    Більшість людей думають, що їхній веб-сайт WordPress був безпечний тільки тому, що він не має будь-якого контенту, який варто зламати. На жаль, це негаразд. Сайти часто зламують, наприклад, для поширення спаму. Або ядро ​​та файли теми заповнені шкідливим кодом, щоб заразити та зламати комп'ютери вашого відвідувача сайту. Цілком можливо, що ви тільки помітили пошкодження, коли Google або Yandex вже помітили ваш сайт або видалили його з індексу. Не дозволяйте цьому статися, та розгляньте мої поради для ідеального wp-config.php.

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

    Для оптимізації wp-config.php використовуються так звані константи. WordPress має багато констант, які можна використовувати. Але що таке константа? PHP.net описує константи наступним чином:

    Константа є ідентифікатором (назвою) для простого значення. Як випливає з назви, це значення не може змінюватися в ході виконання скрипта (для магічних констант, які не є насправді, крім константи). Константа чутлива до регістру за умовчанням. За згодою, постійні ідентифікатори завжди у верхньому регістрі.

    Константи вбудовані функції define(), і виглядають так: define("NAME_OF_THE_CONSTANT", value);

    wp-config.php є файлом управління для WordPress. Він завантажується раніше за всіх інших файлів, оскільки WordPress має налаштувати підключення до бази даних. Необхідна інформація міститься у конфігураційному файлі. При зміні значення константи, або додавання константи, можна також змінити поведінку WordPress.

    До роботи: будь ласка, створіть резервну копію wp-config.php

    Перед тим, як братися за редагування файлу wp-config.php, створіть резервну копіюцього файлу. Ваш сайт не працюватиме з неправильними або відсутніми записами.

    Важливо: Завжди робіть оновлення WordPress та плагінів

    Ви, мабуть, чули це вже кілька разів. Але цей аспект настільки важливий, що я не можу повторювати це досить часто. Тони сайтів зламали, тому що WordPress або модулі, що підключаються, не були оновлені. Оновлення найкраща страховка від злому!

    Ситуація у сфері безпеки:

    Фахівців у галузі безпеки Sucuri в даний час попереджають про нестачу безпеки у популярному плагіні Jetpack для WordPress. Шкідливий код може бути реалізований за допомогою шорткод-вбудованої-функції. Automattic дійсно реагуватимуть незабаром і випустять нову версію.

    Як закрити пролом в безпеці на даний момент:

    Якщо ви будете використовувати , ви не в небезпеці. Там великий брандмауер 6G, який може парирувати цей тип атак.

    Підготовка:

    Для всіх наступних робіт вам знадобиться програма , а також редактор HTML. wp-config.php завантажується на робочий стіл і редагується в HTML-редакторі, і завантажується назад на сервер.

    1 – Використовуйте ключі безпеки

    Ключі безпеки WordPress мають вирішальне значення, як шифрувати такі речі, як інформацію для входу в куки. Навіть якщо у вашому wp-config.phpвже є, заміна їх через деякий час не може зашкодити. Коли ключі змінюються, всі користувачі виходять зі своїх сайтів. Після цього ви зможете заново увійти до системи, використовуючи ім'я користувача та пароль.

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

    Якщо ви ще не реалізували ключі безпеки, то це підходящий час, щоб зробити це.

    Додаткова інформація:

    2 – примусове використання HTTPS

    Сертифікат SSL шифрує з'єднання між вашим сайтом та браузерами відвідувача. HTTPS робить неможливим для хакерів пастку та крадіжки персональних даних. Якщо ви вже маєте сертифікат SSL для вашого сайту, ви можете примусово використовувати HTTPS замість HTTP. Це збільшує безпеку вашого сайту значно. Якщо у вас немає SSL-сертифіката, тим не менш, ви повинні серйозно розглянути можливість використання одного.

    Ви не повинні боятися великих витрат, оскільки .

    Наступні записи повинні використовуватися, коли ваш сайт вже використовує SSL. Верхній вхід призначений для захищеного входу в систему, в той час, як найнижчий змушує браузер, змушує використовувати лише SSL.

    У кожній установці WordPress можна відредагувати тему та файли плагіна безпосередньо в зоні адміністратора. У пунктах меню “Зовнішній вигляд” та “Плагіни” ви знайдете відповідний редактор для кожного файлу. Цей редактор дуже небезпечний, якщо потрапить до хакерів. Дані можуть бути знищені, і віруси, трояни, спам та інші шкідливі програми можуть бути додані. Але редактор також має важливе значення для адміністратора веб-сайту. Єдина помилка, одна точка з комою відсутня все, що потрібно для горезвісних білих сторінок, щоб показати, і нічого не працюватиме більше.

    3 – Зміна префікса бази даних

    Приставка бази даних також відома під маркою префікс таблиць. Цей префікс використовується як розширення кожної таблиці бази даних, породженого WordPress. Тут стандарт wp_. Цей стандарт повинен бути змінений на щось інше. Чим більше загадковими, тим краще. Не хвилюйтеся; Вам не потрібно пам'ятати, що ви вводили тут. Це значення міститься один раз.

    Думаючи звідси, можливість ін'єкції SQL знижується до нуля. Але це можливо. Таким чином, змініть значення перед встановленням WordPress. Використовуйте щось на зразок fdf2a7r_наприклад.

    Увага: Якщо ви зміните значення існуючої установки WordPress, веб-сайт не буде доступний!

    Якщо ви бажаєте змінити префікс таблиць існуючого сайту WordPress, плагін Acunetix WP Security може допомогти вам. Він дозволяє змінювати значення легко, і все, що вам потрібно зробити, знову ввійти в систему. Тим не менш, ви все одно повинні створити резервну копію заздалегідь.

    4 – Вимкнути редактори плагінів та теми

    Зміни в темі або файлах плагінів, як правило, здійснюється за допомогою (S) FTP, оскільки це набагато безпечніше. Таким чином, редактори мають бути вимкнені. Одного рядка в wp-config.php достатньо, щоб безпечно відключити обидва редактори:

    5 – Перемістити wp-config.php

    wp-config.php є серцем вашого сайту. Усі відповідні дані, у тому числі паролі бази даних, вводяться туди. Ось чому дуже важливо зберегти цей файл якомога безпечнішим. Існують два підходи для цього. Перший блок доступу за допомогою .htaccess файлу. Другий підхід переміщає файл в інше місце, де хакер не чекатиме його.

    • Переміщення може бути проблематичним, якщо сайт знаходиться на суб-домені, і ви використовуєте дешевий віртуальний хостинг.
    • Це також може стати жорстко, якщо у вас є багато веб-сайтів у власних каталогах. Якщо жодна з пунктів відноситься до вас, ви можете перемістити файл.
    Якщо ви налаштували шлях WP-config.php правильно, ваш сайт повинен працювати.

    6 – форсує використання FTPS

    Якщо ваш веб-хостинг активував протокол передачі файлів Secure (FTPS), можна примусово використовувати FTPS для передачі файлів. Він шифруватиме зв'язок між відвідувачем та сервером. Тепер неможливо отримати доступ до даних на сервері з небезпечного протоколу . FTP є небезпечним, тому що доступ до інформації передається на сервер у незашифрованому вигляді. Таким чином, якщо можливо, використовувати тільки безпечне з'єднання через FTPS. Ваш веб-хостинг може сказати вам, якщо підключення FTPS можливо.

    Примус використання FTPS, це просто:

    7 – примусове використання SFTP

    Замість протоколу FTPS деякі хостери активували протокол SFTP для передачі даних. Тут зв'язок між програмою FTP і сервером також шифрується. Наступний рядок коду дозволяє примусово використовувати SFTP:

    8 – Вимкнення режиму налагодження

    Якщо ви включили режим налагодження WordPress з метою розвитку, життєво важливо, щоб його вимкнути. У деяких випадках режим активного налагодження може передати конфіденційні дані, які можуть допомогти хакерам робити свою справу. Саме тому режим налагодження активується надзвичайно небезпечно на живій системі. Я зробив це маленькою, тупою помилкою; люди швидко забувають речі. Ось чому ви повинні оперативно вжити заходів, щоб перевірити. Вимкнути режим налагодження:

    9 – Вимкніть індикацію помилок PHP

    Якщо з якоїсь причини вам потрібен режим налагодження, щоб він був активований, я рекомендую вимикати публічний показ повідомлень про помилки. Відповідні повідомлення про помилки також можуть бути записані в журнал, недоступний для широкого загалу. Це набагато безпечніше, і елегантніший варіант. Ця константа потрібна для виходу з режиму WordPress помилок, а також заборонити відображення помилки стороннім особам:

    10 – Увімкнення функції автоматичного оновлення

    Як я вже згадував раніше, негайно оновити ядро ​​WordPress, і всі плагіни, це має вирішальне значення для забезпечення безпеки системи. З кожним випуском нової версії WordPress прогалини безпеки своїх попередників викладають в інтернет. Це дає хакеру міцний фундамент, щоб мати змогу зламати ваш сайт. Таким чином, ці недоліки мають бути усунені якнайшвидше.

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

    До речі, це також можна оновлювати автоматично за допомогою плагінів. Проте це пов'язано з невеликою кількістю роботи. Це вимагає створення плагіна:

    Цей плагін повинен бути переміщений до папки /wp-content/mu-plugins/. Якщо папка не існує, просто створіть її. Папка /mu-plugins/ містить плагіни, що використовуються. Його вміст завантажується всіма іншими плагінами.

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

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

    Додаткова інформація:

    Висновок

    Всі ці аспекти разом вже підвищать безпеку WordPress набагато і повинні бути частиною хорошої стратегії безпеки. Той факт, що WordPress є найпопулярнішою у світі системи керування контентом, приваблює багатьох хакерів. Ситуацію можна порівняти з комп'ютером Windows. В операційній системі Windows встановити антивірусне програмне забезпечення, і WordPress займає трохи ручної роботи. Але виграш у безпеці, безумовно, вартий цього.

    • Переклад

    Адміністративна зона будь-якого веб-програми давно стала улюбленою мішенню для хакерів і її безпека надзвичайно турбує розробників. Це стосується і WordPress - при упорядкуванні нового блогу система створює обліковий запис адміністратора з унікальним випадково згенерованим в реальному часі паролем, чим блокує загальний доступ до налаштувань системи, контролюючи його за допомогою сторінки авторизації.

    Ця стаття сфокусована на питаннях посилення безпеки WordPress - як адміністративної панелі, так і налаштувань блогу, маючи на увазі весь вміст папки "wp-admin", яке відображається тільки після авторизації. Ми свідомо виділили фразу після авторизації- Ви повинні чітко усвідомлювати, що тільки один простий запит відокремлює «злого хакера» і адмінку всього вашого блогу або сайту! А остання захищена настільки сильно, наскільки потужний пароль ви вибрали.

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

    1. Перейменуйте папку Wordpress.

    Починаючи з версії 2.6, можна змінити шлях до папки wp-content. На жаль, це досі не застосовується до папки. wp-admin. Блогери, які думають про безпеку змирилися з цим і стали сподіватися, що це стане можливим у майбутніх версіях. Поки цього не сталося, пропонуємо скористатися наступним альтернативним вирішенням проблеми. Після розпакування архіву з файлами WordPress, ви побачите папку WordPress - перейменуйте папку (в ідеалі на щось незрозуміле на зразок " wordpress_live_Ts6K" ) і після цього налаштуйте відповідним чином файл wp-config.php, що знаходиться в кореневій директорії.
    Що нам дасть цю зміну?
    • По-перше, всі файли WordPress не будуть змішані з іншими файлами на корені сайту, таким чином ми підвищимо ясність кореневого рівня.
    • По-друге, безліч копій WordPress може бути встановлено паралельно до папок з різними іменами, виключаючи їх взаємодію, що робить це ідеальним для тестування
    • Третя перевага безпосередньо стосується безпеки: адміністративна зона (і весь блог загалом) більше не знаходиться в кореневій папці і для проведення будь-яких дій зі злому спочатку її потрібно буде знайти. Це проблемно для людей, але щодо ботів - питання часу.

    Декілька встановлених версій в root-каталозі - це можливо!

    Примітка:Якщо системні файли WordPress більше не в кореневій директорії, і ім'я папки інсталяції змінено відповідно до рекомендацій, описаних вище, блог все одно буде доступний за адресою wp-config.ru. Чому? Зайдіть у розділ «Загальні налаштування (General settings)» вашого блогу та введіть у поле «WordPress address (URL)» реальну адресу блогу на сервері, як показано в прикладі:

    Адреса блогу має бути красивою та ненав'язливою

    Це дозволить блогу відображатися за гарною віртуальною адресою.

    2. Удосконаліть файл wp-config.php

    Конфігураційний файл WordPress wp-config.phpмістить деякі налаштування сайту та інформацію для доступу до бази даних. Також там інші налаштування щодо безпеки (вони представлені в списку нижче). Якщо таких значень у цьому файлі немає, або є лише встановлені за замовчуванням, вам необхідно, відповідно, додати або змінити їх:
    • Ключі безпеки:починаючи з версії 2.7, WordPress має чотири ключі безпеки, які повинні бути правильно встановлені. WordPress рятує вас від необхідності вигадувати ці рядки самому, автоматично генеруючиправильні ключі з погляду безпеки. Вам просто потрібно вставити ключі у відповідні рядки файлу wp-config.php.Ці ключі є обов'язковимидля забезпечення безпеки вашого блогу.
    • Префікс таблиці заново встановленого WordPress блогу не має бути стандартним "wp_"Чим складнішим буде значення префікса, тим менш ймовірна можливість несанкціонованого доступу до таблиць вашої MySQL бази даних. Погано: $table_prefix = "wp_"; . Набагато краще: $table_prefix = "wp4FZ52Y_"; Не варто боятися забути це значення – вам необхідно ввести його лише один раз, більше воно вам не знадобиться.
    • Якщо у вас на сервері є SSL шифруваннярекомендується включити його для захисту адміністративної зони. Це можна зробити, додавши наступну команду у файл wp-config.php: define("FORCE_SSL_ADMIN", true);
    Також можна регулювати інші системні налаштування в конфігураційному файлі. Чіткий та вичерпний список доступних налаштувань доступний на сторінці Кодексу

    Не забудьте встановити правильні ключі безпеки!

    3. Перемістіть файл wp-config.php

    Також починаючи з версії 2.6 WordPress дозволяє переміщати файл wp-config.phpна вищий рівень. Через те, що цей файл містить у собі набагато важливішу інформацію, ніж будь-який інший, і тому що завжди набагато складніше отримати доступ до кореневої папки сервера, має сенс зберігати його не в тій же директорії, де й інші файли. WortdPress автоматично звернеться до вищої папки у пошуку файлу wp-config.php. Будь-які спроби користувачів самим налаштувати шлях марні.

    4. Захистіть файл wp-config.php

    Не всі сервери ISP дозволять вам передавати дані на більш високі рівні, ніж коренева директорія. Інакше кажучи, не в усіх вистачить прав реалізації попереднього кроку. Або з інших причин: наприклад, якщо у вас кілька блогів, при певній структурі папок вам не вдасться покласти в корінь усі файли, тому що їхні імена збігатимуться для кожного з блогів. У цьому випадку ми можемо заборонити доступ до файлу wp-config.phpззовні за допомогою файлу .htaccess. Ось код для цього:

    # protect wpconfig.php
    Order deny,allow deny from all

    Дуже важливо переконатися, що файл .htaccessзнаходиться в тій же директорії, що і файл wp-config.php.

    5. Видаліть обліковий запис адміністратора.

    Під час процесу встановлення WordPress створює обліковий запис адміністратора з ніком «admin» за промовчанням. З одного боку це цілком логічно, з іншого боку - користувач з відомим ником, тобто. ID - 1, що має адміністративні права, є цілком передбачуваною мішенню для хакерів з їх програмами підбору паролів. Звідси випливає наша порада:
    • Створіть ще одного користувача з адміністративними правами та вашим ніком.
    • Завершіть сеанс роботи.
    • Залогіньтесь під новим акаунтом.
    • Видаліть обліковий запис " admin".
    Якщо у вас не новий блог і під обліковим записом adminви вже публікували пости або коментарі, то із запропонованих варіантів у момент видалення, виберіть пункт «Зв'язати всі записи та посилання з:» та виберіть ім'я нового користувача:

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

    6. Виберіть пароль.

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

    Найчастіше саме паролі є найслабшою ланкою в цьому ланцюзі. Чому? Способи вибору пароля у більшості користувачів часто необдумані та безтурботні. Багато проведених досліджень показали, що більшість паролів - односкладові існуючі слова, набрані малими літерами, які не складно підібрати. У програмах підбору паролів існують навіть списки найчастіше використовуваних паролів.

    У WordPress реалізований інтуїтивно зрозумілий індикатор стійкості паролю, що набирається, який показує кольором його рівень складності:

    7. Захистіть папку "wp-admin".

    Наслідуючи прислів'я «дві голови краще за одну», існує спосіб вдвічі посилити захист адміністративної зони. Захист регулюється файлом .htaccess, який має перебувати в папці "wp-admin"разом із файлом .htpasswd, який зберігає логін та пароль користувача. Після звернення до папки вам потрібно буде ввести логін і пароль, але різниця в тому, що в цьому випадку авторизація контролюється на стороні сервера, а не силами WordPress.

    Для того щоб просто та швидко згенерувати файли .htaccessі .htpasswd, скористайтесь цим сервісом .

    8. Забороніть відображення помилок на сторінці авторизації.

    Сторінка авторизації WordPress - це двері до адміністративної зони вашого блогу, яка стає доступною після безпомилкового проходження верифікації. У кожного користувача існує нескінченна кількість спроб авторизації, і щоразу за умовчанням послужливий WordPress вказує, у чому саме була помилка. Тобто, якщо введений логін виявиться неправильним – WordPress так і скаже. Це зручно для користувача, а також для хакера.

    Неважко здогадатися, як швидко скорочується ймовірність підбору комбінації логіну/паролю, коли система вказує, що саме введено неправильно. Простий рядок коду, допоможе вирішити цю проблему, достатньо додати її до файлу functions.phpвашої теми:

    Add_filter("login_errors",create_function("$a", "return null;"));

    Початковий/змінений вид сторінки авторизації.

    9. Обмежте кількість невдалих спроб авторизації.

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

    Хочу зауважити, останнім часом до мене надходило менше запитів щодо налаштування безпеки, усунення загроз та вірусів. І на форумах створювалося менше подібних тем.

    Чи то якість коду стабілізувалася, чи то власники сайтів посилили свою відповідальність. Сподіваюся, що вплинули обидва фактори.

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

    Причини зламів практично зводяться до двох речей:

    • занедбані та непідтримувані плагіни- Вам завжди потрібно інсталювати оновлення;
    • пов'язане з паролями та правами— це потрібно один раз правильно налаштувати та дотримуватися;

    Кожен сайт схильний до злому, тому єдиний спосіб себе по-справжньому убезпечити — створити бекап.

    Серйозно.

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

    Буквально, нещодавно поламав медіафайли в результаті дурних експериментів, але з наявністю копії базу вдалося відновити за пару хвилин.

    Як налаштувати розклад залежить від того, що і як часто змінюється конкретно на вашому веб-сайті.

    Не вмикайте зайвий код

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

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

    Хорошими питаннями можуть бути:

    • Як я можу відмовитись від цього нового плагіна?Можливо, ви побачите альтернативні варіанти або зовсім відсутність необхідності його використовувати.
    • Навіщо мені насправді необхідний цей плагін? Які переваги я отримаю з використання?

    Для повнофункціональної роботи сайту достатньо мати близько десяти найнеобхідніших плагінів (куди входять сео плагін, плагін захисту сайту, плагін кешування, антиспам, форма контактів, і може бути кілька специфічних плагінів для структури вашого сайту або його змісту).
    Якщо на сайті встановлені 30-50 плагінів, то ви явно робите щось не те.

    Також недостатньо просто деактивувати плагіни, що не використовуються, — найкраще їх повністю видалити. Разом з темами, що не використовуються.

    Дотримуйтесь простого, але ефективного принципу:

    Менше коду, менше проблем.

    Не давайте іншим учасникам права, що перевищують їхні обов'язки

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

    Обмежуйте ролі, які ви надаєте людям. Якщо ви хочете, щоб людина просто опублікувала статтю, для цього зовсім не потрібний адміністраторський обліковий запис.
    Але трапляються випадки, коли вам дійсно потрібно надати повні права. Наприклад, ви попросили фрілансера змінити код на сайті.
    У цьому випадку відразу після завершення роботи згенеруйте новий сильний пароль, а також створіть новий секретний ключ для WordPress, щоб повністю почистити робочі cookie.

    Оновлюйте сайт та плагіни

    На початку цієї статті вже зазначив цю проблему як основне джерело загрози для роботи сайту.

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

    Якщо у вас встановлено не 30-50 плагінів, процес оновлення не займає багато часу, і зазвичай трапляється 2-3 рази на місяць. Справедлива ціна спати спокійно.

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

    Така ж «котовасія» відбувається з преміум темами, які включають додаткові преміум плагіни на кшталт Visual composer, Revolution slider, Layer slider і так далі.

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

    Це часта ситуація, тому приділіть увагу двом речам:

    • зробіть дочірню тему- Хвилинна справа, але допомагає надалі легко оновлюватися;
    • намагайтеся якомога не правити багато коду в темі— якщо це необхідно, чи може краще написати додатковий функціонал?

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

    Встановлюйте сильні паролі

    Сильні паролі допомагають уникнути brute-force атаки, тобто вгадування вашого пароля. Якщо ваш пароль містить всього 3-4 символи, і при цьому ви використовуєте логін admin, то ваш сайт можна зламати менш ніж за 1 хвилину! Подумайте про це.

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

    Звичайно, такий пароль не просто придумати, тим більше його запам'ятати та використати. Тут вам на допомогу прийдуть автоматизовані програми: 1password, keepass, lastpass. Виберіть одне, і надайте їм піклуватися про збереження паролів.

    Користуйтеся довіреними джерелами

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

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

    Тому що код цього плагіна ніяк не перевірявся на працездатність та вразливість, як це робиться командою розробників та спільнотою на сайті https://wordpress.org/plugins/, і, швидше за все, він може містити ризикований код навіть без усякого наміру з боку його автора .

    Як міра підвищення безпеки WordPressвстановлюйте плагіни та теми з офіційного репозиторію, або зі сховищ дуже великих компаній, у бездоганності та репутації яких ви впевнені.

    Увімкніть антивірус на комп'ютері

    Без хорошого антивірусу мабуть немислима безпечна робота на комп'ютері. Я не радитиму один з них, але хорошим правилом буде використовувати відомий бренд, і бажано з повним набором послуг.
    Хороший антивірус самостійно оновлює свій код та антивірусні бази, тому вам практично не потрібно буде стежити за його роботою.

    Не вводьте паролі в публічних зонах Wi-Fi

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

    Використовуйте зашифрований спосіб передачі. Створіть і налаштуйте SSL сертифікати для вашого сайту, ви будете спокійні, знаючи, що захистили ваш сайт і дані ваших користувачів.

    Захищені файли та системні каталоги

    • Правильні права на файли та каталоги

    Виставте права 644 на файли і 755 на каталоги, тобто запис доступний тільки для власника - для вас. Це знижує ризик потенційної загрози, особливо у віртуальному хостингу.
    Ви можете вручну змінити права через панель керування хостингу, або через ftp клієнт.

    Якщо ви маєте доступ до shell, ви можете призначити права двома командами.

    Для каталогів:

    Find /шлях_вашої_папці_wordpress/ -type d -exec chmod 755 () ;

    Для файлів:

    Find /шлях_вашої_папці_wordpress/ -type f -exec chmod 644 () ;

    • Захист важливих файлів і каталогів (wp-admin/, wp-config.php, wp-login.php, wp-includes)

    Захист /wp-admin/.
    На цю адресу відкривається консоль управління вашого сайту.

    На деяких хостингах, ви можете прямо на панелі керування створити пароль до цієї папки

    Або ви можете зробити це вручну.
    Для цього вам потрібно скористатися генератором файлу htpasswd , потім скопіювати отриманий файл на ваш сервер, наприклад, у каталог вище за вашу установку wordpress.

    Фінальним кроком вам потрібно створити або відкрити файл.htaccess у кореневій папці вашого сайту, і вписати в нього наступний код:

    AuthName "Wordpress Console" AuthUserFile /шлях_вашого_файлу/htpasswd AuthGroupFile /dev/null AuthType basic require user username

    Замініть потрібні значення.

    Захист файлу wp-login.php.

    Якщо вам потрібно обмежити вхід за адресами ip, впишіть наступні директиви у файл.htacesss:

    Order deny,allow Deny from all Allow from xxx.xxx.xxx.xxx

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

    Захист файлу wp-config.php.

    Перенесіть цей файл з вашої кореневої папки Wordpress до папки на рівень вище. Виставте права на файл 400 або 440, таким чином будуть доступні лише права читання для вас і для вашого сервера.

    Якщо ви не можете перенести файл, увімкніть у верхній.htaccess наступний код, що повністю заборонить звернення до wp-config.php:

    Order allow,deny deny from all

    Захист wp-includes/.

    Щоб ще більше підвищити безпеку WordPress, ви можете обмежити виконання
    скриптів у папці wp-includes/. Внесіть в.htaccess наступний код:

    RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - RewriteRule !^wp-includes/ - RewriteRule ^wp-includes/[^/]+.php$ - RewriteRule ^wp-includes/js/tinymce/langs/. .php - RewriteRule ^wp-includes/theme-compat/ -

    Якщо у вас режим мультисайту, закоментуйте рядок

    "RewriteRule ^wp-includes/[^/]+.php$ - "

    Не дозволяти пошуковим роботам обробляти службові сторінки

    Перевірте файл robots.txt.

    User-agent: * Disallow: /feed/ Disallow: /trackback/ Disallow: /wp-admin/ Disallow: /wp-content/ Disallow: /wp-includes/ Disallow: /xmlrpc.php Disallow: /wp-

    Все це службові папки Wordpress, які пошуковик не повинен індексувати.

    Сховайте версію Wordpress від потенційних хакерів

    Інформація про версію знаходиться в заголовку та в RSS фідах:

    Щоб прибрати її звідти, вам потрібно включити наступний код файлу functions.php активної теми:

    Function wp_remove_version() ( return ""; ) add_filter("the_generator", "wp_remove_version");

    Змініть ім'я адміністраторського облікового запису

    За промовчанням WordPress створює обліковий запис під ім'ям adminщо спрощує можливість злому за допомогою brute-force атаки. Вам обов'язково потрібно змінити його.

    Для цього зайдіть у вашу базу даних за допомогою програми phpmyadmin, знайдіть таблицю wp_users(Префікс може відрізнятися), там будуть записи з обліковими даними. Відкрийте обліковий запис користувача admin для редагування.

    В полі user_loginзмініть значення adminна ваш новий уподобаний логін і натисніть Go.

    Змініть префікс бази даних

    Якщо ви встановили CMS із панелі керування хостингу, висока ймовірність, що на сайті вже змінений префікс. Для цього також є готові плагіни, але можна зробити і вручну.

    1. Зробіть бекап вашої бази даних через phpmyadmin;
    2. Відкрийте файл у простому текстовому редакторі та замініть префікс wp_ на значення вашого нового префікса;
    3. Деактивуйте всі ваші плагіни;
    4. Видаліть стару базу даних та імпортуйте ту, що з новим префіксом;
    5. Змініть налаштування бази даних у файлі wp-config.php для використання нового префікса;
    6. Активуйте потрібні плагіни;
    7. Оновіть ЧПУ/Постійні посилання.

    Увімкніть SSL на сайті

    Якщо ви отримали сертифікат SSL, увімкніть підтримку SSL у файлі wp-
    config.php:

    Define("FORCE_SSL_LOGIN", true); define("FORCE_SSL_ADMIN", true);

    На цьому сайті діє сертифікат від Cloudflare, який видається безкоштовно, але потрібно підключити та налаштувати цей сервіс.

    Обмежте кількість спроб входу

    Якщо ви помітили в логах сервера активну brute-force атаку, ви можете її запобігти, обмеживши кількість спроб входу за допомогою плагіна Limit Login Attempts .

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

    Забороніть редагування файлів плагінів і тем у консолі керування

    Якщо ви не користуєтеся редагуванням файлів з адмінки, можете вимкнути цей функціонал для підвищення безпеки сайту. Запишіть у файл wp-config.php рядок:

    Define("DISALLOW_FILE_EDIT", true);

    Якщо ваш сайт зламали

    1. Вимкніть сайт
    2. Повідомте провайдера, можливо заражені інші сайти
    3. Зробіть бекап сайту
    4. Змініть усі паролі у файлі wp-config.php
    5. Перевстановіть WordPress, таким чином файли движка заміняться свіжими копіями
    6. Перевстановіть теми та плагіни заново, щоб переконатися, що в них не залишився шкідливий код
    7. Ви також можете використовувати доступні плагіни для пошуку потенційного шкідливого коду.

    Пам'ятайте, якщо зломщики вкрали ваш пароль і зайшли на сайт, то навіть після зміни пароля, вони все ще можуть залишатися в системі, тому що діють робочі cookie. Щоб їх вимкнути, потрібно створити новий секретний ключ. Відкрийте

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

    Ось кілька пропозицій, як підвищити інформаційну безпеку для веб-сайту на WordPress.

    Розробники платформи пропонують власний список заходів для забезпечення захисту сайтів на WordPress, з яким рекомендуємо обов'язково ознайомитися. Звичайно, деякі з цих рекомендацій повторюватимуться нижче, але зайві практичні поради та інструкції не завадять, коли йдеться про безпеку даних.

    Створіть окремий обліковий запис із правами редактора

    Коли ви пишете або редагуєте повідомлення в блозі, "ім'я автора" відображається в нижньому лівому куті браузера, якщо навести курсор на ім'я автора в публікації. Якщо ваше ім'я автора збігається з ім'ям адміністратора, ви зробили за хакерів половину роботи з успішного злому свого сайту.

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

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

    Не використовуйте прості паролі

    Запам'ятайте просте слово СУД Складний, Унікальний, Довгий. Тут вступають у гру інструменти на зразок 1Password або LastPass, які генерують паролі встановленої вами довжини. Залежно від того, який рівень захисту ви хочете отримати, вибирається довжина пароля в знаках (зазвичай вистачить 20 знаків) і включаються такі символи, що рідко використовуються, як # або *.

    "123456" - це не пароль. "qwerty" рівнозначно тому, що ви напишете на банківській карті її пін-код. Навіть «starwars» увійшов до списку 25 найпоширеніших паролів 2015 року. Пам'ятайте, ви не такі унікальні, як думаєте.

    Додати двофакторну автентифікацію

    Навіть якщо ви не використовуєте ім'я користувача admin і встановили сильний, довільно згенерований пароль, атаки методом «грубою» залишаються проблемою. Для зниження ризику такого проникнення методи на кшталт двофакторної автентифікації є ключовими.

    Так, двофакторна автентифікація завдає багато клопоту. Але тепер це ваш Форт-Нокс. Суть її для захисту сайту на WordPress полягає, як зрозуміло з назви, у двох формах авторизації. Сьогодні це стандарт, який підвищує безпеку ваших точок доступу. Ви вже використовуєте двофакторну авторизацію для Gmail та Paypal (принаймні повинні це робити). То чому б не додати до списку WordPress?

    Для реалізації інструменту є спеціальний плагін Google Authenticator. Альтернативний варіант з дещо іншим підходом і тим самим результатом – Rublon Plugin.

    Використовуйте принцип мінімальних привілеїв
    Команда WordPress.org склала чудову статтю в кодексі WordPress, яка регулює Ролі та Права користувачів. Обов'язково ознайомтеся з цим документом, який безпосередньо стосується цього кроку.

    Принцип мінімальних привілеїв дуже простий – давайте доступ тільки:

    - тим, кому він потрібен;

    - Тоді, коли він потрібен;

    - На той період часу, який потрібен.

    Якщо комусь потрібні права адміністратора, щоб змінити конфігурацію, надайте їх, але закрийте доступ відразу після виконання завдання.

    Хороша новина – ці дії не займуть багато часу.

    Всупереч поширеній думці, не кожен користувач, який отримує доступ до вашого сайту на WordPress, повинен отримувати права адміністратора. Давайте людям права доступу, достатні для виконання їхніх завдань, і ви значно знизите загрозу безпеці свого wordpress-сайту.

    Для налаштування такого роду безпеки Wordpress є плагін: Google Authenticator. Альтернативою, яка використовує дещо інший підхід для цієї ж мети, є плагін

    Скрийте файли wp-config.php та.htaccess

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

    Перейдіть до меню «Інструменти => Редактор файлів», щоб редагувати файл.htaccess. Для підвищення рівня безпеки та захисту файлу wp-cnofig.php вам потрібно додати такий код у файл.htaccess:

    Він закриє доступ сторонніх файлу wp-config.php. Схожий код можна використовувати для захисту файлу.htaccess: order allow,deny deny from all

    Ви зможете внести ці зміни самостійно, тут нема нічого складного.

    Використовуйте для аутентифікації ключі безпеки WordPress

    Ключі автентифікації та salt-ключі працюють у зв'язці один з одним, щоб захистити ваші cookies-файли та паролі під час передачі даних між браузером та веб-сервером. Ці ключі автентифікації побудовані на набір випадкових змінних. Вони підвищують захист (шифрування) інформації у файлах cookies.

    Щоб змінити їх у файлі wp-config.php, просто отримайте новий набір ключів тут – https://api.wordpress.org/secret-key/1.1/salt/ – та додайте у файл. При оновленні вказаної сторінки ключі змінюються, тому щоразу ви отримуватимете новий набір.

    Вимкніть редагування файлів

    Найпростішим способом змінити ваші файли є доступ до пункту меню WordPress "Оформлення => Редактор". Щоб підвищити рівень захисту, вам потрібно вимкнутиможливість редагування файлів через консоль. Відкрийте файл wp-config.php і додайте рядок

    Define("DISALLOW_FILE_EDIT", true);

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

    Обмежте кількість спроб авторизації

    Метою атак методом підбору ключів є форма авторизації на сайті. Плагін All in One WP Security & Firewall дозволяє змінити шлях за промовчанням (/wp-admin/) до цієї форми введення. Крім цього, за допомогою спеціальних плагінів можна обмежити кількість спроб введення з конкретної IP-адреси.

    Вибіркове використання інтерфейсу XML-RPC

    XML-RPC – це прикладний програмний інтерфейс (API), який використовується повсюдно. До нього звертається величезна кількість плагінів і тим, тому менш підготовленим технічно користувачам потрібно особливо обережно експериментувати з цим інструментом.

    Незважаючи на практичність кроку, відключення XML-RPC може коштувати дорого. Ось чому не рекомендується відключати його повністю, але уважніше стежити за тим, які програми та як намагаються отримати доступ до цього інтерфейсу. Існує безліч плагінів, які допомагають здійснювати вибіркову реалізацію та відключення XML-RPC.

    Хостинг та безпека WordPress

    Власники сайтів часто скаржаться, що їхні хостингові компанії не допомагають захистити ресурс від злому або взагалі нічого не розуміють у забезпеченні безпеки сайтів на платформі WordPress.

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

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

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

    При цьому безпека WordPress Напевно, одна з головних переваг, які пропонують хостингові компанії в спеціалізованих WordPress-тарифах.

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

    Не забувайте про хостинг-акаунт

    Одна з найбільших проблем хостингів пов'язана з конфігурацією облікового запису для власника сайтів. Користувач може інсталювати та конфігурувати стільки сайтів, скільки захоче, що сприяє появі в системному середовищі "безкоштовної їдальні" для шкідливого ПЗ.

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

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

    Будьте в курсі останніх оновлень

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

    Нещодавні дослідження показали, що 56% встановлених систем WordPress використовують застарілі версії платформи.

    Оновлення мають стосуватися не лише ядра платформи. У згаданому дослідженні говориться також, що велика кількість атак хакерів використовує застарілі, вразливі версії плагінів.

    Як вибирати безпечні плагіни та теми для WordPress

    Більшість користувачів віддають перевагу безладному встановленню плагінів і тим на своїх сайтах. Це безглуздо, якщо ви не робите установку на тестовому сервері з єдиною метою - перевірити роботу тієї чи іншої теми або плагіна.

    Більшість плагінів і багато тем безкоштовні. І якщо автори підтримують свої розробки заради розваги, а не в рамках якоїсь серйозної бізнес-моделі, навряд вони витратили багато часу на перевірку вразливостей та безпеки цих продуктів.

    Як вибрати правильний плагін для wordpress

    Як уже сказано вище, безкоштовні теми та плагіни є потенційною загрозою для безпеки сайту. Додаючи ці елементи на сайт, обов'язково перевіряйте їхній рейтинг, наприклад, на WordPress.org.

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

    Ще один момент, який ви повинні перевіряти – актуальність плагіна чи теми. Якщо не було оновлень протягом останніх двох років, WordPress про це повідомить. Відсутність оновлень не обов'язково означає, що плагін поганий.

    Можливо, автор просто не мав необхідності вносити виправлення в робочу програму. Все ж таки не рекомендується встановлювати плагіни, які давно не оновлювалися. Рейтинг розповість про працездатність обраного елемента та його сумісність з поточною версією WordPress. Всю цю інформацію можна побачити на сторінці плагіна WordPress.org.

    Висновок

    Якщо ви дочитали цю статтю до кінця, то просто зобов'язані вжити додаткових заходів щодо захисту свого сайту на WordPress. Додайте до списку щоденних дій перевірку захищеності ресурсу. Вона має стати такою самою щоденною рутиною будь-якого власника сайтів, як регулярне додавання нових публікацій та сторінок.

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

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

    Пам'ятайте, безпека WordPress не буває абсолютною.

    Тож зробити життя хакерів важким – наше завдання як власників сайтів.