EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
wein72
- рядовой
- Сообщения: 14
- Зарегистрирован: 2008-06-16 10:04:32
Непрочитанное сообщение
wein72 » 2008-12-10 9:09:02
Помогите пожалуйста, не могу понять где туплю...
Хочу сделать блэк и вайт листы. Файлы соответствующие у меня есть в дире с конфигами екзима. Блок acl в конфиге привожу ниже. Там это всё было сделано инклудом, попробовал из него всё перетащить в конфиг непосредственно - не помогает. Да и отрабатывает же оно частично там, по крайней мере то что проверку на реверс днс некоторые не проходят и отсылаются куда подальше, я в логах вижу. Не работают почему-то именно условия с проверкой из файлов. Где грабли?
Код: Выделить всё
begin acl
#тут длинный инклуд с говорящим названием, но его коментирование ничего не меняет
.include /etc/exim/vexim-acl-check-spf.conf
acl_local_whitelist:
accept
hosts = ${if exists{CONFDIR/hosts_whitelist}\
{CONFDIR/hosts_whitelist}{}}
accept
senders = ${if exists{CONFDIR/senders_whitelist}\
{CONFDIR/senders_whitelist}{}}
acl_check_helo:
.include /etc/exim/vexim-acl-check-helo.conf
*содержимое этого инклуда:
accept hosts = :
accept hosts = +relay_from_hosts
drop condition = ${if match{$sender_helo_name}{MY_IP}{yes}{no} }
message = "Dropped spammer pretending to be us"
drop condition = ${if match{$sender_helo_name}{^[0-9]\.[0-9]\.[0-9]\.[0-9]}{yes}{no} }
message = "Dropped IP-only or IP-starting helo"
accept
* конец инклуда
acl_check_rcpt:
accept hosts = :
accept authenticated = *
.ifdef CHECK_RCPT_REVERSE_DNS
deny
message = X-Host-Lookup-Failed: Reverse DNS lookup failed for $sender_host_address (${if eq{$host_lookup_failed}{1}{failed}{deferred}})
condition = ${if and{{def:sender_host_address}{!def:sender_host_name}}{yes}{no}}
!acl = acl_local_whitelist
.endif
deny
message = DNSBL listed at $dnslist_domain\n$dnslist_text
dnslists = combined.njabl.org:cbl.abuseat.org
deny
message = Sender IP address $sender_host_address is locally blacklisted here. If you think this is wrong, get in touch with postmaster. Please use for communication authoritative mail services such as gmail.com, mail.ru, etc. We apologize for probably delivered inconveniences
hosts = ${if exists{CONFDIR/hosts_blacklist}{CONFDIR/hosts_blacklist}{}}
!acl = acl_local_whitelist
deny
message = Sender envelope address $sender_address is locally blacklisted here. If you think this is wrong, get in touch with postmaster. Please use for communication authoritative mail services such as gmail.com, mail.ru, etc. We apologize for probably delivered inconveniences
senders = ${if exists{CONFDIR/senders_blacklist}{CONFDIR/senders_blacklist}{}}
!acl = acl_local_whitelist
deny local_parts = ^.*[@%!/|] : ^\\.
accept local_parts = postmaster
domains = +local_domains
accept domains = +local_domains
endpass
verify = recipient
accept domains = +relay_to_domains
endpass
verify = recipient
accept hosts = +relay_from_hosts
deny message = relay not permitted
acl_check_content:
# Include Vexim specific rcpt ACLs
.include /etc/exim/vexim-acl-check-content.conf
# finally accept all the rest
accept
Заранее спасибо.
Последний раз редактировалось
wein72 2008-12-10 9:22:35, всего редактировалось 1 раз.
wein72
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
Alex Keda
- стреляли...
- Сообщения: 35413
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2008-12-10 9:21:33
страницу крутим до верху и читаем текст на красном фоне
Убей их всех! Бог потом рассортирует...
Alex Keda
-
Alex Keda
- стреляли...
- Сообщения: 35413
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2008-12-10 9:25:04
инклюды хоть бы показал...
=======
а вообще - посомтри в дебаге эмуляцию приёма письма с нужными параметрами - думаю прояснит что и где не так.
Убей их всех! Бог потом рассортирует...
Alex Keda
-
wein72
- рядовой
- Сообщения: 14
- Зарегистрирован: 2008-06-16 10:04:32
Непрочитанное сообщение
wein72 » 2008-12-10 9:40:45
vexim-acl-check-spf.conf - его я пробовал убирать, это ничего не меняет
Код: Выделить всё
# SPF Auth test for Exim 4.xx
# Version 2.05 by david @ ols . es
#
# Features:
#
# Full SPF support via spfd socket
#
# Warning:
#
# Will use acl_m9, acl_m8, acl_m7 and acl_m6
#
# Requires
#
# Mail::SPF::Query ver 1.9.1
#
# Usage instructions:
#
# 1. copy this file to your /usr/local/exim
#
# 2. add this line to your exim configuration file after your
# begin acl:
#
# .include /usr/local/exim/spf.acl
#
# 3. Grab a copy of Mail::SPF::Query from
# http://spf.pobox.com/downloads.html and install it
#
# 4. Run spfd -path=/tmp/spfd as the same user as Exim runs
#
# 5. Now you can use the test on your RCPT/MAIL ACL this way:
#
# deny !acl = spf_rcpt_acl
#
# And on your DATA ACL:
#
# deny senders = :
# !acl = spf_from_acl
#
# now acl_m8 will hold 'pass','fail', 'unknown'
# so you can take other decisions based on the result
spf_rcpt_acl:
# Check envelope sender
warn set acl_m8 = $sender_address
deny !acl = spf_check
warn message = Received-SPF: $acl_m7
accept
spf_from_acl:
# Check header From:
warn set acl_m8 = ${address:$h_from:}
deny !acl = spf_check
warn message = Received-SPF: $acl_m7
accept
spf_check:
warn set acl_m9 = ${readsocket{/tmp/spfd}\
{ip=$sender_host_address\n\
helo=${if def:sender_helo_name\
{$sender_helo_name}{NOHELO}}\
\nsender=$acl_m8\n\n}{20s}{\n}{socket failure}}
# Defer on socket error
#defer condition = ${if eq{$acl_m9}{socket failure}{yes}{no}}
# message = Cannot connect to spfd
# Prepare answer and get results
warn set acl_m9 = ${sg{$acl_m9}{\N=(.*)\n\N}{=\"\$1\" }}
set acl_m8 = ${extract{result}{$acl_m9}{$value}{unknown}}
set acl_m7 = ${extract{header_comment}{$acl_m9}{$value}{}}
# Check for fail
deny condition = ${if eq{$acl_m8}{fail}{yes}{no}}
message = $acl_m7
log_message = Not authorized by SPF
accept
vexim-acl-check-helo.conf
Код: Выделить всё
accept hosts = :
accept hosts = +relay_from_hosts
drop condition = ${if match{$sender_helo_name}{MY_IP}{yes}{no} }
message = "Dropped spammer pretending to be us"
drop condition = ${if match{$sender_helo_name}{^[0-9]\.[0-9]\.[0-9]\.[0-9]}{yes}{no} }
message = "Dropped IP-only or IP-starting helo"
accept
vexim-acl-check-content.conf
Код: Выделить всё
deny senders = :
hosts = ! +relay_from_hosts
!acl = spf_from_acl
message = Your sender is not permitted (read spf.pobox.com)
# First unpack MIME containers and reject serious errors.
deny message = This message contains a MIME error ($demime_reason)
demime = *
condition = ${if >{$demime_errorlevel}{2}{1}{0}}
# Reject typically wormish file extensions. There is almost no
# sense in sending such files by email.
deny message = This message contains an unwanted file extension ($found_extension)
demime = scr:vbs:bat:lnk:pif:bz2
deny message = Possible CMD file attack ($found_extension)
demime = cmd
deny message = Possible COM file attack ($found_extension)
demime = com
deny message = Possible Microsoft JScript attack ($found_extension)
demime = js
deny message = Possible Windows registry attack ($found_extension)
demime = reg
deny message = Possible compiled Help file-base virus ($found_extension)
demime = chm
deny message = Possible SpeedDial attack ($found_extension)
demime = cnf
deny message = Possible Micrsoft HTML archive attack ($found_extension)
demime = hta
deny message = Possible Microsoft Internet Settings attack ($found_extension)
demime = ins
deny message = Possible Windows Explorer Command attack ($found_extension)
demime = scf
deny message = Possible Microsoft Windows Script attack ($found_extension)
demime = sct
deny message = Possible Microsoft VBScript attack ($found_extension)
demime = vbs:vbe
deny message = Possible Microsoft Script Host attack ($found_extension)
demime = wsc:wsf:wsh
deny message = Possible Exchange Shortcut attack ($found_extension)
demime = xnk
deny message = Possible Microsoft Access Shortcut attack ($found_extension)
demime = mad:maf:mag:mam:maq:mar:mas:mat:mav:maw
# Reject virus infested messages.
warn message = This message contains malware ($malware_name)
malware = *
log_message = This message contains malware ($malware_name)
# Reject messages containing "viagra" in all kinds of whitespace/case combinations
# WARNING: this is an example !
# deny message = This message matches a blacklisted regular expression ($regex_match_string)
# regex = [Vv] *[Ii] *[Aa] *[Gg] *[Rr] *[Aa]
# Always add X-Spam-Score and X-Spam-Report headers, using SA system-wide settings
# (user "nobody"), no matter if over threshold or not.
warn message = X-Spam-Score: $spam_score ($spam_bar)
spam = mail:true
warn message = X-Spam-Report: $spam_report
spam = mail:true
accept hosts = 127.0.0.1:+relay_from_hosts
accept authenticated = *
wein72
-
princeps
- майор
- Сообщения: 2684
- Зарегистрирован: 2007-09-25 10:20:59
- Откуда: Сочи, Москва
-
Контактная информация:
Непрочитанное сообщение
princeps » 2008-12-10 16:49:20
А как ты перезагружаешь конфиг?
princeps
-
wein72
- рядовой
- Сообщения: 14
- Зарегистрирован: 2008-06-16 10:04:32
Непрочитанное сообщение
wein72 » 2008-12-10 17:53:55
в смысле как перезагружаю? чтобы изменения применить?
сегодня я вообще сервак этот тушил, так что конфиги то стопудово перегружались, если ты об этом.
я вот думаю, может быть при сборке что-то нужное не было указано? система работает под opensuse 11, exim ставился пакетом из официальных репов, причём там был пакетик exim и exim-mysql, я ставил последний, т.к. у меня все акаунты и домены в мускле и без него никак. вот вывод exim -bV:
Код: Выделить всё
Exim version 4.69 #1 built 07-Jun-2008 07:20:25
Copyright (c) University of Cambridge 2006
Berkeley DB: Berkeley DB 4.5.20: (May 22, 2008)
Support for: crypteq iconv() IPv6 OpenSSL move_frozen_messages Content_Scanning Old_Demime
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch ldap ldapdn ldapm mysql nis nis0 passwd
Authenticators: cram_md5 dovecot plaintext
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Size of off_t: 8
Configuration file is /etc/exim/exim.conf
wein72
-
lerryc
- сержант
- Сообщения: 191
- Зарегистрирован: 2008-07-10 7:28:37
- Откуда: Vladivostok
Непрочитанное сообщение
lerryc » 2008-12-11 3:50:52
У меня был подобный глюк из серии необъяснимо- но факт
Система Gentoo
При размещении include-файлов и файлов, где делается lsearch (+relaydomain и т.п.) по пути /etc/exim/ полностью игнорировались без ответа и привета.
После того, как переместил эти файлы в /etc/mal/ - всё заработало
Права доступа и владелец для обеих папок - одинаковы
В чем глюк - так и не разбирался, заработало - и ладно, а где лежит - мне как бы и фиолетово.
машина думать не может, машина должна ехать
lerryc
-
wein72
- рядовой
- Сообщения: 14
- Зарегистрирован: 2008-06-16 10:04:32
Непрочитанное сообщение
wein72 » 2008-12-11 9:06:27
пилят! заработало %) и в самом деле, перетащил файлики в /etc/mail, прописал жестко пути и попёрло
только вот теперь вопрос, как бы сделать нормально чтобы приходил отчёт? у меня там довольно много букв :-) поэтому приходит вот так:
Код: Выделить всё
Technical details of permanent failure:
Google tried to deliver your message, but it was rejected by the recipient domain. We recommend contacting the other email provider for further information about the cause of this error. The error that the other server returned was: 550 550-Sender envelope address wein72@gmail.com is locally blacklisted here. If
550-you think this is wrong, get in touch with postmaster. Please use for
550-communication authoritative mail services such as gmail.com, mail.ru, etc.
550 We apologize for probably delivered inconveniences (state 14).
можно ли сделать как-то чтобы оно всё одной строкой уходило? или всё правильно и это так надо? я про "550" вначале каждой строки
по сути то можно забить. мелочь, но всё же...
wein72
-
Alex Keda
- стреляли...
- Сообщения: 35413
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2008-12-11 9:12:41
а я вообще не люблю относительные пути, хоть это и неправильно.
========
где чего искать, указывается в опциях компиляции. так что - кривые руки того кто пакет компилил.
Убей их всех! Бог потом рассортирует...
Alex Keda
-
wein72
- рядовой
- Сообщения: 14
- Зарегистрирован: 2008-06-16 10:04:32
Непрочитанное сообщение
wein72 » 2008-12-11 9:19:37
ну так конфиг то он находит там
получается чтоль что CONFDIR куда-то на другое место ссылается... мдя, весело :-)
вот и ставь пакетики пля...
когда сам то собираешь гораздо удобнее в плане того что можно включить только всё что нужно и убрать лишнее. но обновление в таком случае гиморнее. а самому пакеты делать - ленивый я слишком

wein72
-
princeps
- майор
- Сообщения: 2684
- Зарегистрирован: 2007-09-25 10:20:59
- Откуда: Сочи, Москва
-
Контактная информация:
Непрочитанное сообщение
princeps » 2008-12-11 9:34:33
В свое время, выбирая между линухом и фрей остановился на последней, так как очень понравилась система портов. Время от времени убеждаюсь, что не ошибся.
princeps
-
Alex Keda
- стреляли...
- Сообщения: 35413
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2008-12-11 9:34:53
есть дира где искать, а есть жётский путь для конфига, вместе с его именем.
======
а вообще - лучше доку читать. я за два года уже забывать начал всё

Убей их всех! Бог потом рассортирует...
Alex Keda
-
lerryc
- сержант
- Сообщения: 191
- Зарегистрирован: 2008-07-10 7:28:37
- Откуда: Vladivostok
Непрочитанное сообщение
lerryc » 2008-12-11 10:33:59
wein72 писал(а):ну так конфиг то он находит там
получается чтоль что CONFDIR куда-то на другое место ссылается... мдя, весело :-)
вот и ставь пакетики пля...
когда сам то собираешь гораздо удобнее в плане того что можно включить только всё что нужно и убрать лишнее. но обновление в таком случае гиморнее. а самому пакеты делать - ленивый я слишком

потавь gentoo поверх suse - и будет тебе щастье от портов
как ни странно - но работает такое

машина думать не может, машина должна ехать
lerryc
-
zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
-
Контактная информация:
Непрочитанное сообщение
zingel » 2008-12-12 16:20:41
потавь gentoo поверх suse - и будет тебе щастье от портов

как ни странно - но работает такое

и ещё в эмуляции винду для кучи, а в ней все порты ещё открыть

Z301171463546 - можно пожертвовать мне денег
zingel
-
gloom
- лейтенант
- Сообщения: 738
- Зарегистрирован: 2008-03-13 16:29:12
- Откуда: UA
Непрочитанное сообщение
gloom » 2008-12-12 20:16:13
zingel писал(а):потавь gentoo поверх suse - и будет тебе щастье от портов

как ни странно - но работает такое

и ещё в эмуляции винду для кучи, а в ней все порты ещё открыть

не так во фряхе делается линуховый чрут и селится туда портаге

gloom
-
Лучший
- проходил мимо
Непрочитанное сообщение
Лучший » 2008-12-13 17:45:07
Ставлю винду, мне пишет connect error плизз помогите поставить, в чем проблема может быть?!((
Лучший
-
wein72
- рядовой
- Сообщения: 14
- Зарегистрирован: 2008-06-16 10:04:32
Непрочитанное сообщение
wein72 » 2009-03-16 8:52:36
Ставлю винду, мне пишет connect error плизз помогите поставить, в чем проблема может быть?!((
где и почём такая забориста трава? :-)
wein72