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 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.
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
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...
štítky: amavis antivirus bezpečnost ESET linux postfix
1873x přečteno
Copyright © 2015-2024 SOCL.cz, RSS 2.0
Všechna práva vyhrazena, nebo tak nějak.