Мне нужно проанализировать файлы, загруженные на мой сайт. Какие у меня есть варианты? Я нахожусь в посвященном, поэтому могу устанавливать что-то на Linux.
Нормально ли для сайта анализировать каждый загруженный файл? Можно ли это сделать быстро (например, сразу после загрузки файла) или это должно выполняться заданием Cron?
Существуют ли для этого какие-нибудь библиотеки PHP?
Больше всего меня беспокоят изображения, потому что они отображаются в браузере каждого пользователя.
Примечание: я никогда не работал с антивирусом, будьте добры =)
Я бы просто использовал clamAV; быстрый и простой в установке, бесплатный (как на свободе), имеет множество способов использования. Это ни в коем случае не нормально.
Вы должны иметь возможность использовать Clamscan. Он основан на UNIX, бесплатен и ориентирован на интеграцию с почтовыми серверами, поэтому он очень модульный и гибкий. Он улавливает многие виды вредоносных программ и очень часто обновляется.
http://www.clamav.net/lang/en/
Я не могу ответить на другие ваши вопросы, поскольку я плохо владею PHP, но вы должны иметь возможность вызывать внешнюю программу и получать от нее результаты. Clamscan является консольным и модульным, поэтому у вас не должно возникнуть проблем с получением вывода для анализа.
Когда делать сканирование, решать вам; зависит от загрузки системы и того, что загружается. Если вы хотите использовать Cron, это не так уж сложно. Но лично я бы, вероятно, захотел отсканировать его сразу после загрузки, если бы у меня был доступ и контроль над исходным кодом. Сканирование нескольких файлов не займет много времени, если вы не получите zip-бомбу или что-то в этом роде (и в Clam есть защита от этого).
Больше всего меня беспокоят изображения, потому что они отображаются в браузере каждого пользователя.
ASAIK не существует вирусов, которые могут перемещаться на сервер или через сервер в виде одного файла изображения. Я не думаю, что вам вообще нужно сканировать изображения. Просто убедитесь, что это действительно изображения. Убедитесь, что расширение остается расширением изображения (JPG / PNG и т. Д.). Эти вещи более важны, чем сканирование на вирусы.
также есть библиотека clamav для php. Вы найдете это здесь: http://php-clamav.sourceforge.net/