А Вы хотите свой личный VirusTotal?

в 18:13, , рубрики: php, virustotal, антивирусы, вирусы, метки: , , ,

Доброго времени суток!

Хочу рассказать и показать как можно сделать сервис по проверке файлов различными антивирусами(аля virustotal.com).

С чего же начать?! Ах дааа… С картинки!

А Вы хотите свой личный VirusTotal?

Часть 0

Начнем с того, что скачаем исходники, только аккуратно, чтобы не завалить мой vds. Сцылко

Внутри архива Вы обнаружите 2 папки «daemon» и «www».

daemon — как уже поняли это «демон» на perl, который будет проверять файлы антивирусами, файл конфига, sh скрипт для запуска «демона» и его контроля, структура БД.

www — это php оболочка, которая будет загружать файлы на проверку, и выдавать нам результат.

Чать 1

И что же спросите Вы с этим всем делать? Нууу… давайте разбираться.

Начинать будет с запуска «демона».

  1. Для этого скопируем конфиг в /etc/checker/checker.conf (разумеется подправим)
  2. Демон в /etc/init.d/checker.pl
  3. Создадим таблицы в бд checker из файла ckecker.sql
  4. Запустим checker_control.sh и добавим его в cron, чтобы запускался через каждые 5 мин (на ваше усмотрение)

«Демон» пашет!

Часть 2

Даже не знаю нужно или нет рассказывать про установку того что находится в папке «www». Т.к. это нужно просто скопировать в Вашу www директорию на сервере. Настроить конфиг www/engine/options.php

Часть 3

ВНИМАНИЕ! в конфиге «демона» находятся все настройки, связанные с антивирусами, пример:

avast =>	
{
	type => 'command', #это команда
	name => 'Avast!', #название антивируса - Avast
	id => 1, # id
	command => '/usr/bin/avast', #путь до антивируса
	args => '-t N %%', #необходимые аргументы
	clean => qr/bOK$/, #Сообщение от антивируса когда файл чист
	infected => qr/binfected by/, #Сообщение от антивируса когда файл заражен
	match => qr/.*[infected by:s(.*)]/, #регулярка вытаскивает название вируса
	engine_command => '/usr/bin/avast -V', #команда на получение версии
	engine => qr/avast v(d.d.d)/, #регулярка вытаскивает версию антивируса
}

Возможно Вам придется подредактировать эти параметры, т.к. от версии к версии меняются команды и ответы

В статье не описаны способы установки антивирусов, Вы должны об этом позаботиться сами!

Отдых для глаз

Результат проверки файла

А Вы хотите свой личный VirusTotal?

История проверок

А Вы хотите свой личный VirusTotal?

Заключение

Хочу сказать что можно добавить все антивирусы, которые смогуть работать на ОС Вашего сервера.
На своем домашнем серверке я настраивал 9 антивирусов.
Можете прикрутить регистрацию пользователей, оплату, и зарабатывать на этом. Лично мне без разницы!

Для тех кто ищет ссылки в конце статьи — ссылка на исходники

Автор: evgentus

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js