[Comm] 25 порт

Pavel S. Khmelinsky =?iso-8859-1?q?hmepas_=CE=C1_yauza=2Eru?=
Вт Апр 13 14:07:50 MSD 2004


Sodom wrote:
> Здравствуйте, Pavel.
> 
> Вы писали 13 апреля 2004 г., 13:43:40:
> 
> 
> 
> PSK> Sodom wrote:
> 
>>>Приветствую уважаемое сообщество!
>>>Нужно такое вот нетривиальное решение - есть некий реальный айпи.
>>>Раньше на нем, как это и положено, висел Exchange под WinNT4, причем
>>>машинка незакрытая висела в инете, светя всеми мелкософтовскими
>>>фонарями.
>>>Суперадмин ничтоже сумняшись, советовал сотрудникам офиса, находящимся
>>>ВНЕ офиса и отправляющим почту через этот Exchange, прописывать в
>>>качестве smtp не dns имя сервера, а его айпи.
>>>Ecnhange, как и весь сервер давно снесли, DNS переписали, мыльный
>>>сервер давно уже висит на другом айпи, о чем уже неоднократно
>>>уведомлялись сотрудники, но некоторые "доблесные" товарищи упорно
>>>пытаются отправлять почту по старому пути. Как и спамеры, конечно же.
>>>Так вот - хотелось бы, НЕ поднимая smtp демона на старом айпишнике все
> 
> PSK> Что может быть проще чем поднять smtp демона? Для решения Вашей 
> PSK> задачи все равно что-то придется поднимать, так почему не поднять
> PSK> программу специально для этого предназначенную?
> 
> PSK> Или сделайте ДНАТ на ту машину на которой уже поднят smtp. Если 
> PSK> речь идет о postfix то можно сделать вот как:
> PSK> На бывшем smtp-сервере, делаем iptables -j DNAT ...
> PSK> на новом в /etc/postfix/master.cf прописываем второй smtp сервер,
> PSK> на который и делаем днат с бывшего smtp-сервера.
> PSK> master.cf должен при этом выглять примерно так:
> PSK> 1025  inet n - n - - smtpd-sasl -o content_filter=lusers_filter
> PSK> lusers_filter unix - n n - - pipe  user=bogofilter
> PSK>        argv=/usr/sbin/luser_filter -f ${sender} -- ${recipient}
> 
> PSK> где
> PSK> 	1025 -- порт на который будет делаться DNAT с вашего бывшего smtp
> PSK> 	/usr/sbin/luser_filter скрипт который будет отлавливать Ваших 
> PSK> нерадивых пользователей и слать Вам об этом уведомление, а сами 
> PSK> сообщения перенаправлять по адресу.
> 
> PSK> Т.е. в итоге волки сыты (вы просекаете пользователей не 
> PSK> поменявших настройки) и овцы целы (письма у пользователей 
> PSK> отправляются).
> 
> PSK> Что касается pop3/imap то можно попробовать провернуть что-то 
> PSK> подобное.
> 
> 
> Большое спасибо! Так и сделаю :-)
Тогда еще небольшое дополнение
1025  inet n - n - - smtpd-sasl -o content_filter=lusers_filter:

Внимание на двоетоеточие в конце


А вот пример скрипта

#-------------------------------------------------------------
#/usr/sbin/luser_filter -f ${sender} -- ${recipient}

#!/bin/bash

HOME=/var/spool/lusers_filter
DATE=`date +"%Y-%m-%d_%H-%M.%S.%N"`
FMSG="msg.$DATE"
QUERY=$HOME/query/
FMSG1=$FMSG
SENDMAIL="/usr/sbin/sendmail -i"
LOG=$HOME/log
ARGS=$@

ADMIN_EMAIL=pupkin на foo.com

SENDER=$1
RCPT=$4

# Подбираем уникальное имя файла
while [ -f $QUERY$FMSG1 ]; do
         $FMSG1="$FMSG.$num"
         num=$(($num+1))
done

FMSG=$QUERY$FMSG1

# Пишем сообщение в файл
cat > $FMSG


log() {
         echo "$DATE: $ARGS MSG: $FMSG" >> $LOG
}

# Нотификация админу
echo "Message from $SENDER dilivered by old path!" | mail -s"Old 
path messages" $ADMIN_EMAIL

# А письмо летит дальше
$SENDMAIL "$@" < $FMSG
rm -f $FMSG

# EOF
#-------------------------------------------------------

Это мой модифицированный спам фильтр, так что если где корявки 
торчат, не удивляйтесь. ;)

--
Pavel S. Khmelinsky <hmepas на yauza.ru>
System Administrator,
ISP Yauza Telecom
http://www.yauza.ru



Подробная информация о списке рассылки community