ClamAV a Sendmail (na RHEL4)

Home / Uncategorized / ClamAV a Sendmail (na RHEL4)

Minule jsme filtrovali spam Spamassassinem (http://www.logon.cz/?p=12), dnes budeme kontrolovat maily pomocí ClamAV antiviru. Spam jsme filtrovali pomocí procmailu, dneska si ukážeme jak kontrolovat maily pomocí milter rozhraní Sendmailu…

Co budeme potřebovat:

1. funkční Sendmail

2. nainstalovat si ClamAV antivir, jsou to následující balíčky:

  • clamav
  • clamav-db
  • clamav-milter
  • clamd

Takže je stáhneme ručně a nebo pokud máme nastavený repozitář Dag Wieers (více na http://www.logon.cz/?p=7) jednodušše stačí napsat v konzoli „up2date-nox clamav clamav-db clamav-milter clamd“.

Konfigurace antiviru ClamAV (3 moduly):

1. konfiguraci démona Clamd „/etc/clamd.conf“ (jen aktivní volby):

———-
LogFile /var/log/clamav/clamd.log
LogFileMaxSize 0
LogTime yes
LogSyslog yes
PidFile /var/run/clamav/clamd.pid
TemporaryDirectory /var/tmp
DatabaseDirectory /var/clamav
LocalSocket /var/run/clamav/clmilter.sock
FixStaleSocket yes
MaxConnectionQueueLength 30
ReadTimeout 300
User clamav
AllowSupplementaryGroups no
DetectBrokenExecutables yes
ScanMail yes
ArchiveMaxCompressionRatio 300
ArchiveBlockEncrypted no
ArchiveBlockMax no
———-

Důležitý je tučně vyznačený řádek, který nám říka na jakém soketu bude clamd naslouchat (soubor clmilter.sock se vytvoří při spuštění clamd), ostatní volby tu nebudu rozepisovat, můžeme si je přečíst v manuálových stránkách („man clamd.conf“).

2. konfigurace rozhraní clamav-milter („/etc/sysconfig/clamav-milter“):

———-
CLAMAV_FLAGS=“
–config-file=/etc/clamd.conf
–max-children=10
–force-scan
–noreject
–postmaster=emailova@adresa.admina
–postmaster-only
-ol local:/var/run/clamav/clmilter.sock

———-

Důležitý je tučně vyznačený řádek, který nám říká že budeme skenovat maily pocházející z lokální sítě, pomocí soketu kde naslouchá clamd. Ostatní volby viz „man clamav-milter“.

3. konfigurace updatovacího modulu freshclam „/etc/freshclam.conf“ (jen aktivní volby):

———-
DatabaseDirectory /var/clamav
UpdateLogFile /var/log/clamav/freshclam.log
PidFile /var/run/clamav/freshclam.pid
DatabaseOwner clamav
DatabaseMirror db.cz.clamav.net
DatabaseMirror db.local.clamav.net
HTTPProxyServer nazev_proxy
HTTPProxyPort proxy_port

NotifyClamd /etc/clamd.conf
———-

Zde jsou akorat zajímavé vyznačené řádky kam se loguje stahování virových aktualizací, a nastavení proxy pokud jsme za proxy serverem.

Konfigurace Sendmailu:

Konfiguraci Sendmailu provádíme ve dvou krocích (vše v „/etc/mail/“):

1. upravíme soubor sendmail.mc

2. a z něj vygenerujeme sendmail.cf

Samozřejmě si nejdřív tyto soubory zazálohujeme.

Do funkčního konf. souboru sendmail.mc přidáme toto:

———-
INPUT_MAIL_FILTER(clamav', S=local:/var/run/clamav/clmilter.sock, F=,T=S:4m;R:
4m‘)dnl
define(confINPUT_MAIL_FILTERS', clamav‘)dnl
———-

kterým definujeme, že Sendmail má používat clamav-milter rozhraní, kde naslouchá clamd. Podrobnosti najdeme v dokumentaci clamav-milter „/usr/share/doc/clamav-milter“.

Vygenerujeme výsledný sendmail.cf:

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

To by bylo s konfigurací vše.

Spuštění služeb:

Spustíme postupně všechny služby a restartujeme sendmail:

1. /etc/init.d/clamd start
2. /etc/init.d/clamav-milter start
3. /etc/init.d/sendmail restart

Pokaždé koukáme do logů jestli je vše v pořádku. Pokud ano měli by od této chvíle být maily filtrovány ClamAVem, což poznáme z logu „/var/log/maillog“, hledáme řetezec „Milter add: header:“, to znamená že nám ClamAV přidává do hlavičky každého mailu „X-Virus-*“.

Dodatečná nastavení:

Po instalaci ClamAVu se objeví v cronu, přesně v „/etc/cron.daily/ “ skript, který nám jednou za den zaktualizuje virovou databázi. Jelikož to je nedostatečné, zkopírujeme tento skript do adresáře „/etc/cron.hourly/“ odkud se nám bude spouštět každou hodinu.

Odkazy:

http://www.clamav.net/

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *