Дано:
postfix-2.0.18
cyrus-sasl-2.1.17
mysql-3.23.58
pam_mysql-0.5
courier-imap-2.2.1
Все настроено по всем известному мануалу raven'а..
сразу скажу, что курьер работает отлично и постфиксовых проблем не имеет..
Итак, настроена авторизация smtp через sasl.. юзеры в базе mysql(доступ к базе через pam)..
Проблема:
постфикс принимает почту от неавторизованных юзеров..
postconf -n :
myhostname = mail.my.host.name
mynetworks = 127.0.0.0/8
mynetworks_style = host
myorigin = $mydomain
newaliases_path = /usr/local/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = no
relay_domains = $transport_maps
sample_directory = /usr/local/etc/postfix
sendmail_path = /usr/local/sbin/sendmail
setgid_group = maildrop
smtpd_banner = $mydomain SMTP Server
smtpd_client_restrictions =
reject_rbl_client list.dsbl.org,
reject_rbl_client relays.ordb.org,
reject_rbl_client dynablock.wirehub.net,
reject_rbl_client black holes.wirehub.net,
reject_rbl_client dnsbl.njabl.org
smtpd_delay_reject = yes
smtpd_helo_required = yes
smtpd_recipient_restrictions =
reject_unauth_destination,
permit_sasl_authenticated
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_security_options = noanonymous
smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
smtpd_sender_restrictions =
permit_sasl_authenticated
transport_maps = mysql:/usr/local/etc/postfix/sql/transport.cf
unknown_local_recipient_reject_code = 450
virtual_alias_maps = mysql:/usr/local/etc/postfix/sql/aliases.cf
virtual_gid_maps = mysql:/usr/local/etc/postfix/sql/gids.cf
virtual_mailbox_base = /var/mail/virtual
virtual_mailbox_maps = mysql:/usr/local/etc/postfix/sql/users.cf
virtual_uid_maps = mysql:/usr/local/etc/postfix/sql/uids.cf
Симптомы:
Это с правильным паролем
Feb 13 11:30:59 bc155-101-168-192 postfix/smtpd[352]: connect from bc120-101-168-192[192.168.101.120]
Feb 13 11:30:59 bc155-101-168-192 postfix/smtpd[352]: ACA01142: client=bc120-101-168-192[192.168.101.120], sasl_method=PLAIN, sasl_username=me@my.host.name
Feb 13 11:31:00 bc155-101-168-192 postfix/cleanup[353]: ACA01142: message-id=<14270625704.20040213113049@my.host.name>
Feb 13 11:31:00 bc155-101-168-192 postfix/qmgr[249]: ACA01142: from=<me@my.host.name>, size=619, nrcpt=1 (queue active)
Feb 13 11:31:00 bc155-101-168-192 postfix/virtual[355]: ACA01142: to=<amim@my.host.name>, relay=virtual, delay=1, status=sent (maildir)
Feb 13 11:31:00 bc155-101-168-192 postfix/smtpd[352]: disconnect from bc120-101-168-192[192.168.101.120]
Это соответственно с неправильным паролем
Feb 13 11:31:28 bc155-101-168-192 postfix/smtpd[352]: connect from bc120-101-168-192[192.168.101.120]
Feb 13 11:31:28 bc155-101-168-192 postfix/smtpd[352]: warning: SASL authentication failure: Password verification failed
Feb 13 11:31:28 bc155-101-168-192 postfix/smtpd[352]: warning: bc120-101-168-192[192.168.101.120]: SASL PLAIN authentication failed
Feb 13 11:31:29 bc155-101-168-192 postfix/smtpd[352]: 81C26F: client=bc120-101-168-192[192.168.101.120]
Feb 13 11:31:29 bc155-101-168-192 postfix/cleanup[353]: 81C26F: message-id=<12670654515.20040213113118@my.host.name>
Feb 13 11:31:29 bc155-101-168-192 postfix/qmgr[249]: 81C26F: from=<me@my.host.name>, size=617, nrcpt=1 (queue active)
Feb 13 11:31:29 bc155-101-168-192 postfix/virtual[355]: 81C26F: to=<amim@my.host.name>, relay=virtual, delay=0, status=sent (maildir)
Feb 13 11:31:29 bc155-101-168-192 postfix/smtpd[352]: disconnect from bc120-101-168-192[192.168.101.120]
Замечание:
Если ставить в конце любого рестрикшена reject, то письмо неавторизованного юзера режектится в соответствующим рестрикшену кодом.. Однако это конечно же не выход, ибо при этом режектятся и все письма от внешних юзеров на пользователей моего домена(но его приходится ставить, для закрытия релея).. На данный момент перепробованы почти все сочетания рестрикшенов и их параметров..
Вопрос:
Кто виноват(мои кривые руки или постфикс) и что делать?.. На первую часть вопроса можно не отвечать..