[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