5 найпоширеніших лазівок безпеки під час інсталяції WordPress

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

Занепокоєння та скарги щодо безпеки WordPress не є чимось новим.

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

Ні, тому що, як і кожна правда в житті, ця також має багато сторін.

Чи WordPress дуже небезпечний?

Давайте подивимося на кілька величезних веб-сайтів, створених на WordPress:

  • TechCrunch
  • The New Yorker
  • ВВС Америка
  • Bloomberg
  • Новини MTV
  • Блог PlayStation

Отже, що змушує ці компанії – з абсурдно глибокими кишенями та приголомшливою робочою силою – не переходити з WordPress? Якщо ви вважаєте, що відповіддю є застарілий код, подумайте ще раз: для цих імен безпека даних і публічний імідж є набагато важливішими, ніж проста міграція, яка коштуватиме (за моїми підрахунками) менше 200 000 доларів США.

Напевно їхні інженери знають, що вони роблять, і не бачать фундаментальних, нерозв’язних проблем із безпекою WordPress?

Навіть мені пощастило керувати встановленням WordPress, який відвідує 3,5-4 мільйони відвідувачів на місяць. Загальна кількість порушень безпеки за останні вісім років? Нуль!

Тому . . . чи безпечний WordPress?

Вибачте, якщо це схоже на тролінг, але ось моя відповідь:

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

Це складне програмне забезпечення з багатьма залежностями:

  • PHP, це мова, на якій він створений
  • Загальнодоступна машина, на якій розміщено інсталяцію
  • Веб-сервер, який використовується для обробки відвідувачів (Apache, Nginx тощо)
  • Використовувана база даних (MySQL/MariaDB)
  • Теми (пакети файлів PHP, CS і JS)
  • Плагіни (пакети файлів PHP, CS і JS)
  • І багато іншого, залежно від того, яку мету досягає ваша установка

Іншими словами, порушення безпеки в будь-якому з цих швів буде називатися порушенням WordPress.

Якщо кореневий пароль сервера був admin123 і він був зламаний, чи це недолік безпеки WordPress?

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

  Виправте код помилки Xbox 0x87e5002b

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

Хтось сказав «безпечно»? 😛

З усіх цих вправ ми дізнаємося наступне:

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

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

Основні лазівки WordPress, якими можуть скористатися хакери

Префікс таблиці WordPress

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

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

  • wp-користувачі
  • wp-параметри
  • wp-пости

А тепер розглянемо атаку, відому як SQL-ін’єкція, коли зловмисні запити до бази даних вміло вставляються та запускаються всередині WordPress (зауважте — це аж ніяк не атака виключно для WordPress/PHP).

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

Отже, якщо якимось чином, якимось чином, зловмиснику вдається запустити запит на зразок DROP TABLE wp_users; DROP TABLE wp_posts;, усі ваші облікові записи, профілі та публікації буде миттєво знищено без жодного шансу на відновлення (якщо у вас немає схеми резервного копіювання, але навіть у цьому випадку ви обов’язково втратите дані з моменту останнього резервного копіювання ).

Проста зміна префікса під час встановлення є великою справою (яка не потребує зусиль).

Рекомендується щось випадкове, наприклад sdg21g34_, оскільки це нісенітниця, і її важко вгадати (чим довший префікс, тим краще). Найкраща частина полягає в тому, що цей префікс не обов’язково запам’ятовується; префікс — це те, що WordPress збереже, і вам більше ніколи не доведеться про це турбуватися (так само, як вам не турбуватися про префікс wp_ за замовчуванням!).

  Як знайти індекс якості повітря для міста за допомогою пошуку Google

URL-адреса входу за умовчанням

Як дізнатися, що сайт працює на WordPress? Одним із сигнальних ознак є те, що ви бачите сторінку входу в WordPress, коли додаєте «/wp-login.php» до адреси веб-сайту.

Як приклад візьмемо мій веб-сайт (http://ankushthakur.com). Це на WordPress? Ну, продовжуйте і додайте частину для входу. Якщо ви занадто ліниві, станеться ось що:

¯_(ツ)_/¯

WordPress, так?

Як тільки це буде відомо, зловмисник може радісно потерти руки та почати застосовувати неприємні трюки зі свого Bag-O’-Doom за алфавітом. Бідний я!

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

Наприклад, цей веб-сайт також працює на WordPress, але якщо ви відвідаєте http://techukraine.net.com/wp-login.php, ви отримаєте лише глибоке розчарування. URL-адреса входу прихована та відома лише адміністраторам?

Зміна URL-адреси для входу також не є наукою. Просто візьміть це підключати.

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

Версія PHP і веб-сервера

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

Те саме стосується PHP.

Навіть якщо ви використовуєте найновішу версію PHP, ви не можете бути впевнені, які вразливості існують, і їх можна виявити відразу. Рішення полягає в тому, щоб приховати певний заголовок, надісланий вашим веб-сервером (ніколи не чули про заголовки? Прочитайте це!), коли браузер з’єднується з ним: x-powered-by.

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

Як ми бачимо тут, веб-сайт повідомляє нам, що він працює на Apache 2.4 і використовує PHP версії 5.4.16.

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

Ці (та подібні) заголовки потрібно приховати.

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

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

  10 найкращих ялинкових вогнів, керованих додатком

Чи воно того варте? Тільки ви можете це вирішити. 🙂

О, і якщо ви хочете попсувати заголовки безпеки, ось вам виправлення!

Кількість спроб входу

Одним із найстаріших прийомів у довіднику хакера є т.зв Словникова атака.

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

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

У будь-якому випадку, справа в тому, що ви повинні обмежити кількість спроб входу на свій сайт WordPress.

Після встановленої кількості спроб (скажімо, п’ять) обліковий запис має бути заблоковано, і його можна відновити лише за допомогою електронної пошти власника облікового запису.

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

HTTP проти HTTPS

Сертифікат SSL, про який вас турбує ваш постачальник, важливіший, ніж ви думаєте.

Це не просто інструмент репутації, який показує зелений значок замка в браузері з написом «Безпечно»; скоріше, встановлення сертифіката SSL і примусова робота всіх URL-адрес на «https» достатньо, щоб перетворити ваш веб-сайт із відкритої книги на загадковий сувій.

Якщо ви не розумієте, як це відбувається, будь ласка, прочитайте про щось відоме як a атака “людина посередині”..

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

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

Джерело: comparitech.com

Страшно? дуже!

Але коли ви встановлюєте сертифікат SSL і всі URL-адреси перетворюються на «https», ця конфіденційна інформація відображається як тарабарщина, яку може розшифрувати лише сервер. Іншими словами, не витрачайте ці кілька доларів на рік. 🙂

Висновок

Чи плануєте надійно захистити свій веб-сайт під контролем цих п’яти речей?

Ні, зовсім ні. Як сказано в незліченних статтях про безпеку, ви ніколи не захищені на 100%, але можна усунути великий клас цих проблем, доклавши розумних зусиль. Ви можете розглянути можливість використання SUCURI cloud WAF для комплексного захисту своїх сайтів.