Проверка на вирусы на стороне сервера

Мне нужно сканировать загруженные файлы на наличие вирусов на сервере Linux, но я не знаю, как это сделать.

Какие у меня есть варианты, если они есть? Меня также интересует, как работают сканеры, когда несколько пользователей отправляют несколько файлов одновременно.

Вы хотите сканировать общие файловые системы или почтовый трафик на MTA?

Yaba 30.09.2008 10:55

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

kari.patila 01.10.2008 12:32
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
9
2
7 647
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

Ответ принят как подходящий

Я бы посмотрел на Антивирус моллюска. Он предоставляет программу clamscan, которая может сканировать данный файл и возвращать индикацию прохождения / непрохождения. Это бесплатно и регулярно автоматически обновляет свою базу данных.

Что касается интеграции такого продукта в процесс загрузки файлов, это будет зависеть от того, какой процесс загрузки файлов вы действительно используете.

Clamav отлично работал, и его было на удивление легко заставить играть вместе с python.

kari.patila 01.10.2008 17:45

Если вас беспокоит производительность, подумайте об использовании clamd / clamdscan в качестве своей реализации. clamd работает как демон, поэтому все затраты на инициализацию выполняются только один раз. Когда вы затем сканируете файл с помощью clamdscan, он просто передает файл в разветвленный clamd для фактического сканирования. Если у вас тонна трафика, это намного эффективнее.

Если у вас есть проблемы с производительностью, вам следует подумать об использовании коммерческого продукта. В наши дни у большинства крупных игроков есть версии для Linux / Unix.

Я думаю, что Yahoo использует Symantec для почты. Думаю, Hotmail пошел с Trend. Я попробую clamd / clamscan сейчас и попытаюсь получить совет от F-Secure, поскольку это практически единственная финская компания, которая занимается подобными вещами.

kari.patila 01.10.2008 12:27

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

Точно, есть идеи, кто из них может быть?

htm11h 28.02.2013 00:21

связанный с комментарием iDisposable, OPSWAT также имеет API для сканирования файлов (включая zip-архивы и другие архивы)

Naimah Nash 17.04.2015 04:56

Вот мои результаты для ClamAV при тестировании на известные вирусы (проблема в ничего из этого не должно было пройти):

+-----------+------------------------------+
|  Results  |             File             |
+-----------+------------------------------+
| infected  | AdvancedXPFixerInstaller.exe |
| pass      | auto.exe                     |
| pass      | cartao.exe                   |
| infected  | cartoes_natal.exe            |
| pass      | codec.exe                    |
| pass      | e421.exe                     |
| pass      | fixtool.exe                  |
| infected  | flash_install.exe            |
| infected  | issj.exe                     |
| infected  | iwmdo.exe                    |
| infected  | jobxxc.exe                   |
| infected  | kbmt.exe                     |
| pass      | killer_cdj.exe               |
| pass      | killer_javqhc.exe            |
| infected  | killer_rodog.exe             |
| infected  | kl.exe                       |
| infected  | MacromediaFlash.exe          |
| infected  | MacromediaFlashPlayer.exe    |
| infected  | paraense.exe                 |
| infected  | pibzero.exe                  |
| pass      | scan.exe                     |
| pass      | uaqxtg.exe                   |
| pass      | vejkcfu.exe                  |
| infected  | VIDeoSS.exe                  |
| infected  | wujowpq.exe                  |
| pass      | X-IrCBOT.exe                 |
+-----------+------------------------------+

Вы запускали их через коммерческие сканеры? Раньше я был администратором продукта, который параллельно запускал файлы через 4 коммерческих сканера. У меня был тестовый корпус из нескольких сотен вирусов, и ни один коммерческий сканер не смог их найти ...

Еще нет. Этот тестовый пакет был рекомендован местным антивирусным сообществом, поэтому я предполагаю, что они представляют самые последние и наиболее распространенные вирусы. Я знаю, что уровень обнаружения обычно составляет от 20% до 80%, что на самом деле не так уж и хорошо.

kari.patila 06.10.2008 21:17

Вы должны посмотреть МетаСкан opswat. Этот инструмент управляет обновлением и сканированием файлов на нескольких ядрах. Он входит в состав AVG, CA eTrust ™. ClamWin, ESET NOD32 Antivirus Engine, MicroWorld eScan Engine, Norman Virus Control и VirusBuster EDK. Кроме того, он вызовет нортоны и тому подобное. Преимущество состоит в том, что вы запускаете несколько движков для работы с файлом.

Clamscan будет сканировать файлы после того, как они будут сохранены, и не предотвратит загрузку или скачивание зараженного файла.

У меня есть кальмар (https + cache) <-> HAVPclamAV) <-> Настройка обратного прокси Tomcat. HAVP (http://www.server-side.de/) - это способ сканировать http-трафик через ClamAV или любое другое коммерческое антивирусное программное обеспечение. Это предотвратит загрузку зараженных файлов пользователями.

Тем не менее, он не работает при загрузке, поэтому он не препятствует хранению файлов на серверах, но предотвращает загрузку файлов и, следовательно, их распространение. Так что используйте его с обычным сканированием файлов (например, clamscan)

Другие вопросы по теме