The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Поругайте мой main.cf для postfix"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Поругайте мой main.cf для postfix"  
Сообщение от mr Teapot (ok) on 07-Ноя-08, 07:58 
Доброе время суток!

Прошу поругать мой main.cf с точки зрения следующих критериев:
- что добавить (помимо авторизации отправки), чтобы предотвратить использование сервера разного рода спамерами;
- какие проверки из smtpd_client_restrictions следует исключить, а какие, возможно, следует добавить
- ну и вообще, каких косяков я по неопытности напорол в этой конфиге.

Вот main.cf


command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
myorigin = $user@$mydomain
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

unknown_local_recipient_reject_code = 550

mynetworks = 192.168.0.0/24, 212.122.224.160/28, 212.122.249.240/28, 127.0.0.0/8

relay_domains = $mydomain

alias_maps = hash:/etc/aliases

alias_database = hash:/etc/aliases

debug_peer_level = 2

debugger_command =
     PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
     xxgdb $daemon_directory/$process_name $process_id & sleep 5

sendmail_path = /usr/sbin/sendmail.postfix

newaliases_path = /usr/bin/newaliases.postfix

mailq_path = /usr/bin/mailq.postfix

setgid_group = postdrop

notify_classes = bounce, 2bounce, delay, policy, protocol, resource, software

message_size_lmit=16777216

smtpd_client_restrictions =
    permit_mynetworks,
    check_client_access hash:/etc/postfix/access,
    reject_unknown_reverse_client_hostname,
    reject_unknown_recipient_domain,
    reject_unknown_sender_domain,
    reject_non_fqdn_hostname,
    reject_non_fqdn_sender,
    reject_non_fqdn_recipient,
    reject_unauth_destination,
    reject_unauth_pipelining,
    reject_invalid_hostname,
    reject_rbl_client list.dsbl.org,
    reject_rbl_client bl.spamcop.net,
    reject_rbl_client sbl-xbl.spamhaus.org,
    reject_rbl_client relays.visi.com,
    reject_rbl_client dnsbl.sorbs.net,
    reject_rbl_client dnsbl.void.ru,
    reject_rbl_client blackholes.mail-abuse.org,
    reject_rbl_client relays.mail-abuse.org,
    reject_rbl_client dul.mail-abuse.org,
    reject_rbl_client blackholes.wirehub.net,
    reject_rbl_client dynablock.wirehub.net,
    reject_rbl_client dnsbl.njabl.org,
    reject_rbl_client opm.blitzed.org,
    reject_rbl_client http.dnsbl.sorbs.net,
    reject_rbl_client misc.dnsbl.sorbs.net,
    reject_rbl_client smtp.dnsbl.sorbs.net,
    reject_rbl_client web.dnsbl.sorbs.net,
    reject_rbl_client bl.spamcop.net,
    reject_rbl_client blackholes.mail.abus.com,
    reject_rbl_client relays.mail-abuse.com,
    reject_rbl_client dialups.mail-abuse.com,
    reject_rbl_client multihop.dsbl.org,
    reject_rbl_client argentina.blackholes.us,
    reject_rbl_client brazil.blackholes.us,
    reject_rbl_client china.backholes.us,
    reject_rbl_client cn-kr.blackholes.us,
    reject_rbl_client hongkong.blackholes.us,
    reject_rbl_client japan.blackholes.us,
    reject_rbl_client korea.blackholes.us,
    reject_rbl_client malaysia.blackholes.us,
    reject_rbl_client mexico.blackholes.us,
    reject_rbl_client nigeria.blackholes.us,
    reject_rbl_client singapore.blackholes.us,
    reject_rbl_client taiwan.blackholes.us,
    reject_rbl_client thailand.blackholes.us,
    reject_rbl_client turkey.blakholes.us

maps_rbl_reject_code = 550

local_header_rewrite_clients = permit_mynetworks

empty_address_recipient = user.unknown@my-sweet-mailserver.ru
delay_notice_recipient = user.unknown@my-sweet-mailserver.ru
bounce_notice_recipient = user.unknown@my-sweet-mailserver.ru
2bounce_notice_recipient = user.unknown@my-sweet-mailserver.ru
error_notice_recipient = user.unknown@my-sweet-mailserver.ru

ОС ASPLinux 12 Carbon, postfix 2.4.5
Заранее благодарен.
PS. man читал, понял не всё.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Поругайте мой main.cf для postfix"  
Сообщение от Vladimir (??) on 07-Ноя-08, 10:04 
>[оверквотинг удален]
>empty_address_recipient = user.unknown@my-sweet-mailserver.ru
>delay_notice_recipient = user.unknown@my-sweet-mailserver.ru
>bounce_notice_recipient = user.unknown@my-sweet-mailserver.ru
>2bounce_notice_recipient = user.unknown@my-sweet-mailserver.ru
>error_notice_recipient = user.unknown@my-sweet-mailserver.ru
>
>
>ОС ASPLinux 12 Carbon, postfix 2.4.5
>Заранее благодарен.
>PS. man читал, понял не всё.

mynetworks = 127.0.0.0/8

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Поругайте мой main.cf для postfix"  
Сообщение от mr Teapot (ok) on 07-Ноя-08, 10:32 
>mynetworks = 127.0.0.0/8

Ценю Ваше чувство юмора.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Поругайте мой main.cf для postfix"  
Сообщение от Vladimir (??) on 07-Ноя-08, 13:53 
>>mynetworks = 127.0.0.0/8
>
>Ценю Ваше чувство юмора.

  Это на самом деле.
  Отправка писем во внешний мир только при использовании sasl аутентификации.
  Еще раз:
  
  mynetworks = 127.0.0.0/8


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Поругайте мой main.cf для postfix"  
Сообщение от pavel_simple (??) on 07-Ноя-08, 11:51 
>[оверквотинг удален]
>mailq_path = /usr/bin/mailq.postfix
>
>setgid_group = postdrop
>
>notify_classes = bounce, 2bounce, delay, policy, protocol, resource, software
>
>message_size_lmit=16777216
>
>smtpd_client_restrictions =
>    permit_mynetworks,

первый вирус внутри сети -- и вы моментом в blacklist'ах
используйте авторизацию
>    check_client_access hash:/etc/postfix/access,

файл не приведён -- а там можно напороть кучу косяков
>[оверквотинг удален]
>    reject_unknown_recipient_domain,
>    reject_unknown_sender_domain,
>    reject_non_fqdn_hostname,
>    reject_non_fqdn_sender,
>    reject_non_fqdn_recipient,
>    reject_unauth_destination,
>    reject_unauth_pipelining,
>    reject_invalid_hostname,
>    reject_rbl_client list.dsbl.org,
>    reject_rbl_client bl.spamcop.net,

стоит обойтись этим ^^^
>    reject_rbl_client sbl-xbl.spamhaus.org,
>    reject_rbl_client relays.visi.com,
>    reject_rbl_client dnsbl.sorbs.net,
>    reject_rbl_client dnsbl.void.ru,
>    reject_rbl_client blackholes.mail-abuse.org,
>    reject_rbl_client relays.mail-abuse.org,
>    reject_rbl_client dul.mail-abuse.org,
>    reject_rbl_client blackholes.wirehub.net,
>    reject_rbl_client dynablock.wirehub.net,
>    reject_rbl_client dnsbl.njabl.org,

и этим ^^^
>[оверквотинг удален]
>    reject_rbl_client nigeria.blackholes.us,
>    reject_rbl_client singapore.blackholes.us,
>    reject_rbl_client taiwan.blackholes.us,
>    reject_rbl_client thailand.blackholes.us,
>    reject_rbl_client turkey.blakholes.us
>
>maps_rbl_reject_code = 550
>
>local_header_rewrite_clients = permit_mynetworks
>

зачем?
>empty_address_recipient = user.unknown@my-sweet-mailserver.ru
>delay_notice_recipient = user.unknown@my-sweet-mailserver.ru
>bounce_notice_recipient = user.unknown@my-sweet-mailserver.ru
>2bounce_notice_recipient = user.unknown@my-sweet-mailserver.ru
>error_notice_recipient = user.unknown@my-sweet-mailserver.ru
>
>
>ОС ASPLinux 12 Carbon, postfix 2.4.5
>Заранее благодарен.
>PS. man читал, понял не всё.

лучше не трогать того чего не понял -- совет один возьмите готовый how-to

такой конфиг добавит больше гемороя чем результата

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Поругайте мой main.cf для postfix"  
Сообщение от daloman email on 07-Ноя-08, 12:11 
>>[оверквотинг удален]

Проверку по dsbl.org лучше убрать: https://www.opennet.ru/openforum/vsluhforumID3/41949.html

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Поругайте мой main.cf для postfix"  
Сообщение от Mihasya email(??) on 08-Ноя-08, 11:32 
>>>[оверквотинг удален]
>
>Проверку по dsbl.org лучше убрать: https://www.opennet.ru/openforum/vsluhforumID3/41949.html

Я извиняюсь за то что вторгаюсь в чужую тему, но покритикуйте и меня...

postconf -n
address_verify_sender = <>
alias_database = hash:$base/aliases
alias_maps = hash:$base/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
content_filter = scan:[127.0.0.1]:10025
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
default_destination_concurrency_limit = 10
default_privs = nobody
default_transport = smtp
disable_vrfy_command = yes
html_directory = no
inet_interfaces = all
invalid_hostname_reject_code = 550
local_destination_concurrency_limit = 2
mail_owner = postfix
mailbox_command = /usr/bin/procmail
mailbox_size_limit = 52428800
mailq_path = /usr/bin/mailq
manpage_directory = /usr/local/man
message_size_limit = 5242880
mydestination = localhost.$mydomain
mydomain = test.ru
myhostname = mail.test.ru
mynetworks = 127.0.0.0/8
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases
non_fqdn_reject_code = 550
queue_directory = /var/spool/postfix
readme_directory = no
relayhost =
sample_directory = /etc/postfix
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
show_user_unknown_table_name = no
smtp_always_send_ehlo = yes
smtp_helo_name = $myhostname
smtpd_banner = $myhostname ESMTP
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unknown_client_hostname
smtpd_etrn_restrictions = reject
smtpd_hard_error_limit = 5
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, reject_unknown_helo_hostname
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_unlisted_recipient, reject_unknown_recipient_domain, reject_non_fqdn_recipient, reject_unverified_recipient
smtpd_reject_unlisted_sender = yes
smtpd_restriction_classes = OnlyFromMyUsers
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_path = private/dovecot-smtp-auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_restrictions = check_sender_access hash:$base/access_sender
smtpd_tls_CAfile = /root/CA/test.root.CA.crt
smtpd_tls_cert_file = /root/CA/smtp/smtp.test.ru.crt
smtpd_tls_key_file = /root/CA/smtp/smtp.test.ru.key
smtpd_tls_received_header = yes
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_tls_session_cache
smtpd_use_tls = yes
soft_bounce = no
strict_rfc821_envelopes = yes
tls_random_source = dev:/dev/urandom
unknown_address_reject_code = 550
unverified_recipient_reject_code = 550
unverified_sender_reject_code = 550
virtual_alias_maps = hash:$base/virtual_aliases
virtual_mailbox_domains = $mydomain
virtual_transport = dovecot

cat master.cf
#!/bin/bash
#
# Postfix master process configuration file. For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
#
# For injecting mail back into postfix from the filter (and filter by spamassasin)
# ClamAV
scan unix - - n - 16 smtp
# -o smtp_send_xforward_command=yes
-o smtp_tls_security_level=none

127.0.0.1:10026 inet n - n - 16 smtpd
-o content_filter=
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks_style=host
-o smtpd_authorized_xforward_hosts=127.0.0.0/8

smtp inet n - n - - smtpd

pickup fifo n - n 60 1 pickup
-o content_filter=
-o receive_override_options=
cleanup unix n - n - 0 cleanup
qmgr fifo n - n 300 1 qmgr
tlsmgr unix - - n 1000? 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
trace unix - - n - 0 bounce
verify unix - - n - 1 verify
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - n - - smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay unix - - n - - smtp
-o fallback_relay=
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - n - - showq
error unix - - n - - error
retry unix - - n - - error
discard unix - - n - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
scache unix - - n - 1 scache

# Dovecot LDA
dovecot unix - n n - - pipe
flags=R user=virtual:virtual argv=/usr/local/bin/spamc -u spamassassin -e /usr/local/libexec/dovecot/deliver -d ${recipient}
# flags=DRhu user=virtual:virtual argv=/usr/local/libexec/dovecot/deliver -d ${recipient}

Хотя больше меня интересует мнения по поводу проверки на SPAM, которая выполняется во время доставки письма (dovecot-ом), т.к. стандартно во всех мануалах эта проверка выполняется так:

в master.cf

.....

smtp inet n - n - - smtpd
-o content_filter=spam:dummy

# SpamAssassin Filter
spam unix - n n - - pipe
flags=R user=virtual:virtual argv=/usr/local/bin/spamc -u ${recipient} -e /usr/sbin/sendmail -f ${sender} -- ${recipient}

....

# Dovecot
dovecot unix - n n - - pipe
flags=DRhu user=virtual:virtual argv=/usr/local/libexec/dovecot/deliver -d ${recipient}


Но у меня при такой настройке почемуто не проверялось письмо на вирусы... Вот и прикрутил это дело к dovecot. Спасибо.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Поругайте мой main.cf для postfix"  
Сообщение от ALex_hha (??) on 12-Ноя-08, 00:23 
Мда, с таким количеством rbl 50% почты вы не будете получать :)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру