Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

sendmail+clamav+spamassassin

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Unix
Предыдущая тема :: Следующая тема  
Автор Сообщение
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 похоже ты мне только сможешь помоч. Smile
_________________
Хочешь знать правду? Читай таблицу умножения.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
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/ )установил, сделал пару настроек и .все работает Smile
каму интересно могу скинуть мою статейку
"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/
Письмо дошло, поздравляю! Smile

СЕРВЕР ГОТОВ! Теперь ты можешь отправлять письма.
Но, 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 самая интересная опция Wink уровень баллов для режекта письма
рекомендую в процессе обучения этот параметр не ставить вовсе.
запускаем скрипт перезапускаем 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
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Unix Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...