Postfix проверка отправителя

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Чистый
рядовой
Сообщения: 22
Зарегистрирован: 2016-05-14 19:49:16

Postfix проверка отправителя

Непрочитанное сообщение Чистый » 2017-05-08 9:57:56

Добрый день, поставил и настроил postfix, но обнаружил такую вот особенность, что можно подключиться к серверу по telnet и написать письмо от любого адресата любому пользователю обслуживаемому моим сервером, настройки вот такие сделал:

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

smtpd_recipient_restrictions = 
            reject_unknown_recipient_domain,
            reject_non_fqdn_recipient,
            reject_unlisted_recipient,
            reject_unverified_recipient,
            permit_mynetworks,
            permit_sasl_authenticated,
            reject_unauth_destination,
            check_client_access hash:/etc/postfix/whitelist,
smtpd_helo_restrictions = 
            permit_sasl_authenticated,
            reject_non_fqdn_helo_hostname,
            reject_invalid_helo_hostname,
            check_helo_access pcre:/etc/postfix/helo_access.pcre
smtpd_sender_restrictions = 
            reject_unknown_sender_domain,
            reject_non_fqdn_sender,
            reject_unlisted_sender,
            permit_mynetworks,
            reject_sender_login_mismatch,
            reject_unverified_sender,
            permit_sasl_authenticated,
            check_sender_access hash:/etc/postfix/whitelist
почтовый сервер, крутится на адресе mail.example.ru, обслуживает данный сервер два домена example.ru и example.com, теперь получаем вот что:

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

>>telnet mail.example.ru 25                                                                                                                                   
Trying 192.168.5.5...
Connected to mail.example.ru.
Escape character is '^]'.
220 mail.example.ru ESMTP
ehlo gmail.com
250-mail.example.ru
250-PIPELINING
250-SIZE 102400000
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:hdspam@gmail.com
250 2.1.0 Ok
rcpt to:admin@example.ru
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
From:hdspam@gmail.com
Data: 12.02.1700
Subject: test
test mail from telnet                      
.
250 2.0.0 Ok: queued as 8AB525C009E
^]
telnet>
сервер принял письмо, и поставил его в очередь на доставку, а этого не должно быть, так как ежу понятно что я не подключился с серверов gmail что бы писать от домена gmail.com. Естественно open relay у меня не отработает, такой номер пройдет только если я прописываю левый домен в поле "mail from" а в "rcpt to" прописать домен который обслуживает сервер (example.ru или example.com) во все остальных случаях будет либо ошибка что нет авторизации либо ошибка что relay access denied. И вот как это исправить я не понимаю.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.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/

ivan__
сержант
Сообщения: 234
Зарегистрирован: 2009-08-11 15:48:32
Откуда: Питер

Postfix проверка отправителя

Непрочитанное сообщение ivan__ » 2017-06-09 11:29:03

А где остальные параметры? Откуда telnet-ом подключаешься? mynetworks_style=?
Чистый писал(а): smtpd_sender_restrictions =
            reject_unknown_sender_domain,
            reject_non_fqdn_sender,
            reject_unlisted_sender,
            permit_mynetworks,
Предполагаю, что последнее правило у тебя и пропускает это письмо.

Аватара пользователя
Amaka
мл. сержант
Сообщения: 78
Зарегистрирован: 2016-02-03 12:05:11
Откуда: Москва

Postfix проверка отправителя

Непрочитанное сообщение Amaka » 2017-07-06 16:26:04

Есть хорошие ссылки по теме:
http://freesource.info/wiki/Dokumentacija/Postfix
http://www.maxblogs.ru/index.php?id=28
были и другие,но уже протухли.
Всем удачи!

geka88
проходил мимо

Postfix проверка отправителя

Непрочитанное сообщение geka88 » 2017-08-21 12:49:12

Согласен с ivan__
permit_mynetworks в нем вероятнее вся проблема.
1. Попробуй отправить из другой сети. Если не получается то все ок
2. В переменной(параметре) mynetwork поставь конкретный адрес или если тебе нужно чтобы и другие машины отправляли сообщения без авторизации, уменьши маску

Аватара пользователя
Чистый
рядовой
Сообщения: 22
Зарегистрирован: 2016-05-14 19:49:16

Postfix проверка отправителя

Непрочитанное сообщение Чистый » 2017-09-15 14:31:32

вот полный конфиг моего постфикса:

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

soft_bounce = yes
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.11.0/samples
readme_directory = /usr/share/doc/postfix-2.11.0/README_FILES
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
additional_config_dir = /etc/postfix/manual_list
mail_owner = postfix
inet_interfaces = all
mynetworks = 127.0.0.1/32
myhostname = mail.example.com
mydomain = example.com
mydestination = $myhostname, localhost.$myhostname, localhost, localhost.localadmin
myorigin = $myhostname
unknown_local_recipient_reject_code = 550
smtpd_restriction_classes = 
                white_client_ip,
                black_client_ip,
                helo_access,
                white_client,
                black_client,
                mx_access
white_client_ip      = check_client_access pcre:$additional_config_dir/white_client_ip
black_client_ip      = check_client_access pcre:$additional_config_dir/black_client_ip
white_client         = check_sender_access pcre:$additional_config_dir/white_client
black_client         = check_sender_access pcre:$additional_config_dir/black_client
helo_access          = check_helo_access pcre:$additional_config_dir/helo_checks
mx_access            = check_sender_mx_access cidr:$additional_config_dir/mx_access
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
header_checks = regexp:/etc/postfix/header_checks
default_delivery_slot_cost = 2
debug_peer_level = 4
debugger_command = 
            PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
            xxgdb $daemon_directory/$process_name $process_id & sleep 5
setgid_group = postdrop
html_directory = no
virtual_alias_domains = 
allow_percent_hack = no
swap_bangpath = no
biff = no
smtp_skip_5xx_greeting = no
smtpd_reject_unlisted_recipient = yes
smtpd_reject_unlisted_sender = yes
smtp_tls_security_level = may
smtp_tls_loglevel = 0
smtp_tls_note_starttls_offer = yes
delay_warning_time = 0h
anvil_rate_time_unit = 60s
smtpd_client_recipient_rate_limit=20
smtpd_client_message_rate_limit = 10
smtpd_client_event_limit_exceptions = $mynetworks
smtpd_client_connection_count_limit = 10
maximal_queue_lifetime = 4h
bounce_queue_lifetime = 1800s
recipient_delimiter = +
smtp_data_init_timeout = 240s
smtp_data_xfer_timeout = 600s
smtpd_client_restrictions =
            permit_mynetworks,
            permit_sasl_authenticated,
            reject_unauth_pipelining,
            reject_unknown_address,
            permit
smtpd_helo_required = yes
smtpd_helo_restrictions = 
            permit_sasl_authenticated,
            reject_unknown_helo_hostname,
            reject_non_fqdn_helo_hostname,
            reject_invalid_helo_hostname,
            check_helo_access pcre:/etc/postfix/helo_access.pcre,
            permit
            
smtpd_sender_restrictions = 
            reject_unknown_recipient_domain,
            reject_unknown_sender_domain,
            reject_non_fqdn_recipient,
            reject_non_fqdn_sender,
            permit_sasl_authenticated,
            permit_mynetworks,
            check_sender_access hash:/etc/postfix/whitelist,
            reject_unlisted_sender,
            reject_unauth_destination,
            reject_authenticated_sender_login_mismatch,
            permit
smtpd_recipient_restrictions =
            white_client,
            helo_access,
            reject_unknown_recipient_domain,
            reject_unknown_sender_domain,
            reject_non_fqdn_recipient,
            reject_non_fqdn_sender,
            reject_unauth_pipelining,
            permit_sasl_authenticated,
            permit_mynetworks,
            reject_unlisted_recipient,
            reject_multi_recipient_bounce,
            reject_unauth_destination,
            check_policy_service unix:private/policyd-spf,
            permit
smtpd_data_restrictions = 
            reject_unauth_pipelining,
            reject_multi_recipient_bounce
policyd-spf_time_limit = 3600s
queue_run_delay = 300s
minimal_backoff_time = 300s
maximal_backoff_time = 4000s
enable_original_recipient = no
disable_vrfy_command = yes
allow_min_user = no
mailbox_size_limit = 0
message_size_limit = 102400000
virtual_minimum_uid = 1000
virtual_uid_maps = static:1000
virtual_gid_maps = static:1000
virtual_mailbox_base = /srv/mail
relay_domains = mysql:/etc/postfix/sql/relay_domains.cf
virtual_alias_maps = mysql:/etc/postfix/sql/virtual_alias_maps.cf
                     mysql:/etc/postfix/sql/virtual_alias_domain_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/sql/virtual_mailbox_domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/sql/virtual_mailbox_maps.cf
smtpd_sender_login_maps =mysql:/etc/postfix/sql/users.cf
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = 
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous, noplaintext
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
smtpd_tls_security_level = may
smtpd_tls_protocols=!SSLv2,!SSLv3
smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3
smtpd_tls_loglevel = 0
smtpd_tls_key_file = /etc/postfix/ssl/example.com.key
smtpd_tls_cert_file = /etc/postfix/ssl/example.com.crt
smtpd_tls_CAfile = /etc/postfix/ssl/intermediate_ca.crt
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_cache
smtpd_tls_session_cache_timeout = 86400
smtpd_tls_mandatory_ciphers=high
smtpd_tls_eecdh_grade=ultra
smtpd_tls_dh1024_param_file = /etc/postfix/ssl/RSA2048.pem
smtp_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtp_tls_security_level = may
smtp_tls_protocols=!SSLv2,!SSLv3
smtp_tls_mandatory_protocols=!SSLv2,!SSLv3
smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_cache
tls_random_source = dev:/dev/urandom
mailbox_command = /usr/libexec/dovecot/deliver
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_authenticated_header = yes
content_filter=amavis:[127.0.0.1]:10024
virtual_mailbox_limit = 0
debug_peer_list = 127.0.0.1
unknown_address_reject_code = 550
unverified_recipient_reject_code = 550
non_fqdn_reject_code = 550
multi_recipient_bounce_reject_code = 550
local_recipient_maps = $virtual_mailbox_maps, $virtual_alias_maps
smtpd_banner = $myhostname ESMTP
smtpd_sasl_tls_security_options = noanonymous
smtpd_forbidden_commands = CONNECT GET POST
virtual_mailbox_limit_maps = mysql:/etc/postfix/sql/virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please try again later.
virtual_overquota_bounce = yes
smtpd_milters           = inet:127.0.0.1:8891  
non_smtpd_milters       = $smtpd_milters  
milter_default_action   = accept  
milter_protocol         = 2
disable_mime_output_conversion=yes
data_directory = /var/lib/postfix
inet_protocols = ipv4
у меня еще есть подозрения на то что postfix c dns не дружит, но это уже другая проблема. Посмотрите когнфиг вдруг чего корявое найдете, буду очень благодарен.

Аватара пользователя
Amaka
мл. сержант
Сообщения: 78
Зарегистрирован: 2016-02-03 12:05:11
Откуда: Москва

Postfix проверка отправителя

Непрочитанное сообщение Amaka » 2017-09-19 11:34:41

Чистый писал(а):вот полный конфиг моего постфикса:
...
Посмотрите когнфиг вдруг чего корявое найдете, буду очень благодарен.
Одного конфига недостаточно. Если считаешь, что твой postfix ведет себя странно, то это будет отражено в логах.
Покажи логи, которые ты считаешь странными.
Всем удачи!

Аватара пользователя
Чистый
рядовой
Сообщения: 22
Зарегистрирован: 2016-05-14 19:49:16

Postfix проверка отправителя

Непрочитанное сообщение Чистый » 2017-09-19 12:53:35

Amaka писал(а): Одного конфига недостаточно. Если считаешь, что твой postfix ведет себя странно, то это будет отражено в логах.
Покажи логи, которые ты считаешь странными.
В первом моем сообщении я и показал то что считаю странным.

Аватара пользователя
Amaka
мл. сержант
Сообщения: 78
Зарегистрирован: 2016-02-03 12:05:11
Откуда: Москва

Postfix проверка отправителя

Непрочитанное сообщение Amaka » 2017-09-19 13:56:06

Чистый писал(а):
Amaka писал(а): Одного конфига недостаточно. Если считаешь, что твой postfix ведет себя странно, то это будет отражено в логах.
Покажи логи, которые ты считаешь странными.
В первом моем сообщении я и показал то что считаю странным.
Это не логи postfix-а. К твоему примеру с telnet я могу дать более 10-и толкований, что все работает правильно.
Повторяю, чтобы тебе помочь, нужно видеть твои логи.
Если и их будет недостаточно, то еще нужно будет видеть твои карты:

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

pcre:/etc/postfix/helo_access.pcre,
hash:/etc/postfix/whitelist,

Всем удачи!

Аватара пользователя
Чистый
рядовой
Сообщения: 22
Зарегистрирован: 2016-05-14 19:49:16

Postfix проверка отправителя

Непрочитанное сообщение Чистый » 2017-09-19 14:37:45

Amaka писал(а):
Чистый писал(а):
Amaka писал(а): Одного конфига недостаточно. Если считаешь, что твой postfix ведет себя странно, то это будет отражено в логах.
Покажи логи, которые ты считаешь странными.
В первом моем сообщении я и показал то что считаю странным.
Это не логи postfix-а. К твоему примеру с telnet я могу дать более 10-и толкований, что все работает правильно.
Повторяю, чтобы тебе помочь, нужно видеть твои логи.
Если и их будет недостаточно, то еще нужно будет видеть твои карты:

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

pcre:/etc/postfix/helo_access.pcre,
hash:/etc/postfix/whitelist,

Имеете ввиду логи в тот момент когда я отправляю через telnet ? Сейчас попробую организовать

Аватара пользователя
Amaka
мл. сержант
Сообщения: 78
Зарегистрирован: 2016-02-03 12:05:11
Откуда: Москва

Postfix проверка отправителя

Непрочитанное сообщение Amaka » 2017-09-19 14:43:09

Чистый писал(а):Имеете ввиду логи в тот момент когда я отправляю через telnet ? Сейчас попробую организовать
Было бы здорово добавить в конфиг :

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

debug_peer_level = 2
debug_peer_list = тут_указать_ip-адрес_хоста_с_которого_коннектишся_!!!!!!
Всем удачи!

Аватара пользователя
Чистый
рядовой
Сообщения: 22
Зарегистрирован: 2016-05-14 19:49:16

Postfix проверка отправителя

Непрочитанное сообщение Чистый » 2017-09-19 15:38:57

Хорошо, а ближайшее время отпишусь. Спасибо за помощь.