SOCL.cz
blog nejen o Internetu

Využíváme ESET Server Security for Linux s Amavisem

publikováno 6. 4. 2023 v 8:57

Bezplatný antivirus ClamAV je v našem firemním linuxovém poštovním serveru celkem nic moc řešení, prakticky nic nenajde a bordel se dostane až do schránek uživatelů, přičemž pak obvykle zasáhne rezidentní štít ESETu na klientských PC. Proto jsem se rozhodl propojit ESET Server Security for Linux a Amavis, aby se špatné věci vůbec k uživatelům nedostaly.

ESET logo

ESET původně nabízel řešení ESET Mail Security for Linux/FreeBSD, ale tento produkt bohužel zařízl a již není možné jej získat. Ani jsem neměl možnost jej vyzkoušet, jen jsem o něm slyšel. Přesto mi to nedalo a prohledával jsem usilovně web, jestli se někomu nepodařilo naroubovat jejich ESET Server Security for Linux na Amavis nebo Postfix. My máme verzi 9.x a to, co jsem našel na netu, bylo pro předešlé verze. A s naší verzí to nefungovalo. Přesto mi tyto návody byly velkou inspirací. Nakonec dokonce jsem kontaktoval podporu ESETu ve snaze přijít tomu na kloub, ale ta mi nakonec moc nepomohla. Jen mi přeložila do češtiny anglickou chybovou hlášku, tož dík. :-) Ne vážně, chybová hláška byla trochu zavádějící, prostě záhada, proto jsem se rozhodl sáhnout po těžším kalibru - debugoval jsem jejich skener pomocí linuxového strace. Nakonec jsem to (záhadně) vyřešil a rád bych se podělil o výsledek - třeba nějaký správce poštovního serveru řeší stejný problém a mohlo by mu to vytrhnout trn z paty. ClamAV je sice zdarma a nějakou ochranu poskytuje, ale řešení ESETu v plné palbě je přeci jen něco jiného. Já mám propojení s Amavisem zatím pouze na vlastním "ne až tak důležitém" serveru, přičemž po dostatečném otestování to chci hodit do produkce.

Integrace

Takže předpokládám, že máme nainstalovaný jejich produkt a v adresáři /opt/eset/efs/bin/ máme soubor odscan. Přihlašte se přes webové rozhraní na server https://mailserver:9443 a v nastavení antiviru vypněte real-time file system ochranu. Taky máme nainstalovaný Amavis s antivirem ClamAV. Na Rocky Linuxu, mám k dispozici Rocky Linux 8, se s Amavisem spouští i ClamAV, což není žádoucí, takže nejprve překopírujeme soubor /usr/lib/systemd/system/amavisd.service do /etc/systemd/system/amavisd.service a zakomentujeme spouštění clamd@amavisd.service:

[Unit]
Description=Amavis mail content checker
Documentation=http://www.ijs.si/software/amavisd/#doc
After=network.target
#Wants=clamd@amavisd.service

[Service]
Type=forking
PIDFile=/run/amavisd/amavisd.pid
ExecStart=/usr/sbin/amavisd -c /etc/amavisd/amavisd.conf
ExecReload=/usr/sbin/amavisd -c /etc/amavisd/amavisd.conf reload
Restart=on-failure
PrivateTmp=true
CapabilityBoundingSet=CAP_DAC_OVERRIDE CAP_SETGID CAP_SETUID
ProtectSystem=full
ProtectHome=true

[Install]
WantedBy=multi-user.target

Pak provedeme reload démonů:

systemctl daemon-reload

Ve složce /opt/eset/efs/bin/ vytvoříme soubor scan.sh a vložíme do něj následující řádky:

#/bin/sh
/opt/eset/efs/bin/odscan -s --profile "@In-depth scan" $1
RETVAL=$?
if [ $RETVAL -eq 1 ] || [ $RETVAL -eq 50 ]; then
 echo info=\"See ESET log for more information!\"
fi
exit $RETVAL

Nastavíme mu příznak spouštění:

chmod +x /opt/eset/efs/bin/scan.sh

Editujeme soubor /etc/amavisd/amavisd.conf, kam na začátek antivirové sekce vložíme následující řádky:

@av_scanners = (
  ['ESET Server Security for Linux',
    ['/opt/eset/efs/bin/scan.sh','scan.sh'],
    '{}',
    [0,10,100],[1,50],
    qr/info="(.+)"/m ],

A část, kde je ClamAV, zakomentujeme:

### http://www.clamav.net/
#  ['ClamAV-clamd',
#    \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamd.amavisd/clamd.sock"],
#    qr/\bOK$/m, qr/\bFOUND$/m,
#    qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ],

Můžeme restartovat Amavis a případně zastavit běžící službu clamd@amavisd.service, kterou už nepotřebujeme:

systemctl restart amavisd
systemctl stop clamd@amavisd

V logu /var/log/maillog by měla být informace o primárním antivirovém skeneru:

amavis[18213]: Found primary av scanner ESET Server Security for Linux at /opt/eset/efs/bin/scan.sh

Najde vám EICAR?

Máme hotovo! Zkuste si poslat e-mailem testovací soubor EICAR, co se stane. V minulých verzích skenerů zřejmě ESET podával na výstupu i informaci o konkrétní nákaze, ale odscan nic takového nevrací. Může však vrátit identifikátor provedeného skenu, který umí zpracovat druhá utilita lslog. Někdo šikovný si jistě skript upraví, ale to se mi už fakt nechtělo a místo toho v logu vidím jen hlášku "See ESET log for more information!" - stačí se pak přihlásit přes webové rozhraní a mrknout do logu. Jak prosté, milý Watsone...

detekce EICAR souboru

štítky: amavis antivirus bezpečnost linux postfix
1199x přečteno

Komentáře k článku (0)

Zatím nikdo nic nenapsal, chcete být první?
Vaše jméno/přezdívka: (max 40 znaků)

Web: (nepovinné, zadejte s http(s)://, max 100 znaků)

Opiště sekvenci znaků:

captcha!

Zde napište komentář: (max 512 znaků)

Copyright © 2015-2024 SOCL.cz, RSS 2.0 RSS kanál blogu
Všechna práva vyhrazena, nebo tak nějak.

WEDOS BANNER