Strona 1 z 1

Postfix i uwierzytelnianie SASL z TLS

: 03 sierpnia 2009, 10:28
autor: Sawko
Witam serdecznie.

Stawiam postfixa według tego przepisu http://www.xlo.pl/download/postfix-debian4.0.pdf.

Niby wszystko w porządku ale doszedłem do momentu, w którym testuję TLS.
Jest załączony SASL i TLS. Podczas łączenia się telnetem z postfixem nie mam jednak uwierzytelniania SASL.

Dostaję:

Kod: Zaznacz cały

250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
a powinienem chyba:

Kod: Zaznacz cały

250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN                  ##########  O TO CHODZI !!!!!!
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
Wydaje mi się, że te dwie linie się ze sobą kłócą:

Kod: Zaznacz cały

#SASL
smtpd_sasl_auth_enable = yes
smtpd_sasl2_auth_enable = yes

#TLS
smtpd_tls_auth_only = yes
Mój main.cf:

Kod: Zaznacz cały

command_directory = /usr/sbin
mail_owner = postfix
mydomain = rakow.pl
myhostname = costam costam
myorigin = /etc/mailname
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = $mydomain, $myhostname, localhost, localhost.localdomain,
mynetworks = 127.0.0.0/8 #[192.168.1.0/24] 
inet_interfaces = all
inet_protocols = ipv4
home_mailbox = Maildir/
mail_spool_directory = /home/
smtpd_banner = $myhostname ESMTP $mail_name 
mailbox_size_limit = 0
recipient_delimiter = +
relayhost =

#SASL
smtpd_sasl_auth_enable = yes
smtpd_sasl2_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination

#TLS
smtpd_tls_auth_only = yes
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.pem
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.pem
smtpd_tls_CAfile = /etc/postfix/ssl/smtpd.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache
tls_random_source = dev:/dev/urandom

: 03 sierpnia 2009, 14:27
autor: grzesiek
Myślę, że się nie wykluczają, a za to brak ci raczej definicji sposobu autoryzacji
http://www.postfix.org/postconf.5.html#smtpd_sasl_type

: 03 sierpnia 2009, 21:41
autor: Sawko
grzesiek pisze:Myślę, że się nie wykluczają, a za to brak ci raczej definicji sposobu autoryzacji
http://www.postfix.org/postconf.5.html#smtpd_sasl_type
Byc może masz rację ale dlaczego gdy dam

Kod: Zaznacz cały

smtpd_tls_auth_only = no

to mam i SASL i TLS? Czy to jest bląd?
Gdzie dać tą autoryzację ?


Pozdrawiam
Sawko

: 04 sierpnia 2009, 09:53
autor: Ister
Bo to jest właśnie przyczyna Twoich problemów. Zastanów się, kiedy ustawiasz

Kod: Zaznacz cały

smtpd_tls_auth_only = yes
to zgodnie z nazwą zmiennej postfix dopuszcza WY£¡CZNIE autoryzację przez tls (TLS AUTHorization ONLY). Natomiast jeśli ustawisz

Kod: Zaznacz cały

smtpd_tls_auth_only = no
To nie jest wymagany TLS, czyli dopuszcza także autoryzację zwykłą.

Dodam, że SASL używasz w obu przypadkach (i przez TLS i bez niego), ale to szczegół techniczny.

Pozdrawiam

: 04 sierpnia 2009, 10:09
autor: grzesiek
Sawko, chodzi o to, że w tej konfiguracji, którą przedstawiłeś Postfix używa SASL jako warstwy pośredniej między Dovecot [w Twoim przypadku to właśnie nie zostało jasno określone] a Postfix - działa to wszystko tylko na serwerze.
Natomiast TLS jest wykorzystywane do komunikacji od klienta, przez internet, do serwera Postfix, gdzie on te dane przekaże do SASL w celu autoryzacji.
Czyli SASL jest jakby potrzebny tylko do komunikacji z Dovecot a TLS do szyfrowania połączeń i komunikacji z klientem. To właśnie za pomocą TLS klient może się z nami w szyfrowany sposób komunikować a nie SASL [ale tylko w tym przypadku].
Może po tym objaśnieniu ta dokumentacja http://www.postfix.org/SASL_README.html stanie się bardziej użyteczna.

: 06 sierpnia 2009, 15:01
autor: Sawko
Męczę się i męczę już ze dwa dni nad tym. Rozumiem na czym polega współpraca z TLS ale nie kumam o co chodzi w SASL.

To co znaczy że mam tę autentykację SASL, czy jej nie mam? Przeczytałem już chyba wszystko i o autentykacji SASL napisali tylko tyle, że jak mam:

Kod: Zaznacz cały

250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN  
to już działa.

Ale o co w niej chodzi? Czy o to to że później mogę nałożyć restrykcje w smtpd_?

Jeśli tak, to dałem:

Kod: Zaznacz cały

smtpd_sasl_type = cyrus. 
Następnie:

Kod: Zaznacz cały

smtpd_recipient_restrictions =
   reject_unknown_sender_domain
   reject_unknown_recipient_domain
   reject_non_fqdn_sender
   reject_non_fqdn_recipient
   reject_unauth_pipelining
   permit_mynetworks
   permit_sasl_authenticated
   permit_auth_destination
   reject 
A i tak mogę się dostać na smtp przez jakiś wymyślony adres np. [email protected] i z niego wysłać maila gdzieś@tam.pl. Dostaję się z sieci wewnętrznej. Ale jak nawet usunę permit_mynetworks to i tak się dostaję na smtp z tej sieci? O co tu chodzi?

Jeżeli byłaby możliwość to proszę o jakiś dobry podręcznik do konfiguracji POSTFIX-a z kompletnym go zabezpieczeniem.

: 06 sierpnia 2009, 20:31
autor: grzesiek
Jeśli tak, to dałem:

Kod: Zaznacz cały

smtpd_sasl_type = cyrus. 
W poradniku, według, którego to robisz też tak jest? Wszystko mieszasz.
Jeżeli byłaby możliwość to proszę o jakiś dobry podręcznik do konfiguracji POSTFIX-a z kompletnym go zabezpieczeniem.
A proszę Cię bardzo http://helion.pl/ksiazki/posnow.htm