Страница 1 из 1

Whitelist + greylist

Добавлено: 2008-04-11 15:31:56
Morty
Прощу помощи , либо совета. Хочу добавить грейлистинг в конфу в которой уже работают белые спсики
"Белые списки" взяты из конфига этого http://forum.lissyara.su/viewtopic.php?f=14&t=2747
------
делал таблицу в бд экзима

Код: Выделить всё

CREATE TABLE exim_greylist (
  id integer NOT NULL auto_increment,
  relay_ip varchar(64),
  from_domain varchar(255),
  block_expires datetime NOT NULL,
  record_expires datetime NOT NULL,
  origin_type enum('MANUAL','AUTO') NOT NULL default 'AUTO',
  create_time datetime NOT NULL,
  PRIMARY KEY (id)
);
перед acl_check_rcpt. У меня это файлик 150.grey.conf

Код: Выделить всё

GREYLIST_TEST = SELECT CASE \
   WHEN now() - block_expires > 0 THEN 2 \
   ELSE 1 \
 END \
 FROM exim_greylist \
 WHERE relay_ip = '${quote_mysql:$sender_host_address}' \
  AND from_domain = '${quote_mysql:$sender_address_domain}'

GREYLIST_ADD = INSERT INTO exim_greylist (relay_ip, from_domain, \
  block_expires, record_expires, create_time) \
VALUES ( '${quote_mysql:$sender_host_address}', \
  '${quote_mysql:$sender_address_domain}', \
  DATE_ADD(now(), INTERVAL 5 MINUTE), \
  DATE_ADD(now(), INTERVAL 7 DAY), \
  now() \
)
в 200 конфе, тоесть перед всеми deny , accept своих доменов и пр, обьявляем переменну вообщем acl_m1

Код: Выделить всё

 ## Greylisting
 # warn set acl_m1 = ${lookup mysql{GREYLIST_TEST}{$value}{0}}
после

Код: Выделить всё

accept local_parts =postmaster
domains               =+local_domains
ставим

Код: Выделить всё

#defer message = Greylisted - please try again a little later.
#  ! domains   = +white_domains
#  condition = ${if eq{$acl_m1}{0}{1}}
#  condition = ${lookup mysql{GREYLIST_ADD}{yes}{no}}

#defer message = Greylisted - please try again shortly.
#  condition = ${if eq{$acl_m1}{1}{1}}
white_domains содержит следующее ---->>> (точнее это те данные которые должны браться из таблицы белых доменов)

Код: Выделить всё

#domainlist white_domains = ${lookup mysql{SELECT LCASE(`domain_whitelist`) \
#                         FROM `domainname` WHERE \
#                         `domainname`=LCASE('${quote_mysql:${domain}}')}
Собсно вопрос в том что - серые спсики работают но слишком правильно, поэтому мне нада сделать так чтобы
он срезал, но то что в белых списках пропускал :mrgreen: Одним словом если убрать все что касаеться проверки серым списком в белом то он работает (простите за каламбур)
Вот что логи говорят:

Код: Выделить всё

Apr 11 15:02:20 mail2 exim[94540]: [1\2] [94540] failed to expand "${lookup mysql{SELECT LCASE(`domain_whitelist`) FROM `domainname` WHERE `domainname`=LCASE('${quote_mysql:${domain}}')}" while checking a list: lookup of "SELECT LCASE(`domain_whitelist`) FROM `domainname` WHERE `domainname`=LCASE('pindostan.ua')" gave DEFER: MYSQL: query failed: Table 'exim.domainname' doesn't exist
Я так понимаю что я не правильно составил white_domains...

Re: Whitelist + greylist

Добавлено: 2008-04-11 15:33:11
Alex Keda
пинципиально не буду помогать =)
ненавижу грейлистинг.
Решение своих проблем за чужой счёт.

Re: Whitelist + greylist

Добавлено: 2008-04-11 15:39:19
Morty
блин )) тут же всего то составить запрос правильно для white_domains
которые кстати из спсика белых доменов беруться -)
а
Решение своих проблем за чужой счёт.
вот это что-то до меня не дошло, да у меня проблема - у меня спам :D
а почему я их решаю за чужой счет ? я ж режу у себя да и тем более на опред промеж времени да и с
"согласованием" белых списков

ЗЫ: по крайней мере - спортивный интерес попробовать whitelist+greylist посм что из этого выйдет

Re: Whitelist + greylist

Добавлено: 2008-04-11 15:45:57
Alex Keda
письма у кого лежат в очереди? - на других нормальных серверах
Страдает кто? - чужие обычные пользователи

Re: Whitelist + greylist

Добавлено: 2008-04-11 15:47:46
Morty
ну это да

Re: Whitelist + greylist

Добавлено: 2008-04-11 15:49:33
Morty
а как же белый список ?? те сервера с кем переписываються грейсписок их не должен трогать и оба сервера не будут в очереди

Re: Whitelist + greylist

Добавлено: 2008-04-11 17:32:27
Morty
разобрался
нада было так

Код: Выделить всё

domainlist white_domains = ${lookup mysql{SELECT LCASE(`domainname`) \
                          FROM `domain_whitelist` WHERE \
                          `domainname`=LCASE('${quote_mysql:${domain}}')}}
вообщем посижу на конфиге таком greylist + whitelist посмотрим, вроде все круто

Re: Whitelist + greylist

Добавлено: 2008-04-11 18:49:47
Morty
да похоже если кому интересно или нада будет greylist + whitelist
accept белых доменов лучше ставить после проверки на грей, ну
и за ним дальнейшая проверка прочих интересностей

ЗЫ : на следующей неделе посмотрю буду ли траблы , жалобы

Re: Whitelist + greylist

Добавлено: 2008-04-13 13:02:29
kmb
lissyara писал(а):пинципиально не буду помогать =)
ненавижу грейлистинг.
Решение своих проблем за чужой счёт.
:shock: