[+] postfix, uwierzytelnienie za pomoc

Konfiguracja serwerów, usług, itp.
psiezul
Posty: 5
Rejestracja: 10 kwietnia 2011, 08:44

[+] postfix, uwierzytelnienie za pomocą sasl

Post autor: psiezul »

Witam
Mam problem z uwierzytelnieniem za pomocą sasl.
System jest nowy dla testów. Teoretycznie autoryzacja przebiega poprawnie za pomocą telnetu. Dostaję pozytywne odpowiedzi, ale jak chcę coś wysłać z zewnątrz (klient) poprzez ten serwer dostaję odmowę dostępu tak jakbym się nie autoryzował?

Kod: Zaznacz cały

220 debian.serwer.pl ESMTP Postfix (Debian/GNU)
EHLO test
250-debian.serwer.pl
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth plain AHBpb3RyZWsAb3Nlc2VrOXD=
235 2.7.0 Authentication successful
mail from: [email]piotrek@debian.serwer.pl[/email]
250 2.1.0 Ok
rcpt to: [email]xxx@wp.pl[/email]
554 5.7.1 <xxx@wp.pl>: Relay access denied
Klient pocztowy ma ustawione, że serwer wymaga uwierzytelnienia.

W logach na serwerze otrzymuję:

Kod: Zaznacz cały

Apr 10 09:23:01 debian postfix/smtpd[8569]: connect from 87-205-168-113.adsl.inetia.pl[87.205.168.113]
Apr 10 09:23:02 debian postfix/smtpd[8569]: NOQUEUE: reject: RCPT from 87-205-168-113.adsl.inetia.pl[87.205.168.113]: 554 5.7.1 <xxx@wp.pl>: Relay access denied; from=<piotrek@serwer.pl> to=<xxx@wp.pl> proto=ESMTP helo=<oracle>
Apr 10 09:23:02 debian postfix/smtpd[8569]: disconnect from 87-205-168-113.adsl.inetia.pl[87.205.168.113]
Jeżeli dodam w kliencie bezpieczne połączenie (ssl) z smtp to w logach dostaję:

Kod: Zaznacz cały

Apr 10 09:35:10 debian postfix/smtpd[8588]: initializing the server-side TLS engine
Apr 10 09:35:10 debian postfix/smtpd[8588]: connect from 87-205-168-113.adsl.inetia.pl[87.205.168.113]
Apr 10 09:35:10 debian postfix/smtpd[8588]: setting up TLS connection from 87-205-168-113.adsl.inetia.pl[87.205.168.113]
Apr 10 09:35:10 debian postfix/smtpd[8588]: 87-205-168-113.adsl.inetia.pl[87.205.168.113]: TLS cipher list "ALL:+RC4:@STRENGTH"
Apr 10 09:35:10 debian postfix/smtpd[8588]: SSL_accept:before/accept initialization
Apr 10 09:35:10 debian postfix/smtpd[8588]: SSL_accept:SSLv3 read client hello A
Apr 10 09:35:10 debian postfix/smtpd[8588]: SSL_accept:SSLv3 write server hello A
Apr 10 09:35:10 debian postfix/smtpd[8588]: SSL_accept:SSLv3 write certificate A
Apr 10 09:35:10 debian postfix/smtpd[8588]: SSL_accept:SSLv3 write server done A
Apr 10 09:35:10 debian postfix/smtpd[8588]: SSL_accept:SSLv3 flush data
Apr 10 09:35:10 debian postfix/smtpd[8588]: SSL_accept:SSLv3 read client key exchange A
Apr 10 09:35:10 debian postfix/smtpd[8588]: SSL_accept:SSLv3 read finished A
Apr 10 09:35:10 debian postfix/tlsmgr[7900]: put smtpd session id=41C4B0660E9A9568A78A83C42D8781E455BD4E9C8BA656CBC22025CE00E8E061&s=smtp [data 127 bytes]
Apr 10 09:35:10 debian postfix/smtpd[8588]: SSL_accept:SSLv3 write change cipher spec A
Apr 10 09:35:10 debian postfix/tlsmgr[7900]: write smtpd TLS cache entry 41C4B0660E9A9568A78A83C42D8781E455BD4E9C8BA656CBC22025CE00E8E061&s=smtp: time=1302420910 [data 127 bytes]
Apr 10 09:35:10 debian postfix/smtpd[8588]: SSL_accept:SSLv3 write finished A
Apr 10 09:35:10 debian postfix/smtpd[8588]: SSL_accept:SSLv3 flush data
Apr 10 09:35:10 debian postfix/smtpd[8588]: 87-205-168-113.adsl.inetia.pl[87.205.168.113]: save session 41C4B0660E9A9568A78A83C42D8781E455BD4E9C8BA656CBC22025CE00E8E061&s=smtp to smtpd cache
Apr 10 09:35:10 debian postfix/smtpd[8588]: Anonymous TLS connection established from 87-205-168-113.adsl.inetia.pl[87.205.168.113]: TLSv1 with cipher RC4-MD5 (128/128 bits)
Apr 10 09:35:13 debian postfix/smtpd[8588]: NOQUEUE: reject: RCPT from 87-205-168-113.adsl.inetia.pl[87.205.168.113]: 554 5.7.1 <xxx@wp.pl>: Relay access denied; from=<piotrek@serwer.pl> to=<xxx@wp.pl> proto=ESMTP helo=<oracle>
Apr 10 09:35:13 debian postfix/smtpd[8588]: disconnect from 87-205-168-113.adsl.inetia.pl[87.205.168.113]
Wygląda mi na to, że połączenie szyfrowane jakoś działa ale dziwi mnie fakt, że jest wpis

Kod: Zaznacz cały

Anonymous TLS connection established
co świadczyć może, że serwer nie wie z kim gada, czyli nie autoryzuje i dlatego dostaję

Kod: Zaznacz cały

access relay denied
Jakieś sugestie?

Pozdrawiam.
Załączniki

[Rozszerzenie txt zostało wyłączone i nie będzie dłużej wyświetlane.]

Cyphermen
Beginner
Posty: 426
Rejestracja: 24 maja 2009, 10:56
Lokalizacja: cze-wa

Post autor: Cyphermen »

Skoro po telnet się autoryzujesz to na bank coś źle ustawione z klientem pocztowym, sprawdź po pierwsze hasło i login które wpisałeś nie tylko przy ogólnej konfiguracji konta ale także przy uwierzytelnieniu smtp, jeśli to outlook to zaznacz opcję by używał loginu i hasła i wpisz te dane w zakładce serwery czy jakoś tak.
psiezul
Posty: 5
Rejestracja: 10 kwietnia 2011, 08:44

Post autor: psiezul »

No cóż, próbowałem z thunderbirda i z outlooka ale jak podałem na początku otrzymuję w telnecie

Kod: Zaznacz cały

 authentication successful
ale jak chcę wysłać z niego wiadomość też dostaję

Kod: Zaznacz cały

 access relay denied
Grzebię już przy tym parę dni i utknąłem bo nie wiem w czym rzecz, niby uwierzytelnienie jest w prządku ale jak chcę wysłać pocztę to okazuje się, że nie.
Jakiś pomysł?

Zawartość pliku postfix/sasl/smtpd.conf:

Kod: Zaznacz cały

pwcheck_method: saslauthd
mech_list: plain login
Zawartość pliku /etc/default/saslauthd:

Kod: Zaznacz cały

# Settings for saslauthd daemon

START=yes
DESC="SASL Authentication Daemon"
NAME="saslauthd"
MECHANISMS="pam"
MECH_OPTIONS=""
THREADS=5
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"

Zawartość pliku main.cf:

Kod: Zaznacz cały

# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
#dodane moje
#smtpd_tls_auth_only = yes
smtpd_tls_loglevel = 2
#smtpd_tls_security_level = encrypt

#sasl moje
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restriction =
        permit_sasl_authenticated,
        permit_mynetworks,
        reject_unauth_destination


# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = debian.gunb.gov.pl
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = debian.serwer.pl, localhost.serwer.pl, , localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

Zawartość master:

Kod: Zaznacz cały

#
# 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)
# ==========================================================================
smtp      inet  n       -       -       -       -       smtpd
#submission inet n       -       -       -       -       smtpd
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#smtps     inet  n       -       -       -       -       smtpd
#  -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#628      inet  n       -       -       -       -       qmqpd
pickup    fifo  n       -       -       60      1       pickup
cleanup   unix  n       -       -       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
#qmgr     fifo  n       -       -       300     1       oqmgr
tlsmgr    unix  -       -       -       1000?   1       tlsmgr
rewrite   unix  -       -       -       -       -       trivial-rewrite
bounce    unix  -       -       -       -       0       bounce
defer     unix  -       -       -       -       0       bounce
trace     unix  -       -       -       -       0       bounce
verify    unix  -       -       -       -       1       verify
flush     unix  n       -       -       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       -       -       -       smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay     unix  -       -       -       -       -       smtp
        -o smtp_fallback_relay=
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       -       -       -       showq
error     unix  -       -       -       -       -       error
retry     unix  -       -       -       -       -       error
discard   unix  -       -       -       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       -       -       -       lmtp
anvil     unix  -       -       -       -       1       anvil
scache    unix  -       -       -       -       1       scache
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent.  See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
#
# See the Postfix UUCP_README file for configuration details.
#
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix  -       n       n       -       2       pipe
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman   unix  -       n       n       -       -       pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}
Pozdrawiam.
Cyphermen
Beginner
Posty: 426
Rejestracja: 24 maja 2009, 10:56
Lokalizacja: cze-wa

Post autor: Cyphermen »

Zrób sobie kopie konfigu i spróbuj podopisywać i poprawić to co tutaj wpisałem.

Kod: Zaznacz cały

  smtpd_sasl_auth_enable = yes
smtpd_sasl2_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = 
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes

    smtpd_recipient_restrictions = 
    permit_sasl_authenticated, 
    reject_unauth_destination,
    permit_mynetworks

smtpd_client_restrictions = 
    permit_mynetworks,
    permit_sasl_authenticated, 
    reject_unknown_client

  
psiezul
Posty: 5
Rejestracja: 10 kwietnia 2011, 08:44

Post autor: psiezul »

Zmieniłem i niestety to samo, dla lokalnych mogę a na zewnątrz nie (w międzyczasie zdążyłem przeinstalować postfixa dodać dovecota i teraz wróciełem do qpopper bo było to samo). Pojęcia nie mam, żeby jakieś dodatkowe błędy a tu nic oprócz tego:

Kod: Zaznacz cały

access relay denied

Kod: Zaznacz cały

220 debian.serwer.pl ESMTP Postfix (Debian/GNU)
EHLO localhost
250-debian.serwer.pl
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth plain AHBpb3RyZWsAb3Nlc2VrOXD=
235 2.7.0 Authentication successful
mail from: [EMAIL="piotrek@debian.serwer.pl"]piotrek@debian.serwer.pl[/EMAIL]
250 2.1.0 Ok
rcpt to: [EMAIL="test@debian.serwer.pl"]test@debian.serwer.pl[/EMAIL]
250 2.1.5 Ok
rcpt to: [EMAIL="xxx@wp.pl"]xxx@wp.pl[/EMAIL]
554 5.7.1 <[EMAIL="xxx@wp.pl"]xxx@wp.pl[/EMAIL]>: Relay access denied
 
Pozdrawiam.
Cyphermen
Beginner
Posty: 426
Rejestracja: 24 maja 2009, 10:56
Lokalizacja: cze-wa

Post autor: Cyphermen »

Jak na moje to musi ci brakować czegoś w smtp_restriction.
Przyjrzyj się dokładnie na to co wkleiłem bo u mnie nie było żadnych problemów i wklej to wszystko.

Konfigu ci nie wkleję bo nie mam aktualnie zainstalowanego postfixa. Do ,,my networks'' dodaj jeszcze adres podsieci LAN, w której jesteś.
psiezul
Posty: 5
Rejestracja: 10 kwietnia 2011, 08:44

Post autor: psiezul »

Twoja opcja zadziałała po wklejeniu, a u mnie była literówka w
smtpd_recipient_restrictions (+ s) tzn, że problem leżał w tym, że postfix tego nie używał bo była literówka ale pomimo, że była zła nazwa miał tą konfigurację w:

Kod: Zaznacz cały

 postconf -n
Dziękuję za radę, bez tego bym jeszcze się trudził. No cóż, za gapiostwo się płaci 4 dni. Ciekawe tylko, że w logach nie było błędu w konfiguracji. Jutro przetestuję to na nowym testowym serwerze. Dziękuję jeszcze raz.
Cyphermen
Beginner
Posty: 426
Rejestracja: 24 maja 2009, 10:56
Lokalizacja: cze-wa

Post autor: Cyphermen »

Nie ma za co :)
ODPOWIEDZ