Postfix: Описание smtpd_*_restrictions против спама вариант 1 Автор: Axel (aka RaVeN) 2006
|
main.cf:
| Код: |
#Создаю классы:
smtpd_restriction_classes = verify_sender, client_ok, drbl, greylist_pls, spf_pls, rbl_dul_ru, rbl_spamcop, rbl_sorbs, rbl_ordb, bogon_ip, virbl, surbl
#Описание классов:
verify_sender = reject_unverified_sender, permit
rbl_dul_ru = reject_rbl_client dul.ru
rbl_spamcop = reject_rbl_client bl.spamcop.net
rbl_sorbs = reject_rbl_client dnsbl.sorbs.net
rbl_ordb = reject_rbl_client relays.ordb.org
client_ok = check_client_access hash:$config_directory/access_client_ok
client_access = check_client_access hash:$config_directory/access_client
block_dsl = regexp:$config_directory/dsl_stoplist.txt
bogon_ip = reject_rbl_client bogons.cymru.com
virbl = reject_rbl_client virbl.dnsbl.bit.nl
surbl = reject_rbl_client multi.surbl.org
spf_pls = check_policy_service unix:private/policy
greylist_pls = check_policy_service inet:127.0.0.1:2525
#Далее сами restrictions:
smtpd_client_restrictions =
bogon_ip
reject_unknown_address
reject_unknown_recipient_domain
reject_unknown_sender_domain
client_ok
client_access
block_dsl
permit_sasl_authenticated
permit_mynetworks
reject_unauth_destination
reject_unauth_pipelining
check_helo_access pcre:$config_directory/helo_checks
surbl
virbl
rbl_ordb
rbl_dul_ru
rbl_spamcop
smtpd_sender_restrictions =
reject_authenticated_sender_login_mismatch
check_sender_access hash:$config_directory/access_vip_sender
reject_unknown_address
reject_unknown_sender_domain
reject_unauth_pipelining
reject_non_fqdn_sender
check_sender_access hash:$config_directory/access_sender
check_sender_access hash:$config_directory/verify_sender
permit_sasl_authenticated
permit_mynetworks
check_sender_mx_access cidr:$config_directory/mx_access
reject_unlisted_sender
reject_unauth_destination
reject_rhsbl_sender dsn.rfc-ignorant.org
smtpd_recipient_restrictions =
check_recipient_access hash:$config_directory/access_vip_sender
reject_unknown_recipient_domain
reject_unknown_sender_domain
reject_non_fqdn_recipient
reject_non_fqdn_sender
check_access $${sender}|$$recipient hash:$config_directory/users.hash
check_recipient_access $smtpd_access_maps
reject_unauth_pipelining
permit_sasl_authenticated
permit_mynetworks
check_helo_access pcre:$config_directory/helo_checks
reject_unlisted_recipient
reject_unknown_address
reject_unauth_destination
reject_multi_recipient_bounce
check_recipient_access hash:$config_directory/users_gls_spf_pls
smtpd_data_restrictions = reject_unauth_pipelining, reject_multi_recipient_bounce, permit
smtp_skip_5xx_greeting = no
smtpd_reject_unlisted_sender = yes
smtpd_reject_unlisted_recipient = yes
smtpd_sender_login_maps=mysql:$config_directory/sql/senders.cf
policy_time_limit = 3600
127.0.0.1:2525_time_limit = 3600
smtpd_policy_service_max_idle = 3600s
smtpd_policy_service_max_ttl = 3600s
smtp_cname_overrides_servername=no
|
Описание внешних подключаемых файлов:
$config_directory/users_gls_spf_pls - содержит список пользователей, которые хотят/не хотят использовать GreyListing, SPF.
Примерная структура:
$config_directory/access_client_ok - содержит IP адреса, которые нужно пропускать не смотря ни на что (т.е. не проверять их в RBL листах и так далее. Т.о. исключаются все дальнейшие проверки в отношении IP клиента).
Структура:
| Код: |
1.1.1.1 [tab] OK
2.2.2.2 [tab] OK
|
$config_directory/access_client - содержит IP адреса, которые нужно заблокировать. (также все остальные проверки в RBL исключаются).
Структура:
| Код: |
1.1.1.2 [tab] REJECT
2.2.2.3 [tab] 550 GO AWAY
|
$config_directory/dsl_stoplist.txt - содержит правила для блокировки dsl/модемные пулы, с которых подключаются клиенты.
Пример:
| Код: |
/dsl.*\.swbell\.net$/ 553 You network have been identified as a spammer network. Sorry. (SPAM-ID: c20031 229-DSL001)
/\.dial\.rol\.ru$/ 553 You network have been identified as a spammer network. Sorry. (SPAM-ID: c20031 229-DSL049)
|
Описание:
Первым правилом блокирую все обращения с DSL-хостов swbell.net.
Последним приавилом к примеру блокирую весь диалапный пул ROL.RU...
$config_directory/helo_checks - содержит правила по блокировке в отношении поля helo.
Пример:
| Код: |
/^\[?10\.\d{1,3}\.\d{1,3}\.\d{1,3}\]?$/ REJECT Address in RFC 1918 private network
/^xxx\.xxx\.xxx\.xxx$/ 550 Don't use my own IP address
/^(((newm|em|gm|m)ail|yandex|rambler|hotbox|chat|rbc|subscribe|spbnit)\.ru)$/ REJECT Faked hostname ($1)
/^(((mcim|newm|em)ail|post|hotbox|msn|microsoft|aol|news|compuserve|yahoo|google|earthlink|netscape)\.(com|net))$/ REJECT Faked hostname ($1)
|
$config_directory/access_vip_sender - содержит e-mail адреса VIP клиентов, от которых нужно получать почту в любом случае.
Пример:
$config_directory/verify_sender - содержит список доменов, для которых нужно делать обратную проверку на существование адреса в системе (callback).
Структура:
| Код: |
rambler.ru verify_sender
ya.ru verify_sender
newmail.ru verify_sender
nm.ru verify_sender
orc.ru verify_sender
hotmail.ru verify_sender
nightmail.ru verify_sender
earthlink.net verify_sender
hotmail.com verify_sender
lycos.com verify_sender
msn.com verify_sender
netscape.com verify_sender
netscape.net verify_sender
vip.ru verify_sender
aport.ru verify_sender
ewealthy.org verify_sender
km.ru verify_sender
freemail.ru verify_sender
shopping.ru verify_sender
mail.com verify_sender
microsoft.com verify_sender
microsoft.ru verify_sender
subscribe.ru verify_sender
sendmail.ru verify_sender
aol.com verify_sender
msk.lanck.ru verify_sender
flashmail.com verify_sender
comcast.net verify_sender
|
$config_directory/mx_access - содержит список приватных сетей, которые по всем канонам глобальной сети интернет не могут быть использованы в качестве IP для MX записей:
Структура:
| Код: |
127.0.0.1 DUNNO
127.0.0.2 550 Domains not registered properly. Can't assign requested address
0.0.0.0/8 REJECT Domain MX in broadcast network
10.0.0.0/8 REJECT Domain MX in RFC 1918 private network
127.0.0.0/8 REJECT Domain MX in loopback network
169.254.0.0/16 REJECT Domain MX in link local network
172.16.0.0/12 REJECT Domain MX in RFC 1918 private network
192.0.2.0/24 REJECT Domain MX in TEST-NET network
192.168.0.0/16 REJECT Domain MX in RFC 1918 private network
224.0.0.0/4 REJECT Domain MX in class D multicast network
240.0.0.0/5 REJECT Domain MX in class E reserved network
248.0.0.0/5 REJECT Domain MX in reserved network
|
$config_directory/users.hash - используется для Per-User Senders Blocklist. Содержит список отправителей для конкретных получателей и код ошибки.
Структура:
Установленные патчи:
MySQL support
VDA
Per-User Senders BlockList
Axel (aka RaVeN) © 2006
|