Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Exim + MySQL - GEOIP

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

BigHarry



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Все нижеизложенное может пригодится тем, у кого exim работает в связке с MySQL, хотя - думаю можно это все прикрутить и для других почтовиков и на другую СУБД.
Сейчас защит от спама много напридумано, но несмотря на всевозможные списки и всяческие методы - спам продолжает упорно пролезать, и, как показывает анализ логов - в основном спам идет через Китай и прочие развивающиеся страны типа Кореи. Я не до конца предтавляю всю эту спаморазсылочную кухню - почему спам, ориентированный на русскоязычную публику поступает с китайских серверов, скорей всего - наши спам-агенства заказывают это дело у китайских товарисчей в первую очередь из-за того, что те мало денег за это безобразие берут. Не суть, в общем - задача была такая - иметь возможность в любой момент отрезать поток писем из какой-либо страны.
Для этого я воспользовался списком IP адресов с разводкой по странам, который можно взять тут: http://www.maxmind.com/app/geoip_country
Этот список судя по всему последний раз обновлялся где-то в феврале 2005г. У кого-то он используется на въеб-серверах для статистики - типа из каких стран народ прет на сайт.
Я же его решил прикрутить этот список к связке Экзим+MySQL - тем более, что по адресу:
http://www.delau.net/php/geoip.html лежит подробная инструкция на тему HOW-TO Import the MaxMind GeoIP Free Country CSV file into MySQL and save diskspace. К сожалению - метод, который там приведен у меня нормально не сработал - очевидно - из-за неявного определения типа полей (видать у автора была старая версия MySQL), но я все-же переколбасил этот список полуручным методом и что бы народ не страдал - я выложил готовый дамп таблиц в архиве тут: http://rapidshare.de/files/1927402/eximgeo.7z.html
Архив в формате 7z (http://www.7-zip.org/).
Для импорта дампа в вашу БД замените USE EximDatabase на USE Имя_вашей_БД, а также при надобности тип создаваемых таблиц (если у вас не включена  поддержка innoDB в MySQL).
Затем вносим следующие изменения в exim.conf:

Код:
 
acl_smtp_connect = acl_init  
 
acl_init:
warn
    set acl_c6=""
    set acl_c7=""
 
    set acl_c8= ${lookup mysql{SELECT cc,cn FROM geo_ip \
LEFT JOIN geo_cc ON geo_cc.ci=geo_ip.ci \
WHERE inet_aton('${sender_host_address}') BETWEEN start AND end}}
    set acl_c6 = ${extract{cc}{$acl_c8}}
    set acl_c7 = ${extract{cn}{$acl_c8}}
 
warn
    set acl_c8=0
 
warn
    condition =${if eq{$acl_c6}{}{no}{yes}}
    set acl_c8= ${lookup mysql{SELECT ID FROM badcn \
WHERE cc = '$acl_c6'}}
 
deny message = We cant accept messages from country $acl_c7
    condition      = ${if  >{$acl_c8}{0}{1}{0}}
 
warn message = X-Exim-From-Country: $acl_c6, $acl_c7
 

Обращаю внимание - в моем дампе таблиц уже внесены в черный список стран (таблица badcn) Китай, Корея и есчо парочка, так что проверьте эту таблицу и удалите лишнее.
В результате проделанной работы - блокируется прием писем из стран черного списка (прямо в момент соединения почтовик их посылает на 550), а в заголовок принятого письма добавляется поле:
X-Exim-From-Country: RU, Russian Federation
Можно пойти дальше - каждому локальному юзеру завести черный или белый список, откуда он хочет или не хочет принимать письма - дальше думаю уже сами разберетесь...

Всего записей: 75 | Зарегистр. 05-02-2003 | Отправлено: 13:33 23-05-2005
tankistua

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
интересно, если честно , то больше в образовательных целях, чем в прикладных.
А спамят отовсюду и этим не прикроешься. У меня пару месяцев тому практически вся Япония была забанена в IPTABLES-ах на месц только потому, что какой-то урод поле from вписал из моего домена и спам раскидал.
 
Но вот тему создавать явно не стоило - надо было в ветку по екзиму писать
http://forum.ru-board.com/topic.cgi?forum=8&topic=4514&start=100#lt

Всего записей: 9572 | Зарегистр. 15-01-2002 | Отправлено: 11:47 25-05-2005
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Exim + MySQL - GEOIP


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

LiteCoin: LgY72v35StJhV2xbt8CpxbQ9gFY6jwZ67r

Рейтинг.ru