Рекомендуемый способ защиты / загрузчик?

29

Так как Magento использует / downloader как способ удобной установки программ через Magento Connect Manager, очевидно, что это также проблема безопасности, так как это дает возможность ботам или людям пытаться узнать учетные данные для установки.

Проверяя журналы доступа к моему сайту, я был встревожен количеством попыток на www.mysite.com/downloader

В качестве обходного пути у меня появилась привычка переименовывать каталог загрузчика в downloader.offline, но иногда я забываю. (Либо переименовать его обратно для установки программы, либо после того, как я закончу).

Какой метод рекомендуется для защиты этой ссылки?

SR_Magento
источник

Ответы:

35

Просто поместите .htaccess (или, если nginx / любой другой конфиг) в downloaderкаталог, Disallow from allв котором он запрещает любые запросы к каталогу.

Если вы хотите разрешить несколько IP-адресов (например, свой собственный), попробуйте что-то вроде этого в вашем .htaccess

order deny,allow
deny from all
allow from 1.2.3.4 5.6.7.8

Где 1.2.3.4и где 5.6.7.8находятся IP-адреса, которые вы хотите пропустить.

Мой предпочтительный способ: просто удалить downloader

Фабиан Блехшмидт
источник
1
Конечно, никто не может получить к нему доступ. Magento соединяется на этом пути? Тогда вам нужно разрешить из <ip> или использовать авторизацию
Fabian Blechschmidt
7
Или, что еще лучше, вообще не используйте загрузчик.
Даниэль Слооф
3
Конечно! Magento connect не позволяет надежно воспроизводить состояние системы и использовать систему контроля версий. Я рекомендую использовать modman или лучший композитор!
Фабиан Блехшмидт
1
Композитор FTW - Фабиан мертв здесь.
Брайан 'BJ' Хоффпауир младший
1
скачать это каталог magento connect. Если это создает проблемы, это расширение кажется очень сломанным?
Фабиан Блехшмидт
17

Наряду с рекомендацией @ daniel-sloof, я бы сказал, чтобы полностью отказаться от установщика Magento Connect. Я обычно добавляю его .gitignoreпри создании нового репозитория.

Причина в том, что, как отмечает Фабиан в своих ответных комментариях, нет способа обеспечить репликацию вашей производственной среды в системе контроля версий без фиксации пакетов из Connect. Функция, которую вы потеряете здесь, - это возможность обновлять / обновлять пакеты из Connect, но если вам действительно нужна эта функциональность, вы всегда можете сделать это локально в своем устройстве разработчика и зафиксировать результаты, когда вы будете уверены, что они работают.

ТЛ; др:

Удалите /downloaderпапку или удалите ее из системы контроля версий.

philwinkle
источник
1
Хотя это немного раздражает, когда я больше не имею доступа к ./mage. Я предполагаю, что ./mage installкоманда CLI - просто оболочка для Magento Connect. редактировать: на самом деле я могу просто использовать magerun extension:install:)
Эрфан
: / N98-Magerun также является оберткой для downloader/mage.php. Я думаю, вы можете просто скопировать / загрузить в вашу локальную среду разработки, если вам нужно что-то установить
Erfan
По какой-то причине я больше никогда не запускаю ./mage как загрузчик файлов на моем сервере разработки. Единственная причина существования в живых средах - это зависимости патчей.
Fiasco Labs
6

Я обычно удаляю каталог загрузчика, но также нашел полезной следующую директиву в корневом htaccess:

RewriteRule ^downloader/ - [L,R=404]

Что заставит Apache отправлять ответ 404, даже если каталог загрузчика присутствует.

Фабиан Шменглер
источник
Мне тоже нравится этот метод
SR_Magento
1
Не работает для всех запросов загрузчика. попробуйwww.mysite.com/index.php/myadminurl/index/downloader
Дэвид Уилкинс,
Хотя метод в моем другом комментарии на самом деле не обращается к загрузчику, это всего лишь ярлык (longcut?) Для входа администратора. Кто-то должен знать ваш админурл, чтобы это работало. если вы не исправили уязвимость раскрытия adminurl, вероятно, кто-то получит ее.
Дэвид Уилкинс
работал для меня тоже. Совершенство
sandip
5

как насчет переименования папки загрузчика? В случае необходимости можно легко переименовать обратно в «загрузчик», выполнить обновление и установить при необходимости, а затем изменить его снова. Кажется, это работает для меня.

Dadda
источник