POSTFIX krytyczny: brak mechanizmów uwierzytelniania SASL

22

Walczę z powyższym błędem przez ponad 5 godzin. Próbowałem całkowicie usunąć Postfix i postępowałem zgodnie z instrukcjami następnego podręcznika i podręcznika SASL , aby go ponownie zainstalować.

Kiedy próbuję zalogować się przez telnet, serwer blokuje logowanie i otrzymuję to: (z smtpd -v, aby uzyskać więcej informacji):

postfix / smtpd [26301]: xsasl_cyrus_server_create: usługa SASL = smtp, dziedzina = (null)  
postfix / smtpd [26301]: nazwa_maska: noanonymous  
postfix / smtpd [26301]: ostrzeżenie: xsasl_cyrus_server_get_mechanism_list: brak odpowiednich mechanizmów SASL  
postfix / smtpd [26301]: fatal: brak mechanizmów uwierzytelniania SASL  

oto wyniki postconf -n:

alias_database = hash: / etc / aliases
alias_maps = hash: / etc / aliases
allow_percent_hack = nie
append_dot_mydomain = no
biff = nie
broken_sasl_auth_clients = tak
config_directory = / etc / postfix
home_mailbox = Maildir /
inet_interfaces = all
mailbox_command = / usr / bin / procmail-wrapper -o -a $ DOMAIN -d $ LOGNAME
mailbox_size_limit = 0
mydestination = theflipapp.com, localhost.com,, localhost
nazwa_hosta = theflipapp.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [:: 1] / 128
myorigin = / etc / mailname
readme_directory = no
recipient_delimiter = +
przekaźnikhost =
sender_bcc_maps = skrót: / etc / postfix / bcc
smtp_tls_session_cache_database = btree: $ {data_directory} / smtp_scache
smtpd_banner = $ moja_hosta ESMTP $ nazwa_maila (Debian / GNU)
smtpd_recipient_restrictions = Perm_mynetworks pozwolenie_sasl_authenticated odrzucenie_nazwy_docelowej
smtpd_sasl_auth_enable = tak
smtpd_sasl_security_options = noanonymous
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree: $ {data_directory} / smtpd_scache
smtpd_use_tls = tak
virtual_alias_maps = hash: / etc / postfix / virtual

postfix master config:

root @ domain: / # cat /etc/postfix/master.cf | grep ^ smtp
smtp inet n - - - - smtpd -v -o smtpd_sasl_auth_enable = tak
smtp unix - - - - - smtp

Mam nadzieję, że te dane pomogą mi ...

użytkownik2979757
źródło
W moim przypadku na Ubuntu Server 16.04 demon dovecot nie działał, wpisanie dovecot załatwiło sprawę . Podkreśla to jednak podstawowy problem polegający na tym, że nie jest uruchamiany podczas uruchamiania. Możesz przeczytać, jak go dodać tutaj: help.ubuntu.com/community/UbuntuBootupHowto
Omar Alshaker

Odpowiedzi:

27

Możesz mieć saslauthd zainstalowany, ale nie masz zainstalowanych żadnych mechanizmów. Jest to dość frustrujące i słabo odporne na błędy, IMO.

„brak odpowiednich mechanizmów SASL” dosłownie oznacza, że ​​nie może znaleźć żadnego ze swoich mechanizmów. W systemie opartym na Fedorze musisz zainstalować pakiet cyrus-sasl-plain, jeśli chcesz korzystać z mechanizmów uwierzytelniania „PLAIN” (tj. SMTP / STARTTLS).

yum install cyrus-sasl-plain

lub

apt-get install libsasl2-modules
Bill McGonigle
źródło
Wielkie dzięki! Naprawdę trudno jest znaleźć przyczynę takich problemów, a komunikaty w dziennikach nie pomagają - tylko jako słowa kluczowe w poszukiwaniu tak niesamowitych odpowiedzi. Uratowałeś mi dzień.
hgoebl
Po apt install libsasl2-devtym zadziałało na moim komputerze.
Markus Zeller
5

rozwiązanie było bardzo proste, demon SASL nie działał. /etc/init.d/saslauthd start

Jakiemuś hakerowi udało się go zamknąć raz za razem, więc ostatecznie całkowicie go zamknąłem.

użytkownik2979757
źródło
2

Najpierw spróbuj zmienić ograniczniki smtpd_recipient_restrictions na przecinki. Spacje są tutaj niepoprawne IIRC.

Następnie: Spróbuj tymczasowo wyłączyć opcję „smtpd_sasl_security_options = noanonymous”. Czy próbujesz uwierzytelnić się na serwerze imap CYRUS?

Tobias Mädel
źródło
Według strony podręcznika main.cf linux.die.net/man/5/main.cf pod smtpd_recipient_restrictions jest to: „Podaj listę ograniczeń, oddzielając je przecinkami i / lub białymi znakami”. Tylko białe spacje jako separator są w porządku.
Pete,