от Kalin Lilovski(11-05-2004)
рейтинг (20)
[ добре ]
[ зле ]
Вариант за отпечатване
Антивирусна защита за Sendmail с Amavis и ClamAV
Автор: Калин Лиловски
e-mail:kalin@cc.bas.bg
Създаден: 16/04/2004
Модифициран: 20/04/2004
Този документ описва изграждането на антивирусна зашита за
Sendmail
посредством интерфейса AmaVis и антивирусната програма
ClamAV. Авторът
предполага, че сте наясно с конфигурирането и начина на
работа на Sendmail,
че имате работещ мейл сървър и искате да добавите сканиране
на писмата за
вируси. Ако тези условия не са на лице погледнете
http://www.lcpe.uni-sofia.bg/linuxdoc/sendmail/
, където ще
намерите пълно ръководство на български за това как да
конфигурирате вашия мел
сървъв със sendmail.
AmaVis е Perl скрипт който се може да бъде използван
от MTA
( Sendmail Qmail, Exim, и. т.н ) за проверка на пощата
посредством
популярни антивирусни програми под Linux. ClamAV е
една такава антивирусна
програма, предимството на която е, че се разпространява
безплатно.
Amavis web site:
http://www.amavis.org
Clam AntiVirus web site:
http://www.clamav.net/
Clam AntiVirus download site:
http://prdownloads.sourceforge.net/clamav
Инсталиране на Amavis:
Amavis изисква Perl библиотеките:
IO-stringy
Unix-Syslog
MailTools
MIME-Base64
MIME-tools version 5.313 or better (!!)
Convert-UUlib version 0.111 or 0.201 or newer (0.2 is
broken!)
Convert-TNEF 0.06 or better (!!)
Compress-Zlib 1.14 or better
Archive-Tar
Archive-Zip 1.0 or better
За препоръчване е да имате актуална версия на Perl.
Допълнителните
модули можете да добавите с MCPAN интерфейса, който
инсталира не само самите
модули а и допълнителните модули от които те зависят. Освен
това може да
конфигурирате интерфейса да тегли от български мирор (аз го
направих от
Лирекс).
perl -MCPAN -e shell
след което:
install Unix::Syslog
install Convert::UUlib
install Convert::TNEF
install Compress::Zlib
install Archive::Tar
install Archive::Zip
install G/GB/GBARR/MailTools-1.15.tar.gz
install MIME::Tools
Повече информация ще намерите във файла README на AmaVis.
Инсталирането на Amavis за Sendmail е описано във файла
README.sendmail . 3а препоръчване е да следвате описанието
за инсталиране
посредством .mc файл, а не чрез редактиране на оригиналния
.cf файл.
Стъпка 1: Копирайте /etc/mail/sendmail.cf
на /etc/mail/sendmail.orig.cf и създайте символна
връзка /etc/sendmail.orig.cf сочеща
към /etc/mail/sendmail.orig.cf
ВНИМАНИЕ: Не пропускайте тази стъпка.
По-нататък /etc/sendmail.orig.cf ще се използва от Amavis В
оригиналния README файл пише да копирате /etc/sendmail.cf
на /etc/sendmail.orig.cf , което няма да ви свърши работа
при
дистрибуциите в които /etc/sendmail.cf е символна връзка
към
конфигурационния файл на sendmail, който се намира в
/etc/mail
.
Стъпка 2: Копирайте от директорията където сте
разархивирали
Amavis файла doc/amavis.m4 в директорията на sendmail
поддиректория /cf/mailer
Стъпка 3: Копирайте .mc файла използван за генерирането на
sendmail.mc под името amavis.mc и запазете негово копие на
оригиналния .mc файл /etc/mail ( в случай на нужда )
Стъпка 4: Променете amavis.mc
a) пред OSTYPE дефиницията добавете:
define(`QUEUE_DIR',`/var/spool/mqamavis')dnl
define(`STATUS_FILE',`/var/log/amavis.st')dnl
b) добавете дефиниция за amavis mailer-а към MAILER
дефинициите
MAILER(`amavis')dnl
c) запазете файла amavis.mc и генерирайте sendmail.cf
m4 amavis.mc > /etc/mail/sendmail.cf
d) запазете копие на amavis.mc (в случай на нужда )
cp amavis.mc /etc/mail
Стъпка 5: изпълнете
./configure --enable-relay --enable-sendmail
--with-warnrecip=yes --with-amavisuser=amavis,
make и make install
Стъпка 6: Създайте /var/spool/mqamavis със следните права:
drwx------ 2 root amavis
4096 Apr 20
12:32 mqamavis/
Стъпка 7: Рестартирайте sendmail демона
Инсталиране на ClamAV
Инсталирането е описано във файла INSTALL. Протича на
следните стъпки
./configure
make
make install
Рестартирайте Senadmail
След рестартирането на Sendmail, най-вероятно ще бъдете
изненадани
от това, че пощата ви не работи. Изпратете съобщение
на някоя пощенска кутия
и погледнете в /var/log/maillog. Там ще видите нещо от
сорта на
Apr 18 04:30:14 serv amavisd[2027]: starting. amavis
0.3.12
Sat Apr 17 10:51:06 GMT+1 2004
Apr 18 04:30:17 serv amavisd[2027]: Virus scanner failure:
Clamd - can't connect to daemon
Това е защото clamd демона не е включен. Преди да го
включите
трябва да го конфигурирате. За целта редактирате
файла /usr/local/etc/clamav.conf:
Коментирайте "Example"
Откоментирайте “LogSyslog"
Откоментирайте "StreamSaveToDisk"
Откоментирайте "MaxThreads" и задайте стойност
"30"
Откоментирайте "ScanMail"
Коментирайте “LocalSocket /tmp/clamd”
Откоментирайте “TCPSocket 3310”
Откоментирайте “TCPAddr 127.0.0.1”
Стартирайте clamd и проверете дали работи на ТСР порт 3310
# nmap -p 3310 localhost
Starting nmap 3.50 ( http://www.insecure.org/nmap/ )
at
2004-04-18 13:26 GMT+1
I nteresting ports on localhost (127.0.0.1):
PORT STATE SERVICE
3310/tcp open unknown
Авторите на ClamAV не отговарят за това до колко е сигурен
демона който са
написали и препоръчват да не се пуска на ТСР порт. Amavis
обаче го търси на
127.0.0.1:3310. Разумно e да ограничите достъпа до този
порт за
останалите компютри посредством iptables.
Ако във maillog има и нещо от сорта на:
Apr 18 04:30:17 serv amavisd[2030]: mail forwarding failed,
retry: Insecure dependency in exec while running with -T
switch at /usr/sbin/amavis line 601, <GEN0> line 19.
(message-id=<200404171552.32767.kalin@lit.bas.bg>)
pедактирайте скрипта /usr/sbin/amavis махнете
опцията –Т от
първия ред
Не забравяте да укажете clamd да се стартира със
зареждането на
системата
Можете да проверите как работи антивирусната проверка като
пратите
писмо с вирус (аз взех един от
http://www.eicar.org/anti_virus_test_file.htm).
Обновяването на ClamAV става с freshclam и cron.
<< Как да обновяваме автоматично Fedora с най-новите пакети | Siemens mini How-To >>
|