Kiev1.org Карта сайта Файлы Фотографии Киева
  
Реклама:






Разделы
 
 Sysadmin
 Антиглобалисты
 Ереси и секты
 Катастрофы
 Компьютерные новости
 Непроверенное
 О проекте
 О фотогалерее
 Политика и власть
 Православие
 Предприятия Украины
 Протесты Людей против нового мирового концлагеря
 Разное
 Россия
 Старец Паисий 1924-1994
 Стояние за Истину
 Суды в Украине
 Тайна беззакония
 экуменизм


Внимание! Читая пророчества на этом сайте помните что достоверность трудно проверить и все может во времени изменяться - самое главное думать своей головой и не верить легкомысленно всему что говорят, особенно советское телевидение
"О дне же том, или часе, никто не знает, ни Ангелы небесные, ни Сын, но только Отец (Мк. 13, 32)"

Устанока SpamAssassin, Postfix, MySQL, WebUsePref



Установка Postfix
Конфигурация SpamAssissin
Установка DrWeb (лучше конечно clamav)

Установка почтовой системы

Материал из Википедии - свободной энциклопедии.

Установка почтовой системы на Gentoo linux для небольшой конторы

Используется postfix + cyrus-imap, авторизация пользователей через cyrus-sasl без прикручивания какой-либо БД (подходит для контор с несколькими десятками почтовых ящиков - хранить что-либо в mysql или postgress в данном случае нет смысла). Пользователи хранятся в базе sasldb, поэтому нет нужды заводить в системе реальных пользователей.

Возможно при установке указанных пакетов понадобится установить все зависимости, которые они за собой тянут. Предоставим системе самой разобраться, что же ей не хватает - она с этим вполне успешно справляется.

Предпочитаю использовать для /var reiserfs, но это сугубо личные предпочтения.


emerge -pv cyrus-sasl
[ebuild   N   ] dev-libs/cyrus-sasl-2.1.20  -authdaemond +berkdb -debug +gdbm +java -kerberos -ldap +mysql  +pam -postgres +ssl -static 0 kB

На всякий случай проверяем флаги - все ОК

emerge cyrus-sasl

Этот пакет поставили, едем дальше

emerge -pv postfix
These are the packages that I would merge, in order:
 Calculating dependencies ...done!
[ebuild   N   ] mail-mta/postfix-2.1.5-r1  +ipv6 -ldap -mailwrapper -mbox +mysql +pam -postgres -sasl*(-selinux) +ssl -vda 0 kB

Здесь нам может пригодиться флаг sasl, хотя в моем случае пока нет нужды авторизоваться на smtp, возможно в дальнейшем здесь будет описана авторизация через cyrus-sasl на smtp - вообщем выставляйте флаги по вкусу кому что надо

USE="sasl" emerge postfix

Постфикс собрался

emerge -pv cyrus-imapd
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild   N   ] net-mail/cyrus-imapd-2.2.10  -afs -drac -idled -kerberos +pam -snmp +ssl +tcpd 0 kB

После проверки и установки нужных нам флагов собираем imap-сервер

emerge cyrus-imapd


Программа для администрирования имаповских ящиков

emerge cyrus-imap-admin


После того как все нужные нам пакеты поставлены, можно приступать к настройке

сначала cyrus-sasl

passwd cyrus
pwconv
chown -R cyrus:mail /etc/sasl2 - доступ cyrus к базе /etc/sasl2/sasldb2
saslpasswd2 cyrus - заводим в sasldb2 
sasldblistusers2 - для проверки


Разбираемся с postfix

Cодержимое /etc/postfix/main.cf, ниже приведена примерная конфигурация почтового сервера подключенного напрямую к инету (не через relayhost), естественно для этого случая должна быть MX-запись в ДНС. Подчеркиваю, что умышленно опускаю многие параметры в main.cf, чтобы не раздувать описание. Добавьте все остальное руководствуясь документацией postfix.


queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
mail_owner = postfix
myhostname = mail.domain.tld
mydomain = mail.domain.tld
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
local_recipient_maps =
unknown_local_recipient_reject_code = 550
mynetworks_style = subnet
mynetworks = 192.168.1.0/24, 127.0.0.0/8
relay_domains = $mydestination
НА ЭТУ СТРОЧКУ ОБРАТИТЕ ВНИМАНИЕ!!!
mailbox_transport = lmtp:unix:/var/imap/socket/lmtp


Когда добавили все, что нужно в main.cf, идем в /etc/postfix/master.cf

Ищем такую строку

 # Also specify in main.cf: cyrus_destination_recipient_limit=1
cyrus     unix  -       n       n       -       -       pipe
 user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
 

И заменяем путь на

 # Also specify in main.cf: cyrus_destination_recipient_limit=1
cyrus     unix  -       n       n       -       -       pipe
 user=cyrus argv=/cyrus/deliver -e -r ${sender} -m ${extension} ${user}
 

Все, постфиксом разобрались, теперь cyrus-imapd

Редактируем /etc/cyrus.conf

# $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imapd/files/cyrus.conf,v 1.4 2004/07/18 04:02:23 dragonheart  Exp $
# Standard standalone server configuration.
START {
 # Do not delete this entry!
 recover	cmd="ctl_cyrusdb -r"
 # This is only necessary if using idled for IMAP IDLE.
 #idled		cmd="idled"
}
# UNIX sockets start with a slash and are put into /var/imap/socket.
SERVICES {
  # Add or remove based on preferences.
  imap		cmd="imapd" listen="imap2" prefork=0
  pop3		cmd="pop3d" listen="pop-3" prefork=0
   # Don't forget to generate the needed keys for SSL or TLS
  # (see doc/html/install-configure.html).
  imaps		cmd="imapd -s" listen="imaps" prefork=0
  pop3s		cmd="pop3d -s" listen="pop3s" prefork=0
  sieve		cmd="timsieved" listen="sieve" prefork=0
  # at least one LMTP is required for delivery
  #lmtp		cmd="lmtpd" listen="lmtp" prefork=0
   ##ОБРАТИТЕ ВНИМАНИЕ НА ЭТУ СТРОКУ
  lmtpunix	cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0
     # this is only necessary if using notifications
  #notify	cmd="notifyd" listen="/var/imap/socket/notify" proto="udp" prefork=1
}
EVENTS {
  # This is required.
  checkpoint	cmd="ctl_cyrusdb -c" period=30
  # This is only necessary if using duplicate delivery suppression.
  delprune	cmd="ctl_deliver -E 3" period=1440
  # This is only necessary if caching TLS sessions.
  tlsprune	cmd="tls_prune" period=1440
}


Далее редактируем /etc/imapd.conf

configdirectory:	/var/imap
partition-default:	/var/spool/imap
auto_transition:	yes
tls_ca_path:            /etc/ssl/certs
tls_cert_file:		/etc/ssl/cyrus/server.crt
tls_key_file:		/etc/ssl/cyrus/server.key
admins:			cyrus
hashimapspool:		yes
allowanonymouslogin:	no
allowplaintext:		yes
sasl_pwcheck_method:	auxprop
sasl_auxprop_plugin:	sasldb
sasldb_path:		/etc/sasl2/sasldb2
sasl_mech_list:		LOGIN PLAIN 

Авторизация через базу sasldb, механизмы авторизации LOGIN,PLAIN вроде бы с настройкой cyrus покончено

Теперь займемся почтовыми ящиками юзеров, для этого используем программу cyradm

/etc/init.d/cyrus start
cyradm -user cyrus -server localhost
localhost> cm user.testuser
localhost> help - выводит все команды для руления юзерскими ящиками
localhost> exit

Не забудьте забить в sasldb2 нового юзера:

sasldbpasswd2 testuser


Поднимаем сервисы

/etc/init.d/postfix start
/etc/init.d/cyrus start

Настраиваем почтового клиента (проверено с thunderbird 1.0 и с KMail 1.7.1, с Outlook Express тоже должно быть проблем).

Пробуем отправить письмо , если что-то не работает - смотрим логи, прежде всего проверьте права на доступ в /var/imap/socket/lmtp для пользователей postfix и cyrus, чаще всего проблемы связаны именно с этим. Также проверьте права на доступ к /etc/sasl2/sasldb2 для пользователя cyrus.

Желательно поставить антивирус например cmalav используем для этого связку clamav + clamsmtp хотя возможны и другие варианты например amavisd-new. Установка прекрасно описана здесь http://www.nixp.ru/articles/clamav_postfix>, необходимо руководствоваться ей,естественно с адаптацией под реалии Gentoo

emerge clamav
ACCEPT_KEYWORDS="~x86" emerge clamsmtp (пока замаскирован в портаджах)

Затем в файле /etc/conf.d/clamd START_CLAMD = yes (для версии старше 0.85 уже не актуально - все настройки только в clamd.conf и clamsmtpd.conf)

Редактируем файлы /etc/clamd.conf и /etc/clamsmtpd.conf в соответствии с рекомендациями приведенными выше по ссылке Обратите внимание на параметры LocalSocket: /var/run/clamav/clamd.sock в /etc/clamav.conf и ClamAddress: /var/run/clamav/clamd.sock в /etc/clamsmtpd.conf - путь и имя файла должен одинаковым для обоих конфигов

rc-update add clamd default
rc-update add clamsmtpd default
/etc/init.d/postfix reload

все - антивирус должен проверять всю почту проходящую через Ваш почтовик


P.S. Все вышеописанное проверялось на моей рабочей машине и на серваке небольшой конторы. Автор (или авторы) не несут ответственности за безграмотное и необдуманное применение данного руководства. Ваша безопасность в ваших руках и в голове! Данное описание не претендует на полное и развернутое и не является единственно возможным вариантом конфигурации. Также выражаю признательность разработчикам вышеописанных замечательных программ за прекрасное исполнение и хорошую документацию. Практически все вышенаписанное подчерпнуто из документации к самим пакетам, а также некоторые мысли родились из отрывочных данных, блуждающих в рунете - большое спасибо за это их авторам.

 http://ru.gentoo-wiki.com/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%BF%D0%BE%D1%87%D1%82%D0%BE%D0%B2%D0%BE%D0%B9_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B

1. Установка/настройка почтового сервера Postfix

Проверяем установлен ли пакет, содержащий почтовый сервер Postfix:

# urpmi postfix

Для запуска сервера выполняем команду:

# /etc/init.d/postfix start

Для останова сервера выполняем команду:

# /etc/init.d/postfix stop

Почтовый сервер Postfix сразу после установки имеет настройки, позволяющие использовать его как SMTP-сервер для отправки почты с локальной машины.

Тем не менее, мы рекомендуем изменить в конфигурационном файле /etc/postfix/main.cf следующие переменные:

  • myhostname = virtual.domain.tld укажите здесь реальное имя вашего хоста (например, mail.mycompanyname.com.ua).

  • mydomain =domain.tld: Укажите здесь ваше правильное почтовое доменное имя (например, mycompanyname.com.ua).

Для того, чтобы предоставить возможность отправлять почту через этот SMTP другим хостам в вашей локальной сети, нужно в конфигурационном файле /etc/postfix/main.cf правильно определить следующие переменные:

  • inet_interfaces = all: это необходимо сделать для того, чтобы к серверу могли подключаться не только локальные почтовые клиенты.

  • Также необходимо поправить переменную mynetworks. Ее можно заменить к примеру на: mynetworks = 127.0.0.0/8, 192.168.1.0/24 , где 192.168.1.0/24 это ваша подсеть, с которой вы разрешаете отсылать почту через этот SMTP сервер.

    Внимание

    Не открывайте доступ со всего мира! За такими открытыми серверами охотятся спамеры и используют такие сервера для рассылки спама. Кроме того, в этом случае можно также попасть в black-list.

Для того, чтобы ваш почтовый сервер мог принимать почту для вашего почтового домена, необходимо чтобы выполнялись следующие условия:

  1. Должно быть настроено все что описано выше.

  2. У вас должен быть статический IP-адрес и постоянное подключение к Интернет.

  3. У вас должно быть зарегистрировано соответствующее доменное имя (например example.com).

  4. Запись MX вашего домена должна указывать на данный хост.

Не забываем после внесения любых изменений в конфиги перезапускать Postfix, так как изменения вступают в силу только после перезапуска этого демона.

Добавим, что логи почтового сервера находятся в каталоге /var/log/mail/. Для просмотра в реальном режиме времени логов почтового сервера можно воспользоваться командой:

 # tail -f /var/log/mail/info

Кроме того, часто бывает полезно посмотреть на очередь сообщений сервера. Это можно сделать командочкой:

# mailq

Если вы хотите форсировать отправку писем из очереди, этого можно добиться командой:

# postfix flush

2. Установка pop3/imap сервера

Допустим, прочитав предыдущую часть, вы успешно настроили почтовый сервер таким образом, что он может отправлять и принимать почту. Теперь нужно добиться того, чтобы пользователи могли забирать свою почту с сервера. Для этого обычно используется протокол POP3 (Post Office Protocol version 3) или, реже, протокол IMAP. Можно также использовать защищенные версии этих протоколов POP3s и IMAPs.

Устанавливаем пакет imap:

# urpmi imap

Этот пакет содержит сервисы, позволяющие использовать любой из четырех вышеописанных протоколов. Теперь нам осталось только включить необходимые нам сервисы.

Итак, мы имеем дело со следующими демонами: ipop3, pop3s, imap, imaps. Запуском этих демонов занимается демон xinetd. Для примера мы рассмотрим как включить демон ipop3, как самый широко используемый. Аналогичные действия можно и нужно провести со всеми четырьмя демонами.

Узнаем состояние демона, то есть определяем включен ли он в xinetd:

# chkconfig --list ipop3

Если не включен, включаем демон в xinetd:

# chkconfig ipop3 on

Отключить демон в xinetd можно так:

# chkconfig ipop3 off

Обратите внимание, что опция on сразу загружает это сервис и делает его активным, а опция off сразу выключает и выгружает этот сервис.

Никакой дополнительной настройки эти сервисы обычно не требуют.

 http://www.linux.opennet.ru/docs/RUS/mdkman/#id2873592 HOWTO postfix+spamassassin+AVP(via avcheck)+cyrus under FreeBSD

Немного предисловия

Почему POSTFIX?

postfix - альтернативный MTA, используемый многими вместо sendmail.
У него много преимуществ (параллельная доставка писем, читаемый файл конфигурации, встроенная поддержка MySQL (на этапе компиляции) и т.д. и т.п.), но для меня, в своё время, ключевым моментом стала возможность запрета исполнения команд в ~/.forward. Это достаточно серьёзный пункт, так как sendmail не проверяет наличие шелла у пользователя при обработке файла ~/.forward и это открывает достаточно большую дыру в безопасности сервера. Это достаточно просто проверить, поместив строку следующего содержания в файл .forward в домашний каталог пользователя у которого нет шелла
(| whoami |  mail -s test You@e-mail.ua)
При определенных условиях этот путь позволяет провести удаленно атаку с использованием локальных vulnerabilities.
postfix решает эту проблему так же элегантно, как и много другое, такой строкой в файле конфигурации
  # security reason - disable run commands from  ~/.forward
  allow_mail_to_commands = alias

p.s. telnet mx1.freebsd.org smtp :)

Почему AVP?

Так уж сложилось, что вирусов много и они научились пользоваться почтой для своего распространения. Проверять почту стало необходимостью. Нет разницы, какой именно антивирусной программой пользоваться. Главное - своевременное обновление баз и возможность, настроив один раз, не вмешиваться в работу в дальнейшем. Мы приобрели AVP, так что и рассматривать будем только его. :) В комплект поставки входит так называемый kavkeeper, который обеспечивает связь между MTA и самим антивирусным демоном. С ним связано много не хороших воспоминаний. Вкратце - его использование крайне не желательно. Его можно заставить работать, но мы тогда превратим postfix в qmail. :( Вместо этого мы будем использовать avcheck, написанный Michael Tokarev. Кроме того, что его код открытый, он же дает описание, как правильно установить сам антивирусный демон. На этом мы остановимся позднее.

Почему CYRUS?

Тут всё просто и комментариев не требуется - он лучший из бесплатных. Не нужно создавать системных пользователей. К тому же он может использовать LMTP, а это нам может понадобится в дальнейшем. Кроме того, идущий в комплекте с ним cyrussasl позволяет аутентифицировать пользователей, забирающих почту по протоколам POP3/IMAP не только plain text, но и CRAM-MD5, DIGEST-MD5. Outlook Express их не поддерживает, зато их поддерживает The Bat!, имеющий много преимуществ и так :). Наверное, необходимо упомянуть, что cyrus так же поддерживает SSL протоколы POP3S и IMAPS. И еще, наложив на cyrussasl патч, мы можем научить его авторизоваться по базе MySQL.

SPAM

Наверное многие для себя уже прочувствовали всю проблему, кроме того никакие rbl, regexp вида headers_check, body_check (в терминологии postfix) давно не приносят должных результатов. Обратная сторона медали - ложные срабатывания. Мне пришлось много заниматься этой проблемой. Увы, приходится принимать всё. Проверять всё spamassassin-ом, благо его модуль BAYES работает как надо и учится вразумительно, т.е. ему достаточно явно разложить по полочкам что есть spam, а что есть ham - нормальная корреспонденция. Документация рулит, гугль тоже ;)

Разобравшись в используемых программах, приступим к установке.
Начнём с postfix

  # cd /usr/ports/mail/postfix-current/
  # make all install  clean
нам будет предоставлен выбор
  [ ] PCRE Perl Compatible Regular  Expressions
  [x] SASL Cyrus SASLv1 (Simple Authentication and Security  Layer)
  [ ] DB3 Berkeley DB3 (required if SASL also built with DB3)
  [ ]  MySQL MySQL map lookups 
  [ ] PgSQL PostgreSQL map lookups 
  [ ] OpenLDAP  OpenLDAP map lookups 
  [ ] Test SMTP/LMTP test server and generator 
  [ ]  TLS SSL and TLS (currently broken)
  [ ] IPv6 IPv6 support (not KAME  official)
в данном случае нам понадобится только SASL
после окончания сборки вся документация в /usr/local/share/doc/postfix/,
файлы конфигурации в /usr/local/etc/postfix/
В FreeBSD информация о почтовых программах находится в /etc/mail/mailer.conf
В нашем случае он должен выглядеть так
  # more  /etc/mail/mailer.conf
  #
  # Execute the Postfix sendmail program, named  /usr/local/sbin/sendmail
  #
  sendmail /usr/local/sbin/sendmail
  send-mail  /usr/local/sbin/sendmail
  mailq /usr/local/sbin/sendmail
  newaliases  /usr/local/sbin/sendmail
Кроме того, так как sendmail, как таковой, нам больше не понадобится, добавим в /etc/make.conf строку
  NO_SENDMAIL=true

При пересборке и установке мира sendmail больше не участвует.
Укажем в /etc/rc.conf, что sendmail мы больше не импользуем
  sendmail_enable="NONE"

Отредактируем основной файл конфигурации postfix /usr/local/etc/postfix/main.cf
Комментарии описывают каждый параметр, но для ленивых - вкратце так:

В начале проверим соответствие установленных путей существующим. Далее

  mail_owner = postfix
  myhostname = имя_нашего_хоста
  mydomain =  имя_домена
  mydestination = список через запятую или пробел хостов, для  которых мы 
                  принимаем почту (конечный пункт назначения) для раскладки её  локально.
  mynetworks_style = subnet (сети, почту от которых мы пересылаем  во внешний мир. Адреса можно указать
                     здесь же, а можно и вынести это в файл.  Если Вы заметили, в файле конфигурации
                     работают уже определенные переменные  :)
  mynetworks = 192.168.1.0/24, 127.0.0.0/8
  #mynetworks =  $config_directory/mynetworks
далее опишем домены, для которых мы релеим почту. Если не надо, оставляем пустым.
  relay_domains =
Если Вы не можете отправлять почту напрямую в мир и вам сначала перенаправить все провайдеру, то вот этот параметр
  #relayhost = SMART_хост_провайдера (в терминалогии sendmail)
определим, где файл aliases будет находится и в каком формате
  #alias_maps =  dbm:/etc/aliases
  alias_maps =  hash:/usr/local/etc/postfix/aliases
  #alias_maps = hash:/etc/aliases,  nis:mail.aliases
  #alias_maps = netinfo:/aliases
  #alias_database =  dbm:/etc/aliases
  alias_database =  hash:/usr/local/etc/postfix/aliases
  #alias_database =  hash:/etc/aliases
  #alias_database = hash:/etc/aliases,  hash:/opt/majordomo/aliases
так, как мы остановились на CYRUS, то указание об этом такое
  mailbox_transport = cyrus
значение cyrus описано в файле конфигурации /usr/local/etc/postfix/master.cf
Мы вернемся к нему после установки cyrus-а. Считая, что cyrus будет установлен на этой же машине. Если мы будем использовать lmtp, то нам будет необходимо настроить virtual. Более детальное описание в документации.
Сразу же укажем фильтр для проверки почты на вирусы. Если Вы не планируете устанавливать AVP - закомментируйте эту строку, поставив первым символ #.
  # Antivirus scanner, see  /usr/local/etc/postfix/master.cf for more details
  content_filter =  avcheck
Укажем файл, содержащий недопустимые заголовки
  header_checks =  regexp:/usr/local/etc/postfix/bad_headers
(он у меня выглядит так:
          # don't receive mail with next file attachments 
          /^(Content-(Disposition: attachment;|Type:).*|(t| )+)(file)?name=.*.(vbs|pif|com|bat|scr|lnk)"?$/ REJECT We do not accepted mail with vbs|pif|com|bat|scr|lnk file extentions

	  /^Reply-To: .*@otvet.net/ 	REJECT We do not accepted mail from  spammers
	  /^Reply-To: .*@blabla.com/ 	REJECT We do not accepted mail from  spammers
	  /^Content-Type:.*X-Priority:.*X-Mailer:/ REJECT We do not accepted  mail with virus
	                                           (последний (с) Netch для Klez-а)
}
Далее немного баловства :)
  smtpd_banner = $myhostname ESMTP service ready (Postfix  Rulezzz!!!)
стандартные описания
  smtpd_sender_restrictions =  hash:/usr/local/etc/postfix/access
  transport_maps =  hash:/usr/local/etc/postfix/transport
на последок
  # security reason -  disable run commands from ~/.forward
  allow_mail_to_commands = alias
С этим фалом всё. В нём мы определили дополнительные файлы (access, transport и aliases). После их редактирования создадим их hash-ы. Для этого postfix использует свои утилиты - postmap и postalias для файла aliases
  # postmap /usr/local/etc/postfix/access
  # postmap  /usr/local/etc/postfix/transport
  # postalias  /usr/local/etc/postfix/aliases
Пока с postfix всё.

Установим cyrus.

  
  # cd /usr/ports/mail/cyrus-imapd/
  # make configure
Здесь необходимо откорректировать исходники, т.к. по RFC 2047 в Subject 8-битные символы не допускаются, ну а многие почтовики на это просто не обращают внимание. Если же Вы приверженец соответсвию RFC, то этот шаг необходимо пропустить. Если бы мы этого не сделали, то некоторые письма начали бы к нам приходить с темой: ХХХХХХХХХ, ну или что-то в этом духе. Итак,
  # cd work/cyrus-imapd.версия/imap/
  # grep 'X' *
укажет нам, что в файле message.c (а для cyrus2 и в lmtpengine.c) есть блок if, в котором и производится соотв. замена символов. В принципе его необходимо просто удалить, но хочу предложить Вам более элегантный способ ;). Просто замените
  if (inheader && *p >= 0x80) { 
  на
if ( 0 && inheader && *p >= 0x80 ) {
При таком условии корёжащий блок никогда не выполнится ;). Продолжим установку:
  # cd ../../..
  # make all install clean
в процессе установки будет скомпилирован и установлен и cyrussasl
как всегда, документация в /usr/local/share/doc/cyrus/
файлы конфигурации в /usr/local/etc/ их два
  cyrus.conf
  imapd.conf
Если мы не используем lmtp, то файл cyrus.conf редактировать не требуется.
Конфигурируем cyrus файлом imapd.conf
Первое, что надо сделать, это указать, кто будет администратором. Рекомендуется не использовать root для этого. Более детально в комментариях.
  admins: admin
укажем пути
  sievedir:  /var/imap/sieve
  sendmail: /usr/local/sbin/sendmail
и метод аутентификации пользователей
  sasl_pwcheck_method: sasldb
Последнее, на что хотелось бы указать, так это возможность не заводить существующих в Вашей сети пользователей вручную.
  sasl_auto_transition: no
Если установить этот параметр в yes, то любой (!) пользователь, зашедший по протоколам POP3|IMAP будет заведен в базу и для него будет создан почтовый ящик.
После того как мы пропишем в imapd.conf все пути, нужно создать иерархию каталогов для почтовых ящиков
# /usr/local/cyrus/bin/mkimap
Имена и пароли всех пользователей хранятся в файле /usr/local/etc/sasldb. Владелец:
  -rw-r----- 1 cyrus mail  sasldb
Просмотреть существующих пользователей можно командой sasldblistusers.
Нам надо добавить пользователя admin
  # saslpasswd -c admin
и вводим пароль.
Теперь мы можем запустить cyrus.
cyrus по умолчанию использует системные tcp wrappers. В файле /etc/hosts.allow необходимо указать IP пользователей, которые могут получать почту. Но возможно мои кривые руки или же версии, которыми я пользовался такие, но иногда случается, что порт как бы "замораживается". Демон висит, слушает порт, но ничего с него не читает не пишет. :( Я бы порекомендовал разрешить всем использовать pop3, imap, sieve (port tcp/2000), а закрыть эти порты с мира firewall-ом.
При установке cyrus-а в каталоге /usr/local/etc/rc.d/ был создан скрипт запуска cyrus.sh.
Запустим его с параметром start.
  # /usr/local/etc/rc.d/cyrus.sh start
Манипуляции с почтовыми ящиками проводят через утилиту
  # cyradm -u admin localhost 
при его запуске у Вас спросят пароль, который Вы вводили при создании этого пользователя saslpasswd
Команда help расскажет Вам об остальных командах. Обратите внимание, что почтовые ящики имеют имена формата user.Вася.
Для того, что бы создать почтовый ящик выполните здесь команду
  localhost> cm  user.uafug
  localhost> lm
покажет Вам все существующие почтовые ящики.
  localhost> quit
Мы создали почтовый ящик для пользователя uafug. Но необходимо не забыть установить ему пароль
  # saslpasswd -c uafug
Что бы знать, куда будут писаться логи, подредактируем файл /etc/syslog.conf
  auth.* /var/log/auth.log
  local6.debug  /var/log/cyrus.log
и что бы логи не переполнили диск правим /etc/newsyslog.conf
  /var/log/auth.log  600  3 100 * Z
  /var/log/cyrus.log 600  3 100 * Z
для вступления исправлений в силу
  # touch /var/log/auth.log /var/log/cyrus.log
  # chmod 600 /var/log/auth.log /var/log/cyrus.log
  # killall -HUP syslogd 

Вернемся к postfix

  # cd /usr/local/etc/postfix
и укажем ему, как локально доставлять почту для наших пользователей в файле master.cf. Вот здесь мы и расшифруем указанное нами ранее в файле main.cf значение cyrus
  cyrus  unix - n n - - pipe
  flags=Ru user=cyrus argv=/usr/local/cyrus/bin/deliver -e  -m ${extension} ${user}
проверьте правильность пути. Флаг u указывает, что имена пользователей при передаче необходимо перевести в нижний регистр.
See man pipe for more.
Если всё верно postfix готов к работе. Если у Вас еще работает sendmail - остановим его
  # cd  /etc/mail
  # make stop
и запустим postfix
  # /usr/local/sbin/postfix  start
Для того, что бы postfix запускался автоматически, сделаем символьный линк
  # ln -s /usr/local/sbin/postfix /usr/local/etc/rc.d/postfix.sh
Последний штрих. Добавим в /etc/daily.local следующее
  #!/bin/sh 

  echo
  echo Checking for troubles in mail: 
  start=`date -v-1d '+%b %d' | sed 's/0(.)$/ 1/'`
  cat /var/log/maillog |  grep "$start" | egrep '(reject|warning|error|fatal|panic):'

С почтой всё.

Теперь перейдем к AVP.
Нам нужен kav-WorkStationSuit-3.0.136-FreeBSD-4.x.tgz, файл лицензий (его, говорят, не трудно найти в тырнете) и avcheck (с сайта http://www.corpit.ru/avcheck/).> Из kav-WorkStationSuit-3.0.136-FreeBSD-4.x.tgz нам необходим только демон, updater баз и пару файлов настройки. Использовать kav-postfix-3.0.136-FreeBSD-4.x.tgz мы не будем. Каким образом их вытягивать не важно.
Для работы необходимо иметь в ядре SYSV*. Более детально см. /sys/i386/conf/LINT. Возможно потребуется пересобрать Ваше ядро с этими опциями ;).
Создадим каталог, в котором и будут жить все наши антивирусы и который будет chroot для нашей антивирусной компании. У меня это /var/spool/avp/.

  # mkdir /var/spool/avp/
  # cd  /var/spool/avp/
По умолчанию kavdaemon желает работать от рута, но кто ж ему даст ;). Итак создаем пользователей и группы для этого.
  #  vipw
  avdaemon:*:64:65::0:0:AVP  Daemon:/nonexistent:/nonexistent
  avclient:*:65:65::0:0:AVP  Client:/nonexistent:/nonexistent
и в /etc/group
  avgroup:*:65:
Теперь мы готовы откомпилировать avcheck в моём случае avcheck-0.8
  # tar xvfz  avcheck-0.8.tar.gz
  # cd avcheck-0.8
  # make
  # cp avcheck  /var/spool/avp/
  # cp uchroot /var/spool/avp/
  # mkdir  /var/spool/avp/infected
  # cp infected.ex2.ru  /var/spool/avp/infected
отредактируйте /var/spool/avp/infected/infected.ex2.ru
  FROM=Antivirus-Daemon
  VIRUS_ALERT=alert@you_host.ua  # set to empty to skip administrator email

К примеру, я откорректировал этот файл так, что бы отправителю не отсылались назад вложения (траффик тоже надо экономить ;)
Описание и документация достаточно полная, что бы всё сделать самостоятельно. Настоятельно рекумендую читать. ;)
Итак продолжим
  # cd  /var/spool/avp
  # cp /где/у нас/там/kavdaemon /var/spool/avp/
  # cp /где/у  нас/там/kavupdater /var/spool/avp/
  # cp /где/у нас/там/AvpUnix.ini  /var/spool/avp/
  # cp /где/у нас/там/defUnix.prf /var/spool/avp/
  # cp  /где/у нас/там/НОМЕР/key /var/spool/avp/
  # mkdir bases ctl dev proc tmp tst  usr
  # chown avdaemon:avgroup bases ctl kavdaemon tmp
  # chown  avclient:avgroup tst
  # cd dev
  # mknod console c 0 0
  # mknod null c 2 2
в итоге мы должны получить следующее
  -rw-r--r-- 1 root     wheel     1199 12 ноя 2001  00030ADE.key
  -rw-r--r-- 1 root     wheel      116 12 ноя 2001  AvpUnix.ini
  -rwxr-xr-x 1 root     wheel    19282 13 фев 10:14 avcheck*
  drwxr-xr-x 2 avdaemon avgroup   1024  6 июн 03:55 bases/                 обратите внимание на владельца этого каталога
  drwxrwx--- 2 avdaemon avgroup    512 28 май 15:38 ctl/
  -rw-r--r-- 1 root     wheel     1854 15 фев 09:36 defUnix.prf
  drwxr-xr-x 2 root     wheel      512 12 ноя 2001  dev/
  drwxr-xr-x 2 root     wheel      512 12 ноя 2001  infected/
  -rwxr-xr-x 1 avdaemon avgroup 254572 12 ноя 2001  kavdaemon*
  -rwxr-xr-x 1 root     wheel    95672 15 янв 11:08 kavupdater*
  drwxr-xr-x 2 root     wheel      512 12 ноя 2001  proc/
  drwxrwx--- 2 avdaemon avgroup    512  6 июн 11:56 tmp/
  drwxr-x--- 2 avclient avgroup    512  6 июн 11:56 tst/
  -rwxr-xr-x 1 root     wheel     7205 13 фев 10:14 uchroot*
  drwxr-xr-x 4 root     wheel      512 12 ноя 2001  usr/

теперь проверим, какими библиотеками пользуются kavdaemon и kavupdater
  # ldd  kavupdater
  kavupdater:
  libintl.so.1 => /usr/local/lib/libintl.so.1  (0x28078000)
  libm.so.2 => /usr/lib/libm.so.2 (0x2807d000)
  libc.so.4  => /usr/lib/libc.so.4 (0x28099000)
  # ldd  kavdaemon
  kavdaemon:
  libintl.so.1 => /usr/local/lib/libintl.so.1  (0x28097000)
  libm.so.2 => /usr/lib/libm.so.2 (0x2809c000)
  libc.so.4  => /usr/lib/libc.so.4 (0x280b8000)

скопируем эти библиотеки в наш каталог usr/, что бы получить такие же пути относительно текущего каталога, который и будет нам корневым.
В файле AvpUnix.ini необходимо изменить следующие строки
  [AVP32]
  DefaultProfile=defUnix.prf
  [Configuration]
  KeyFile=00030ADE.key
  KeysPath=/
  SetFile=avp.set
  BasePath=/bases
А в defUnix.prf:
  # same section with parameters for  objects
  [Object]
  Names=*/tst
  [Report]
  Report=No
  [TempFiles]
  UseMemoryFiles=No
  LimitForMemFiles=6000
  MemFilesMaxSize=20000
  TempPath=/tmp
неплохо было бы включить softupdates для этого раздела ;) man tunefs
  [Mail]
  SendMail=No
остальное - в соответствии с документацией и по Вашему усмотрению
скачаем базы (kavupdater для скачивания баз использует wget. Его необходимо поставить из портов, если у Вас его нет)
  /var/spool/avp/kavupdater -y -kb  -ui=ftp://ftp.avp.ru/updates -b=/var/spool/avp/bases/
это строку можно (кхм, нужно) добавить в crontab, чтобы базы обновлялись каждый день. По заверению support-а по killall -HUP kavdaemon он таки перечитывает базы.
Осталось запустить демона. Я запускаю скриптом так
  # more  /usr/local/etc/rc.d/kavdaemon.sh
  #!/bin/sh 
  
  echo Starting AVP Daemon
  /usr/bin/env - HOME=/ /usr/bin/nice  
  /var/spool/avp/uchroot -u avdaemon 
  /var/spool/avp /kavdaemon -Y -MP  -f=/ctl /tst 
если всё нормально и демон живет, правим postfix ;)
Для начала добавим в /usr/local/etc/postfix/master.cf следующие строки
  avcheck unix - n n - 5  pipe
  flags=q user=avclient argv=/var/spool/avp/avcheck
    -i  /var/spool/avp/infected/infected.ex2.ru -h Ok
    -d /var/spool/avp/./tst -s  AVP:/var/spool/avp/ctl/AvpCtl -f ${sender}
    -S  :1025 -- ${recipient}
  (строки, являющиеся продолжением flags должны начинаться с пробела)
а в начале, в зависимости от типа проверки
1) Для глобального режима (когда проверяется все, даже отправленное не через smtp)
  smtp inet n - n - -  smtpd
  localhost:1025 inet n - n - - smtpd -o content_filter=
обратите внимание, что при этом режиме в main.cf должно быть указано
  content_filter=avcheck

2) Для relay режима (проверяется только то, что пришло через smtp)

  smtp  inet n - n - - smtpd -o content_filter=avcheck
  localhost:1025 inet n - n - -  smtpd -o content_filter=
всё, для вступления изменений в силу
  # postfix  reload
По логам видно, что почта принимается, отдается avcheck-у, потом перенаправляется на localhost и отдается cyrus-у.

А как же SPAM?

У нас всё по порядку, так что к нему мы приступим только после того, как проверили, что всё остальное уже работает. Как говорится мухи отдельно, котлеты отдельно ;)
Идём снова в порты.

  # cd /usr/ports/mail/p5-Mail-SpamAssassin/
  # make install clean
  # cd /usr/local/etc/mail/spamassassin/
  # cat local.cf
trusted_networks 192.168/16 127/8           # all in 192.168.*.* and 127.*.*.*
trusted_networks 127.                       # all in 127.*.*.*
clear_trusted_networks
rewrite_subject 1
subject_tag             ***SPAM***

required_hits           5.0
report_safe             0
always_add_report       1

use_bayes               1
bayes_auto_learn        1

  # mkdir /var/spool/spamd
  # chown avclient:avclient /var/spool/spamd
  # vipw
 и вот здесь меняем домашний каталог avclient на /var/spool/spamd
строка будет выглядеть так: avclient:*:65:65:AVP Client:/var/spool/spamd:/nonexistent
В скрипте запуска необходимо внести изменение в строке 38
spamd_flags=${spamd_flags:-"-u avclient -Q -L -m 16 -a -c -d -r ${pidfile}"}
И запускаем сам демон spamd.
  # /usr/local/etc/rc.d/spamd.sh start
Логи пишутся в /var/log/maillog, так что внимательно читаем его ошибки и правим, ежели чего очепятались.
Ну и теперь самый изящный ход ;) Наша строка в постфиксе в файле master.cf будет вот такой
avcheck   unix -        n       n       -       5       pipe
    flags=q user=avclient argv=/usr/local/bin/spamc -u avclient -e /var/spool/avp/avcheck
        -i /var/spool/avp/infected/infected.ex2.ru -h Ok
        -d /var/spool/avp/./tst -s AVP:/var/spool/avp/ctl/AvpCtl -f ${sender} -S :1025 -- ${recipient}

Запуск у нас стоит как бы в разрезе ;)
Последний раз помучаем постфикс
  # postfix reload
Вуаля! ;)

spamassassin "из коробки" будет распознавать около 50-70% спама, но что бы его научить, необходимо ему скормить
существующие произведения спамеров и (!) нормальной почты. Создаем 2 каталога, кладём туда письма с заголовками
и на травливаем на них sa-learn. Фильтр bayes начнёт ставить свои оценки только после накопления в
базе 200 (по умолчанию) писем того и иного вида.

  # mkdir /var/spool/spamd/ham
  # mkdir /var/spool/spamd/spam
  # mv ~ftp/incoming/spam/* spam
  # mv ~ftp/incoming/ham/*  ham
  # sa-learn --ham /var/spool/spamd/ham/
  # sa-learn --spam /var/spool/spamd/spam/
  # rm /var/spool/spamd/spam/* /var/spool/spamd/ham/*
  # /usr/local/etc/rc.d/spamd.sh restart

That's all, folks.

Спасибо Gleb Smirnoff за комментарии и исправление моих ошибок.
Просьба перечитать вот такое открытое письмо.

Тут стало модным на основаниях подобных статей делать себе рекламу, что ж... Если кто имеет что предложить - буду рад.
Думаю ясно, что не за даром. Варианты в 300-400 дохлых енотов не интересны, уж извольте. Удачи!

Konstantin Nikonenko
Last changed: пятница, 5 марта 2004 г. 09:33:32 (EET)

 http://www.kot.dp.ua/postfix_avp_cyrus.html

Устанока SpamAssassin, Postfix, MySQL, WebUsePref

Пример установки SpamAssassin и DrWeb - топик внизу!!!

Mail-relay (со Spam-Фильтром) принимает почту из интернета, анализирует её и передаёт на локальный Mail-Server ( напр. Domino)

Домене:gennadi.ru
Mail-relay: mail-relay.gennadi.ru 192.168.0.1
Mail-Server Domino:domino.gennadi.ru 192.168.0.2

Итак... для полного счастья нам необходимо будет установить следующие пакеты:

rpm -i perl-Digest-SNA1*
rpm -i perl-Digest-SMAC*
rpm -i perl-HTML-Target*
rpm -i perl-HTML-Parser*
rpm -i perl-Net-DNS*
rpm -i perl-Time-HiRes*
rpm -i spamassassin*

Если это SuSE - это будет:
Цитата:
mail-relay:~ # yast

- и т.д,

если RedHat то :
Цитата:
mail-relay:~ # up2date spamassassin


1.) Установка Postfix

Файл /etc/postfix/main.cf выглядит так:
Цитата:
mail_spool_directory = /var/mail
canonical_maps = hash:/etc/postfix/canonical
virtual_maps = hash:/etc/postfix/virtual
relocated_maps = hash:/etc/postfix/relocated
transport_maps = hash:/etc/postfix/transport
sender_canonical_maps = hash:/etc/postfix/sender_canonical
masquerade_exceptions = root
masquerade_classes = envelope_sender, header_sender, header_recipient
masquerade_domains = gennadi.ru
mydomain = gennadi.ru
myorigin = $mydomain
myhostname = mail-relay.gennadi.ru
internal_mail = 192.168.0.2 #(Ваш Domino Mail-Server)
mynetworks = $internal_mail, 127.0.0.0/8
program_directory = /usr/lib/postfix
inet_interfaces = all
mydestination = $mydomain
defer_transports =
disable_dns_lookups = no
relayhost =
content_filter =
mailbox_command =
smtpd_sender_restrictions = hash:/etc/postfix/access
smtpd_relay_reject = no
smtpd_client_restrictions =
smtp_always_send_ehlo = yes
smtpd_helo_required = no
smtpd_helo_restrictions =
strict_rfc821_envelopes = no
smtpd_recipient_restrictions = permit_mynetworks,permit_mx_backup,permit_sasl_authenticated,check_relay_domains
broken_sasl_auth_clients = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtpd_sasl_auth_enable = yes

smtpd_use_tls = yes
smtpd_tls_key_file = /etc/ssl/certs/server.key
smtpd_tls_cert_file = /etc/ssl/certs/server.key
smtpd_tls_CAfile = /etc/ssl/certs/server.key
smtpd_tls_loglevel = 3
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

alias_maps = hash:/etc/aliases
mailbox_size_limit = 51200000
message_size_limit = 10240000

2.) В файл /etc/postfix/transport внесём следующую строку:
Цитата:
gennadi.ru smtp:[192.168.0.2 ]

и актуализируем transport.db
Цитата:
mail-relay:~ # postmap /etc/postfix/transport

3.) В файл /etc/postfix/master.cf внесём следующие изменения:
Цитата:
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - y - - smtpd -o content_filter=filter:
smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes

#submission inet n - n - - smtpd
# -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
#628 inet n - n - - qmqpd
pickup fifo n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - n 300 1 nqmgr
#tlsmgr fifo - - n 300 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - n - - smtp
relay unix - - n - - smtp
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - n - - showq
error unix - - n - - error
local unix - n n - - local
virtual unix - n n - - virtual
#lmtp unix - - n - - lmtp

#localhost:10025 inet n - n - - smtpd -o content_filter=
#
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# maildrop. See the Postfix MAILDROP_README file for details.
#
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
cyrus unix - n n - - pipe
flags=R user=cyrus argv=/usr/lib/cyrus/bin/deliver -e -m ${extension} ${user}

uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
vscan unix - n n - 10 pipe
user=vscan argv=/usr/sbin/amavis ${sender} ${recipient}
procmail unix - n n - - pipe
flags=R user=nobody argv=/usr/bin/procmail -t -m /etc/procmailrc ${sender} ${recipient}
filter unix - n n - - pipe
user=spamfilter argv=/usr/local/bin/spamfilter.sh -f $(sender) -- $(recipient)


4.) Создайте SSL Cerifikat для Postfix
Цитата:
mail-relay: # openssl req -new -x509 -sha1 -extensions v3_ca -nodes -days 365 -out cert.pem

Получили два файла - privkey.pem и cert.pem. Теперь:
Цитата:
mail-relay: # cat privkey.pem cert.pem > /etc/ssl/certs/server.crt
mail-relay: # mv -f privkey.pem /etc/ssl/certs/server.key

5.) Создадим юзера spamfilter, от имени которого будет выполняться скрипт spamfilter.sh .
Цитата:
mail-relay:~ # useradd -g mail -s /bin/false -d /var/spool/filter spamfilter
mail-relay:~ # mkdir /var/spool/filter
mail-relay:~ # chown spamfilter:mail /var/spool/filter


6.) Этот скрипт spamfilter.sh поместим в директорию /usr/local/bin.
Цитата:
#!/bin/sh

INSPECT_DIR=/var/spool/filter
SENDMAIL="/usr/sbin/sendmail -i"
SPAMASSASSIN=/usr/bin/spamc
EX_TEMPFAIL=75
EX_UNAVAILABLE=69

cd $INSPECT_DIR || { echo $INSPECT_DIR does not exist; exit $EX_TEMPFAIL; }

# Clean up when done or when aborting.
trap "rm -f in.$$; rm -f out.$$" 0 1 2 3 15

cat | $SPAMASSASSIN > out.$$ || { echo Message content rejected; exit $EX_UNAVAILABLE; }

$SENDMAIL "$@&quot; < out.$$

exit $?


7.) Конфигурация SpamAssissin.
В директории /etc/mail/spamassassin найдите файл local.cf и запишите туда нижеследующие строки:
Цитата:
required_hits 5
rewrite_header 1
report_safe 1
use_bayes 1
auto_learn 1
use_terse_report 1
always_add_headers 1
fold_headers 1
spam_level_stars 1
spam_level_char *
rewrite_subject 1
subject_tag !!!!*****SPAM*****!!!!
ok_languages ru
ok_locales en
use_razor1 1
use_razor2 1
use_pyzor 1
use_dcc 1
skip_rbl_checks 0
body VIAGRA /viagra/i
body PENIS /penis/i
score VIAGRA 2
score PENIS 2
blacklist_from *@msn.com
blacklist_from *@hotmail.com
whitelist_from *@gennadi.ru


Это простая конфигурация ( для примера ), где я указал, что письма содержащие слова VIAGRA и PENIS или от отправителей *@msn.com и *@hotmail.com будут признаны как spam. Письма от отправителей *@gennadi.ru будут свободно проходить.
Сконфигурируйте его для своей сети и своих нужд.
В Google достаточно примеров по конфигурации этого файла.
Цитата:
mail-relay:~ # postfix reload
mail-relay:~ # /etc/init.d/postfix restart
mail-relay:~ # /etc/init.d/spamd restart

8.) Что бы все письма из интернета проходили проверку на spam, сделайте на вашем firewall'e NAT к хосту mail-relay.gennadi.ru на порт 25 ( smtp) и порт 465 ( smtps ).

9.) Test
Теперь можно послать письмо из интернета локальному юзеру.
В моём примере это gennadi@gmx.net посылает письмо на адрес gennadi@gennadi.ru.
Цитата:
mail-relay:~ # tail -fn 100 /var/log/mail

Jan 25 16:37:33 mail-relay postfix/smtpd[7484]: starting TLS engine
Jan 25 16:37:33 mail-relay postfix/smtpd[7484]: connect from unknown[213.165.64.20]
Jan 25 16:37:33 mail-relay postfix/smtpd[7484]: 93F9924C9E: client=unknown[213.165.64.20]
Jan 25 16:37:33 mail-relay postfix/cleanup[7486]: 93F9924C9E: message-id=<16175.1075044591@www15.gmx.net>
Jan 25 16:37:34 mail-relay postfix/qmgr[1555]: 93F9924C9E: from=<gennadi@gmx.net>, size=897, nrcpt=1 (queue active)
Jan 25 16:37:34 mail-relay postfix/smtpd[7484]: disconnect from unknown[213.165.64.20]
Jan 25 16:37:34 mail-relay spamd[7483]: connection from localhost [127.0.0.1] at port 34496
Jan 25 16:37:34 mail-relay spamd[7491]: info: setuid to spamfilter succeeded
Jan 25 16:37:34 mail-relay spamd[7491]: processing message <16175.1075044591@www15.gmx.net> for spamfilter:501.
Jan 25 16:37:34 mail-relay spamd[7491]: clean message (0.4/2.0) for spamfilter:501 in 0.7 seconds, 872 bytes.

Jan 25 16:37:35 mail-relay postfix/pickup[7265]: 3F4D624CDB: uid=501 from=<gennadi@gmx.net>
Jan 25 16:37:35 mail-relay postfix/cleanup[7486]: 3F4D624CDB: message-id=<16175.1075044591@www15.gmx.net>
Jan 25 16:37:35 mail-relay postfix/pipe[7487]: 93F9924C9E: to=<gennadi@gennadi.ru>, relay=filter, delay=2, status=sent (mail-relay.gennadi.ru)
Jan 25 16:37:35 mail-relay postfix/qmgr[1555]: 3F4D624CDB: from=<gennadi@gmx.net>, size=1168, nrcpt=1 (queue active)
Jan 25 16:37:35 mail-relay postfix/smtp[7496]: 3F4D624CDB: to=<gennadi@gennadi.ru>, relay=192.168.0.2[192.168.0.2], delay=0, status=sent (250 Ok: queued as BBA504A75)


Письмо от gennadi@gmx.net, пройдя проверку через spamfilter направлено на Domino-Server для юзера gennadi@gennadi.ru ....

10.) MySQL и WebUserPrefs.
Есть возможность связать SpamAssassin с MySQL'ем и управлять через вебброузер.
Для этого нужен пакет SpamAssissin 2.55 - не ниже!.
Здесь MySQL
Здесь WebUserPrefs
11.) Создайте SpamAssassin MySQL-БД
Таблица userpref
Цитата:
mail-relay:~ # mysql -h localhost -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 159 to server version: 3.23.55-Max-log

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql> create database spamassassin;
Query OK, 1 row affected (0.19 sec)
mysql> use spamassassin;
Database changed
mysql> CREATE TABLE userpref (
-> username varchar(100) NOT NULL,
-> value varchar(100) NOT NULL,
-> prefid int(11) NOT NULL auto_increment,
-> PRIMARY KEY (prefid),
-> INDEX (username)
-> ) TYPE=MyISAM;
Query OK, 0 rows affected (0.03 sec)

mysql>GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON spamassassin.* TO spamassassin@localhost identified by 'spampassword';
Query OK, 0 rows affected (0.12 sec)
mysql>quit
mail-relay:~ #

12.) В директории /etc/mail/spamassassin найдите файл local.cf и запишите туда нижеследующие строки:
Цитата:
user_scores_dsn
DBI:mysql:spamassassin:localhost
user_scores_sql_username spamassassin
user_scores_sql_password spampassword
user_scores_sql_table userpref

13.) В файл /etc/sysconfig/spamd внесите следующие изменения ( эти опции нужны для работы с MySQL'ем ):
Цитата:
## Path: Network/Mail/Spamassassin
## Description: Arguments for the spam d?mon
## Type: string
## Default: "-d -c -a -L"
## ServiceRestart: spamd
SPAMD_ARGS="-d -x -q "

Примечание: У RedHat этот файл называется /etc/sysconfig/spamassassin

14.) Распакуйте сгруженный пакет WebUserPrefs и установите его в Root-директорию - вашего Web-Server'a Apache - "/srv/www/htdocs/"
В файле /srv/www/htdocs/webuserprefs/config.php внесите следующие изменения :
Цитата:
$prefs_source = "db";
$db_host = "localhost";
$db_username = "spamassassin";
$db_password = 'spampassword;
$db_database = "spamassassin";
$db_sauser = $PHP_AUTH_USER;

15.) Пароль для login spamassassin'a через Browser:
Цитата:
mail-relay: # mkdir /srv/www/passwd/
mail-relay: # mkdir /srv/www/passwd/spamassassin
mail-relay: # htpasswd -c /srv/www/passwd/spamassassin/users spamassassin
New password: spampassword
Re-type new password: spampassword
mail-relay: # echo "mail:spamassassin" > /srv/www/passwd/spamassassin/group

16.) Apache, SSL и spamassassin-aliases
В директории /etc/httpd найдите такой файл httpd.conf и подредактируйте его под вашу систему:
Цитата:
<VirtualHost _default_:443>

# General setup for the virtual host
DocumentRoot "/srv/www/htdocs"
ServerName mail-relay.gennadi.ru
ServerAdmin webadmin@gennadi.ru
ErrorLog /var/log/httpd/error_log
TransferLog /var/log/httpd/access_log

# Server Certificate:
# Point SSLCertificateFile at a PEM encoded certificate. If
# the certificate is encrypted, then you will be prompted for a
# pass phrase. Note that a kill -HUP will prompt again. A test
# certificate can be generated with `make certificate' under
# built time. Keep in mind that if you've both a RSA and a DSA
# certificate you can configure both in parallel (to also allow
# the use of DSA ciphers, etc.)
SSLCertificateFile /etc/ssl/certs/server.crt
#SSLCertificateFile /etc/httpd/ssl.crt/server-dsa.crt

# Server Private Key:
# If the key is not combined with the certificate, use this
# directive to point at the key file. Keep in mind that if
# you've both a RSA and a DSA private key you can configure
# both in parallel (to also allow the use of DSA ciphers, etc.)
SSLCertificateKeyFile /etc/ssl/certs/server.key
#SSLCertificateKeyFile /etc/ssl/certs/server.key

Alias /spamassassin/ /srv/www/htdocs/spamassassin
<Directory /srv/www/htdocs/spamassassin/>
Options None
SSLRequireSSL
order deny,allow
deny from all
AuthType Basic
AuthUserFile /srv/www/passwd/spamassassin/users
AuthGroupFile /srv/www/passwd/spamassassin/group
AuthName "SpamAssassin Admin"
require group mail
Satisfy Any
</Directory>

В директории /etc/ найдите такой файл php.ini найдите такую строку:
Цитата:
register_globals = Off

замените на:
Цитата:
register_globals = On


В директории /etc/sysconfig найдите такой файл apache найдите такую строку:
Цитата:
HTTPD_SEC_MOD_SSL=no

замените на:
Цитата:
HTTPD_SEC_MOD_SSL=yes


У SuSE и UnitedLinux необходимо выполнить следуюшие приказы:
Цитата:
mail-relay: # SuSEconfig
mail-relay: # rcapache restart

У других дистрибутивов
Цитата:
mail-relay: # service httpd restart

или
Цитата:
mail-relay: # /etc/init.d/apache restart


https://mail-relay.gennadi.ru/webuserprefs



17.) Дополнительные возможности версии SpamAssissin 2.55

Одна из важных функций этой версии даёт возможность обучать SpamAssissin делать различие между SPAM и NOSPAM.
В SpamAssissin интегрирован Bayesian Filter, который активируется приказом sa-learn. Сначала пользователь собирает до 1000 SPAM и NOSPAM(HAM) писем и передаёт SpamAssissin'у :
Цитата:
mail-relay: # sa-learn --spam --dir /path/to/spam/ordner
mail-relay: # sa-learn --ham --dir /path/to/nospam/ordner

Так же учиться SpamAssissin автоматически различать письма SPAM от NOSPAM и вводит их в BAYES-базу данных (Autolearning). После того как SpamAssissin выучит достаточно правил и соберёт их в BAYES-базе данных, эти правила автоматически активируются.

Ну вот и всё ....

Успехов!
_________________
gennadi@gennadi.dyn.ee


Последний раз редактировалось: admin (Вс Авг 01, 2004 9:54 am), всего редактировалось 8 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
<noscript></noscript>
Гость






СообщениеДобавлено: Пт Мар 05, 2004 7:17 pm Заголовок сообщения: Ответить с цитатой

Здравствуйте Геннадий!
Скажите пжл, можно ли использовать эту статью без всяких Domino серверов и Relay серверов... те поставить это все хозяйство на сервер, которые единственный из почтовых серверов, в твоей компании!
Поскажите что нужно для этого подправить в этой статье?
Статья реальная - помощь системным администраторам!

заранее благодарен...
Boston, boston@fermo.ru, admin@fermo.ru
Вернуться к началу
<noscript></noscript>
admin
Newbie
Newbie


Зарегистрирован: Jun 05, 2003
Сообщения: 64

СообщениеДобавлено: Пт Мар 26, 2004 9:19 am Заголовок сообщения: ...без всяких Domino серверов и Relay серверов... Ответить с цитатой

Здравствуйте boston!
Цитата:
Скажите пжл, можно ли использовать эту статью без всяких Domino серверов и Relay серверов...

Да, конечно.
Если у Вас есть работающий Postfix, то нужно только установить SpamAssassin по описанному здесь сценарию.


Пример установки SpamAssassin и DrWeb

1. Postfix
a. Файл /etc/postfix//master.cf должен выглядить так:
Цитата:

==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - y - - smtpd -o content_filter=drweb:dummy
smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o content_filter=drweb:dummy

#628 inet n - n - - qmqpd
pickup fifo n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - n 300 1 nqmgr
#tlsmgr fifo - - n 300 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - n - - smtp
relay unix - - n - - smtp
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - n - - showq
error unix - - n - - error
local unix - n n - - local
virtual unix - n n - - virtual
#lmtp unix - - n - - lmtp
#localhost:10025 inet n - n - - smtpd -o content_filter=
# maildrop. See the Postfix MAILDROP_README file for details.
#
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
cyrus unix - n n - - pipe
flags=R user=cyrus argv=/usr/lib/cyrus/bin/deliver -e -m ${extension} ${user}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
vscan unix - n n - 10 pipe
user=vscan argv=/usr/sbin/amavis ${sender} ${recipient}
procmail unix - n n - - pipe
flags=R user=nobody argv=/usr/bin/procmail -t -m /etc/procmailrc ${sender} ${recipient}
drweb unix - n n - 5 pipe
flags=R user=drweb argv=/opt/drweb/filters.sh -f ${sender} -- ${recipient}


б. Файл /etc/postfix/main.cf выглядит так:
Цитата:
mail_spool_directory = /var/mail
canonical_maps = hash:/etc/postfix/canonical
virtual_maps = hash:/etc/postfix/virtual
relocated_maps = hash:/etc/postfix/relocated
transport_maps = hash:/etc/postfix/transport
sender_canonical_maps = hash:/etc/postfix/sender_canonical
masquerade_exceptions = root
masquerade_classes = envelope_sender, header_sender, header_recipient
mydomain = gennadi.ru
myhostname = mail-server.gennadi.ru
program_directory = /usr/lib/postfix
inet_interfaces = all
masquerade_domains = gennadi.ru
mydestination = $myhostname, localhost.$mydomain
defer_transports =
disable_dns_lookups = no
relayhost =
local_recipient_maps =

content_filter =
mailbox_command =
mailbox_transport = cyrus
fallback_transport = cyrus
smtpd_sender_restrictions = hash:/etc/postfix/access
smtpd_relay_reject = no
smtpd_client_restrictions =
smtp_always_send_ehlo = yes
smtpd_helo_required = no
smtpd_helo_restrictions =
strict_rfc821_envelopes = no
smtpd_recipient_restrictions = permit_mynetworks,permit_mx_backup,permit_sasl_authenticated,check_relay_domains
broken_sasl_auth_clients = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtpd_sasl_auth_enable = yes
smtpd_use_tls = yes
smtpd_tls_key_file = /etc/ssl/certs/cert.pem
smtpd_tls_cert_file = /etc/ssl/certs/cert.pem
smtpd_tls_CAfile = /etc/ssl/certs/cert.pem
smtpd_tls_loglevel = 3
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

alias_maps = hash:/etc/aliases
mailbox_size_limit = 51200000
message_size_limit = 10240000

2. Установка DrWeb

Нужно сгрузить два пакета:
ftp://ftp.drweb.ru/pub/unix/generic/drweb-4.31.4-glibc.2.3.i586.rpm
ftp://ftp.drweb.ru/pub/unix/drweb-postfix-4.31-linux.tar.gz

Здесь я использую Evaluation key для примера....
Цитата:
mail-server:~ # rpm -ihv drweb-4.31.4-glibc.2.3.i386.rpm

и читаем документацию: /opt/drweb/doc/readme.scanner.rus

Всё просто и ясно.....
Цитата:
mail-server:~ # /etc/init.d/drwebd start
Starting Dr. Web daemon...Dr.Web (R) daemon for Linux, version 4.31.3 (March 9, 2004)
Copyright (c) Igor Daniloff, 1992-2003
Daniloff's Labs and DialogueScience
http://www.drweb.ru,> support@drweb.ru: +7 (812) 387-64-08
http://www.dials.ru,> antivir@dials.ru: +7 (095) 137-01-50
Key file: /opt/drweb/drwebd.key
Registration info:
0102000001
Evaluation key ID Anti-virus Lab St.-Petersburg
This is an EVALUATION version with limited functionality!
To get your registration key, call regional dealer.
Engine version: 4.31b
Loading /var/drweb/bases/drwtoday.vdb - Ok, virus records: 205
Loading /var/drweb/bases/drw43114.vdb - Ok, virus records: 285
Loading /var/drweb/bases/drw43113.vdb - Ok, virus records: 358
...................................
Loading /var/drweb/bases/drw43101.vdb - Ok, virus records: 227
Loading /var/drweb/bases/drw43102.vdb - Ok, virus records: 337
Loading /var/drweb/bases/drwebase.vdb - Ok, virus records: 45256
Total virus records: 49625
Daemon is installed, active interfaces: 127.0.0.1:3000
mail-server:~ #

Чтобы антивирусная база данных обновлялась автоматически - сделаем запись в crontab:
Цитата:
5 */3 * * * root /opt/drweb/update/update.pl

Теперь распаковываем пакет drweb-postfix-4.31-linux.tar.gz в любой директории, например- /usr/src и копируем файлы в директории /etc и /opt.
Цитата:
mail-server:~ # cd /usr/src
mail-server:~ # tar xvfz drweb-postfix-4.31-linux.tar.gz
mail-server:~ # cd drweb-postfix
mail-server:~ # cp -a etc/* /etc
mail-server:~ # cp -a opt/* /opt
mail-server:~ # cp -a opt/drweb/doc/postfix/example.with_spamc/filters.sh /opt/drweb/

3. SpamAssassin

Устанавливаем SpamAssassin так как описано в верхнем топике, за исключением пунктов 5.) и 6.), потому что теперь выполнение скрипта filters.sh берёт на себя user "drweb"

Для корректной работы SpamAssassin нужно содать директорию .spamassassin , в которую необходимо положить файл user_prefs
Цитата:
mail-server:~ # cd /opt/drweb
mail-server:~ # mkdir .spamassassin
mail-server:~ # chown drweb:drweb .spamassassin
mail-server:~ # cd .spamassassin
mail-server:~ # touch user_prefs

Файл user_prefs :
Цитата:
# Add your own customisations to this file. See 'man Mail::SpamAssassin::Conf'
# for details of what can be tweaked.
# rewrite the Subject: line with ****SPAM**** .* if set to 1 (default=1)
#rewrite_subject 0
# make the report in the header as opposed to in the body (default=0)
#report_header 1
# report briefly, recommended for report_header==1 (default=0)
#use_terse_report 1
# make conversion from mime to text/plain if set to yes (default=1)
#######################################################################################
defang_mime 0
required_hits 5
rewrite_header 1
report_safe 1
use_bayes 1
auto_learn 1
use_terse_report 1
always_add_headers 1
fold_headers 1
spam_level_stars 1
spam_level_char *
rewrite_subject 1
subject_tag *****SPAM*****
ok_languages ru
ok_locales en
use_razor1 1
use_razor2 1
use_pyzor 1
use_dcc 1
skip_rbl_checks 0
body VIAGRA /viagra/i
body PENIS /penis/i
score VIAGRA 2
score PENIS 2
blacklist_from @vmware.com
score __HAS_MSMAIL_PRI -2
score __OE_MUA -2
score __MIME_VERSION -2
score __HAS_X_MAILER -2
score __HAS_OUTLOOK_IN_MAILER -2
score __CTYPE_MULTIPART_ALT -2
score __NEXTPART_ALL -2
score __ANY_OUTLOOK_MUA -2
score __CTYPE_HAS_BOUNDARY -2
score __NEXTPART_NORMAL -2
score __CT -2
score __HAS_MIMEOLE -2
score __HAS_X_PRIORITY -2


Старт
Цитата:
mail-server:~ # postfix reload
mail-server:~ # /etc/init.d/postfix restart
mail-server:~ # /etc/init.d/spamd start
mail-server:~ # /etc/init.d/drwebd start


Tест
Теперь можно послать письмо из интернета локальному юзеру.
В моём примере это gennadi@gmx.net посылает письмо на адрес gennadi@gennadi.ru.и смотрим логи.
Цитата:
mail-relay:~ # tail -fn 100 /var/log/mail
May 9 11:38:06 mail-server postfix/smtpd[31759]: starting TLS engine
May 9 11:38:06 mail-server postfix/smtpd[31759]: connect from unknown[213.165.64.20]
May 9 11:38:06 mail-server postfix/smtpd[31759]: E0AC1B10: client=unknown[213.165.64.20]
May 9 11:38:07 mail-server postfix/cleanup[31760]: E0AC1B10: message-id=<7318.1084094939@www48.gmx.net>
May 9 11:38:07 mail-server postfix/qmgr[957]: E0AC1B10: from=<gennadi@gmx.net>, size=1009, nrcpt=1 (queue active)
May 9 11:38:07 mail-server spamd[841]: connection from localhost [127.0.0.1] at port 33117
May 9 11:38:07 mail-server postfix/smtpd[31759]: disconnect from unknown[213.165.64.20]
May 9 11:38:07 mail-server spamd[31766]: info: setuid to drweb succeeded
May 9 11:38:07 mail-server spamd[31766]: processing message <7318.1084094939@www48.gmx.net> for drweb:508.
May 9 11:38:08 mail-server spamd[31766]: clean message (0.7/5.0) for drweb:508 in 1.2 seconds, 1013 bytes.

May 9 11:38:09 mail-server drweb-postfix: dwlib[31765]: scan: the message(drweb.tmp.0be7Ys) sent by gennadi@gmx.net to gennadi@gennadi.ru is passed

May 9 11:38:09 mail-server postfix/pickup[31573]: 49D24B15: uid=508 from=<gennadi@gmx.net>
May 9 11:38:09 mail-server postfix/cleanup[31760]: 49D24B15: message-id=<7318.1084094939@www48.gmx.net>
May 9 11:38:09 mail-server postfix/pipe[31761]: E0AC1B10: to=<gennadi@gennadi.rue>, relay=drweb, delay=3, status=sent (dummy)
May 9 11:38:09 mail-server postfix/qmgr[957]: 49D24B15: from=<gennadi@gmx.net>, size=1293, nrcpt=1 (queue active)
May 9 11:38:09 mail-server postfix/pipe[31771]: 49D24B15: to=<gennadi@gennadi.ru>, relay=cyrus, delay=0, status=sent (gennadi.ru)


Письмо от gennadi@gmx.net, пройдя проверку на Spam через spamfilter и на вирус через drweb - направлено юзеру gennadi@gennadi.ru

Пошлём ещё одно письмо с вирусом.
Это письмо содержит test-virus такого содержания:
Цитата:
X5O!P%@AP[4PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
и смотрим логи.
Цитата:
mail-relay:~ # tail -fn 100 /var/log/mail
May 9 11:35:05 mail-server postfix/smtpd[31734]: starting TLS engine
May 9 11:35:05 mail-server postfix/smtpd[31734]: connect from unknown[213.165.64.20]
May 9 11:35:05 mail-server postfix/smtpd[31734]: 6FE4B5DB: client=unknown[213.165.64.20]
May 9 11:35:05 mail-server postfix/cleanup[31735]: 6FE4B5DB: message-id=<opr7p65d1x9wdffd@linux.gennadi.ru>
May 9 11:35:05 mail-server postfix/qmgr[957]: 6FE4B5DB: from=<gennadi@gmx.net>, size=1008, nrcpt=1 (queue active)
May 9 11:35:05 mail-server spamd[841]: connection from localhost [127.0.0.1] at port 33114
May 9 11:35:05 mail-server postfix/smtpd[31734]: disconnect from unknown[213.165.64.20]
May 9 11:35:05 mail-server spamd[31742]: info: setuid to drweb succeeded
May 9 11:35:05 mail-server spamd[31742]: processing message <opr7p65d1x9wdffd@linux.gennadi.ru> for drweb:508.
May 9 11:35:08 mail-server spamd[31742]: clean message (1.0/5.0) for drweb:508 in 2.5 seconds, 1016 bytes.

May 9 11:35:08 mail-server drweb-postfix: dwlib[31741]: scan: the message(drweb.tmp.l3MWmE) sent by gennadi@gmx.net to gennadi@gennadi.ru has been stored in archive /var/drweb/infected/drweb.quarantine.jFuKh2

May 9 11:35:09 mail-server postfix/pickup[31573]: 2B12EB12: uid=508 from=<DrWEB-DAEMON>
May 9 11:35:09 mail-server postfix/cleanup[31735]: 2B12EB12: message-id=<20040509093509.2B12EB12@gennadi.ru>
May 9 11:35:09 mail-server postfix/qmgr[957]: 2B12EB12: from=<DrWEB-DAEMON@gennadi.ru>, size=3518, nrcpt=1 (queue active)
May 9 11:35:09 mail-server postfix/pickup[31573]: 6193FB13: uid=508 from=<DrWEB-DAEMON>
May 9 11:35:09 mail-server postfix/cleanup[31735]: 6193FB13: message-id=<20040509093509.6193FB13@gennadi.ru>
May 9 11:35:09 mail-server postfix/qmgr[957]: 6193FB13: from=<DrWEB-DAEMON@gennadi.ru>, size=3790, nrcpt=1 (queue active)
May 9 11:35:09 mail-server postfix/pickup[31573]: B4E6EB14: uid=508 from=<DrWEB-DAEMON>

May 9 11:35:09 mail-server postfix/cleanup[31735]: B4E6EB14: message-id=<20040509093509.B4E6EB14@gennadi.ru>
May 9 11:35:09 mail-server drweb-postfix: dwlib[31741]: scan: the message(drweb.tmp.l3MWmE) sent by gennadi@gmx.net to gennadi@gennadi.ru infected with EICAR Test File (NOT a Virus!)
May 9 11:35:09 mail-server postfix/pipe[31737]: 6FE4B5DB: to=<gennadi@gennadi.ru>, relay=drweb, delay=4, status=sent (dummy)
May 9 11:35:09 mail-server postfix/qmgr[957]: B4E6EB14: from=<DrWEB-DAEMON@gennadi.ru>, size=4056, nrcpt=1 (queue active)
May 9 11:35:10 mail-server postfix/pipe[31752]: 2B12EB12: to=<gennadi@gennadi.ru>, relay=cyrus, delay=1, status=sent (gennadi.ru)
May 9 11:35:10 mail-server postfix/pipe[31753]: 6193FB13: to=<gennadi@gennadi.ru>, relay=cyrus, delay=1, status=sent (gennadi.ru)

May 9 11:35:11 mail-server postfix/smtp[31757]: B4E6EB14: to=<gennadi@gmx.net>, relay=mx0.gmx.net[213.165.64.100], delay=2, status=sent (250 2.6.0 {mx034} Message accepted)


Письмо от gennadi@gmx.net, пройдя проверку на Spam через spamfilterнаправлено drweb'у, а drweb установил, что оно содержит вирус и положил его в карантин (/var/drweb/infected), и DrWEB-DAEMON сообщает об этом юзерам gennadi@gennadi.ru и gennadi@gennadi.net
Цитата:
Уважаемый Отправитель gennadi@gmx.net !

Сообщение, отправленное с Вашего адреса (возможно вирусом
с другого компьютера) по адресу(ам) gennadi@gennadi.ru
инфицировано и не было доставлено.

--- Dr.Web report ---
Найден(ы) следующий(е) вирус(ы):
Known virus(es):
EICAR Test File (NOT a Virus!)

Детализированный отчет Dr.Web:
127.0.0.1 [31743] drweb.tmp.l3MWmE - archive MAIL
127.0.0.1 [31743] drweb.tmp.l3MWmE/[text:plain] infected with EICAR Test File (NOT a Virus!)

Статистика сканирования Dr.Web:
Evaluation key used !
Known viruses : 1

--- Dr.Web report ---

Ваше сообщение сохранено в карантине под именем:
drweb.quarantine.jFuKh2

Чтобы получить это сообщение, обратитесь к администратору
по адресу <gennadi@gennadi.ru>, указав имя, под которым
Ваше сообщение сохранено в карантине.

---
Антивирусная защита почтовых серверов
Dr.Web(R) Daemon for Unix (разработан в Daniloff's Labs)
 http://www.drweb.ru, http://www.DialogNauka.ru)>
Dear User,

the message with following attributes has not been delivered,
because contains an infected object.

Sender = gennadi@gmx.net (may be forged)
Recipients = gennadi@gennadi.ru

Antivirus filter report:
--- Dr.Web report ---
Following virus(es) has been found:
Known virus(es):
EICAR Test File (NOT a Virus!)

Dr.Web detailed report:
127.0.0.1 [31743] drweb.tmp.l3MWmE - archive MAIL
127.0.0.1 [31743] drweb.tmp.l3MWmE/[text:plain] infected with EICAR Test File (NOT a Virus!)

Dr.Web scanning statistic:
Evaluation key used !
Known viruses : 1

--- Dr.Web report ---

The original message was stored in archive record named:
drweb.quarantine.jFuKh2
In order to receive the original message, please send request to
<gennadi@gennadi.ru>, referring to the archive record
name given above.

---
Antivirus service provided by Dr.Web(R) Daemon for Unix
 http://www.drweb.ru, http://www.dials.ru/english)>


Успехов!
_________________
gennadi@gennadi.dyn.ee  http://gennadi.dyn.ee/modules.php?name=Forums&file=viewtopic&t=11





 agathis.newmail.ru. sendmail-sasl и cyrus-imapd
 Аутентификация SMTP: штатный sendmail + SASL
 Конфигурирование Postfix
 Установка простой конфигурации Postfix + ClamAV + procmail + Spamassassin


Внимание! Читая пророчества на этом сайте помните что достоверность трудно проверить и все может во времени изменяться
"О дне же том, или часе, никто не знает, ни Ангелы небесные, ни Сын, но только Отец (Мк. 13, 32)"