Доброго времени суток.
Имеется сабж, установлен из пакетов (exim4-daemon-heavy)
Все как бы работает, но хотелось бы проверять SPF и DKIM.
По DKIM вроде понятно, по SPF в принципе тоже, но по всяким мануалам, для проверки SPF используется или spfd или тулзы spf-tools-perl
Вот как раз с последними двумя и проблема, их просто нет в установленной системе и apt-get о них ничего не знает, напомню ОС Debian Squeeze.
Может нужно какие-то другие репозитории подключить? не очень в этом шарю, или есть какие-то другие варианты?
Прошу помощи у сообщества.
Debian Squeeze, Exim 4.72, проверка SPF
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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/
-
- проходил мимо
- Сообщения: 5
- Зарегистрирован: 2015-09-16 9:47:17
Debian Squeeze, Exim 4.72, проверка SPF
вариант для не ленивых
через встройную функциональность
моё имхо такой вариант быстрее т.к. не происходит смена контекста процесса exim на внешний скрипт
лучше собирать на чистой виртуалке чтоб в проде не было сборщика пакетов
соберётся пакет exim4-daemon-custom_....deb
ставиш руками ну и решаеш зависимости
через встройную функциональность
моё имхо такой вариант быстрее т.к. не происходит смена контекста процесса exim на внешний скрипт
лучше собирать на чистой виртуалке чтоб в проде не было сборщика пакетов
Код: Выделить всё
т.к. в стандартной поставке собран без нужных опций приходится собирать самому
apt-get build-dep exim4
apt-get install libspf2-dev libspf2-2
apt-get source exim4
cd exim4-....
apt-get install fakeroot
fakeroot debian/rules unpack-configs
cp EDITME.exim4-heavy EDITME.exim4-custom
edit EDITME.exim4-custom
# uncomment next lines:
# EXPERIMENTAL_SPF=yes
# LDFLAGS += -lspf2
fakeroot debian/rules pack-configs
#на ошибки можно забить главное чтоб генерировался файл debian/EDITME.exim4-custom.diff
fakeroot debian/rules extradaemonpackages=exim4-daemon-custom binary
#идём пить чай и ждём
ls ../*deb
ставиш руками ну и решаеш зависимости
Код: Выделить всё
acl_smtp_mail = acl_check_mail
...
acl_check_mail:
...
# Проверка SPF
#---------------------------------------------------------
# Накидываем очки за попытку отправить почту с сервера,
# не указанного в SPF
warn !authenticated = *
hosts = !+relay_from_hosts
spf = fail : softfail
set acl_c_spamscore = ${eval:$acl_c_spamscore + 50}
set acl_c_spamlog = $acl_c_spamlog SPF fail;
add_header = X-Warning: SPF fail
# За отсутствие записи SPF накидываем достаточное-
# для попадания в серый список количество очков
warn !authenticated = *
hosts = !+relay_from_hosts
spf = none
set acl_c_spamscore = ${eval:$acl_c_spamscore + 25}
set acl_c_spamlog = $acl_c_spamlog SPF none;
add_header = X-Warning: SPF none
# Накидываем немного очков за некорректно оформленную SPF запись-
# или при возникновении ошибки при ее получении
warn !authenticated = *
hosts = !+relay_from_hosts
spf = permerror : temperror : neutral
set acl_c_spamscore = ${eval:$acl_c_spamscore + 25}
set acl_c_spamlog = $acl_c_spamlog SPF syntax error or not received;
add_header = X-Warning: SPF not valid
...
-
- проходил мимо
- Сообщения: 6
- Зарегистрирован: 2013-05-07 11:32:57
Debian Squeeze, Exim 4.72, проверка SPF
le9i0nx, спасибо
не стал пересобирать пакет, подключил другие репозитории, поставил spf perl tools, spf заработало, но не все так однозначно как казалось...
есть абсолютно нормальные почтовики организаций у которых нет ни spf записи ни DKIM, а есть у которых и spf=pass и dkim=pass и все настроено не подкопаешься а спам как из ведра, поставил очки только по spf = fail : softfail
вот как с такими бороться?
не стал пересобирать пакет, подключил другие репозитории, поставил spf perl tools, spf заработало, но не все так однозначно как казалось...
есть абсолютно нормальные почтовики организаций у которых нет ни spf записи ни DKIM, а есть у которых и spf=pass и dkim=pass и все настроено не подкопаешься а спам как из ведра, поставил очки только по spf = fail : softfail
вот как с такими бороться?
Код: Выделить всё
2015-09-16 15:33:56 H=vm13727.hv8.ru [89.108.88.125] I=[]:25 Warning: Received-SPF: pass client-ip=89.108.88.125; envelope-from=buh@zettoletto.ru; helo=vm13727.hv8.ru
2015-09-16 15:33:57 1ZcBuO-0005eU-L6 DKIM: d=zettoletto.ru s=mail c=relaxed/relaxed a=rsa-sha256 [verification succeeded]
2015-09-16 15:33:57 1ZcBuO-0005eU-L6 <= buh@zettoletto.ru H=vm13727.hv8.ru [89.108.88.125] I=[]:25 P=esmtp S=153287 id=E6E355060DD9EB68B4B1F840F4EEA716@zettoletto.ru from <buh@zettoletto.ru> for mail@domain.com
2015-09-16 15:33:57 1ZcBuO-0005eU-L6 => <mail@domain.com> R=dovecot_user T=dovecot_delivery
2015-09-16 15:33:57 1ZcBuO-0005eU-L6 Completed
-
- проходил мимо
- Сообщения: 5
- Зарегистрирован: 2015-09-16 9:47:17
Debian Squeeze, Exim 4.72, проверка SPF
о знакомые ребята
у меня с ними тоже беда
кое как спасают всеми не любимые ребята
и то нескалько часов проходит прежде чем происходит блокировка (у меня на 120)
Отправлено спустя 13 минут 51 секунду:
2. спам ловушки ещё спасают
ящики нахожу так
сам файл
EXTRA_PREFIX/list/spamtraps
только акуратней чтоб не порезать почту с гула и яндекса
у меня с ними тоже беда
кое как спасают всеми не любимые ребята
и то нескалько часов проходит прежде чем происходит блокировка (у меня на 120)
Код: Выделить всё
acl_smtp_mail = acl_check_mail
...
acl_check_mail:
...
warn !authenticated = *
hosts = !+relay_from_hosts
dnslists = zen.spamhaus.org
add_header = X-Warning: $sender_host_address is in a black list at $dnslist_domain
set acl_c_spamscore = ${eval:$acl_c_spamscore+40}
set acl_c_spamlog = $acl_c_spamlog Blacklist $dnslist_domain;
warn !authenticated = *
hosts = !+relay_from_hosts
dnslists = xbl.spamhaus.org
add_header = X-Warning: $sender_host_address is in a black list at $dnslist_domain
set acl_c_spamscore = ${eval:$acl_c_spamscore+40}
set acl_c_spamlog = $acl_c_spamlog Blacklist $dnslist_domain;
warn !authenticated = *
hosts = !+relay_from_hosts
dnslists = relay.mail-abuse.org
add_header = X-Warning: $sender_host_address is in a black list at $dnslist_domain
set acl_c_spamscore = ${eval:$acl_c_spamscore+40}
set acl_c_spamlog = $acl_c_spamlog Blacklist $dnslist_domain;
warn !authenticated = *
hosts = !+relay_from_hosts
dnslists = bl.spamcop.net
add_header = X-Warning: $sender_host_address is in a black list at $dnslist_domain
set acl_c_spamscore = ${eval:$acl_c_spamscore+40}
set acl_c_spamlog = $acl_c_spamlog Blacklist $dnslist_domain;
warn !authenticated = *
hosts = !+relay_from_hosts
dnslists = relays.ordb.org
add_header = X-Warning: $sender_host_address is in a black list at $dnslist_domain
set acl_c_spamscore = ${eval:$acl_c_spamscore+40}
set acl_c_spamlog = $acl_c_spamlog Blacklist $dnslist_domain;
warn !authenticated = *
hosts = !+relay_from_hosts
dnslists = smtp.dnsbl.sorbs.net
add_header = X-Warning: $sender_host_address is in a black list at $dnslist_domain
set acl_c_spamscore = ${eval:$acl_c_spamscore+40}
set acl_c_spamlog = $acl_c_spamlog Blacklist $dnslist_domain;
warn !authenticated = *
hosts = !+relay_from_hosts
dnslists = recent.dnsbl.sorbs.net
add_header = X-Warning: $sender_host_address is in a black list at $dnslist_domain
set acl_c_spamscore = ${eval:$acl_c_spamscore+40}
set acl_c_spamlog = $acl_c_spamlog Blacklist $dnslist_domain;
warn !authenticated = *
hosts = !+relay_from_hosts
dnslists = recent.spam.dnsbl.sorbs.net
add_header = X-Warning: $sender_host_address is in a black list at $dnslist_domain
set acl_c_spamscore = ${eval:$acl_c_spamscore+40}
set acl_c_spamlog = $acl_c_spamlog Blacklist $dnslist_domain;
warn !authenticated = *
hosts = !+relay_from_hosts
dnslists = dns.rfc-ignorant.org
add_header = X-Warning: $sender_host_address is in a black list at $dnslist_domain
set acl_c_spamscore = ${eval:$acl_c_spamscore+40}
set acl_c_spamlog = $acl_c_spamlog Blacklist $dnslist_domain;
warn !authenticated = *
hosts = !+relay_from_hosts
dnslists = b.barracudacentral.org
add_header = X-Warning: $sender_host_address is in a black list at $dnslist_domain
set acl_c_spamscore = ${eval:$acl_c_spamscore+40}
set acl_c_spamlog = $acl_c_spamlog Blacklist $dnslist_domain;
warn !authenticated = *
hosts = !+relay_from_hosts
dnslists = dnsbl.inps.de
add_header = X-Warning: $sender_host_address is in a black list at $dnslist_domain
set acl_c_spamscore = ${eval:$acl_c_spamscore+40}
set acl_c_spamlog = $acl_c_spamlog Blacklist $dnslist_domain;
warn !authenticated = *
hosts = !+relay_from_hosts
dnslists = ips.backscatterer.org
add_header = X-Warning: $sender_host_address is in a black list at $dnslist_domain
set acl_c_spamscore = ${eval:$acl_c_spamscore+40}
set acl_c_spamlog = $acl_c_spamlog Blacklist $dnslist_domain;
warn !authenticated = *
hosts = !+relay_from_hosts
dnslists = psbl.surriel.com
add_header = X-Warning: $sender_host_address is in a black list at $dnslist_domain
set acl_c_spamscore = ${eval:$acl_c_spamscore+40}
set acl_c_spamlog = $acl_c_spamlog Blacklist $dnslist_domain;
warn !authenticated = *
hosts = !+relay_from_hosts
dnslists = sbl.spamhaus.org
add_header = X-Warning: $sender_host_address is in a black list at $dnslist_domain
set acl_c_spamscore = ${eval:$acl_c_spamscore+40}
set acl_c_spamlog = $acl_c_spamlog Blacklist $dnslist_domain;
warn !authenticated = *
hosts = !+relay_from_hosts
dnslists = dnsbl-1.uceprotect.net
add_header = X-Warning: $sender_host_address is in a black list at $dnslist_domain
set acl_c_spamscore = ${eval:$acl_c_spamscore+40}
set acl_c_spamlog = $acl_c_spamlog Blacklist $dnslist_domain;
warn !authenticated = *
hosts = !+relay_from_hosts
dnslists = dnsbl-3.uceprotect.net
add_header = X-Warning: $sender_host_address is in a black list at $dnslist_domain
set acl_c_spamscore = ${eval:$acl_c_spamscore+40}
set acl_c_spamlog = $acl_c_spamlog Blacklist $dnslist_domain;
warn !authenticated = *
hosts = !+relay_from_hosts
dnslists = db.wpbl.info
add_header = X-Warning: $sender_host_address is in a black list at $dnslist_domain
set acl_c_spamscore = ${eval:$acl_c_spamscore+40}
set acl_c_spamlog = $acl_c_spamlog Blacklist $dnslist_domain;
2. спам ловушки ещё спасают
ящики нахожу так
Код: Выделить всё
zcat -f /var/log/smtp/exim/mail.2015.08.* | grep "Unrouteable address" | grep "@you_domain.ru" | grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" | sort | uniq -c | sort -n
Код: Выделить всё
EXTRA_PREFIX = /etc/exim4/
...
acl_smtp_rcpt = acl_check_rcpt
...
acl_check_rcpt:
...
# Добавляем очков за отправку письма на адрес-ловушку
# P.S. В качестве адресов ловушек используются давно забытые заброшенные
# адреса или специально созданные. То есть это обычный почтовый ящик.
warn condition = ${lookup {$local_part@$domain}lsearch{EXTRA_PREFIX/list/spamtraps}{yes}{no}}
domains = +local_domains
set acl_c_spamscore = ${eval:$acl_c_spamscore+120}
set acl_c_spamlog = $acl_c_spamlog Spamtrap from $sender_address to $local_part@$domain;
сам файл
EXTRA_PREFIX/list/spamtraps
Код: Выделить всё
spamtrap@you_domain.ru
anna@you_domain.ru
-
- проходил мимо
- Сообщения: 6
- Зарегистрирован: 2013-05-07 11:32:57
Debian Squeeze, Exim 4.72, проверка SPF
спасибо, буду крутить