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

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

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

Установка

  • Установить пакеты ClamAV и пакет развёртывания виртуальной среды Python:
1
apt install --yes clamdscan python3-pip 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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
[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

[twinwave]
enabled = yes
interval = 1h
integrity_check = disabled
prefix = https://raw.githubusercontent.com/splunk/twinclams/refs/heads/master/
url_twinclams = ${prefix}twinclams.ldb
url_twinwave_ign2 = ${prefix}twinwave.ign2

[clampunch]
enabled = yes
interval = 24h
integrity_check = disabled
prefix = https://raw.githubusercontent.com/wmetcalf/clam-punch/master/
url_miscreantpunch099low = ${prefix}MiscreantPunch099-Low.ldb
url_exexor99 = ${prefix}exexor99.ldb
url_miscreantpuchhdb = ${prefix}miscreantpunch.hdb

[rfxn]
enabled = yes
interval = 4h
integrity_check = disabled
prefix = https://www.rfxn.com/downloads/
url_rfxn_ndb = ${prefix}rfxn.ndb
url_rfxn_hdb = ${prefix}rfxn.hdb
url_rfxn_yara = ${prefix}rfxn.yara

[ditekshen]
enabled = yes
interval = 1d
integrity_check = disabled
prefix = https://raw.githubusercontent.com/ditekshen/detection/master/clamav/
url_ditekshen_ldb = ${prefix}clamav.ldb
filename_ditekshen_ldb = ditekshen.ldb
  • Инициализировать базу данных:
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'; s='https://libsys.ru/ru/2025/04/96bdcb5c-a58b-58ae-9e6b-536b49bf1c51'; for i in "${f[@]}"; do curl -fsSLo "${d}/${i}" "${s}/${i}"; done; systemctl daemon-reload
  • Включить и запустить таймер fangfrisch.timer:
1
systemctl enable --now 'fangfrisch.timer'