Сканирование файлов на вирусы в S3

Всем привет! Разрабатываю сайт на Django/React с хранением файлов в S3 хранилище от Selectel, весь проект разворачиваю в Docker.

У меня возник вопрос касаемо того как проверять загружаемые файлы в S3 на безопасность. Вижу три основных пути реализации механизма, но по каждому из них у меня есть вопросы:

  1. На клиент отдавать временный URL для загрузки с Content_Type загружаемого файла и ограничением по времени в зависимости от размера файла. Файл грузиться в отдельный бакет или "папку" контейнера, после этого скачивается сервером или отдельным сервером для дальнейшей валидации. По этому методу у меня вопрос такой, стоит ли для такого случая создавать отдельны изолированный Докер контейнер где будет происходить вся проверка и как такое реализовать?

  2. Следующий способ это передача файла через POST запрос на сервер, запись файла в оперативку, а дальше происходит дальнейшая валидация и загрузка в S3. В этом методе меня интересует насколько такой подход оптимальный и ресурсоемкий?

  3. Третий подход чем-то похож на первый, также файл грузиться сначала в S3, затем отдаем файл на сервер по чанкам и проверяем с помощью ClamAv (этот способ вычитал на одном из сайтов). В реализации этого метода меня останавливает вопрос сложности реализации данного подхода и насколько он качественно проверяет файл?

Если есть иной более качественный и распространенный способ, буду рад узнать о нем, сам новичок и в теме Web приложений относительно недавно. Буду рад вашим ответам, заранее спасибо за них!

Вернуться на верх