Japanese keyword hack: як розпізнати і вилікувати сайт

Сітка білих карток, кілька з яких перевернуті червоним боком догори

Ви вводите в Google site:вашсайт.com і бачите сотні сторінок японською, які продають кросівки й годинники відомих брендів. Сайт при цьому відкривається нормально: та сама головна, ті самі розділи, нічого підозрілого. Саме так виглядає Japanese keyword hack, він же japanese SEO spam.

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

Що саме роблять зловмисники

Отримавши доступ до сайту, зловмисник не псує головну сторінку. Йому потрібен зовсім інший результат: ваш домен з його історією та довірою Google має почати продавати підробки.

Тому він робить три речі:

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

Чому у браузері все виглядає нормально

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

Якщо це робот Google - віддається спамна японська сторінка. Якщо це звичайний відвідувач з України чи Європи - віддається нормальний контент або редирект на головну. Іноді додатково перевіряється, з якого джерела прийшов користувач: перехід з пошуку веде на спам, прямий захід - на звичайний сайт.

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

Сім ознак, що сайт зламано саме так

  1. Запит site:вашсайт.com у Google показує сторінки японською або адреси, яких ви не створювали.
  2. Різкий стрибок кількості проіндексованих сторінок у Search Console. Було 40, стало 4 000.
  3. Лист від Google Search Console з темою про зламаний сайт і спам-контент.
  4. У Search Console з'явився новий власник ресурсу, якого ви не додавали. Це перевіряється в Налаштуваннях, розділ Користувачі та дозволи.
  5. У корені сайту лежить карта сайту, яку ви не створювали, часто з випадковою назвою.
  6. У WordPress з'явилися нові адміністратори або користувач із дивною поштою.
  7. Позиції за власними запитами падають, а трафік з пошуку йде вниз, хоча ви нічого не змінювали.

Як перевірити самостійно за 15 хвилин

1. Подивитися очима Google

Найшвидша перевірка - пошуковий запит site:вашсайт.com. Якщо серед результатів є японські заголовки, питання закрите.

Друга перевірка точніша: у Search Console відкрийте Перевірку URL, вставте адресу підозрілої сторінки і натисніть перевірку на живому сайті. Google покаже, що бачить саме він, а не ваш браузер. Клоакінг тут і виявляється.

2. Перевірити користувачів

У Search Console: Налаштування, Користувачі та дозволи. Будь-який власник, якого ви не додавали, - це чужий доступ, і його треба видалити.

У WordPress: Користувачі, фільтр за роллю Адміністратор. Зайвих видалити.

3. Пошукати сліди у файлах

Найчастіші місця, де ховається код:

  • файли з розширенням .php у папці wp-content/uploads, де їх не має бути взагалі;
  • дописаний блок правил у .htaccess;
  • сторонній код у wp-config.php, index.php, у файлах активної теми;
  • плагін, якого ви не встановлювали, часто без сторінки налаштувань.

Ознаки шкідливого коду в PHP: eval(, base64_decode(, gzinflate(, str_rot13(, довгі рядки беззмістовних символів. Легальні плагіни так майже ніколи не пишуть.

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

Порядок лікування

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

  1. Зробити копію в тому стані, як є. Так, зараженої. Вона потрібна, якщо щось піде не так під час чистки, і як матеріал для розбору, звідки прийшли.
  2. Перевстановити ядро WordPress тієї ж версії поверх наявного. Це прибирає підміни у системних файлах, не чіпаючи ваш контент.
  3. Оновити або видалити вразливий плагін чи тему. Найчастіше вхід був саме тут: застарілий плагін з відомою дірою. Якщо плагіна більше немає в каталозі і він не оновлюється, його треба замінити, а не залишати.
  4. Вичистити шкідливий код у темі, uploads, .htaccess, wp-config і базі даних. У базі спам часто сидить у таблиці налаштувань і в записах.
  5. Видалити чужих користувачів у WordPress і в Search Console.
  6. Змінити всі паролі: адміністратори WordPress, доступ до хостингу, FTP і SFTP, база даних. І обов'язково оновити ключі безпеки у wp-config.php - це вижене всіх, хто зараз сидить у сесіях.
  7. Прибрати спамні сторінки правильно. Вони мають віддавати код 410, а не 404 і не редирект на головну. 410 прямо каже Google, що сторінки більше немає назавжди, і він прибирає їх з індексу швидше.
  8. Видалити чужу карту сайту і подати свою заново.
  9. Запросити перевірку у Search Console, у розділі Проблеми безпеки. У заявці треба описати, що саме було зроблено, а не написати одне речення.

Скільки часу займає відновлення

Сама чистка - це кілька годин роботи. Далі починається повільна частина, і тут не варто себе обманювати:

  • перевірка від Google після заявки - зазвичай кілька днів;
  • випадання спамних сторінок з індексу - від тижня до кількох тижнів, залежно від того, скільки їх встигло проіндексуватися;
  • повернення позицій за власними запитами - місяць і довше.

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

Чого робити не варто

Просто видалити знайдені сторінки. Вони згенеруються знову, бо причина - доступ, а не сторінки.

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

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

Як не потрапити вдруге

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

Коротко

Japanese keyword hack не ламає зовнішній вигляд сайту, тому його помічають пізно. Перевіряється запитом site: у Google і Перевіркою URL у Search Console. Лікується не видаленням сторінок, а закриттям входу, чисткою коду і бази, зміною всіх доступів і заявкою на перевірку.

Потрібна допомога зі зламаним сайтом?

Перевіряю, чищу і закриваю вразливість, через яку зайшли.

Написати