decehakan
Goto Top

Postfix sasl linux ubuntu funktioniert aber technische bzw. tls Fehler

Hallo Zusammen,

auf mein ubuntu server (18.04 lts, headless) läuft ein Dokumentmanagementserver DMS, der sich über dem smtp-server postfix (port 25) mit cyrus sasl authentifiziert.

Auf mein Applikation Server lege ich die Daten für den smtp-account ( username, pw, localhost:25 .... ), der verbindet sich mit postfix und ich kann über den DMS Email senden, no problem.

Jetzt, der technische Fehler, wo ich den Durchblick verlieren:

unter
/etc/postfix/main.cf
habe ich den flag
smtpd_tls_auth_only = yes
eingesetzt, aber mit dem DMS kann ich auch ohne TLS Option zum lokalen smtp-server verbinden, was eigentlich verwehrt werden sollte.

was mich noch verblüfft, über cli authentifizierung klappt gar nicht, obwohl der DMS ohne TLS Option verbinden konnte.

testsaslauthd -u noreply -p dasistsuper
connect() : No such file or directory

telnet prüfen zeigt 250-Auth ist nicht dabei.

telnet localhost:25 
ehlo localhost 
250-meinserver.com
250-PIPELINING
250-SIZE 32428800
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 SMTPUTF8

postfix version 3.3, läuft als chroot
cyrus sasl, läuft als root im Ordner
-c -m /var/spool/postfix/var/run/saslauthd
und postfix gehört zu Gruppe sasl.
TLS Zertifikat habe ich über letsencrypt gemacht.

jetzt zu Config:

saslauthd

/etc/postfix/sasl/smtpd.conf

pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
log_level: 9

/etc/default/saslauthd/
START=yes

PWDIR="/var/spool/postfix/var/run/saslauthd"  
PARAMS="-m ${PWDIR}"  
PIDFILE="${PWDIR}/saslauthd.pid"  
NAME="saslauthd"  

MECHANISMS="shadow"  
MECH_OPTIONS=""  
THREADS=5
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"  


/etc/postfix/default/main.cf
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
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

# See http:{{comment_single_line_double_slash:0}}
# fresh installs.
compatibility_level = 2

# TLS parameters
smtpd_tls_cert_file = /etc/letsencrypt/live/meinserver/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/meinserver/privkey.pem
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

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

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname =meinserver.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, localhost.$mydomain, $mydomain
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
smtpd_tls_auth_only = yes
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtp_tls_note_starttls_offer = yes
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtpd_sasl_path = smtpd
#smtpd_sasl_type = cyrus
# email anhang auf ca. 30 MB limitieren
message_size_limit = 32428800

/etc/postfix/master.cf

# Postfix master process configuration file.  For details on the format
# of the file, see the master(5) manual page (command: "man 5 master" or 
# on-line: http:{{comment_single_line_double_slash:0}}
#
# Do not forget to execute "postfix reload" after editing this file.  
#
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (no)    (never) (100)
# ==========================================================================
smtp      inet  n       -       y      -       -       smtpd
#smtp      inet  n       -       y       -       1       postscreen
#smtpd     pass  -       -       y       -       -       smtpd
#dnsblog   unix  -       -       y       -       0       dnsblog
#tlsproxy  unix  -       -       y       -       0       tlsproxy
#submission inet n       -       y       -       -       smtpd
#  -o syslog_name=postfix/submission
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
-o smtpd_tls_auth_only=yes
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=
#  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING


Vielen Dank und Viele Grüße

decehakan

Content-ID: 981657763

Url: https://administrator.de/contentid/981657763

Ausgedruckt am: 21.11.2024 um 21:11 Uhr

Dani
Dani 12.07.2021 um 17:28:40 Uhr
Goto Top
Moin,
was mir auf die Schnelle aufgefallen ist, SMTPd (SMTP over TLS server side) != SMTP (SMTP over TLS client side). Somit dürfte der Parameter smtpd_tls_auth_only nur für Ersteres gelten.

was mich noch verblüfft, über cli authentifizierung klappt gar nicht, obwohl der DMS ohne TLS Option verbinden konnte.
Was steht zu dem Zeitpunkt in Logfile von Postfix?

smtpd_tls_security_level = may
Setze es zum Testen auf den Wert encrypt. Somit müsste TLS erforderlich sein.


Gruß,
Dani
mbehrens
mbehrens 12.07.2021 um 18:04:31 Uhr
Goto Top
Zitat von @decehakan:

unter
/etc/postfix/main.cf
habe ich den flag
smtpd_tls_auth_only = yes
eingesetzt, aber mit dem DMS kann ich auch ohne TLS Option zum lokalen smtp-server verbinden, was eigentlich verwehrt werden sollte.

smtpd_tls_security_level = may

Dies dürfte der Grund sein, da die Dokumentation hierzu sagt:

With this, the Postfix SMTP server announces STARTTLS support to remote SMTP clients, but does not require that clients use TLS encryption.
decehakan
decehakan 12.07.2021 um 21:51:24 Uhr
Goto Top
smtpd_tls_security_level = encrypt gesetzt, kein Änderung des Zustand.

es funktioniert ja die authentifizierung ,keine logs bzw. postfix saslauth ...

warum das folgende nicht funtkioniert, habe ich noch nich herausgefunden .. ?

testsaslauthd -u noreply -p dasistsuper
connect() : No such file or directory

vielleicht irgendwo rechteprobleme ??
mbehrens
mbehrens 12.07.2021 um 23:59:48 Uhr
Goto Top
Zitat von @decehakan:

smtpd_tls_cert_file = /etc/letsencrypt/live/meinserver/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/meinserver/privkey.pem

Hier fallen noch die falschen Pfadangaben auf.
decehakan
decehakan 13.07.2021 um 10:01:25 Uhr
Goto Top
Also der tls ist gültig, hab es über openssl geprüft
Verification: ok und ebenso über ein mail tester: der ebenfalls bestätigt, das alles in Ordnung ist Zertifikat ptr record. Hab da auch ein Score von 8,6 von 10 Punktrn, dass meine Mails vom smtp server nicht als spam deklariert wird.
decehakan
decehakan 13.07.2021 um 13:52:28 Uhr
Goto Top
also das problem

testsaslauthd -u noreply -p dasistsuper
connect() : No such file or directory

habe ich jetzt gelöst, mit symlink auf /var/run/saslauth

und jetzt mein tls problem steht noch, wie kann ich Authentifizierung nur auf Verbindungsicherheit-Level TLS beschränken.
Dani
Dani 14.07.2021 um 23:37:42 Uhr
Goto Top
@decehakan:
smtpd_tls_security_level = encrypt gesetzt, kein Änderung des Zustand.
Danach auch den Service von Postfix neu gestartet (postfix check && postfix reload)?


Gruß,
Dani
decehakan
decehakan 15.07.2021 um 20:44:40 Uhr
Goto Top
Ja den service neugestartet und nix gebracht.
Dani
Dani 19.07.2021 um 21:33:00 Uhr
Goto Top
Moin,
ergänze den nachfolgenden Parameter in /etc/main.cf:
smtp_enforce_tls = yes


Grüße,
Dani
mbehrens
mbehrens 19.07.2021 um 23:16:44 Uhr
Goto Top
Zitat von @Dani:

ergänze den nachfolgenden Parameter in /etc/main.cf:
smtp_enforce_tls = yes

smtp_* sind doch für den ausgehenden Datenverkehr gedacht.
Des weiteren ist smtp_enforce_tls seit 2.3 deprecated und durch smtp_tls_security_level ersetzt worden.
decehakan
decehakan 23.07.2021 um 14:32:47 Uhr
Goto Top
Auch das setzen des flag smtp_tls_security_level hat zu keine Änderung geführt, kann nach wie vor ohne tls authentifizieren.