Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  FreeBSD Mail Howto
  exim & dovecot
  exim & courier-imap
  squirrelmail
  exim + saslauthd + courier-imap
  postfix -> exim
  sendmail -> exim
  imapsync
  Postfix + LDAP
  maildrop & postfix
  DSPAM
  Exim + LDAP
  ISPmanager
  Backup MX
  exim + exchange
  exim + dovecot + win2003 AD
  RoundCube
  qmail-ldap + AD
  spamooborona
  exim&dovecot + fetchmail + SSL
  Postfix + DBMail
  Mailgraph
  smfsav
  Exim+PgSQL
  Postfix + Dovecot + Clamav + SpamAssasin + LDAP vs MYSQL
  Simplemail Admin
  MTA qmail full install
  OpenLDAP адресная книга
  POSTFIX Статистики
  Backup MX (exim)
  Exim + dovecot + PgSQL + web
  Exim+dovecot2+dspam
  Возможности Dovecot 2
  Dovecot2 configfiles RUS
  Почтовый сервер по шагам ч.1
  Почтовый сервер по шагам ч.2
  Почтовый сервер по шагам ч.3
  Шелезяки
  Мелочи
  Файловая система
  WWW
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> почтовые системы —> smfsav

smfsav - проверка адреса отправителя

Автор: Bart Tapolsky.


Smfsav - проверка адреса отправителя

1 Введение
2 Технология
3 Установка smfsav для sendmail
4 Настройка фильтра на postfix

Введение

Зачем нужна проверка адреса отправителя на почтовых серверах? SMTP протокол фактически не гарантирует доставку письма, но всячески способствует хотя бы косвенно уведомить отправителя о возможных проблемах. Ниже приведена схема, по которой работает SMTP сервер:

1. Сервер получает письмо и пытается доставить получателю
2. Если возникает ошибка, создается отчет об ошибках и отправляется отправителю
3. Если возникает ошибка при отправке письма отправителю, сервер пытается отправить отчет своему postmaster'у
4. Если недоступен адрес postmaster'a, в логи добавляется событие "savemail panic" и обработка письма вместе с отчетом останавливается

Как видите, SMTP сервер пытается, во чтобы то ни стало, доставить письмо получателю или известить компетентых людей об ошибках. Если у вас есть почтовый сервер, обратите внимание, сколько писем у него в очереди. Скорее всего, вы увидите письма от MAILER-DAEMON или postmaster на непонятные адреса типа <klausdefargt093fstb@poweroverhealthing.ee>. Потому что спаммеры зачастую в своих письмах указывают неверный обратный адрес, а заодно и неверный адрес получателя. Согласно вышеуказанной схеме, отчет должен уйти отправителю, вот и висит он, потому что некуда ему идти. Механизм проверки адреса отправителя вовсе не гарантирует, что адрес отправителя в письме - это настоящий адрес отправителя, но позволит нам хотя бы удостовериться, что это рабочий адрес, и, как минимум, на него можно будет отправить отчет о недоставке.

Технология

Обычная SMTP сессия выглядит примерно так:

<= 220 Server ESMTP ready
=> HELO mx.yandex.ru
<= 250 server.firma.ua Hello mx.yandex.ru [212.89.22.56], pleased to meet you
=> MAIL FROM:<invalid@address.com>
<= 250 2.1.0 Ok
=> RCPT TO:<petrov@firma.ua>
<= 250 2.1.5 Ok
=> DATA
<= 354 Enter mail, end with "." on a line by itself
=> text
=> of 
=> mail
=> .
<= 250 2.0.0 mAA8JNbB099896 Message accepted for delivery
=> QUIT
<= 221 2.0.0 server.firma.ua closing connection

Фильтр, отвечающий за проверку адреса получателя, вызывается почтовым сервером после команды MAIL FROM и делает примерно следующие действия:
Получает список MX записей для домена address.com

nslookup -type=MX address.com
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
address.com     mail exchanger = 10 spam04.affinitypath.com.
address.com     mail exchanger = 20 spam01.affinitypath.com.

Подключается к одному из них и производит следующий диалог с сервером:

<= 220 Server ESMTP ready
=> HELO server.firma.ua
<= 250 spam04.affinitypath.com Hello server.firma.ua [11.22.33.44], pleased to meet you
=> MAIL FROM:<validator@firma.ua>
<= 250 2.1.0 Ok
=> RCPT TO:<invalid@address.com>
<= 550 User not found.
=> QUIT
<= 221 2.0.0 spam04.affinitypath.com closing connection

Возращает отправителю ошибку без приема письма. Сессия будет выглядеть примерно так:

<= 220 Server ESMTP ready
=> HELO mx.yandex.ru
<= 250 server.firma.ua Hello mx.yandex.ru [212.89.22.56], pleased to meet you
=> MAIL FROM:<invalid@address.com>
<= 550 Sender address verification failed
=> QUIT
<= 221 2.0.0 server.firma.ua closing connection

Установка smfsav для sendmail

Установите smfsav из исходников (сорцы возьмите на http://smfs.sourceforge.net/smf-sav.html), либо из портов FreeBSD:

make install clean -C /usr/ports/mail/smfsav

Поправьте в конфиге smfsav.conf, который скорее всего будет в /usr/local/etc:

PublicName      dns_имя_вашего_сервера #Узнайте командой nslookup ваш_внешний_IP
SafeCallBack    postmaster@firma.ua #Заведомо рабочий адрес в вашем домене

Запустите сервис

/usr/local/etc/rc.d/smfsav start

Пропишите фильтр в конфиг sendmail'a /etc/mail/your_hostname.mc

INPUT_MAIL_FILTER(`smfsav', `S=unix:/var/run/smfsav/smfsav.sock, T=S:30s;R:4m')

Пересоберите конфиги и перезапустите сервер

make all install stop start -C /etc/mail

Все, ждите сообщений в логах!

# tail -f /var/log/maillog |grep smf
Nov 10 10:37:52 gt smf-sav[60084]: sender check failed: <tefighter70@icqmail.com>, 83.9.68.148, abzw148.adsl.tpnet.pl, [00:00:06]
Nov 10 10:40:09 gt smf-sav[60084]: sender check failed: <yu@basf.com>, 89.254.215.113, line113-49.adsl.kirov.ru, [00:00:03]
Nov 10 10:41:05 gt smf-sav[60084]: sender check failed: <simeon@basf.com>, 89.20.23.89, [89.20.23.89], [00:00:04]
Nov 10 10:44:32 gt smf-sav[60084]: sender check failed: <www.@ruthschris.com>, 85.72.60.199, oikopano.static.otenet.gr, [00:00:03]
Nov 10 10:45:08 gt smf-sav[60084]: sender check succeeded: <fields@whsllc.com>, 59.90.187.144, [59.90.187.144], [00:00:02]

Настройка фильтра на postfix

Такой механизм уже есть в стандартной поставке postfix'a, добавьте нужное значение в следующий параметр конфига main.cf:

smtpd_sender_restrictions = ..., reject_unverified_sender

----
Оригинал статьи: http://unixpages.net/wiki/Smfsav_-_проверка_адреса_отправителя
http://unixpages.net



размещено: 2008-11-10,
последнее обновление: 2008-11-10,
автор: Bart Tapolsky

оценить статью:

aemon, 2009-08-27 в 17:11:55

Касательно использования вместе с Postfix дельные замечания по адресу

lexore, 2010-04-14 в 17:14:03

> Фильтр, отвечающий за проверку адреса получателя, вызывается почтовым сервером после команды MAIL FROM и делает примерно следующие действия.

Правильно: за проверку отправителя.

Ну и ссылку хорошо бы поправить:
http://smfs.sourceforge.net/smf-sav.html),


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS

Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT

В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat

Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp

Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration

Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster

HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS

История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire

Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной

Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server

Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs

Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 36 чел.
За последние 30 мин было: 116 человек
За сегодня было
3831 показов,
977 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0383 секунд
Из них PHP: 26%; SQL: 74%; Число SQL-запросов: 77 шт.
Исходный размер: 106563; Сжатая: 19262