Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
tatlink
Зарегистрирован: 19.05.2005 Сообщения: 361 Откуда: Уфа
|
Добавлено: Чт Фев 01 2007 11:34 Заголовок сообщения: sendmail+clamav+spamassassin |
|
|
ASPlinux10
Вобщем поставил, настроил такую связку:sendmail+clamav
все работает пучком.
решил прикрутить к ней еще и spamassassin.
значит такая ситуация:
my.mc:
include(`/usr/share/sendmail-cf/m4/cf.m4')dnl
VERSIONID(`My personal cf')dnl
OSTYPE(`linux')dnl
FEATURE(use_cw_file)dnl
FEATURE(`access_db',`hash -T<TMPF> /etc/mail/access.db')dnl
INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamassassin.spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m')dnl
define(`confINPUT_MAIL_FILTERS', `spamassassin,clamav')dnl
MAILER(procmail)dnl
MAILER(smtp)dnl
MAILER(local)dnl
INPUT_MAIL_FILTER(`clamav-milter',`S=local:/var/run/clamav/clamav-milter.sock, F=,T=S:4m;R:4m;E:10m')dnl
# m4 my.mc > /etc/mail/sendmail.cf
далее перезапускаем sendmail
ошибку выдает:
запускается sendmail: WARNING: Xspamassassin: local socket name /var/run/spamassassin/spamass-milter.sock missing
451 4.0.0 InputFilter clamav not defined: No such file or directory
spamass-milter.sock это файла нет почему то..
и не появляеся после запуска или перезапуска
service spamassassin restart _________________ Хочешь знать правду? Читай таблицу умножения. |
|
Вернуться к началу |
|
|
Jail
Зарегистрирован: 16.01.2007 Сообщения: 180 Откуда: Russia
|
Добавлено: Чт Фев 01 2007 20:32 Заголовок сообщения: |
|
|
Дак ясен ясень ты посмотри повнимательнее что у тебя написано. запускается sendmail: WARNING: Xspamassassin: local socket name /var/run/spamassassin/spamass-milter.sock missing
451 4.0.0 InputFilter clamav not defined: No such file or directory
/var/run/spamassassin/ повидимому дирректория. А в конфиге:
INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamassassin.spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m')dnl
Заместо точки может надо поставить '/' |
|
Вернуться к началу |
|
|
tatlink
Зарегистрирован: 19.05.2005 Сообщения: 361 Откуда: Уфа
|
Добавлено: Пт Фев 02 2007 07:29 Заголовок сообщения: |
|
|
Jail писал(а): | Дак ясен ясень ты посмотри повнимательнее что у тебя написано. запускается sendmail: WARNING: Xspamassassin: local socket name /var/run/spamassassin/spamass-milter.sock missing
451 4.0.0 InputFilter clamav not defined: No such file or directory
/var/run/spamassassin/ повидимому дирректория. А в конфиге:
INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamassassin.spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m')dnl
Заместо точки может надо поставить '/' |
опечатка вышла.. конфиг верный...:
...........
............
INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamassassin/spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m')dnl
...
.... _________________ Хочешь знать правду? Читай таблицу умножения. |
|
Вернуться к началу |
|
|
tatlink
Зарегистрирован: 19.05.2005 Сообщения: 361 Откуда: Уфа
|
Добавлено: Сб Фев 03 2007 08:59 Заголовок сообщения: |
|
|
and3008 похоже ты мне только сможешь помоч. _________________ Хочешь знать правду? Читай таблицу умножения. |
|
Вернуться к началу |
|
|
Dmitry_Karpov
Зарегистрирован: 23.02.2006 Сообщения: 212 Откуда: Москва, Матвеевское
|
Добавлено: Пн Фев 05 2007 01:53 Заголовок сообщения: |
|
|
А к СпамАссассину ты егоный Милтер запустил? Он среди запущенных процессов висит? (КламАв аналогично состоит из двух процессов - собственно антивируса и милтер-переходника к нему.) _________________ Хочу в Хогвардс преподавателем информатики. |
|
Вернуться к началу |
|
|
tatlink
Зарегистрирован: 19.05.2005 Сообщения: 361 Откуда: Уфа
|
Добавлено: Пт Фев 16 2007 11:21 Заголовок сообщения: |
|
|
Dmitry_Karpov писал(а): | А к СпамАссассину ты егоный Милтер запустил? Он среди запущенных процессов висит? (КламАв аналогично состоит из двух процессов - собственно антивируса и милтер-переходника к нему.) |
а это кто такой?
подробнее подскажи плиз.. _________________ Хочешь знать правду? Читай таблицу умножения. |
|
Вернуться к началу |
|
|
tatlink
Зарегистрирован: 19.05.2005 Сообщения: 361 Откуда: Уфа
|
Добавлено: Ср Фев 21 2007 06:58 Заголовок сообщения: |
|
|
уф. разобрался нашел евошный мильтер
( http://download.savannah.nongnu.org/releases/spamass-milt/ )установил, сделал пару настроек и .все работает
каму интересно могу скинуть мою статейку
"sendmail+clamav+spamassassin" _________________ Хочешь знать правду? Читай таблицу умножения. |
|
Вернуться к началу |
|
|
Jail
Зарегистрирован: 16.01.2007 Сообщения: 180 Откуда: Russia
|
Добавлено: Ср Фев 21 2007 09:20 Заголовок сообщения: |
|
|
Скидывай! Не жмоться, другим будет полезно) |
|
Вернуться к началу |
|
|
tatlink
Зарегистрирован: 19.05.2005 Сообщения: 361 Откуда: Уфа
|
Добавлено: Ср Фев 21 2007 09:45 Заголовок сообщения: |
|
|
---------------------------------------------------------------------------
Установка sendmail
---------------------------------------------------------------------------
Устанавливаем sendmail (описывать процесс установки не буду, на эту тему много литературы в инете)
Итак...смотрим каталог /usr/share/sendmail-cf/cf
там создаем файл my.mc :
# touch /usr/share/sendmail-cf/cf/my.mc
заполяем его:
Код: | include(`/usr/share/sendmail-cf/m4/cf.m4')dnl
VERSIONID(`My personal cf')dnl
OSTYPE(`linux')dnl
FEATURE(use_cw_file)dnl
FEATURE(`access_db',`hash -T<TMPF> /etc/mail/access.db')dnl
dnl# SpamAssassin
INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass-milter, F=T, T=C:15m;S:4m;R:4m;E:10m')dnl
dnl# фичи
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
FEATURE(`access_db',`hash -o -T<TMPF> /etc/mail/access.db')dnl
FEATURE(`blacklist_recipients')dnl
FEATURE(`nouucp',`reject')dnl
FEATURE(`delay_checks')dnl
FEATURE(`relay_hosts_only')dnl
FEATURE(`relay_based_on_MX')dnl
FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
dnl# базы данных от спамеров
dnl#FEATURE(`dnsbl', `relays.ordb.org', `Spam bloked - see http://ordb.org/')dnl
dnl#FEATURE(`dnsbl',`bl.spamcop.net', `Spam blocked - see http://spamcop.net/bl.shtml?$&{client_addr}')dnl
dnl#FEATURE(`dnsbl',`ex.dnsbl.org', `Spam bloked - see http://www.dnsbl.org/')dnl
MAILER(smtp)dnl
MAILER(local)dnl
MAILER(procmail)dnl
INPUT_MAIL_FILTER(`clamav-milter',`S=local:/var/run/clamav/clamav-milter.sock, F=,T=S:4m;R:4m;E:10m')dnl |
Надо заметить что мой файл my.mc не совершенен, но он достаточен для работы нашей связки.
Необходимо очень внимательно заполнять этот файл. Этот файл пишеться с помощью языка m4, который отличается своеобразным синтаксисом. В нем отличаються открывающиеся и закрывающиеся кавычки. Соответственно
«`» и «’» В качестве признака конца строки используется макрос dnl (то есть после него можно ставить любые комментарии ).
mc необходимо переместить в каталог /usr/share/sendmail-cf/cf
так - теперь даем команду # m4 my.mc > /etc/mail/sendmail.cf, находясь в том каталоге, где лежит файл my.mc
Если после выполнение команды небыло никаких сообщений то это значит что ошибок нет- это очень хорошо!
в файл /etc/mail/local-host-names добавляем имя своего домена и имя машины по одному в каждую строку.
Далее добавляем в файл /etc/mail/access строку
твой_IP_адресс RELAY например:
192.168.0.85 RELAY (открываем доступ к серверу с нашего ip)
192.168.0.0/255.255.255.0 RELAY (открываем доступ к серверу с нашей локальной сети)
Переходим в каталог /etc/mail
Если там нет файла access.db создаем его
# touch access.db
потом даем командку
# makemap hash access < access
эту команду делаем после каждого изменения файла access
Перезагружаем sendmail:
# service sendmail restart
Теперь даем команду
# ps aux | grep sendmail
в выводе команды должно быть ДВА процесса sendmail!!
и надпись ACCEPTING CONNECTION
смотрим логии на предмет ошибок /var/log/maillog
Приступаем к проверке сервака. отправляем письмо на какой-нибудь свой внешний адрес - например на mail.ru/
Письмо дошло, поздравляю!
СЕРВЕР ГОТОВ! Теперь ты можешь отправлять письма.
Но, sendmail это ТРАНСПОРТНЫЙ агент...а не агент доставки... и поэтому ты не сможешь получать письма. А только отправлять…
Выход: надо установить агента доставки и настроить его...тогда и сможем получать. Ставим dovecot -это и есть то, что нам надо(он и будет нам все отдавать и по pop3 и по imap )
Устанавливаем dovecot
открываем файл /etc/dovecot.conf
в нем редактируем только одну строку
pop3_listen 192.168.0.221:110
(192.168.0.221 – локальный адрес нашего почтового сервера)
Перезагружаем
# service dovecot restart
Все должно работать!
------------------------------------------------------------------------------------------------
Несколько вопросов по безопасности почтового сервера
------------------------------------------------------------------------------------------------
ограничение на размер сообщения../etc/mail/sendmail.cf опция maximum message size
например MaxMessageSize=1000000 это 1 МЕГАБАЙТ будет
3м - 3000000
НЕДЬЗЯ!!! читать логи и почту под root
а что бы читать почту посланную root делаем запись в файле /etc/aliases
В файле /etc/aliases пишем…
Сразу под строкой postmaster: root
root: main@имя_твоего _почтового_домена
потом даем команду # newaliases
систкма должна дать ответ что то вроде /etc/aliases: 79 aliases,...
теперь ты всю СИСТЕМНУЮ ПОЧТУ для ROOT будешь получать на свою почту
в файле /var/log/maillog ищем в mc по клавише F3 слова Relay denied или reject
это нас атакуют...там же и их адреса будут
эти адреса или в файере закрываем, или добавляем в файл /etc/host.deny
в файле /var/log/wtmp вся инфа о том кто и когда и сколько был в ситеме....если кто проник - там будет.
Увидеть это можно по команде
# last -30 те за 30 дней последних
last -20 за 20 дней...
файл /etc/mail/access
там если кто лезет и пытается тебя релеить - пишем например 83.239.7.5 REJECT
(REJECT отброс БЕЗ сообщения)
DISCARD отброс с уведомлением
RELAY - разрешаешь релеить(те слать через твой почтокик на другие почтовики письма - то, что делают хакеры.
или нормальные люди, если пользуются твоим серверром
например - работники твоей фирмы)
О файле access можно найти много в Инете
вопрос: мы поставили ограничение на вх почту а ограничение колличество одновременных подключений?
ответ:да - для ограничения процессов (те на прием и передачу) в файле my.mc надо задать опцию MAX_DAEMON_CHILDREN
и перегенерировать файл sendmail.cf (# m4 my.mc > /etc/mail/sendmail.cf)
Дописываем в наш файл строку
Код: | define(`confMAX_DAEMON_CHILDREN',`150')dnl |
----------------------------------------------------------------------------------------------
Установка ClamAV
----------------------------------------------------------------------------------------------
Для того что бы ClamAV работал в связке с sendmail у нас есть соотвестсвующая запись в файле my.mc (INPUT_MAIL_FILTER(`clamav-milter',`S=local:/var/run/clamav/clamav-milter.sock, F=,T=S:4m;R:4m;E:10m')dnl
)
Порядок установки clamav описывать не буду скажу только что необходимо наличие
calamav-server
clamav-milter
Некоторые дистрибутивы Linux (.deb и .rpm пакеты) и другие Unix уже содержат clamav. Но его всегда можно скачать с clamav.sourceforge.net, затем запустить ./configure, make, make install.
далее
# service clamd start
# service clamav-milter start
Не забываем про
# chkconfig –-level 35 clamd on
# chkconfig –-level 35 clamav-milter on
Это касается и для sendmail, dovecot
далее посмотрим
сделай # ps aux | grep clamd
clamav 16807 0.0 3.8 22492 19216 ? S 15:09 0:00 /usr/sbin/clamd
root 16935 0.0 0.1 5308 680 pts/0 R 15:12 0:00 grep clamd
#ps aux | grep clamav-milter
clamav 16765 0.0 0.2 26640 1384 ? S 15:08 0:00 /usr/sbin/clamav-milter --quiet --external --dont-wait --force-scan --dont-log-clean --server=localhost --pidfile=/var/run/clamav/clamav-milter.pid local:/var/run/clamav/clamav-milter.sock
root 16937 0.0 0.1 5164 680 pts/0 R 15:12 0:00 grep clamav-milter
Нормалек!
далее делаем
#freshclam
теперь отсылаем письмо с вирусом(Скачайть тестовый вирус можно с сайта www.eicar.org). самому себе результат должен быть примерно таким:
Произошла неопознаная ошибка Тема '...........' УЧЕТная запись : '192.168.0.222 '
сервер: '192.168.0.222 ', протокол: SMTP ОТВЕТ СЕРВЕРА '554 4.7.1 VIRUS Eicar-Test.......'
detected by clamav- http://www.clamav.net
Ну все. Теперь наш почтовый сервер защищен антивирусом clamAV
------------------------------------------------------------------------------------------------
Установка spamassassin
------------------------------------------------------------------------------------------------
Ставим spamassassin. Лично я работаю с ASPLinux10, у там есть такой пакет spamassassin 3.0 . Но всегда, при желании можно закачать последний дистрибутив с
http://spamassassin.rediris.es/downloads.html
----------------------------------------------------------------------------------------------
Установка spamassassin milter
----------------------------------------------------------------------------------------------
Его дистрибутив я нашёл на стороннем сайте
http://download.savannah.nongnu.org/releases/spamass-milt/
качаем его и устанавливаем.
#tar -xvzf ./spamass-milter-0.2.0
#cd spamass-milter-0.2.0
#./configure ; make ; make install
------------------------------------------------------------------------------------------------
Конфигурация и запуск spamassassin daemon + spammass-milter
------------------------------------------------------------------------------------------------
Файл конфигурации local.cf по
умолчанию расположен в директории /etc/mail/spamassassin.
Документация по нему (англоязычная) есть на http://www.spamassassin.org/doc/Mail_SpamAssassin_Conf.html
Фаил local.cf
Код: | trusted_networks 192.168/16 127/8 # all in 192.168.*.* and 127.*.*.*
trusted_networks 127. # all in 127.*.*.*
# эти адреса добавим в whitelist
whitelist_from *@cps-ural.ru
whitelist_from *@cpstc.com
whitelist_from *@cpstc.ru
whitelist_from localhost
# эти адреса добавим в blacklist
#blacklist_from
blacklist_to *@sai.msk.ru
blacklist_to *@sai.spb.ru
# переписывать поле subject
rewrite_subject 1
subject_tag ***SPAM***_HITS***
required_hits 5.0
report_safe 0
use_terse_report 0
use_bayes 1
auto_learn 1
skip_rbl_checks 0
use_razor2 0
use_dcc 0
use_pyzor 0
always_add_report 1
use_auto_whitelist 1
auto_whitelist_path /etc/mail/spamassassin/auto_whitelist
bayes_path /etc/mail/spamassassin/bayes
ok_languages ru en
ok_locales ru en
report_charset windows-1251
lang ru
#user_scores_dsn DBI:mysql:spamassassin:192.168.0.2
#user_scores_sql_username trinity
#user_scores_sql_password ''
#score NAME_OF_TEST 3.0
#score MIME_HTML_ONLY 2.0
#score HTML_MESSAGE 1.0
#score HTML_FONTCOLOR_RED 2.0
score FROM_ILLEGAL_CHARS 1.5
score HEAD_ILLEGAL_CHARS 1.5
score SUBJ_ILLEGAL_CHARS 1.5
|
Самым сложным было понять как всё это запускается.
Для запуска будем использовать стартовый скрипт spamass-milter-raf.
(Скрипт создаеться так: переходим в директорию /etc/init.d
Создаем файл
# touch spamass-milter-raf
Заполняем его, содержимое файла смотри ниже.
Делаем его исполняемым
# chmod +x spamass-milter-raf
И запускаем
# ./spamass-milter-raf
)
скрипт spamass-milter-raf
Код: | #!/bin/sh
#
# spamass-milter This shell script takes care of starting and stopping
# spamass-milter for sendmail.
#
# chkconfig: 2345 80 30
# description: Sendmail milter plugin for SpamAssassin
# processname: /usr/local/sbin/spamass-milter
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network
RETVAL=0
case "$1" in
start)
echo -n "Starting spamass-milter: "
daemon /usr/local/sbin/spamass-milter -f -p /var/run/spamass-milter -b setar@yourdomen.ru
#-r 10
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/spamass-milter
echo -n "Starting spam daemon: "
daemon /usr/bin/spamd -d -u nobody
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/spamd
;;
stop)
echo -n "Shutting down spamass-milter: "
killproc spamass-milter
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/spamass-milter
echo -n "Shutting down spam daemon: "
killproc spamd
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/spamd
;;
restart|reload)
$0 stop
$0 start
RETVAL=$?
;;
status)
status sendmail
RETVAL=$?
;;
*)
echo "Usage: spam_filter {start|stop|restart|status}"
exit 1
esac
exit $RETVAL |
Строка запуска милтера (/usr/local/sbin/spamass-milter -f -p
/var/run/spamass-milter -b setar@yourdomen.ru -r 10) содержит
параметры :
-f запустить в фоне
-b мыло куда пересылаем письма распознаные как спам, к оригинальному
реципиенту письма не доходят. Чтобы они доходили и одновременно
дублировались на ответственного ставится опция -B
-r 10 самая интересная опция уровень баллов для режекта письма
рекомендую в процессе обучения этот параметр не ставить вовсе.
запускаем скрипт перезапускаем sendmail и ловим спам!
В статье использовался материал из
http://www.3nity.ru/viewtopic.htm?t=1459
при ОГРОМНОЙ помощи Dio
готов выслушать мнения , предложения ... _________________ Хочешь знать правду? Читай таблицу умножения. |
|
Вернуться к началу |
|
|
tatlink
Зарегистрирован: 19.05.2005 Сообщения: 361 Откуда: Уфа
|
Добавлено: Ср Фев 21 2007 10:34 Заголовок сообщения: |
|
|
И все равно, осталось ощущение недоделанности.. есть у меня пока что пара незакрытых вопросов:
1. спам валиться на определенный ящик, но приэтом трафик остаеться...как бы его вообще не принимать а только получать адреса заблокированных
2. обучение спамоубийцы я так и не разобрался еще как его обучать _________________ Хочешь знать правду? Читай таблицу умножения. |
|
Вернуться к началу |
|
|
crash
Зарегистрирован: 02.11.2001 Сообщения: 1836 Откуда: Бердск
|
Добавлено: Ср Фев 21 2007 18:34 Заголовок сообщения: |
|
|
tatlink писал(а): | И все равно, осталось ощущение недоделанности.. есть у меня пока что пара незакрытых вопросов:
1. спам валиться на определенный ящик, но приэтом трафик остаеться...как бы его вообще не принимать а только получать адреса заблокированных
2. обучение спамоубийцы я так и не разобрался еще как его обучать |
1. для того чтобы определить спам или нет почту надо получить.
2. man sa-learn |
|
Вернуться к началу |
|
|
|