ubuntuusers.de

530 5.7.0 Must issue a STARTTLS command first

Status: Ungelöst | Ubuntu-Version: Ubuntu 20.04 (Focal Fossa)
Antworten |

hume1991

Anmeldungsdatum:
18. Juni 2014

Beiträge: 30

Wohnort: Bayern

Hallo zusammen,

auf den VServer läuft Postfix und wann ich als root versuche per telnet port 587 eine E-Mail zu versenden erhalte ich: 530 5.7.0 Must issue a STARTTLS command first. Also mein Ziel ist es alles komplett zu verschlüsseln, auch den Port 25, ich habe ein gültiges Zertifikat erstellt über Lets-Encrypt über Cerbot Standalone. Das unter main.cf eingebunden. Ich habe die Domain aufgrund von Werbung etc. entfernt. Nur die Domain wurde entfernt, ansonsten sind alle Daten korrekt so wie dargestellt. Das ganze sollte dann über Dovecot laufen habe gelesen meine derzeitige Version würde sasl mit dovecot unterstützen, also benötige ich kein Cyrus?

master.cf

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#
# 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://www.postfix.org/master.5.html).
#
# 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
#smtps     inet  n       -       y       -       -       smtpd
#  -o syslog_name=postfix/smtps
#  -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=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
#628       inet  n       -       y       -       -       qmqpd
pickup    unix  n       -       y       60      1       pickup
cleanup   unix  n       -       y       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
#qmgr     unix  n       -       n       300     1       oqmgr
tlsmgr    unix  -       -       y       1000?   1       tlsmgr
rewrite   unix  -       -       y       -       -       trivial-rewrite
bounce    unix  -       -       y       -       0       bounce
defer     unix  -       -       y       -       0       bounce
trace     unix  -       -       y       -       0       bounce
verify    unix  -       -       y       -       1       verify
flush     unix  n       -       y       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       y       -       -       smtp
relay     unix  -       -       y       -       -       smtp
        -o syslog_name=postfix/$service_name
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       y       -       -       showq

main.cf

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# 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 (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://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
# fresh installs.
compatibility_level = 2



# TLS parameters
smtpd_tls_cert_file=/etc/letsencrypt/live/domain/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/domain/privkey.pem
smtpd_tls_security_level=encrypt

smtp_tls_CApath=/etc/ssl/certs
smtp_tls_security_level=encrypt
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache


smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = host.domain
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 51200000
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
home_mailbox = Maildir/
mailbox_command =
smtpd_use_tls = yes

DJKUhpisse Team-Icon

Supporter, Wikiteam
Avatar von DJKUhpisse

Anmeldungsdatum:
18. Oktober 2016

Beiträge: 18229

Wohnort: in deinem Browser, hier auf dem Bildschirm

auf den VServer läuft Postfix und wann ich als root versuche per telnet port 587 eine E-Mail zu versenden erhalte ich: 530 5.7.0 Must issue a STARTTLS command first. Also mein Ziel ist es alles komplett zu verschlüsseln, auch den Port 25

Wenn du es so einstellst, dass auch Port 25 das braucht MUSS der Client TLS nutzen. Tut er das? Wenn du normales Telnet nutzt und nicht manuell STARTTLS sagst passiert das nicht. Du musst halt dann manuell den kompletten TLS-Prozess im Terminal tippen, wenn du testen willst.

Wenn das ein Server ist, der Mails von extern empfangen soll muss dir klar sein, dass es Situationen geben wird, in denen die Gegenstelle kein TLS kann/will und daher nicht einliefern kann.

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5584

hume1991 schrieb:

auf den VServer läuft Postfix und wann ich als root versuche per telnet port 587 eine E-Mail zu versenden erhalte ich: 530 5.7.0 Must issue a STARTTLS command first.

telnet ist plaintext. Wenn du STARTTLS machen willst, hilft openssl s_client -connect example.com:587 -starttls smtp.

Also mein Ziel ist es alles komplett zu verschlüsseln, auch den Port 25,

Port 25 ist SMTP, nicht SMTPS. Du kannst dort auch STARTTLS anbieten, aber SMTPS bitte nicht, das kannst du unter 465 machen.

Das ganze sollte dann über Dovecot laufen habe gelesen meine derzeitige Version würde sasl mit dovecot unterstützen, also benötige ich kein Cyrus?

Richtig. Dovecot und Postfix machen SASL miteinander.

hume1991

(Themenstarter)

Anmeldungsdatum:
18. Juni 2014

Beiträge: 30

Wohnort: Bayern

DJKUhpisse schrieb:

auf den VServer läuft Postfix und wann ich als root versuche per telnet port 587 eine E-Mail zu versenden erhalte ich: 530 5.7.0 Must issue a STARTTLS command first. Also mein Ziel ist es alles komplett zu verschlüsseln, auch den Port 25

Wenn du es so einstellst, dass auch Port 25 das braucht MUSS der Client TLS nutzen. Tut er das? Wenn du normales Telnet nutzt und nicht manuell STARTTLS sagst passiert das nicht. Du musst halt dann manuell den kompletten TLS-Prozess im Terminal tippen, wenn du testen willst.

Wenn das ein Server ist, der Mails von extern empfangen soll muss dir klar sein, dass es Situationen geben wird, in denen die Gegenstelle kein TLS kann/will und daher nicht einliefern kann.

Kann man das nur auf den Port 587 berschränken? Welche Möglichkeiten gibt es den das zu Prüfen ob alles seine Richtigkeit hat?

Frage bezüglich Prüfung hat sich von sebix erledigt.

EDIT: 16:18

DJKUhpisse Team-Icon

Supporter, Wikiteam
Avatar von DJKUhpisse

Anmeldungsdatum:
18. Oktober 2016

Beiträge: 18229

Wohnort: in deinem Browser, hier auf dem Bildschirm

Kann man das nur auf den Port 587 berschränken? Welche Möglichkeiten gibt es den das zu Prüfen ob alles seine Richtigkeit hat?

Bestimmt geht das, aber ich nutze kein Postfix.

Soll denn POrt25 bei dir Mails von außerhalb aus dem Internet annehmen?

hume1991

(Themenstarter)

Anmeldungsdatum:
18. Juni 2014

Beiträge: 30

Wohnort: Bayern

Mhm, sollte man dann alles auf may belassen?

Habe jetzt main.cf auf may gestellt und master.cf Somit müsste eigentlich nur der Port 587 verschlüsselt erzwungen werden, ist das korrekt?

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
#
# 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://www.postfix.org/master.5.html).
#
# 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

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5584

hume1991 schrieb:

Mhm, sollte man dann alles auf may belassen?

smtpd_tls_security_level=may in der main.cf (bzw nur fuer smtp in der master ginge auch, ist aber unuebersichtlicher), ja. fuer submission den Parameter encrypt setzen, wobei smtpd_tls_auth_only=yes schon selbiges Verhalten enforced. Grundsaetzlich bist du aber sicher auf dem richtigen Weg.

hume1991

(Themenstarter)

Anmeldungsdatum:
18. Juni 2014

Beiträge: 30

Wohnort: Bayern

sebix schrieb:

hume1991 schrieb:

Mhm, sollte man dann alles auf may belassen?

smtpd_tls_security_level=may in der main.cf (bzw nur fuer smtp in der master ginge auch, ist aber unuebersichtlicher), ja. fuer submission den Parameter encrypt setzen, wobei smtpd_tls_auth_only=yes schon selbiges Verhalten enforced. Grundsaetzlich bist du aber sicher auf dem richtigen Weg.

Guten Abend Sebix,

smtpd ist für eingehende und smtp für ausgehende E-Mails zur Verständnis oder kann man smtpd und smtp noch anders verstehen? Dann würde ich verstehen, dass smtp wenn ich may angebe zwar verschlüsselt gesendet werden kann, wenn möglich, aber nicht muss, sollte der Wert dann nicht auf encrypt gesetzt werden?

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5584

hume1991 schrieb:

sebix schrieb:

hume1991 schrieb:

Mhm, sollte man dann alles auf may belassen?

smtpd_tls_security_level=may in der main.cf (bzw nur fuer smtp in der master ginge auch, ist aber unuebersichtlicher), ja. fuer submission den Parameter encrypt setzen, wobei smtpd_tls_auth_only=yes schon selbiges Verhalten enforced. Grundsaetzlich bist du aber sicher auf dem richtigen Weg.

Guten Abend Sebix,

smtpd ist für eingehende und smtp für ausgehende E-Mails zur Verständnis oder kann man smtpd und smtp noch anders verstehen?

Ja und nein. In der master.cf sind die Daemonen aufgelistet, smtp in dem Kontext ist also smtpd, weil es sich auf den Port bezieht.

Dann würde ich verstehen, dass smtp wenn ich may angebe zwar verschlüsselt gesendet werden kann, wenn möglich, aber nicht muss, sollte der Wert dann nicht auf encrypt gesetzt werden?

Willst du beim Versenden (an Dritte) STARTTLS/TLS enforcen? Dann ja (smtp_tls_security_level=encrypt). Ich hatte vorher smtpd_tls_security_level geschrieben, weil ich eingehenden Traffic annahm, da ergibt auch weiterhin may Sinn.

Mich wuerde sehr interessieren, ob das enforcen von TLS ausgehend in der Praxis gut klappt!

hume1991

(Themenstarter)

Anmeldungsdatum:
18. Juni 2014

Beiträge: 30

Wohnort: Bayern

Hallo sebix,

das müsste man austesten ob das mit der Verschlüsselung ausgehend dauheraft funktonieren würde.

Derzeit scheitert es aber eher an Dovecot, das Verständnis zwischen Benutzer und Passwort ist mir nicht ganz klar, welche Datei angesprochen werden sollte, derzeit bearbeite ich conf.d, obwohl auch conf. exisitert, wie sollte man da jetzt am besten Vorgehen?

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5584

hume1991 schrieb:

Derzeit scheitert es aber eher an Dovecot, das Verständnis zwischen Benutzer und Passwort ist mir nicht ganz klar, welche Datei angesprochen werden sollte, derzeit bearbeite ich conf.d, obwohl auch conf. exisitert, wie sollte man da jetzt am besten Vorgehen?

Die /etc/dovecot/dovecot.conf included die /etc/dovecot/dovecot.conf.d und /etc/dovecot/local.conf. Wo du was reinschreibst ist egal, aber ich empfehle letzteres, macht weniger/keine Probleme bei Upgrades.

hume1991

(Themenstarter)

Anmeldungsdatum:
18. Juni 2014

Beiträge: 30

Wohnort: Bayern

sebix schrieb:

hume1991 schrieb:

Derzeit scheitert es aber eher an Dovecot, das Verständnis zwischen Benutzer und Passwort ist mir nicht ganz klar, welche Datei angesprochen werden sollte, derzeit bearbeite ich conf.d, obwohl auch conf. exisitert, wie sollte man da jetzt am besten Vorgehen?

Die /etc/dovecot/dovecot.conf included die /etc/dovecot/dovecot.conf.d und /etc/dovecot/local.conf. Wo du was reinschreibst ist egal, aber ich empfehle letzteres, macht weniger/keine Probleme bei Upgrades.

Guten Abend Sebix,

ok, danke. Also ich werde Dovecot über Dovecot /etc/dovecot/users abwickeln. Nun besteht für mich die Frage ob der Auth Mechanismus Plain mit StartSSl und den Passwort Schema DIGEST-MD5 verwenden kann.

Wenn ich den Auth Mechanismus machen würde, ohne PlAIN müsste das Passwort im Klartext ohne Hash zur Verfügung stehen korrekt?

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5584

hume1991 schrieb:

sebix schrieb:

hume1991 schrieb:

Derzeit scheitert es aber eher an Dovecot, das Verständnis zwischen Benutzer 9999und Passwort ist mir nicht ganz klar, welche Datei angesprochen werden sollte, derzeit bearbeite ich conf.d, obwohl auch conf. exisitert, wie sollte man da jetzt am besten Vorgehen?

Die /etc/dovecot/dovecot.conf included die /etc/dovecot/dovecot.conf.d und /etc/dovecot/local.conf. Wo du was reinschreibst ist egal, aber ich empfehle letzteres, macht weniger/keine Probleme bei Upgrades.

Guten Abend Sebix,

ok, danke. Also ich werde Dovecot über Dovecot /etc/dovecot/users abwickeln. Nun besteht für mich die Frage ob der Auth Mechanismus Plain mit StartSSl und den Passwort Schema DIGEST-MD5 verwenden kann.

Wenn ich den Auth Mechanismus machen würde, ohne PlAIN müsste das Passwort im Klartext ohne Hash zur Verfügung stehen korrekt?

https://wiki2.dovecot.org/Authentication/Mechanisms/DigestMD5#DIGEST-MD5_scheme sagt

Password must be stored in either plaintext or with DIGEST-MD5 scheme.

Also entweder ein kompatibles Format waehlen, oder eben in Plaintext speichern.

Siehe auch https://doc.dovecot.org/configuration_manual/authentication/password_schemes/

Antworten |