Критическое напоминание: загрузите и установите исправления безопасности 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 Merchant,

Чтобы еще больше защитить платформу 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 . Обязательно сначала протестируйте исправление в среде разработки, так как оно может повлиять на расширения и настройки. Загрузите исправление со страницы загрузки Community Edition / портала поддержки 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 , Нет подтвержденных атак, связанных с проблемами безопасности, но некоторые уязвимости могут быть использованы для доступа к информации о клиентах или для выполнения сеансов администратора. Вы можете загрузить исправление и выпустить его со страницы загрузки Community Edition / MyAccount и получить дополнительную информацию по адресу https://magento.com/security/patches/supee-7405 .

ОБНОВЛЕНИЕ 23 ФЕВРАЛЯ 2016 ГОДА

Обновленные версии патча SUPEE7405 теперь доступны. В обновлениях добавлена ​​поддержка PHP 5.3 и устранены проблемы с разрешениями на загрузку файлов, объединением корзин и API-интерфейсами SOAP, которые возникали в оригинальной версии. Они НЕ решают никаких новых проблем безопасности. Вы можете загрузить исправление и выпустить его со страницы загрузки Community Edition / 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
Jeroen

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 с моей стороны ......
Малыш в Magento

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

6
композитор никогда не должен находиться на рабочем сервере. сначала запустите composer, получите обновленные файлы, затем загрузите измененные файлы. Уровень 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 / application.patches.list. Дает общую информацию о том, что на самом деле сделал патч. Я сделал grep для ссылки на этот файл в базе кода Magento, но он ничего не возвращал, что могло означать, что может не быть логики для отслеживания примененных патчей. ПОБОЧНОЕ ПРИМЕЧАНИЕ: патчи, похоже, неотличимы от основных хаков: magento.stackexchange.com/questions/26335/patch-or-core-hack
sparecycle

4
Этот метод требует, чтобы веб-сервер имел права на запись в файлы. Если вы используете этот метод, АБСОЛЮТНО удостоверьтесь, что вы изменили параметры доступа к тому, что они были, чтобы веб-сервер не мог записывать в файлы, кроме / media и / var
Кевин Шредер,

Там написано "ОШИБКА:" / app / etc / "должна существовать для правильной работы инструмента." Помогите, пожалуйста
Таир Ясин

3

В моем случае я использую bitbucket для поддержки версии и делаю свои изменения только через 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 Загрузите файлы исправления в корневой каталог magento.

Создайте один файл с именем 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 "имя вашей хостинговой компании + создание SSH".


-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.В качестве пользователя с привилегиями root введите в каталоге установки 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?» ...
7оч

ОНР! Извините меня пожалуйста! Моя ошибка
Уютно
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.