TOP:
  • Взламали сайт на WordPress? Як очистити від вірусів та відновити роботу.
  • Пусто або помилка invalid taxonomy при використанні get_terms()
  • Редірект 301 посилань з великими літерами на такі самі з маленькими
  • Duplicator – character set and collation isn’t supported on current database.
  • Відкат оновлення плагіну чи шаблона
  • Вимкнути перевірку налаштувань форм у Contact Form 7
  • Як прибрати emoji (смайлики) з тексту
  • WordPress 6.3.2 Security Release
  • Вразливість плагіна tagDiv composer
Ви шукали:
  • Facebook
  • X (Twitter)
  • YouTube
Український WordPress
  • Читати
    • Всі публікації
    • Як зробити
    • Хаки для WordPress
    • Захист WordPress
  • Завантажити
    • Шаблони / Теми
    • Плаґіни
    • Релізи
  • Інфо
    • Про сайт
    • Зв’язок
    • Калькулятор вартості сайту
  • Навчитись
    • Створити блоґ
    • Блог на WordPress
    • Що таке блог?
    • Я хочу створити блог!
    • Система управління
    • Ставимо WordPress
    • Перші налаштування
    • Форум
  • Хостинг для WordPress
  • Ви шукали:
Блоґ Як зробити

Безпечний блог на WordPress – поради, частина 2

23 Лютого, 2010 Читати хвилин ~5
Facebook Twitter Pinterest LinkedIn Tumblr Email
Поділитися
Twitter Facebook Telegram LinkedIn
Безпечний блог на WordPress - поради

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

  • Установіть WordPress безпечно
  • Префікс таблиць
  • Унікальні ключі ідентифікації
  • Права на доступ до файлів та директорій
  • Перейменуйте wp-content

Ці досить прості кроки допоможуть значно покращити безпеку Вашого блогу.
Отже продовжимо.

Безпечний доступ

Починаючи з версії 2.6, стала доступна нова опція для захисту панелі адміністратора: доступ через SSL – Secure Sockets Layer це зашифрований протокол для передачі даних. Зазвичай Ваш інтернет провайдер має підтримувати роботу через SSL. Отже, якщо так воно і є, Ви можете включити цю опцію у wp-config.php . Для використання можливостей SSL у Вашій адмінці, Вам потрібно поставити параметру FORCE_SSL_LOGIN значення TRUE. Від цього моменту уся інформація у адмін-панелі буде шифруватися.

define ('FORCE_SSL_LOGIN', true);Code language: JavaScript (javascript)

Збереження безпеки існуючої інсталяції

Вже існуючі блоги можуть бути більш захищені завдяки декільком простим крокам. Якщо блог вже працює і у базі даних вже зберігається інформація, проста зміна префіксу таблиць буде мати фатальний ефект. Не дивлячись на це, все ж є можливість змінити префікси. Для цього виконайте наступні декілька кроків.
Нагадаємо, що перед будь-якими змінами у базі даних НЕОБХІДНО ЗРОБИТИ РЕЗЕРВНУ КОПІЮ!
Для зміни імен усіх таблиць wordpress виконайте наступний SQL скрипт. Якщо у Вас більше таблиць, наприклад таблиці плагінів, їм також треба змінити ім’я. Змініть наведений у скрипті для прикладу префікс wp_prefix_ за Вашим бажанням.

RENAME TABLE wp_comments to wp_prefix_comments;
RENAME TABLE wp_links to wp_prefix_links;
RENAME TABLE wp_options to wp_prefix_options;
RENAME TABLE wp_postmeta to wp_prefix_postmeta;
RENAME TABLE wp_posts to wp_prefix_posts;
RENAME TABLE wp_terms to wp_prefix_terms;
RENAME TABLE wp_term_relationships to wp_prefix_term_relationships;
RENAME TABLE wp_term_taxonomy to wp_prefix_term_taxonomy;
RENAME TABLE wp_usermeta to wp_prefix_usermeta;
RENAME TABLE wp_users to wp_prefix_users;

Але WordPress використовує ще префікс для чіткої ідентифікації декількох полів у таблицях options та usermeta. Отже, Ви маєте змінити ці поля.

UPDATE wp_prefix_options SET option_name = REPLACE(option_name, 'wp_', 'wp_prefix_');
UPDATE wp_prefix_usermeta SET meta_key = REPLACE(meta_key, 'wp_', 'wp_prefix_');Code language: JavaScript (javascript)

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

SELECT * FROM wp_prefix_options WHERE option_name LIKE 'wp_%';
SELECT * FROM wp_prefix_usermeta WHERE meta_key LIKE 'wp_%';Code language: JavaScript (javascript)

Змініть логін

При стандартній інсталяції ім’я адміністратора – admin, і це відомо не тільки нам з Вами. Після встановлення WordPress Вам потрібно видалити цього користувача. Але не забудьте створити нового адміністратора! Це можна зробити в панелі адміністрування і має бути першим, що Ви зробите після встановлення блогу!

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

Можливо, Ви бажаєте встановити якесь дуже велике значення ID. Створюючи користувача у панелі адміністрування WordPress додає до кожного нового ID лише 1. Альтернативою є зміна цього значення засобами SQL або за допомогою плагіну Search & Replace.

UPDATE `wp_users` SET `ID` = '815' WHERE `wp_users`.`ID` = 1;
UPDATE `wp_usermeta` SET `user_id` = '815' WHERE `wp_usermeta`.`user_id` = 1;
UPDATE `wp_posts` SET `post_author` = '815' WHERE `wp_posts`.`post_author` = 1;
UPDATE `wp_links` SET `link_owner` = '815' WHERE `wp_links`.`link_owner` = 1;Code language: JavaScript (javascript)

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

Не показуйте версію WordPress

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

Через це, ніхто не має отримувати інформацію щодо версії WordPress, встановленої у Вас. Найпростіший шлях вилучити інформацію про версію звідусіль (окрім адмін панелі) є використання плагіну Secure WordPress (Я вже писав про цей плагін, а також викладав його українську версію). Альтернативою є відключення (перевизначення, підміна) функції, що виводить цю інформацію. Додайте у файл functions.php:

add_filter( 'the_generator', create_function('$a', "return null;") );Code language: JavaScript (javascript)

Відключіть відображення помилок та інформаційні повідомлення

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

Отже Ви маєте вирішити, чи потрібні Вам ці повідомлення. Якщо бажаєте їх відключити, можете скористатися вже описаним плагіном Secure WordPress.

Якщо константа WP-DEBUG визначена у Вашому wp-config.php, Ви маєте встановити їй значення FALSE або видалити, інакше будь-які помилки WordPress-у будуть показуватись у браузері. Ця константа має використовуватись лише у процесі розробки.

define('WP_DEBUG', false);Code language: JavaScript (javascript)

Безпека за допомогою .htaccess

Можливості .htaccess дуже великі та різноманітні, отже ми можемо скористатися ними аби покращити безпеку у WordPress. Але потрібно гарно продумати усі обмеження, описані нижче, оскільки не рідко налаштування безпеки шкодять “юзабільності” блогу (зручності у використанні).

В принципі, будь яка директорія може бути захищена, а особливо має бути під захистом wp-admin, оскільки у ній дуже багато файлів, через які можна отримати доступ до Вашої адмін-панелі. Доступ контролюється файлом wp-login.php і WordPress завжди перенаправляє до нього при будь-якому неавторизованому виклику у wp-admin. Аби захистити wp-admin, потрібно додати файл .htpasswd, що містить інформацію про ім’я користувача та пароль. Різноманітні онлайн-генератори зможуть допомогти Вам у цьому. Потім додайте наступний код у .htaccess

#protect wp-login.php 
<files wp-login.php> 
AuthName "Admin-Панель" 
AuthType Basic AuthUserFile /your_local_path/.htpasswd 
require valid-user 
</files>Code language: PHP (php)

Файл wp-config.php містить інформацію про доступ до бази даних, тому цей файл особливо заслуговує на захист. Кілька строк у .htaccess допоможуть у цьому.

#protect wp-config.php 
<files wp-config.php> 
Order deny,allow
deny from all
</files>Code language: HTML, XML (xml)

Якщо налаштування серверу дозволяють перегляд вмісту директорій, було б правильним створити у кожній пустий index.html або блокувати доступ через параметр “Options Indexes” у файлі .htaccess.

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

Order Allow,Deny
Deny from all
<files ~ "js/tinymce/*.$"> 
Allow from all
</files>
<files ~ ".(css|jpe?g|png|gif|js)$"> 
Allow from all
</files>Code language: HTML, XML (xml)

Змініть цей код згідно Вашим вимогам. Альтернативою є використання плагіну, який чудово допоможе покращити безпеку та зменшить ручну роботу: AskApache Password Protect.

Висновки

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

robots.txtSecureSSLwp-config.phpwp-contentwp-includesатакабезпекаверсіявстановленнядоступключі ідентифікаціїлогінпрефіксрезервна копіяспам
Дмитро К.

Дмитро Кондрюк в веб-індустрії з 2003 року. В 2009р. заснував проект Український WordPress (що у подальшому став офіційним сайтом команди локалізації WordPress в Україні). З 2010 року засновник і технічний директор проекту Український хостинг для WordPress (WPHost.me) - повноцінного хостинг-сервісу, максимально оптимізованого на використання CMS WordPress.

  • Website
Попередня стаття

Створення фільтру категорій у формі пошуку

17 Лютого, 2010 Читати ~1 хвилину
Наступна стаття

Виводимо кількість опублікованих дописів

24 Лютого, 2010 Читати хвилин ~2

Пов'язана тема, буде цікаво!

WordPress 6.3.2 Security Release

13 Жовтня, 2023

Вразливість плагіна tagDiv composer

1 Жовтня, 2023

коментарів 6

  1. Pingback: Tweets that mention Безпечний блог на Wordpress – поради, частина 2 | Блог Про Wordpress & co українською -- Topsy.com

  2. Pingback: Безпечний блог на Wordpress – поради, частина 1 | Блог Про Wordpress & co українською

  3. Pingback: Wordpress Security – практичні поради | Блог Про Wordpress & co українською

  4. Pingback: Безпечний блог на Wordpress – поради, частина 1 | Український Wordpress

  5. Pingback: Wordpress Security – практичні поради | Український Wordpress

  6. karmeljuk 12 років тому Відповісти

    для лінивих – багато запропонованих порад можна реалізувати плагіном Secure WordPress

Коментувати Скасувати

  • Підписатися на новини

    Як бонус Ви отримуєте 3 преміум-шаблони для WordPress

     

  • Донат на розвиток проекту



  • Ваш надійний хостинг-провайдер
    Хостинг для WordPress Хостинг для WordPress
  • Останні публікації
    • Пусто або помилка invalid taxonomy при використанні get_terms()
      25 Березня, 2025
    • Редірект 301 посилань з великими літерами на такі самі з маленькими
      29 Жовтня, 2024
    • Duplicator – character set and collation isn’t supported on current database.
      10 Жовтня, 2024
  • Як встановити плагін?
    Коротка покрокова інструкція Коротка покрокова інструкція
  • Захист WordPress
    Зламали сайт або хочете вберегтись від цього? Зламали сайт або хочете вберегтись від цього?
  • Знижки на шаблони Themeforest
  • Свіжі публікації
    • Пусто або помилка invalid taxonomy при використанні get_terms()
      Як зробити 25 Березня, 2025

      В процесі розробки зіштовхнулися з проблемою, що список доступних “термінів” однієї з кастомних таксономій не…

    • Редірект 301 посилань з великими літерами на такі самі з маленькими
      Як зробити 29 Жовтня, 2024

      В процесі роботи над однією задачею від SEO спеціалістів виникла необхідність зробити редірект з посилань…

  • Найбільше обговорюють
    • HTTPS та SSL для WordPress безкоштовно за 11 кроків
      11 Січня, 2017
    • Розіграш! 115 преміум-шаблонів для WordPress безкоштовно.
      2 Жовтня, 2015
  • Реклама на сайті Реклама на сайті

© 2020 WordPress хостинг для Вашого сайту. All registered.

  • Facebook
  • X (Twitter)
  • Instagram