Как программно сканировать файл - PullRequest
0 голосов
/ 31 мая 2018

Примечание: здесь спрашивают, потому что я гарантирую, что стек безопасности закроет его, потому что это вопрос программирования.

У меня есть веб-приложение (в данном случае Java на Tomcat), для которого мне иногда нужно разрешитьпользователь для загрузки файлов.Несмотря на то, что у меня, как правило, есть заслуживающие доверия пользователи, в моем бизнесе мы предполагаем, что любой и каждый может быть потенциальной угрозой для инсайдеров (или просто глупой).Поэтому я хотел бы, чтобы загруженный файл шел прямо в «карантинный» каталог, программно запускал сканирование, и только если сканирование прошло успешно, скопируйте его в целевую папку назначения для обработки.

«ложка дегтя» выясняет, (а) как программно запустить сканирование по требованию (предположим, что мы используем набор инструментов McAfee) и (б) как вернуть уведомление после завершения сканирования.Является ли это возможным?Если так, кто-нибудь сделал это и может дать мне указатели?

1 Ответ

0 голосов
/ 31 мая 2018

Мы делаем это.У нас есть система очередей, поэтому работники могут собирать файловые операции и выполнять их асинхронно.но общий процесс заключается в сканировании файла с помощью команды и обновлении базы данных для отслеживания состояния.

  1. записать файл в каталог
  2. записать информацию о файле в базе данных с помощьюместоположение = х;scanned = no;
  3. читать документы для mcaffee, но должен быть способ запустить сканирование через командную строку или через SDK.Вероятно, я бы запустил его через командную строку для сканирования файла и предположил, что команда вернет некоторую информацию (0 или! = 0 в случае ошибки или плохих результатов)
  4. Если сканер файлов возвращает ненулевое значение, тогдаset scanned = заражен;
  5. если сканер файлов возвращает чистое значение, тогда установите scanned = clean;

Установите код обработки только для файлов обработки, которые сканируются = чистые;

Примечание:@ Дэвид Конрад нашел инструкции по запуску сканера командной строки https://kc.mcafee.com/corporate/index?page=content&id=KB75478;воздай голос этому парню.

...