Установка ClamAV 1.1.* из исходников на Debian 11
Clam AntiVirus — пакет антивирусного ПО, работающий во многих операционных системах, включая Unix-подобные ОС, OpenVMS, Microsoft Windows и Apple macOS.
Устанавливаем необходимые пакеты зависимостей. Все действия ниже будут выполняться от root
.
apt-get install gcc cmake make pkg-config valgrind git python3 python3-pip python3-pytest check libbz2-dev libcurl4-openssl-dev libjson-c-dev libmilter-dev libncurses5-dev libpcre2-dev libssl-dev libxml2-dev libsystemd-dev zlib1g-dev -y
JUQwJTlEJUQwJUIwJUQxJTg3JUQwJUI4JUQwJUJEJUQwJUIwJUQxJThGJTIwJUQxJTgxJTIwJUQwJUIyJUQwJUI1JUQxJTgwJUQxJTgxJUQwJUI4JUQwJUI4JUMyJUEwMC4xMDUlMkIlMkMlMjAlRDAlQjQlRDAlQkIlRDElOEYlMjAlRDAlQkElRDAlQkUlRDAlQkMlRDAlQkYlRDAlQjglRDAlQkIlRDElOEYlRDElODYlRDAlQjglRDAlQjglMjAlRDElODclRDAlQjAlRDElODElRDElODIlRDAlQjUlRDAlQjklMjBsaWJjbGFtYXYlMjAlRDElODIlRDElODAlRDAlQjUlRDAlQjElRDElODMlRDAlQjUlRDElODIlRDElODElRDElOEYlMjAlRDAlQkQlRDAlQjAlRDAlQjElRDAlQkUlRDElODAlMjAlRDAlQjglRDAlQkQlRDElODElRDElODIlRDElODAlRDElODMlRDAlQkMlRDAlQjUlRDAlQkQlRDElODIlRDAlQkUlRDAlQjIlMjBSdXN0LiUyMCVEMCU5QSVEMCVCMCVEMCVCQSUyMCVEMSU4MyVEMSU4MSVEMSU4MiVEMCVCMCVEMCVCRCVEMCVCRSVEMCVCMiVEMCVCOCVEMSU4MiVEMSU4QyUyMCVEMSU4RiVEMCVCNyVEMSU4QiVEMCVCQSUyMCVEMCVCRiVEMSU4MCVEMCVCRSVEMCVCMyVEMSU4MCVEMCVCMCVEMCVCQyVEMCVCQyVEMCVCOCVEMSU4MCVEMCVCRSVEMCVCMiVEMCVCMCVEMCVCRCVEMCVCOCVEMSU4RiUyMFJ1c3QlMjAlRDAlQkQlRDAlQjAlMjBEZWJpYW4lMjAxMQ==
Установка ClamAV
JUQwJUExJUQwJUJBJUQwJUIwJUQxJTg3JUQwJUI4JUQwJUIyJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUI4JUQxJTgxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUJEJUQwJUI4JUQwJUJBJTJDJTIwJUQxJTgwJUQwJUIwJUQxJTgxJUQwJUJGJUQwJUIwJUQwJUJBJUQwJUJFJUQwJUIyJUQxJThCJUQwJUIyJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUI1JUQwJUIzJUQwJUJFJTIwJUQwJUI4JTIwJUQwJUJGJUQwJUI1JUQxJTgwJUQwJUI1JUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJTIwJUQwJUIyJTIwJUQxJTgwJUQwJUIwJUQxJTgxJUQwJUJGJUQwJUIwJUQwJUJBJUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUJEJUQxJThCJUQwJUI5JTIwJUQwJUJBJUQwJUIwJUQxJTgyJUQwJUIwJUQwJUJCJUQwJUJFJUQwJUIzJTIwKCVEMCVCRCVEMCVCMCUyMCVEMCVCQyVEMCVCRSVEMCVCQyVEMCVCNSVEMCVCRCVEMSU4MiUyMCVEMCVCRCVEMCVCMCVEMCVCRiVEMCVCOCVEMSU4MSVEMCVCMCVEMCVCRCVEMCVCOCVEMSU4RiUyMCVEMSU4MSVEMSU4MiVEMCVCMCVEMSU4MiVEMSU4QyVEMCVCOCUyMGxhdGVzdCUyMCVEMCVCMiVEMCVCNSVEMSU4MCVEMSU4MSVEMCVCOCVEMSU4RiUyMDEuMS4wKS4=
cd /opt
d2dldCUyMGh0dHBzJTNBJTJGJTJGd3d3LmNsYW1hdi5uZXQlMkZkb3dubG9hZHMlMkZwcm9kdWN0aW9uJTJGY2xhbWF2LTEuMS4wLnRhci5neg==
tar -zxvf clamav-1.1.0.tar.gz
cd clamav-1.1.0
Создаем «build» подкаталог и переходим в него.
bWtkaXIlMjBidWlsZCUyMCUyNiUyNiUyMGNkJTIwYnVpbGQ=
JUQwJTlBJUQwJUJFJUQwJUJEJUQxJTg0JUQwJUI4JUQwJUIzJUQxJTgzJUQxJTgwJUQwJUI4JUQxJTgwJUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUI4JUQwJUI1JTIwJUQxJTgxJUQwJUIxJUQwJUJFJUQxJTgwJUQwJUJBJUQwJUI4Lg==
cmake .. \
-D CMAKE_BUILD_TYPE=RelWithDebInfo \
-D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_INSTALL_LIBDIR=/usr/lib \
JTIwJTIwJTIwJTIwLUQlMjBBUFBfQ09ORklHX0RJUkVDVE9SWSUzRCUyRmV0YyUyRmNsYW1hdiUyMCU1Qw==
-D DATABASE_DIRECTORY=/var/lib/clamav \
JTIwJTIwJTIwJTIwLUQlMjBFTkFCTEVfTUlMVEVSJTNET04lMjAlNUM=
JTIwJTIwJTIwJTIwLUQlMjBFTkFCTEVfSlNPTl9TSEFSRUQlM0RPRkY=
ENABLE_JSON_SHARED=OFF
)Собираем пакет, тестируем и устанавливаем
Y21ha2UlMjAtLWJ1aWxkJTIwLg==
ctest
Y21ha2UlMjAtLWJ1aWxkJTIwLiUyMC0tdGFyZ2V0JTIwaW5zdGFsbA==
Создаем сервисный аккаунт от которого будут работать службы (freshclam, clamd
).
groupadd clamav
dXNlcmFkZCUyMC1nJTIwY2xhbWF2JTIwLXMlMjAlMkZiaW4lMkZmYWxzZSUyMC1jJTIwJTIyQ2xhbSUyMEFudGl2aXJ1cyUyMiUyMGNsYW1hdg==
Создаем необходимые каталоги и настраиваем права владельца.
bWtkaXIlMjAlMkZ2YXIlMkZsb2clMkZjbGFtYXYlMkYlMjAlMkZ2YXIlMkZsaWIlMkZjbGFtYXYlMjAlMkZ2YXIlMkZydW4lMkZjbGFtYXYlMkY=
chown clamav:clamav /var/log/clamav/ /var/lib/clamav /var/run/clamav/
Y2htb2QlMjA3NTUlMjAlMkZ2YXIlMkZsaWIlMkZjbGFtYXY=
Создаем сервис запуска для — freshclam
Y2F0JTIwJTNDJTNDJTIwRU9GJTIwJTNFJTIwJTJGZXRjJTJGc3lzdGVtZCUyRnN5c3RlbSUyRmNsYW1hdi1mcmVzaGNsYW0uc2VydmljZQ==
[Unit]
Description=ClamAV virus database updater
Documentation=man:freshclam(1) man:freshclam.conf(5) https://www.clamav.net/documents
# If user wants it run from cron, dont start the daemon.
ConditionPathExists=!/etc/cron.d/clamav-freshclam
Wants=network-online.target
QWZ0ZXIlM0RuZXR3b3JrLW9ubGluZS50YXJnZXQ=
JTVCU2VydmljZSU1RA==
User=clamav
R3JvdXAlM0RjbGFtYXY=
RXhlY1N0YXJ0JTNEJTJGdXNyJTJGYmluJTJGZnJlc2hjbGFtJTIwLWQlMjAtLWZvcmVncm91bmQlM0R0cnVl
U3RhbmRhcmRPdXRwdXQlM0RzeXNsb2c=
[Install]
V2FudGVkQnklM0RtdWx0aS11c2VyLnRhcmdldA==
EOF
Создаем сервис запуска для — ClamAV
cat << EOF > /etc/systemd/system/clamav-daemon.service
[Unit]
RGVzY3JpcHRpb24lM0RDbGFtJTIwQW50aVZpcnVzJTIwdXNlcnNwYWNlJTIwZGFlbW9u
Documentation=man:clamd(8) man:clamd.conf(5) https://www.clamav.net/documents/
JTIzJTIwQ2hlY2slMjBmb3IlMjBkYXRhYmFzZSUyMGV4aXN0ZW5jZQ==
ConditionPathExistsGlob=/var/lib/clamav/main.{c[vl]d,inc}
ConditionPathExistsGlob=/var/lib/clamav/daily.{c[vl]d,inc}
JTVCU2VydmljZSU1RA==
ExecStartPre = /usr/bin/mkdir -p /var/run/clamav
RXhlY1N0YXJ0UHJlJUMyJUEwJTNEJUMyJUEwJTJGdXNyJTJGYmluJTJGY2hvd24lQzIlQTAtUiVDMiVBMGNsYW0uY2xhbSVDMiVBMCUyRnZhciUyRnJ1biUyRmNsYW1hdg==
ExecStart=/usr/sbin/clamd --foreground=true
# Reload the database
ExecReload=/bin/kill -USR2 $MAINPID
U3RhbmRhcmRPdXRwdXQlM0RzeXNsb2c=
TimeoutStartSec=420
JTVCSW5zdGFsbCU1RA==
V2FudGVkQnklM0RtdWx0aS11c2VyLnRhcmdldA==
EOF
cat << EOF > /etc/systemd/system/clamav-milter.service
[Unit]
RGVzY3JpcHRpb24lM0QnQ2xhbUFWJTIwTWlsdGVyJw==
After=clamav-daemon.service
[Service]
VHlwZSUzRGZvcmtpbmc=
ExecStart=/usr/sbin/clamav-milter --config-file /etc/clamav/clamav-milter.conf
JTVCSW5zdGFsbCU1RA==
V2FudGVkQnklM0RtdWx0aS11c2VyLnRhcmdldA==
EOF
JUQwJTlGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUI3JUQwJUIwJUQwJUJGJUQxJTgzJUQxJTgxJUQwJUJBJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUI0JUQwJUI1JUQwJUJDJUQwJUJFJUQwJUJEJTIwJUQxJTgxJUQwJUI4JUQxJTgxJUQxJTgyJUQwJUI1JUQwJUJDJUQwJUJEJUQwJUJFJUQwJUIzJUQwJUJFJTIwJUQxJTgzJUQwJUJGJUQxJTgwJUQwJUIwJUQwJUIyJUQwJUJCJUQwJUI1JUQwJUJEJUQwJUI4JUQxJThGJTJDJUMyJUEwJUQwJUIyJUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUJEJUQwJUJEJUQxJThCJUQwJUI1JTIwJUQxJTgxJUQxJTg2JUQwJUI1JUQwJUJEJUQwJUIwJUQxJTgwJUQwJUI4JUQwJUI4JTIwJUQwJUI3JUQwJUIwJUQwJUJGJUQxJTgzJUQxJTgxJUQwJUJBJUQwJUIwLg==
c3lzdGVtY3RsJTIwZGFlbW9uLXJlbG9hZA==
c3lzdGVtY3RsJTIwZW5hYmxlJTIwY2xhbWF2LWZyZXNoY2xhbS5zZXJ2aWNl
systemctl enable clamav-daemon.service
c3lzdGVtY3RsJUMyJUEwZW5hYmxlJUMyJUEwY2xhbWF2LW1pbHRlci5zZXJ2aWNl
Конфигурация ClamAV
Конфигурация clamav (основные параметры, оригинальный файл конфигурации /etc/clamav/clamd.conf.sample).
cat << EOF > /etc/clamav/clamd.conf
LocalSocket /var/run/clamav/clamd.socket
Rml4U3RhbGVTb2NrZXQlMjB0cnVl
TG9jYWxTb2NrZXRHcm91cCUyMGNsYW1hdg==
LocalSocketMode 666
User clamav
VENQU29ja2V0JTIwMzMxMA==
ScanMail true
U2NhbkFyY2hpdmUlMjB0cnVl
QXJjaGl2ZUJsb2NrRW5jcnlwdGVkJTIwZmFsc2U=
MaxDirectoryRecursion 15
FollowDirectorySymlinks false
FollowFileSymlinks false
UmVhZFRpbWVvdXQlMjAxODA=
TWF4VGhyZWFkcyUyMDEy
TWF4Q29ubmVjdGlvblF1ZXVlTGVuZ3RoJTIwMTU=
TG9nU3lzbG9nJTIwZmFsc2U=
TG9nUm90YXRlJTIwdHJ1ZQ==
TG9nRmFjaWxpdHklMjBMT0dfTE9DQUw2
TG9nQ2xlYW4lMjBmYWxzZQ==
LogVerbose false
UHJlbHVkZUVuYWJsZSUyMG5v
PreludeAnalyzerName ClamAV
RGF0YWJhc2VEaXJlY3RvcnklMjAlMkZ2YXIlMkZsaWIlMkZjbGFtYXY=
T2ZmaWNpYWxEYXRhYmFzZU9ubHklMjBmYWxzZQ==
U2VsZkNoZWNrJTIwMzYwMA==
Foreground false
Debug false
ScanPE true
TWF4RW1iZWRkZWRQRSUyMDEwTQ==
ScanOLE2 true
U2NhblBERiUyMHRydWU=
U2NhbkhUTUwlMjB0cnVl
MaxHTMLNormalize 10M
TWF4SFRNTE5vVGFncyUyMDJN
TWF4U2NyaXB0Tm9ybWFsaXplJTIwNU0=
TWF4WmlwVHlwZVJjZyUyMDFN
ScanSWF true
ExitOnOOM false
LeaveTemporaryFiles false
QWxnb3JpdGhtaWNEZXRlY3Rpb24lMjB0cnVl
ScanELF true
IdleTimeout 30
Q3Jvc3NGaWxlc3lzdGVtcyUyMHRydWU=
UGhpc2hpbmdTaWduYXR1cmVzJTIwdHJ1ZQ==
UGhpc2hpbmdTY2FuVVJMcyUyMHRydWU=
UGhpc2hpbmdBbHdheXNCbG9ja1NTTE1pc21hdGNoJTIwZmFsc2U=
UGhpc2hpbmdBbHdheXNCbG9ja0Nsb2FrJTIwZmFsc2U=
PartitionIntersection false
RGV0ZWN0UFVBJTIwZmFsc2U=
ScanPartialMessages false
HeuristicScanPrecedence false
U3RydWN0dXJlZERhdGFEZXRlY3Rpb24lMjBmYWxzZQ==
CommandReadTimeout 30
SendBufTimeout 200
TWF4UXVldWUlMjAxMDA=
ExtendedDetectionInfo true
OLE2BlockMacros false
AllowAllMatchScan true
ForceToDisk false
RGlzYWJsZUNlcnRDaGVjayUyMGZhbHNl
DisableCache false
TWF4U2NhblRpbWUlMjAxMjAwMDA=
MaxScanSize 100M
TWF4RmlsZVNpemUlMjAyNU0=
MaxRecursion 16
MaxFiles 10000
TWF4UGFydGl0aW9ucyUyMDUw
TWF4SWNvbnNQRSUyMDEwMA==
UENSRU1hdGNoTGltaXQlMjAxMDAwMA==
UENSRVJlY01hdGNoTGltaXQlMjA1MDAw
PCREMaxFileSize 25M
U2NhblhNTERPQ1MlMjB0cnVl
ScanHWP3 true
TWF4UmVjSFdQMyUyMDE2
StreamMaxLength 25M
LogFile /var/log/clamav/clamav.log
TG9nVGltZSUyMHRydWU=
TG9nRmlsZVVubG9jayUyMGZhbHNl
LogFileMaxSize 0
Qnl0ZWNvZGUlMjB0cnVl
BytecodeSecurity TrustSigned
Qnl0ZWNvZGVUaW1lb3V0JTIwNjAwMDA=
OnAccessMaxFileSize 5M
EOF
Конфигурация freshclam (основные параметры, оригинальный файл конфигурации /etc/clamav/freshclam.conf.sample).
cat << EOF > /etc/clamav/freshclam.conf
DatabaseOwner clamav
UpdateLogFile /var/log/clamav/freshclam.log
TG9nVmVyYm9zZSUyMGZhbHNl
TG9nU3lzbG9nJTIwZmFsc2U=
LogFacility LOG_LOCAL6
LogFileMaxSize 0
TG9nUm90YXRlJTIwdHJ1ZQ==
LogTime true
Rm9yZWdyb3VuZCUyMGZhbHNl
RGVidWclMjBmYWxzZQ==
MaxAttempts 5
RGF0YWJhc2VEaXJlY3RvcnklMjAlMkZ2YXIlMkZsaWIlMkZjbGFtYXY=
RE5TRGF0YWJhc2VJbmZvJTIwY3VycmVudC5jdmQuY2xhbWF2Lm5ldA==
Q29ubmVjdFRpbWVvdXQlMjAzMA==
ReceiveTimeout 0
TestDatabases yes
ScriptedUpdates yes
Q29tcHJlc3NMb2NhbERhdGFiYXNlJTIwbm8=
Qnl0ZWNvZGUlMjB0cnVl
Tm90aWZ5Q2xhbWQlMjAlMkZldGMlMkZjbGFtYXYlMkZjbGFtZC5jb25m
Q2hlY2tzJTIwMjQ=
DatabaseMirror db.local.clamav.net
RGF0YWJhc2VNaXJyb3IlMjBkYXRhYmFzZS5jbGFtYXYubmV0
RU9G
Y2F0JTIwJTNDJTNDJTIwRU9GJTIwJTNFJTIwJTJGZXRjJTJGY2xhbWF2JTJGY2xhbWF2LW1pbHRlci5jb25m
TWlsdGVyU29ja2V0JTIwJTJGdmFyJTJGcnVuJTJGY2xhbWF2JTJGY2xhbWF2LW1pbHRlci5zb2NrZXQ=
TWlsdGVyU29ja2V0TW9kZSUyMDY2MA==
FixStaleSocket yes
User clamav
TWlsdGVyU29ja2V0R3JvdXAlMjBjbGFtYXY=
UGlkRmlsZSUyMCUyRnJ1biUyRmNsYW1hdiUyRmNsYW1hdi1taWx0ZXIucGlk
VGVtcG9yYXJ5RGlyZWN0b3J5JTIwJTJGdG1w
Q2xhbWRTb2NrZXQlMjB1bml4JTNBJTJGcnVuJTJGY2xhbWF2JTJGY2xhbWQuY3Rs
LogFile /var/log/clamav/clamav-milter.log
LogRotate yes
TG9nSW5mZWN0ZWQlMjBCYXNpYw==
RU9G
JUQwJTlGJUQwJUI1JUQxJTgwJUQwJUIyJUQwJUJFJUQwJUI1JTIwJUQwJUJFJUQwJUIxJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUJCJUQwJUI1JUQwJUJEJUQwJUI4JUQwJUI1JTIwJUQwJUIwJUQwJUJEJUQxJTgyJUQwJUI4JUQxJTgwJUQwJUI4JUQxJTgwJUQxJTgzJUQxJTgxJUQwJUJEJUQxJThCJUQxJTg1JTIwJUQwJUIxJUQwJUIwJUQwJUI3JTIwJUQwJUI0JUQwJUI1JUQwJUJCJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUIyJTIwJUQxJTgwJUQxJTgzJUQxJTg3JUQwJUJEJUQxJTgzJUQxJThFLg==
freshclam --debug
/var/lib/clamav
Запускаем службы
systemctl start clamav-freshclam.service
c3lzdGVtY3RsJUMyJUEwc3RhcnQlQzIlQTBjbGFtYXYtZGFlbW9uLnNlcnZpY2U=
systemctl start clamav-milter.service
Удаление ClamAV
CMake формирует install_manifest.txt
файл при установке и с его помощью удалим все установленные файлы.
Переходим в каталог из которого выполняли компиляцию ClamAV ( в моем случае это — /opt/clamav-1.1.0/build
) и выполняем команды.
bWtkaXIlMjBkZWxldGVkLWJ5LXVuaW5zdGFsbA==
c3VkbyUyMHhhcmdzJTIwLUklN0IlN0QlMjBtdiUyMC10JTIwZGVsZXRlZC1ieS11bmluc3RhbGwlMjAlMjIlN0IlN0QlMjIlMjAlM0MlMjBpbnN0YWxsX21hbmlmZXN0LnR4dA==
cm0lMjAtcmYlMjBkZWxldGVkLWJ5LXVuaW5zdGFsbA==
JUQwJTlGJUQwJUJFJUQwJUI0JUQxJTg3JUQwJUI4JUQxJTg5JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQxJTg1JUQwJUIyJUQwJUJFJUQxJTgxJUQxJTgyJUQxJThCJTJDJTIwJUQxJTgzJUQwJUI0JUQwJUIwJUQwJUJCJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUJEJUQwJUJEJUQxJThCJUQwJUI1JTIwJUQxJTgxJUQwJUJCJUQxJTgzJUQwJUI2JUQwJUIxJUQxJThCJTIwJUQwJUI4JTIwJUQwJUJFJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUIyJUQxJTg4JUQwJUI4JUQwJUI1JUQxJTgxJUQxJThGJTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJUQxJThCJTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg0JUQwJUI4JUQwJUIzJUQxJTgzJUQxJTgwJUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI5Lg==
systemctl stop clamav-freshclam.service
c3lzdGVtY3RsJTIwc3RvcCUyMGNsYW1hdi1kYWVtb24uc2VydmljZQ==
systemctl stop clamav-milter.service
systemctl disable clamav-freshclam.service
c3lzdGVtY3RsJTIwZGlzYWJsZSUyMGNsYW1hdi1kYWVtb24uc2VydmljZQ==
systemctl disable clamav-milter.service
systemctl daemon-reload
rm /etc/systemd/system/clamav-*
cm0lMjAtcmYlMjAlMkZldGMlMkZjbGFtYXY=
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ
Обсуждение
Нет комментариев.