Критичне нагадування: Завантажте та встановіть патчі безпеки Magento. (FTP без доступу SSH)


50

Патчі безпеки Magento виглядають так, як це .shфайли, як би хтось застосував ці патчі без доступу SSH до своїх установок Magento?

Також, чи є ці патчі накопичувальними? IE: Чи будуть вони включені до майбутньої версії Magento чи їх потрібно повторно застосувати?

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

Завантажте та реалізуйте 2 важливих виправлення безпеки ( SUPEE-5344 та SUPEE-1533 ) зі сторінки завантаження Magento Community Edition ( https://www.magentocommerce.com/products/downloads/magento/ ).

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

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

і це станом на 14 травня 2015 року :

Вам важливо завантажити та встановити новий патч безпеки ( SUPEE-5994 ) зі сторінки завантаження Magento Community Edition ( https://www.magentocommerce.com/products/downloads/magento/ ). Будь ласка, застосуйте це критичне оновлення негайно, щоб допомогти захистити свій сайт від впливу численних уразливостей безпеки, що впливають на всі версії програмного забезпечення Magento Community Edition. Зауважте, що цей патч повинен бути встановлений на додаток до недавнього патчу Shoplift (SUPEE-5344).

Я також отримав такий електронний лист:

Шановний торговець Магенто,

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

На всі версії програмного забезпечення Magento Community Edition впливають, і ми наполегливо рекомендуємо співпрацювати зі своїм партнером по рішенням або розробником, щоб негайно розгорнути цей критичний виправлення. Зауважте, що цей патч повинен бути встановлений на додаток до недавнього патчу Shoplift (SUPEE-5344). Більш детальна інформація про проблеми безпеки доступна у Додатку до посібника користувача Magento Community Edition.

Ви можете завантажити патч зі сторінки завантаження Community Edition. Шукайте патч SUPEE-5994. Виправлення доступне для Community Edition 1.4.1– 1.9.1.1.

Не забудьте спочатку впровадити та протестувати патч у середовищі розробки, щоб переконатися, що він працює, як очікувалося, перед тим, як розгорнути його на виробничий сайт Інформація про встановлення патчів на Magento Community Edition доступна в Інтернеті.

Дякую за увагу до цього питання.

ОНОВЛЕННЯ 7 липня 2015 року

7 липня 2015 року: Новий патч безпеки Magento ( SUPEE-6285 ) - встановити негайно
сьогодні ми надаємо новий патч безпеки ( SUPEE-6285 ), який вирішує критичні вразливості безпеки. Патч доступний для Community Edition 1.4.1 до 1.9.1.1 і є частиною основного коду останнього випуску Community Edition 1.9.2, доступного для завантаження сьогодні. УВАГА! Примітка. Спочатку потрібно застосувати SUPEE-5994, щоб забезпечити належну роботу SUPEE-6285 . Завантажте Community Edition 1.9.2 або патч зі сторінки завантаження Community Edition: https://www.magentocommerce.com/products/downloads/magento/

ОНОВЛЕННЯ 4 серпня 2015 року

4 серпня 2015 р .: Новий патч безпеки Magento ( SUPEE-6482 ) - негайно встановити
сьогодні ми надаємо новий патч безпеки ( SUPEE-6482 ), який вирішує 4 проблеми безпеки; два питання, пов'язані з API та два ризики сценаріїв міжміських сайтів. Патч доступний для Community Edition 1.4 та новіших версій та є частиною основного коду Community Edition 1.9.2.1, який можна завантажити сьогодні. Перш ніж реалізувати цей новий патч безпеки, слід спочатку реалізувати всі попередні виправлення безпеки. Завантажте Community Edition 1.9.2.1 або патч зі сторінки завантаження Community Edition за посиланням https://www.magentocommerce.com/products/downloads/magento/

ОНОВЛЕННЯ 27 жовтня 2015 р

27 жовтня 2015 року: Новий патч безпеки Magento ( SUPEE-6788 ) - негайно встановити
сьогодні ми випускаємо новий патч ( SUPEE-6788 ) та Community Edition 1.9.2.2/Enterprise Edition 1.14.2.2 для вирішення 10+ проблем безпеки, у тому числі віддалене виконання коду та вразливості до витоку інформації. Цей патч не пов’язаний із проблемою шкідливих програм Guruincsite . Обов’язково спершу протестуйте патч у середовищі розробки, оскільки це може вплинути на розширення та налаштування. Завантажте виправлення на сторінці завантаження спільноти / Портал підтримки Enterprise Edition та дізнайтеся більше на веб- сайті http://magento.com/security/patches/supee-6788 .

ОНОВЛЕННЯ 20 січня 2016 року

Важливо: новий патч безпеки ( SUPEE-7405 ) та випуск - 20.01.2016
Сьогодні ми випускаємо новий патч ( SUPEE-7405 ) та Community Edition 1.9.2.3 / Enterprise Edition 1.14.2.3 для підвищення безпеки сайтів Magento . Немає підтверджених атак, пов’язаних із проблемами безпеки, але певні вразливості потенційно можуть бути використані для доступу до інформації про клієнтів або для прийому сеансів адміністратора. Ви можете завантажити патч та випуск зі сторінки завантаження спільноти / MyAccount та дізнатися більше на https://magento.com/security/patches/supee-7405 .

ОНОВЛЕННЯ ЛЮБИМИ 23 - 2016

Зараз доступні оновлені версії патча SUPEE7405. Оновлення додають підтримку PHP 5.3 та вирішують проблеми із дозволами на завантаження файлів, об'єднанням візків та API SOAP, що виникли з оригінальним випуском. Вони НЕ вирішують жодних нових проблем безпеки. Ви можете завантажити патч та випуск зі сторінки завантаження спільноти / MyAccount та дізнатися більше на https://magento.com/security/patches/supee-7405 .


4
Також цікаво, що вони використовують сценарій оболонки для накладення патча, але не пропонують URL-адреси для використання curlабо wget- Добре нерозумно, що вам потрібно увійти на сторінку завантаження, завантажити файл, FTP-файл на сайт, а потім застосувати його.
pspahn

5
Також дивіться: byte.nl/wiki/How_to_apply_Magento_patch_SUPEE-5344 і перевірити, все фіксується тут: shoplift.byte.nl
Йерун

6
Варто зазначити, що всі патчі просто містять стандартний патч git нижче рядка __PATCHFILE_FOLLOWS__. Це означає, що ви можете скопіювати цей вміст із файлу та додати його в новий файл із .patchрозширенням. Тоді просто використовуйте, git applyщоб застосувати його.
Джонатан Хуссі

Привіт, можливо, в Magento буде встановлено більше одного файлу патчів.
VijayS91

Відповіді:


35

Застосування патчів вручну без доступу SSH

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

Я пропоную скопіювати код свого веб-сайту в місцеве середовище через FTP (ви, мабуть, це вже мали). Потім застосуйте патч, запустивши .shфайл.

Тепер вам потрібно з’ясувати, які файли потрібно завантажити знову. Якщо ви відкриєте .shфайл патча, ви побачите, що він складається з двох розділів:

  1. Код оболонки Bash, щоб застосувати патч. Цей код є загальним для кожного виправлення.
  2. Фактичний патч у вигляді уніфікованого формату патча . Це вказує лише на рядки у файлах, які були змінені (включаючи деякі рядки контексту). Це починається під лінією__PATCHFILE_FOLLOWS__

З другого розділу можна було прочитати, на які файли / на які впливає патч. Вам потрібно знову завантажити ці файли на свій FTP або ... ви можете просто завантажити все.

Застосування вручну без bash / shell

  1. Якщо ви не можете запустити .shфайли (в Windows), ви можете витягнути другий розділ патча ( уніфікований патч ) і застосувати його вручну за допомогою інструменту виправлення (або, наприклад, через PHPStorm ).
  2. Веб-сайт Magentary.com надає ZIP-файли для кожної версії Magento, що містить лише виправлені файли.

Патчі в поточних та майбутніх випусках?

Виправлені виправлення зараз застосовуються до всіх версій, які вже були випущені. Звичайно, може Magento випустити нову версію (основну або другорядну). Тоді вони будуть містити всі патчі безпеки, оскільки Magento також природно застосовуватиме патчі до бази коду їх розвитку (ці патчі навіть походять із цієї бази коду;)).

ОНОВЛЕННЯ :
Кожен останній патч Magento також випустив нові версії Magento CE і EE, які вже містять конкретний останній патч. Дивіться вкладку Архів випусків на сторінці завантаження Magento .

Перевірте цей аркуш, який підтримує JH, і для яких патчів встановити версії Magento CE та EE: https://docs.google.com/spreadsheets/d/1MTbU9Bq130zrrsJwLIB9d8qnGfYZnkm4jBlfNaBF19M


Привіт, можливо, в Magento буде встановлено більше одного файлу патчів.
VijayS91

дякую @ 7ochem, це працювало для мене +1 з мого боку ......
Дитина в Мадженто

2
або використовувати автоматичні оновлення з композиторським пакетом github.com/firegento/magento
Олексій Разбаков

6
композитор ніколи не повинен бути на виробничому сервері. спочатку запускаєте композитора, отримуєте оновлені файли, а потім завантажуєте змінені файли. рівень 2 - це робити з джинкінами.
Олексій Разбаков

2
Правда ... Створення та розгортання ... Але все ж, коли ви використовуєте FTP, ви, мабуть, не в цьому. Було б широко пояснити це повністю і в цій відповіді. Як це налаштувати та як завантажувати лише змінені / додані / видалені файли (різні варіанти та ін.).
оч.

24

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

Встановіть виправлення через PHP

  1. Використовуйте FTP-клієнт для завантаження конкретного виправлення до кореня папки Magento.
  2. Створіть файл PHP під назвою applypatch.php, який запустить патч для вас, та завантажте його в корінь папки Magento. Не забудьте використати правильне ім’я патча тут, якщо ви не використовуєте патч для версії 1.8.x-1.9.x

<?php
print("<PRE>");
passthru("/bin/bash PATCH_SUPEE-5344_CE_1.8.0.0_v1.sh");
print("</PRE>");
?>

  1. Відвідайте файл за адресою http://your.domain.com/applypatch.php і перевірте, чи вихід виглядає як очікувалося.

Встановити виправлення вручну

Файл .sh містить виправлення "DIFF". Вони показують, які рядки було видалено та додано. Хоча я не раджу це, ви повинні мати можливість завантажувати файли вручну через FTP і редагувати ці файли у своєму редакторі за вибором, а потім перезавантажувати їх знову через FTP. Формат не надто важкий для інтерпретації , тому ви можете зробити це для всіх файлів і не займати більше декількох хвилин.


3
Якщо патч "застосовано" шляхом простого редагування необхідних файлів у нових версіях, чи будуть майбутні спроби виправлення правильно повідомити користувача про те, що він вже був виправлений?
pspahn

4
Схоже, щонайменше для SUPEE-5344 та SUPEE-1533 існує такий собі журнал, який записується до app / etc / apply.patches.list. Надає загальну інформацію про те, що насправді зробив патч. Я зробив греп для посилання на цей файл у кодовій базі Magento, але він не повернув нічого, що може означати, що може не бути логіки для відстеження застосованих патчів. СТОРІННЯ ПРИМІТКА: Патчі, здається, не відрізняються від основних хаків: magento.stackexchange.com/questions/26335/patch-or-core-hack
запчастини

4
Цей метод вимагає від веб-сервера доступу для запису до файлів. Якщо ви користуєтесь цим методом, переконайтеся, що ви змінюєте перміси на ті, якими вони були, щоб веб-сервер не міг записувати у файли окрім / media та / var
Kevin Schroeder

У ньому написано "ПОМИЛКА:" / app / тощо / "має існувати для належної роботи інструменту." , будь ласка, допоможіть
Тахір Ясін

3

У моєму випадку я використовую бітбукет для обслуговування версій і вношу зміни в реальному часі лише через bitBucket.

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

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

У випадку, що ви робите, якщо у вас немає доступу до ssh

1) Застосовуйте патч у локальному і натискайте зміни на бітбукет. Bitbucket повідомляє вам, які файли були змінені з останньої комісії.

2) завантажте ці файли вручну через FTP, і ваш патч застосовано.


2

Застосування патчів Magento через FTP / sFTP або FileManager / File Upload.

Спосіб 1: -

Щоб застосувати виправлення таким чином, ми просто замінюємо змінені файли. Цей спосіб не можна використовувати наосліп, якщо ви або ваші розробники змінили будь-які основні файли Magento (це, до речі, велика ні-ні). Такі зміни слід застосувати повторно до виправлених файлів, або ви втратите ці зміни.

ласкаво відвідайте нижче URL-адреси, щоб завантажити наступні виправлення: -

https://magentary.com/kb/install-supee-9652-without-ssh/

https://magentary.com/kb/install-supee-8788-without-ssh/

https://magentary.com/kb/install-supee-7405-without-ssh/

https://magentary.com/kb/install-supee-6788-without-ssh/

http://magentary.com/kb/install-supee-6482-without-ssh/

http://magentary.com/kb/install-supee-6285-without-ssh/

https://magentary.com/kb/install-supee-5994-without-ssh/

https://magentary.com/kb/apply-supee-5344-and-supee-1533-without-ssh/

Спосіб 2: -

Завантажте патч-файл на https://magento.com/tech-resources/download#download1972 Завантажте патч-файли у корені магенто.

Створіть один файл з іменем patch.php, напишіть у ньому наступний код,

<?php
print("<PRE>");
passthru("/bin/bash PATCH_SUPEE-9652.sh");
print("</PRE>");
echo "Done";
?>

Ви запускаєте patch.php із браузера.

Якщо ви отримуєте подібну помилку,

"Помилка! Деякі необхідні системні інструменти, які використовуються в цьому скрипті sh, не встановлені;" Патч "інструмента (и) пропущено (пропущено), будь ласка, встановіть його (їх).

Це означає, що системні інструменти не встановлені на вашому сервері для запуску скрипту sh.


-2

Я не думаю, що це неможливо зробити без доступу до SSH, але ви завжди можете створити SSH-акаунт на cpanel або будь-якій іншій панелі, яку ви отримали, і існує величезна ймовірність, що ви знайдете підручники для створення облікового запису SSH своїм хостингом. Компанія просто google "компанія-ім'я вашого хостингу + створення СШ".


-3

Завантажте виправлення (насправді лише 1, оскільки 1 призначений для EE, а інший для CE). Запропонуйте, що ви швидко запустите назад ...

резервна копія cp -r public_html (замініть public_html повноцінною установкою magento)

Спершу FTP-патч перейдіть у каталог резервних копій і перевірте все гаразд, запустивши його на резервну копію .. sh patchname.sh

Все добре? FTP виправлення до фактичної установки та запуску

http://devdocs.magento.com/guides/m1x/other/ht_install-patches.html

керівництво також радить "Повторно застосувати право власності на файли, змінені патчем: Знайдіть користувача веб-сервера: ps -o" команда групи користувачів "-C httpd, apache2 Значенням у стовпці USER є ім'я користувача веб-сервера. Як правило, Користувач веб-сервера Apache в CentOS є apache, а користувач веб-сервера Apache в Ubuntu - це www-data.Корісто користувач з кореневими привілеями, введіть таку команду з інсталяційного каталогу Magento: chown -R web-server-user-name. Наприклад, на Ubuntu, де Apache зазвичай працює як www-data, введіть chown -R www-data "

запускаючи команду ps як root, я отримав root тільки як користувач і запустив chown -R root та погоршив мою установку, я запустив її знову з іменем користувача облікового запису користувача, на якому встановлено, і все було добре


Я також використовував цей скрипт PHP, щоб очистити дозволи файлів замість цього .. magenmarket.com/news-and-blog/…
Затишно

3
Ви пропонуєте виконати ряд команд, я думаю, що над SSH. Питання ОП - "як це зробити без SSH?" ...
7ochem

Ой! Прошу пробачення! Моя помилка
Затишно
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.