Strona 1 z 1

SASL (Postfix) i dwie domeny - pop3 i smtp

: 16 sierpnia 2007, 19:48
autor: idarek
Witam, mam taki problem.
Mam POSTFIXa z autoryzacją sasl przez PAM.

mam dwie domeny, budxxx.pl i wiexxx.org

Pierwsza domena jest główną, a drugą podpiełem niedawno. W postfixie niby wszystko gra, maile dochodzą na obie domeny, wysyłka przez mutt również idzie ale z drugiej domeny tylko jak ustawie w canonical

:arrow:

Kod: Zaznacz cały

dariusz@budxxx.pl     [email]dariusz@wiexxx.org[/email]
podczas autoryzacji przez SMTP wywala błąd w logach:

:!:

Kod: Zaznacz cały

Aug 16 19:21:48 budxxx postfix/smtpd[6521]: connect from idarek[192.168.0.18]
Aug 16 19:21:48 budxxx postfix/smtpd[6521]: warning: SASL authentication failure: no secret in database
Aug 16 19:21:48 budxxx postfix/smtpd[6521]: warning: idarek[192.168.0.18] SASL CRAM-MD5 authentication failed: authentication failure
Aug 16 19:21:48 budxxx postfix/smtpd[6521]: disconnect from idarek[192.168.0.18]
W sasldblistusers2 mam:

Kod: Zaznacz cały

dariusz@wiexxx.org: userPassword
ale nie chce autorysować, sprawdziłem przez testsaslauthd i wszystko niby chodzi ale jeżeli idzie przez program pocztowy po smtp to już nie.

wpisy w login_maps

Kod: Zaznacz cały

dariusz@wiexxx.org         dariusz
i tak samo w virtual

konfiguracja postfixa z main.cf

Kod: Zaznacz cały

myhostname = budxxx.pl
mydomain = budxxx.pl
mydomain2 = wiexxx.org
myorigin = $mydomain
mydestination = $myhostname, $mydomain, localhost.$mydomain, $mydomain2, localhost.$mydomain2, localhost
unknown_local_recipient_reject_code = 550
unknown_relay_recipient_reject_code = 550
unknown_virtual_alias_reject_code = 550
unknown_virtual_mailbox_reject_code = 550
unverified_recipient_reject_code = 450
unverified_sender_reject_code = 450
owner_request_special = no
mynetworks = 127.0.0.0/8
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mail_spool_directory = /var/mail
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
delay_warning_time = 4h
mail_name = kMail Private v1.0
local_destination_concurrency_limit = 2
default_destination_concurrency_limit = 10
message_size_limit = 25600000
mailbox_size_limit = 0
recipient_delimiter = +
relay_domains = $mydestination, wiexxx.org
virtual_alias_domains = wiexxx.org
virtual_alias_maps = hash:/etc/postfix/virtual
canonical_maps = hash:/etc/postfix/canonical
smtpd_recipient_limit = 10
disable_vrfy_command = yes
queue_run_delay = 30m
maximal_queue_lifetime = 3d
bounce_queue_lifetime = 2d
smtpd_error_sleep_time = 3
smtpd_soft_error_limit = 3
smtpd_hard_error_limit = 5
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
smtpd_recipient_restrictions =
   reject_unknown_sender_domain
   reject_unknown_recipient_domain
   reject_non_fqdn_sender
   reject_non_fqdn_recipient
   reject_unauth_pipelining
   permit_sasl_authenticated
   permit_auth_destination
   check_helo_access hash:/etc/postfix/helo_checks
   reject
smtpd_client_restrictions =
   reject_unknown_client
   permit_sasl_authenticated
   check_client_access hash:/etc/postfix/client_checks
smtpd_sender_restrictions =
   reject_sender_login_mismatch,
   permit_sasl_authenticated,
   check_sender_access hash:/etc/postfix/access
   reject_unknown_sender_domain
   reject_non_fqdn_sender
   reject_unknown_address
   permit
smtpd_data_restrictions =
   reject_unauth_pipelining,
   permit
smtpd_sender_login_maps = hash:/etc/postfix/login_maps
relocated_maps = hash:/etc/postfix/relocated
content_filter=smtp-amavis:[127.0.0.1]:10024
smtpd_helo_required = yes
disable_vrfy_command = yes
strict_rfc821_envelopes = yes
prosze o pomoc.

: 16 sierpnia 2007, 22:34
autor: kayo
w virtual musisz miec mniej wiecej taki wpis

Kod: Zaznacz cały

wiecxxx.org bleble
[email]dariusz@wiecxxx.org[/email] idariusz

buxxx.pl bleble
[email]dariusz@buxxx.pl[/email] idariusz
po za tym masz troszeczke pokiereszowany main.cf np w relay_domains masz dwa wpisy wiecxxx.org (w zmiennej mydestination jak i normalnie) a w mydestination 2x buxxx.pl

: 17 sierpnia 2007, 15:41
autor: idarek
Poprawiłem co trzeba, ale niestety nadal mam

Kod: Zaznacz cały

Aug 17 15:38:44 budxxx postfix/smtpd[14973]: connect from idarek[192.168.0.18]
Aug 17 15:38:46 budxxx postfix/smtpd[14973]: warning: SASL authentication failure: no secret in database
Aug 17 15:38:46 budxxx postfix/smtpd[14973]: warning: idarek[192.168.0.18] SASL CRAM-MD5 authentication failed: authentication failure
Aug 17 15:38:46 budxxx postfix/smtpd[14973]: disconnect from idarek[192.168.0.18]
mój aktualny main.cf

Kod: Zaznacz cały

myhostname = budxxx.pl
mydomain = budxxx.pl
myorigin = $mydomain
mydestination = $mydomain, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
unknown_relay_recipient_reject_code = 550
unknown_virtual_alias_reject_code = 550
unknown_virtual_mailbox_reject_code = 550
unverified_recipient_reject_code = 450
unverified_sender_reject_code = 450
owner_request_special = no
mynetworks = 127.0.0.0/8
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mail_spool_directory = /var/mail
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
delay_warning_time = 4h
mail_name = kMail Private v1.0
local_destination_concurrency_limit = 2
default_destination_concurrency_limit = 10
message_size_limit = 25600000
mailbox_size_limit = 0
recipient_delimiter = +
relay_domains = $mydestination
virtual_alias_domains = wiexxx.org
virtual_alias_maps = hash:/etc/postfix/virtual
canonical_maps = hash:/etc/postfix/canonical
smtpd_recipient_limit = 10
disable_vrfy_command = yes
queue_run_delay = 30m
maximal_queue_lifetime = 3d
bounce_queue_lifetime = 2d
smtpd_error_sleep_time = 3
smtpd_soft_error_limit = 3
smtpd_hard_error_limit = 5
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
smtpd_recipient_restrictions =
   reject_unknown_sender_domain
   reject_unknown_recipient_domain
   reject_non_fqdn_sender
   reject_non_fqdn_recipient
   reject_unauth_pipelining
   permit_sasl_authenticated
   permit_auth_destination
   check_helo_access hash:/etc/postfix/helo_checks
   reject
smtpd_client_restrictions =
   reject_unknown_client
   permit_sasl_authenticated
   check_client_access hash:/etc/postfix/client_checks
smtpd_sender_restrictions =
   reject_sender_login_mismatch,
   permit_sasl_authenticated,
   check_sender_access hash:/etc/postfix/access
   reject_unknown_sender_domain
   reject_non_fqdn_sender
   reject_unknown_address
   permit
smtpd_data_restrictions =
   reject_unauth_pipelining,
   permit
smtpd_sender_login_maps = hash:/etc/postfix/login_maps
relocated_maps = hash:/etc/postfix/relocated
content_filter=smtp-amavis:[127.0.0.1]:10024
smtpd_helo_required = yes
disable_vrfy_command = yes
strict_rfc821_envelopes = yes
proszę o dalszą pomoc i dzięki za próby.

pozdr.

ps.

co dziwniejsze, zauważyłem że SASL chyba nie korzysta z bazy danych /etc/sasldb2 w przypadku drugiej domeny, gdyż to czy w bazie jest dodana druga domena czy nie to błąd jest ten sam w logach.

: 17 sierpnia 2007, 17:41
autor: bartek
Jak widać nie może pobrać odpowiednich danych z bazy danych. Włącz logowanie zapytań do bazy w mysql i będziesz wiedział czego szuka i co zwraca select przy logowaniu.

: 17 sierpnia 2007, 18:35
autor: idarek
Radex pisze:Jak widać nie może pobrać odpowiednich danych z bazy danych. Włącz logowanie zapytań do bazy w mysql i będziesz wiedział czego szuka i co zwraca select przy logowaniu.
Ale ja nie używam bazy MySQL tylko bazy sasldb2

: 17 sierpnia 2007, 20:47
autor: kayo
idarek pisze:
Radex pisze:Jak widać nie może pobrać odpowiednich danych z bazy danych. Włącz logowanie zapytań do bazy w mysql i będziesz wiedział czego szuka i co zwraca select przy logowaniu.
Ale ja nie używam bazy MySQL tylko bazy sasldb2
To jest moj main.cf tez jest pare domen i wszystko bangla - porownaj z twoja

Kod: Zaznacz cały

command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix
#default_privs = $mail_owner
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
setgid_group = postdrop
biff = no
alias_maps = hash:/etc/aliases
myorigin = /etc/mailname
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
mydestination = $myhostname, example.com, localhost, test.pl, inna.pl
append_dot_mydomain = no
mynetworks = 127.0.0.0/8, 192.168.0.0/24, 172.16.0.0/12
strict_rfc821_envelopes = yes
unknown_address_reject_code = 550

content_filter = scan:127.0.0.1:10025
receive_override_options = no_address_mappings

#SASL
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous

#HELO RESTRICTIONS
smtpd_helo_restrictions =
    reject_unauth_pipelining,
    reject_invalid_hostname,
    permit


smtpd_sender_restrictions =
    reject_unknown_sender_domain,
    reject_non_fqdn_sender,
    reject_unknown_address,
    check_sender_access pcre:/etc/postfix/sender_checks.pcre
    permit

#mime_header_checks = regexp:/etc/postfix/mime_header_checks.regexp


#RBL
smtpd_recipient_restrictions =

    hash:/etc/postfix/sender_checks,
    permit_sasl_authenticated,
    permit_mynetworks,
    reject_invalid_hostname,
    reject_non_fqdn_sender,
    reject_non_fqdn_recipient,
    reject_unknown_sender_domain,
    reject_unknown_recipient_domain,
    reject_unauth_pipelining,
    reject_unauth_destination,
    check_helo_access hash:/etc/postfix/helo_checks,
    reject_unknown_hostname,
    reject_non_fqdn_hostname,
    check_sender_access hash:/etc/postfix/sender_checks,
    reject_rbl_client bl.spamcop.net,
    reject_rbl_client dnsbl.sorbs.net,
    reject_rbl_client combined.njabl.org,
    reject_rbl_client list.dsbl.org,
    reject_rbl_client sbl-xbl.spamhaus.org,
    reject_rbl_client cbl.abuseat.org,
#    reject_rbl_client no-more-funn.moensted.dk,
    check_policy_service inet:127.0.0.1:60000
    permit

message_size_limit = 30000000

virtual_alias_maps = hash:/etc/postfix/virtual
queue_run_delay = 300s
maximal_backoff_time = 1000s
minimal_backoff_time = 300s
maximal_queue_lifetime = 48h
#ANVIL
max_use=20

: 18 sierpnia 2007, 16:55
autor: idarek
Niestety, nic to nie momogło, nadal mam

Kod: Zaznacz cały

Aug 18 16:53:19 budxxx postfix/smtpd[24470]: connect from idarek[192.168.0.18]
Aug 18 16:53:22 budxxx postfix/smtpd[24470]: warning: SASL authentication failure: no secret in database
Aug 18 16:53:22 budxxx postfix/smtpd[24470]: warning: idarek[192.168.0.18] SASL CRAM-MD5 authentication failed: authentication failure
Aug 18 16:53:22 budxxx postfix/smtpd[24470]: disconnect from idarek[192.168.0.18]
w przypadku próby wysłania poczty przez SMTP z ustawieniami dla domeny wiexxx.org

Coś chyba sie itak rozjaśnia, bo 6 podstawowych użytkowników domeny dodałem sporo wcześniej i oni działają, a teraz jak dodam obojętnie jakiego nowego użytkownika, nawet w domenie podstawowej to nie działa autoryzacja.... musze coś pokombnować z sasldb2 bo może coś z nią jest nie tak.

update 18-08-2007 18:00
Ok, wszystko przeanalizowałem, logowanie działa mi tylko w domenie budxxx.pl i dodany użytkowniku {user}@budxxx.pl do sasldb2, a w przypadku wiexxxorg jak dodam uzytkownika z taką domeną do sasldb2 to nie działa.

kayo, mam prośbe... mógłbyś pokazać mi swój sasldb2 dla domen virtualnych, zawartość pliku access postfixa, login_maps i virtual... może z autopsji dojde co jest nie tak.

Dzięki z góry.

update 19-08-2008 14:00
Sprawdziłęm jeszcze tak, że w main.cf dodałem

Kod: Zaznacz cały

mynetworks = 127.0.0.0/8, 192.168.0.0/24
i wysłałem maila bez autoryzacji smtp i poszło normalnie, tylko jak mam autoryzacje przez sasl to na drugiej domenie nie idzie... wiec to chyba nie konfiguracja postfixa tylko coś z saslem.

jak by ktoś znalazł rozwiązanie to by było fajnie

pozdr

ROZWI¡ZANE
Po długich bojach, wkońcu wszystko działa.

Problem polegał na tym, że podczas logowania przez SMTP sasl przy podaniu tylko loginu użytkownika odnosi sie do pierwszej domeny, natomiast jak sie poda cały dariusz@wiexxx.org to działa pod warunkien że w login_maps umieścimy też:

Kod: Zaznacz cały

dariusz@wiexxx.org    [email]dariusz@wiexxx.org[/email][/b]

i wszystko hula ;]