Бруй В.В., Карлов С.В. - Linux-сервер - пошаговые инструкции - инсталляции и настройки (1077321), страница 94
Текст из файла (страница 94)
е. сначала просматривается файл10_misc.cf, затем 20_anti_ratware.cf, затем 20_body_tests.cf и т. д. Значения для некоторогопараметра, установленного в предыдущем файле, переопределяются значением этого же параметра, установленного в последующем файле.Далее SpamAssassin просматривает конфигурационные файлы, находящиеся в первом из найденныхкаталогов:/etc/mail/spamassassin;•/usr/etc/mail/spamassassin;•/usr/etc/spamassassin;•/usr/local/etc/spamassassin;•/usr/pkg/etc/spamassassin;•/usr/etc/spamassassin;•/etc/mail/spamassassin;•/etc/spamassassin.•Просмотр файлов также осуществляется в алфавитном порядке. В этом случае значения для некоторого параметра, установленного в предыдущем файле, переопределяются значением этого же параметра, установленного в последующем файле.По умолчанию SpamAssassin просматривает пользовательские предпочтения в домашнем каталогепользователя в файле ~/.spamassassin/user_prefs.
Если такого файла не существует, осуществляется последовательный просмотр следующих каталогов:• /etc/mail/spamassassin;• /usr/etc/mail/spamassassin;• /usr/share/spamassassin;• /etc/spamassassin;• /etc/mail/spamassassin;• /usr/local/share/spamassassin;• /usr/share/spamassassinна предмет наличия user_prefs.template. При работе программы используются пользовательскиепредпочтения из первого найденного файла user_prefs.template. При этом значения для некоторогопараметра, установленного ранее в конфигурационных файлах, переопределяются значением этого же параметра, установленного в файле user_prefs или user_prefs.template.416Часть 7.
Программное обеспечение для организации службы электронной почтыЗАМЕЧАНИЕ Для конфигурирования SpamAssassin не следует изменять файлы в каталоге/usr/share/spamassassin, т. к. при обновлении SpamAssassin будут утрачены все изменения, внесенныевами в конфигурацию. Внесение изменений в конфигурацию SpamAssassin следует осуществлять с использованием конфигурационных файлов в каталоге /etc/mail/spamassassin. Файлы из каталога/usr/share/spamassassin следует использовать в качестве образца при создании собственных конфигурационных файлов.Таким образом, для создания простейшего варианта конфигурации SpamAssassin необходимо выполнить следующие операции.Шаг 1Создайте и отредактируйте файл /etc/mail/spamassassin/local.cf, руководствуясь нижеприведенными рекомендациями и вашими потребностями:required_hits5.0rewrite_subject1subject_tag>(;-(SPAM*****report_safe1score HEADER_8BITS0score HTML_COMMENT_8BITS0score SUBJ_FULL_OF_8BITS0clear_report_templatereport Возможно, отправленное Вам сообщение содержало спам.report С его содержанием вы можете ознакомится в приложенииreport к этому письму.
Настройте вашу почтовую программу наreport помещение сообщений, содержащих в заголовке префикс:report>(;-(SPAM*****report в отдельную папку. Просмотр этой папки осуществляйтеreport при возникновении подозрений о неполучении вамиreport важных сообщений поисковыми средствами вашей почтовойreport программы. Администратор Сергей Панов. т. 26-35reportreport Content preview: _PREVIEW_reportreport Content analysis details:(_HITS_ points, _REQD_ required)report _SUMMARY_В рассматриваемом файле строка:required_hits5.0определяет минимальное значение величины hits, при превышении которого сообщение классифицируется как спам.Строка:rewrite_subject1предписывает изменять заголовок сообщения, добавляя туда префикс, определяемый в строке:subject_tag>(;-(SPAM*****В рассматриваемом примере префикс содержит стилизованное изображение спамера, которого настигло заслуженное возмездие, слово SPAM и пять звездочек, соответствующих установленному значениюпараметра required_hits.
Содержание префикса должно быть уникальным, в том смысле, что его появление в нормальном сообщении должно быть маловероятным, т. к. наличие префикса в заголовке может использоваться пользователями для размещения сообщений содержащих спам в отдельных папках.Строка:report_safe1предписывает сохранять сообщение, содержащее спам, в виде приложения к генерируемому SpamAssassinписьму.Строки:score HEADER_8BITS0score HTML_COMMENT_8BITS0score SUBJ_FULL_OF_8BITS0устанавливают нулевое значение значимости для тестов, проверяющих наличие в сообщениях символов ввосьми битных кодировках.Строки:clear_report_templatereport Возможно, отправленное Вам сообщение содержало спам.Глава 29. SpamAssasin – программное обепечение для фильтрации сообщений, содержащих спам417report С его содержанием вы можете ознакомится в приложенииreport к этому письму.
Настройте вашу почтовую программу наreport помещение сообщений, содержащих в заголовке префикс:report>(;-(SPAM*****report в отдельную папку. Просмотр этой папки осуществляйтеreport при возникновении подозрений о неполучении вамиreport важных сообщений поисковыми средствами вашей почтовойreport программы. Администратор Сергей Панов. т. 26-35reportreport Content preview: _PREVIEW_reportreport Content analysis details:(_HITS_ points, _REQD_ required)report _SUMMARY_определяют содержание сообщения, получаемого пользователем, которому было адресовано письмо, содержащее спам. Текст, используемый по умолчанию, предлагает получившему сообщение пользователю обратиться на сайт разработчиков, где они вряд ли смогут понять, что же им нужно сделать со сгенерированнымSpamAssassin сообщением.Шаг 2Определите права доступа к файлу /etc/mail/spamassassin/local.cf и назначьте его владельцем пользователя root:[root@test /]# chmod 640 /etc/mail/spamassassin/local.cf[root@test /]# chown 0.0 /etc/mail/spamassassin/local.cfШаг 3Скопируйте файл local.cf в user_prefs.template:[root@test /]# cp /etc/mail/spamassassin/local.cf /etc/mail/spamassassin/user_prefs.templateЭта операция необходима только, если пользователям вашего почтового сервера разрешено создаватьв каталоге ~/.spamassassin/ файлы user_prefs, предназначенные для создания собственных правилфильтрации спама.
В этом случае в качестве образца для создания пользовательского файла будет использованы правила, заданные вами в файле /etc/mail/spamassassin/local.cf, а не используемый поумолчанию файл /usr/share/spamassassin/user_prefs.template.Шаг 4Создайте инициализационный файл /etc/init.d/spamd, содержащий следующие строки:#!/bin/bash####\####This shell script takes care of starting and stopping SpamAssassin.chkconfig: 2345 80 30description: spamd is a daemon process which uses SpamAssassin to checkemail messages for SPAM. It is normally called by spamc \from a MDA.processname: spamd# Source function library..
/etc/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Check that networking is up.[ ${NETWORKING} = "no" ] && exit 0# If SpamAssassin is not available stop now.[ -f /usr/bin/spamd ] || exit 0# Path to the SpamAssassin binary.spamd=/usr/bin/spamd418Часть 7.
Программное обеспечение для организации службы электронной почтыRETVAL=0prog="Spamd"start() {echo -n $"Starting $prog: "daemon $spamd -d -i 0.0.0.0 -x -F0 -u mailRETVAL=$?echo[ $RETVAL -eq 0 ] && touch /var/lock/subsys/spamdreturn $RETVAL}stop() {echo -n $"Shutting down $prog: "killproc $spamdRETVAL=$?echo[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/spamdreturn $RETVAL}# See how we were called.case "$1" instart)start;;stop)stop;;status)status $spamdRETVAL=$?;;restart)stopstartRETVAL=$?;;condrestart)if [ -f /var/lock/subsys/spamd ]; thenstopstartRETVAL=$?fi;;*)echo $"Usage: $0 {start|stop|status|restart|condrestart}"exit 1esacexit $RETVALШаг 5Определите права доступа к файлу /etc/init.d/spamd и назначьте его владельцем пользователяroot:[root@test /]# chmod 700 /etc/init.d/spamd[root@test /]# chown 0.0 /etc/init.d/spamdШаг 6Для автоматического запуска SpamAssassin при загрузке системы создайте необходимые ссылки:[root@test /]# chkconfig --add spamd[root@test /]# chkconfig --level 2345 spamd onГлава 29.
SpamAssasin – программное обепечение для фильтрации сообщений, содержащих спам419Шаг 7Для интеграции SpamAssassin с Exim внесите в файл /etc/mail/exim.conf следующие изменения:#######################################################################MAIN CONFIGURATION SETTINGS#######################################################################primary_hostname = test.bruy.infoacl_smtp_rcpt = check_recipientacl_smtp_data = check_messagedomainlist local_domains = @ : lsearch;/etc/mail/localdomainshostlist relay_hosts = lsearch;/etc/mail/relaydomainshostlist auth_relay_hosts = *log_selector = \+all_parents \+received_sender \+received_recipients \+smtp_confirmation \+smtp_syntax_errorallow_domain_literals = falsenever_users = root:daemon:bin:sync:namedhost_lookup = *trusted_users = mailgecos_pattern = ^([^,:]*)gecos_name = $1freeze_tell = postmasterauto_thaw = 1hignore_bounce_errors_after = 30mtimeout_frozen_after = 7dreceived_header_text = "Received: \${if def:sender_rcvhost {from ${sender_rcvhost}\n\t}\{${if def:sender_ident {from ${sender_ident} }}\${if def:sender_helo_name {(helo=${sender_helo_name})\n\t}}}}\by ${primary_hostname} \${if def:received_protocol {with ${received_protocol}}} \(Exim ${version_number} #${compile_number} )\n\t\id ${message_id}\${if def:received_for {\n\tfor <$received_for>}}"system_filter = /etc/mail/system-filtermessage_body_visible = 5000message_size_limit = 10Msmtp_accept_max = 2048smtp_connect_backlog = 256queue_onlysplit_spool_directoryqueue_run_max = 1remote_max_parallel = 1rfc1413_hosts = *rfc1413_query_timeout = 0ssmtp_banner = "Welcome on our mail server!\n\This system does not accept Unsolicited \Commercial Email\nand will blacklist \offenders via our spam processor.\nHave a \nice day!\n\n${primary_hostname} ESMTP Exim \${version_number} ${tod_full}"420Часть 7.
Программное обеспечение для организации службы электронной почты#######################################################################ACL CONFIGURATION##Specifies access control lists for incoming SMTP mail#######################################################################begin aclcheck_recipient:accept hosts = :denylocal_parts= ^.*[@%!/|]denysenders= *@dbm;/etc/mail/access.db : \dbm;/etc/mail/access.dbrequire verify= senderdeny= unrouteable address= !127.0.0.1/8:0.0.0.0/0= recipientacceptmessagehosts!verifydomainsendpassmessageverify= +local_domainsaccepthosts= +relay_hostsaccepthosts= +auth_relay_hostsendpassmessage= authentication requiredauthenticated = *denymessage= unknown user= recipient= relay not permittedcheck_message:accept#######################################################################ROUTERS CONFIGURATION##Specifies how addresses are handled########################################################################THE ORDER IN WHICH THE ROUTERS ARE DEFINED IS IMPORTANT!## An address is passed to each router in turn until it is accepted.
#######################################################################begin routers#SpamAssassinspamcheck_router:no_verifycheck_local_usercondition = "${if and { {!def:h_X-Spam-Flag:} \{!eq {$received_protocol}{spam-scanned}}} {1} {0}}"driver = accepttransport = spamcheck#SpamAssassindnslookup:driver = dnslookupdomains = ! +local_domainstransport = remote_smtpignore_target_hosts = 0.0.0.0 : 127.0.0.0/8Глава 29. SpamAssasin – программное обепечение для фильтрации сообщений, содержащих спамno_moresystem_aliases:driver = redirectallow_failallow_deferdata = ${lookup{$local_part}lsearch{/etc/mail/aliases}}user = mailfile_transport = address_filepipe_transport = address_pipeuserforward:driver = redirectcheck_local_userfile = $home/.forwardno_verifyno_expncheck_ancestorallow_filtermodemask = 002file_transport = address_filepipe_transport = address_pipereply_transport = address_replylocaluser:driver = acceptcheck_local_usertransport = local_delivery#######################################################################TRANSPORTS CONFIGURATION########################################################################ORDER DOES NOT MATTER##Only one appropriate transport is called for each delivery.#######################################################################begin transportsremote_smtp:driver = smtplocal_delivery:driver = appendfilefile = /var/mail/$local_partdelivery_date_addenvelope_to_addreturn_path_addgroup = mailmode = 0600address_pipe:driver = pipereturn_outputaddress_file:driver = appendfiledelivery_date_addenvelope_to_addreturn_path_addaddress_reply:driver = autoreply#SpamAssassinspamcheck:421422Часть 7.