Уразливість в CMS Magento – як встановити патч
Magento вважається найпопулярнішою CMS для інтернет-магазинів, чим і привертає увагу зловмисників. Як і в будь-який інший CMS, рідко, але в Мадженто іноді знаходяться дірки в безпеці, що відразу привертає до себе увагу недобросовісних хакерів. А розробники Magento випускають патчі, коли знаходять будь-яку вразливість у системі, щоб підвищити її безпеку.
Так, нещодавно виявився експлойт, який провертає єдину функцію: створює фальшивий акаунт адміна в базі даних Magento.
Команда Magento вже випускала недавно патчі, які борються з такими загрозами, але, як виявилося, не всі власники інтернет-магазинів на Мадженто встановили їх собі. Хоча 2 останніх патчи були випущені ще кілька місяців тому (26 листопада 2014 і 9 лютого 2015), велика маса магазинів не поставила їх собі. З різних причин: чи то не знали, чи то не вміли. З першою причиною розробники борються відправкою «страшних» нагадувань в адмінпанелі сайтів (як на малюнку).
А з другою причиною ми спробуємо впоратися в цьому уроці. У кожному випадку, настійно рекомендується встановлювати такі патчі якомога швидше, щоб убезпечити свій інтернет-магазин.
У подібних випадках розробники або випускають новий реліз двигуна із вже вшитим патчем, або викладають патч окремо. І в тому, і в іншому випадку, шукайте їх на офіційній сторінці оновлень: https://www.magentocommerce.com/products/downloads/magento/
Встановлення релізу Magento ми вже розглядали, а в цьому уроці окремо розберемо процедуру встановлення тільки патча.
Є 3 способи встановлення патчів, або за допомогою SSH, через FTP (або адмінку на хостингу) або ж замовити послуги фахівця. Деякі хостинг-провайдери не надають доступ по SSH, але у нас є й інший варіант, щоб провернути процедуру встановлення патча.
Спосіб 1. Встановлення через SSH
Завантажте патч за цим посиланням і скопіюйте його в кореневу директорію свого сайту на Magento та запустіть відповідну команду через консоль SSH:
Для патчів з розширенням файлу .sh:
sh ім’я_файлу.sh
Приклад: sh PATCH_SUPEE-1868_CE_1.7.0.2_v1.sh
Для патчів з розширенням файлу .patch:
patch -p0 < ім’я_файлу.patch
Після цього оновіть кеш в адмінці в розділі Система > Керування кешем, щоб задіяти зміни.
Якщо у вас виникають труднощі або питання при роботі з SSH, сміливо звертайтеся в службу підтримки свого хостингу, вона зможе вам у цьому допомогти.
Спосіб 2. Встановити патч через FTP
Патчі – це набір файлів та інструкцій, заархівованих певними програмами. У нашому випадку патч містить якісь файли, які повинні змінити/або дописати певні файли в двигуні Мадженто і запакованих у форматі .sh/або .patch. Оскільки звичайними (офісними) інструментами такі архіви не можна відкрити, ми спробуємо знайти вже розархівовані файли. Ми знайшли такі архіви, підготовлені командою MageComp, які вона виклала у вільний доступ тут. Вони підготували файли для патча PATCH_SUPEE-1533.sh і патча PATCH_SUPEE-5344.sh у форматі .zip. Ви зможете завантажити у них файли патчів для версій Magento (1.6.xx), Magento (1.7.xx), Magento (1.8.xx – 1.9.1.0) і потім встановити у себе.
Патч SUPEE-1533 змінює наступні файли в системі:
- app/code/core/Mage/Adminhtml/Block/Dashboard/Graph.php
- app/code/core/Mage/Adminhtml/controllers/DashboardController.php
А патч SUPEE-5344 змінює такі файли:
- app/code/core/Mage/Admin/Model/Observer.php
- app/code/core/Mage/Core/Controller/Request/Http.php
- app/code/core/Mage/Oauth/controllers/Adminhtml/Oauth/AuthorizeController.php
- app/code/core/Mage/XmlConnect/Model/Observer.php
- lib/Varien/Db/Adapter/Pdo/Mysql.php
Все, що вам потрібно – це завантажити дані патчі у фоматі .zip, розархівувати у себе на комп’ютері, а потім скопіювати з заміною по FTP на хостинг. Після цього оновити кеш в адмінці у розділі Система > Керування кешем, щоб задіяти зміни.
Спосіб 3. Замовити таку послугу у фахівця
У мережі Інтернет можна знайти фахівців з Мадженто, які погодяться допомогти вам у цьому за певну плату.
Ми вважаємо, що оптимальний варіант установки – через SSH, але якщо у вас це викликає труднощі, ви зможете використовувати 2 інших методи.
Обов’язково убезпечте свій магазин на Мадженто!