ClamAV: Установка дополнительных баз данных

ClamAV: Установка дополнительных баз данных

В этой заметке рассмотрим процесс установки и настройки утилиты Fangfrisch.

Fangfrisch - это аналог утилиты ClamAV FreshClam. Он позволяет загружать файлы определений вирусов, которые не являются официальными файлами ClamAV, например, от SaneSecurity , URLhaus и других. Fangfrisch был разработан с учетом безопасности и может запускаться только от непривилегированного пользователя.

Установка

  • Установить пакеты ClamAV, утилиты для работы с архивами и пакет развёртывания виртуальной среды Python:
1
apt install --yes clamav clamdscan libclamunrar && apt install --yes arj cabextract cpio lhasa lzop nomarch pax unrar unzip && apt install --yes python3-venv
  • Создать директорию /var/lib/fangfrisch и окружение:
1
d='/var/lib/fangfrisch'; mkdir "${d}" && chown clamav:clamav "${d}" && cd "${d}" && python3 -m 'venv' 'venv' && source 'venv/bin/activate' && pip install fangfrisch

Настройка

  • Создать файл /etc/fangfrisch.conf со следующим содержанием:
fangfrisch.conf
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[DEFAULT]
db_url = sqlite:////var/lib/fangfrisch/db.sqlite
local_directory = /var/lib/clamav
on_update_exec = clamdscan --reload
max_size = 10MB

[interserver]
enabled = yes

[malwarepatrol]
enabled = no
# Replace with your personal MalwarePatrol receipt.
# receipt = abcd1234

[sanesecurity]
enabled = yes
# Use a non-default mirror.
prefix = https://mirror.rollernet.us/sanesecurity/

[securiteinfo]
enabled = no
# Replace with your personal SecuriteInfo customer ID.
# customer_id = abcdef123456

[urlhaus]
enabled = yes
  • Инициализировать базу данных:
1
sudo -u 'clamav' '/var/lib/fangfrisch/venv/bin/fangfrisch' --conf '/etc/fangfrisch.conf' initdb
  • Обновить базу данных:
1
sudo -u 'clamav' '/var/lib/fangfrisch/venv/bin/fangfrisch' --conf '/etc/fangfrisch.conf' refresh
  • Скачать файлы сервиса и таймера в /etc/systemd/system и обновить список сервисов systemd:
1
f=('fangfrisch.service' 'fangfrisch.timer'); d='/etc/systemd/system'; p='https://lib.onl/ru/2025/04/96bdcb5c-a58b-58ae-9e6b-536b49bf1c51'; for i in "${f[@]}"; do curl -fsSLo "${d}/${i}" "${p}/${i}"; done; systemctl daemon-reload
  • Включить и запустить таймер fangfrisch.timer:
1
systemctl enable --now 'fangfrisch.timer'