У нас есть клиент, который очень обеспокоен тем, что вредоносный код внедряется в сторонние модули, особенно модули, которые приходят из Magento Connect (или любого бесплатного модуля). Они хотели бы использовать один из этих модулей, но хотят быть уверены, что этот модуль делает не содержать код, который позволил бы хакеру получить доступ к различным частям их сайта Magento.
У меня такой вопрос: есть ли инструмент, который мы могли бы использовать для сканирования кода на содержание? Нечто подобное, но, может быть, более подробно.
function check($contents,$file) {
$this->scanned_files[] = $file;
if(preg_match('/eval\((base64|eval|\$_|\$\$|\$[A-Za-z_0-9\{]*(\(|\{|\[))/i',$contents)) {
$this->infected_files[] = $file;
}
}
Даже сервис, который можно запустить на веб-сервере.
В идеале, если бы существовал сервис, который сканировал бы каждый коммит до того, как код попал в репозиторий, было бы идеально.
php
magento-connect
extensions
security
brentwpeterson
источник
источник
Ответы:
Вы думали о запуске Clamav? - https://www.clamav.net/index.html - я недавно запустил это на клиентском сервере Ubuntu под управлением magento, и он вернулся с двумя зараженными файлами - скорость сканирования была впечатляющей и легко запускается, если у вас есть доступ по SSH - Вы также можете регулярно бегать через работу Cron.
Для запуска clam AV на Ubuntu
Для установки ClamAV выполните следующую команду
Обновление вирусных баз вручную
Вы увидите, что процесс обновления ClamAV запущен, чтобы вручную проверять файлы / папки на наличие вирусов.
Для тех, кто не в Ubuntu, полные инструкции можно найти здесь https://www.clamav.net/doc/install.html.
источник
Есть много способов запутать код, поэтому такое простое решение совсем не является решением IMO. Если вы действительно хотите заблокировать свою систему и предотвратить вредоносный код, я бы порекомендовал:
Не разрешайте установку модулей через Connect. Используйте репозиторий git и сначала установите его на промежуточный сервер, а обновляйте продукцию через git только после тщательного тестирования и проверки.
Никогда не разрешайте использовать модули с запутанным кодом, независимо от того, кто является разработчиком. Попросите беспрепятственную копию или просто посмотрите в другом месте. Я сочувствую разработчикам расширений, которые хотят предотвратить пиратство, но если вы беспокоитесь о безопасности, это нарушает условия соглашения.
По возможности ограничьте исходящий трафик через iptables. Это сложно, поскольку существует так много сторонних API для интеграции, и они могут изменить свои IP-адреса в любое время, но это самый надежный способ предотвратить проникновение вредоносного кода (Magento или иным образом).
Установите инструмент, который контролирует ваш веб-корень на предмет изменений файлов. Например, ConfigServer Firewall и OSSEC имеют компоненты, которые делают это хорошо, конечно, после правильной настройки.
Если вам случится узнать о системе, которая будет обновлять записи iptables или группы безопасности AWS при обновлении DNS-записей, пожалуйста, дайте мне знать, поскольку я еще не нашел и не создал ни одну из них ...
источник
Попробуйте Magento Malware Scanner , который содержит самую большую коллекцию сигнатур вредоносных программ, которая является общедоступной. Он загружает последние подписи, обрабатывает белые списки и сохраняет состояние.
Рекомендуется Magento , используется Magento Marketplace , Homeland Security, VISA и многими другими.
источник
Я создал модуль , называемый MB_ Callinghome сделать именно это. Расширение довольно простое, оно наблюдает за событием входа администратора и ищет настраиваемую строку с помощью find и grep. Расширение использует exec (), что делает его пригодным для использования только в промежуточной среде, поскольку оно может подвергнуть сайт атаке при использовании в prod.
источник
Возможно, вы могли бы изучить использование PHP_CodeSniffer или аналогичного стандартного инструмента кодирования. Вам, конечно, нужно иметь четкое представление о внутренней работе того, что следует считать безопасным, но вы можете настроить его так, чтобы сниффер кода отмечал проблемные файлы.
Напомню, что здесь возник вопрос о том, почему стандарты, используемые модулем здесь https://github.com/magento-ecg/coding-standard , так чувствительны к веткам, как fopen и другим операциям ввода-вывода файлов.
Используя его, вы можете по крайней мере определить, что вы можете считать опасным кодом. Однако в конечном итоге это все еще потребует пересмотра кодовой базы. Все, что помечено там, может быть законным кодом для целей работы модулей. Так что, к сожалению, вы не можете полагаться исключительно на автоматическое тестирование чего-либо подобного.
источник
Существуют бесплатные онлайн-инструменты, которые вы можете использовать для удаленного сканирования вашей установки Magento. Они могут помочь вам идентифицировать кредитные карты, вредоносные полезные данные, промежуточные домены и другие проблемы безопасности.
https://sitecheck.sucuri.net/
https://www.magereport.com/
http://www.unmaskparasites.com/
http://webscan.foregenix.com/
https://github.com/gwillem/magento-malware-scanner/
https://magescan.com/
https://www.virustotal.com/
источник