• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

postfix 530 5.7.0 Must issue a STARTTLS command

Hallo,
ich habe meinen ISP gewechselt und möchte nun über dessen smtp server versenden. Leider krieg ich immer die folgende Fehlermeldung
postfix 530 5.7.0 Must issue a STARTTLS command first
Hier folgt mein main.cf file. Ich weis einfach nicht mehr weiter was ich noch umkonfigurieren kann damit das versenden wieder funktioniert
Code:
smtpd_banner=$myhostname ESMTP $mail_name (Debian/GNU)
biff=no
append_dot_mydomain=no
readme_directory=no
smtpd_tls_cert_file=/etc/ssl/certs/postfix/ca.crt
smtpd_tls_key_file=/etc/ssl/certs/postfix/ca.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database=btree:$data_directory/smtpd_tls_cache
smtp_tls_session_cache_database=btree:/var/lib/postfix/smtpd_tls_session_cache
myhostname = <maildomain>
alias_database = hash:/etc/postfix/aliases
mailbox_size_limit = 0
recipient_delimiter=+
inet_interfaces = all
zarafa_destination_recipient_limit = 1
mailbox_transport = lmtp:127.0.0.1:2003
daemon_directory = /usr/lib/postfix
myorigin = <maildomain>
smtpd_delay_reject = yes
in_flow_delay = 1s
virtual_alias_maps = hash:/etc/postfix/virtual,pcre:/etc/postfix/virtual.domains
error_notice_recipient = postmaster
delay_notice_recipient = postmaster
empty_address_recipient = postmaster
double_bounce_sender = double-bounce
mydomain=$myhostname
relayhost=[bsmtp.telekom.at]:587
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_tls_auth_only = no
smtp_sender_dependent_authentication = yes
smtp_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_tls_security_level = may
smtpd_tls_received_header = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = login, plain, digest-md5, cram-md5, !gssapi, !external, static:all
smtpd_sasl_path=smtpd
smtpd_tls_CAfile=/etc/ssl/certs/postfix/ca.csr
smtpd_tls_session_cache_timeout=3600s
bounce_service_name=bounce
bounce_size_limit=50000
bounce_notice_recipient=postmaster
message_size_limit = 0
mime_nesting_limit = 100
header_address_token_limit=10240
smtpd_reject_unlisted_recipient=yes
smtp_connection_cache_on_demand = yes
smtp_connection_cache_time_limit = 2s
smtp_connection_reuse_time_limit = 300s
connection_cache_ttl_limit = 2s
connection_cache_status_update_time = 600s
address_verify_negative_cache = yes
address_verify_negative_expire_time = 3d
address_verify_negative_refresh_time = 3h
address_verify_poll_count = 3
address_verify_poll_delay = 3s
address_verify_positive_expire_time = 31d
address_verify_positive_refresh_time = 7d
virtual_mailbox_limit = 0
smtpd_error_sleep_time = 1s
smtpd_soft_error_limit = 10
smtpd_hard_error_limit = 20
smtpd_client_connection_count_limit = 50
smtpd_client_connection_rate_limit = 0
smtpd_client_message_rate_limit = 0
smtpd_client_recipient_rate_limit = 0
smtpd_client_new_tls_session_rate_limit = 0
smtp_helo_timeout = 300s
smtp_connect_timeout = 30s
default_destination_recipient_limit = 50
smtpd_recipient_limit = 1000
queue_run_delay = 300s
minimal_backoff_time = 300s
maximal_backoff_time = 4000s
maximal_queue_lifetime = 5d
bounce_queue_lifetime = 5d
qmgr_message_recipient_limit = 20000
qmgr_message_recipient_minimum=10
default_process_limit = 100
smtpd_timeout=300
enable_original_recipient=yes
ignore_mx_lookup_error = no
disable_dns_lookups = no
smtpd_tls_ask_ccert=no
smtpd_tls_req_ccert=no
undisclosed_recipients_header=To: undisclosed-recipients:;
initial_destination_concurrency = 5
default_destination_concurrency_limit = 20
local_destination_concurrency_limit = 2
smtp_destination_concurrency_limit = 20
smtp_tls_mandatory_protocols=SSLv3,TLSv1
2bounce_notice_recipient = postmaster
smtp_send_xforward_command=yes
virtual_uid_maps=static:5000
virtual_gid_maps=static:5000
bounce_template_file = /etc/postfix/bounce.template.cf
inet_protocols = ipv4
mailman_destination_recipient_limit = 1
relay_domains = hash:/etc/postfix/relay_domains
lmtp_sasl_auth_enable=no
address_verify_map = btree:/var/lib/postfix/verify
recipient_bcc_maps = hash:/etc/postfix/recipient_bcc,pcre:/etc/postfix/copy.pcre
mynetworks = 192.168.123.0/24, 127.0.0.0/8
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,check_recipient_access hash:/etc/postfix/relay_domains_restricted,check_recipient_access hash:/etc/postfix/amavis_bypass_rcpt,reject_unauth_destination
mydestination = hash:/etc/postfix/mydestination
alias_maps = hash:/etc/postfix/aliases
sender_canonical_maps = hash:/etc/postfix/sender_canonical
smtp_generic_maps = hash:/etc/postfix/smtp_generic_maps
sender_dependent_relayhost_maps = hash:/etc/postfix/sender_dependent_relayhost
smtp_sasl_password_maps = hash:/etc/postfix/smtp_sasl_password
transport_maps = hash:/etc/postfix/transport.throttle, hash:/etc/postfix/transport, hash:/etc/postfix/transport.banned,hash:/etc/postfix/copy.transport
content_filter = 
smtpd_sasl_local_domain =
 

spoensche

Moderator
Teammitglied
Mit der Konfiguration willst du doch wohl keinen Mail-Server betreiben oder? Es fehlt jegliche Art an Sicherheitsvorkehrungen.

Sorry, aber es gibt schon genug Spamschleudern und ich unterstütze es nicht noch weitere ans Netz zu hängen.
 
OP
G

Goofy180173

Member
Vielen Dank. Ich weiß selbst, dass ich jetzt so ziemlich alles offen habe was es gibt.
Trotzdem krieg ich den Fehler nicht weg.
 

luwa

Member
Goofy180173 schrieb:
postfix 530 5.7.0 Must issue a STARTTLS command first

Deine main.cf sieht aus als ob Du jede smtp_option reingekloppt hast die Du kennst. :???:
Funktioniert nicht :schockiert: lass ich aber mal drinne.

Ich würde da erst mal aufräumen. Also alles was zu meinem Netzwerk gehört steht halt untereinander dito mit smtp und smtpd etc.!
"Must issue a STARTTLS command first" bedeutet für mich "smtp_use_tls = yes". Fehlt aber bei Dir.
Dann solltest Du auch den smtp mit den *.pem's bekannt machen. Denn smtp und smtpd ist nicht das gleiche und sowas musst Du wissen. Sonst wird es sehr schnell zur Spamschleuder.
Etwas hochwertige Literatur ist immer hilfreich. Wenn es um Sicherheit geht unverzichtbar.

Gruß luwa
 
OP
G

Goofy180173

Member
Das hilft mir schon einiges weiter.
von der command line komme ich schon mal auf den Server.
[conde]
EHLO <server>
250-<maildomain>
250-PIPELINING
250-SIZE 51200000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN DIGEST-MD5 CRAM-MD5
250-AUTH=LOGIN DIGEST-MD5 CRAM-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
STARTTLS
220 2.0.0 Ready to start TLS
quit
[/code]
Thunderbird erkennt den Server auch und möchte eine gesicherte Verbindung herstellen.
Versuche ich allerdings ein Mail auf den Server zu schicken, dann werde ich immer wieder nach dem Passwort gefragt.

bezüglich security hab ich schon folgendes eingefügt
Code:
auth_relay = check_recipient_access hash:/etc/postfix/local_domains, reject
mynetworks = 192.168.123.0/24, 127.0.0.0/8
milter_connect_macros = j _ {daemon_name} {if_name} {if_addr} {client_name} {client_addr} {client_resolve} {client_ptr}
milter_helo_macros = {tls_version} {cipher} {cipher_bits} {cert_subject} {cert_issuer}
milter_mail_macros = i {auth_type} {auth_authen} {auth_ssf} {auth_author} {mail_mailer} {mail_host} {mail_addr} {client_addr} {if_addr}
milter_rcpt_macros = {rcpt_mailer} {rcpt_host} {rcpt_addr} {client_addr} {if_addr}
milter_default_action = accept
milter_protocol = 3
milter_connect_timeout = 180
milter_command_timeout = 180
milter_content_timeout = 600
smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/unrestricted_senders,permit_sasl_authenticated,permit_auth_destination,permit_mynetworks,check_recipient_access hash:/etc/postfix/relay_domains_restricted,check_recipient_access hash:/etc/postfix/amavis_bypass_rcpt,reject_unauth_destination,permit
mydestination = hash:/etc/postfix/mydestination
 

spoensche

Moderator
Teammitglied
Bei den smtpd_recipient_restrictions musst du auf die Reihenfolge achten.

Code:
# Restrictions
smtpd_recipient_restrictions = 
# Postmaster, abuse und andere Role accounts 
	check_recipient_access hash:/etc/postfix/access_recipient-rfc,
# White- und Blacklisting
	check_client_access hash:/etc/postfix/access_client,
	#check_helo_access = btree:/etc/postfix/access_helo,
	#check_sender_access = btree:/etc/postfix/access_sender,
	#check_recipient_access = btree:/etc/postfix/access_recipient,
# Keine unsauberen Mails annehmen
	reject_non_fqdn_sender,
	reject_non_fqdn_recipient,
	reject_unknown_sender_domain, 
	reject_unknown_recipient_domain,
# Unsere User erlauben
	permit_sasl_authenticated,
	permit_mynetworks,
# RBL (Realtime Blackhole List) checken
	reject_rbl_client zen.spamhaus.org,
	reject_rbl_client ix.dnsbl.manitu.net,
	reject_rbl_client bl.spamcop.net,
	reject_rbl_client dnsbl.njabl.org,
	reject_rbl_client list.dsbl.org,
	reject_rhsbl_client blackhole.securitysage.com,
# Postgrey
	check_policy_service inet:127.0.0.1:10023,
# Greylisting checken
	reject_unverified_recipient,
#Backup MX
#	permit_mx_backup,
# Alles andere verbieten
	reject_unauth_destination,
# Wer jetzt noch ist darf durch
	permit
 
OP
G

Goofy180173

Member
Vielen Dank für den Hinweis mit der Reihenfolge.
Ich hab nun ein Log vom Thunderbird und hier sieht man, dass ich mich nicht am Server Authentifizieren kann
Code:
0[220f140]: SMTP Send: EHLO [192.168.123.25]
0[220f140]: SMTP entering state: 0
0[220f140]: SMTP Response: 250-<mailserver>
0[220f140]: SMTP entering state: 0
0[220f140]: SMTP Response: 250-PIPELINING
0[220f140]: SMTP entering state: 0
0[220f140]: SMTP Response: 250-SIZE 51200000
0[220f140]: SMTP entering state: 0
0[220f140]: SMTP Response: 250-VRFY
0[220f140]: SMTP entering state: 0
0[220f140]: SMTP Response: 250-ETRN
0[220f140]: SMTP entering state: 0
0[220f140]: SMTP Response: 250-AUTH LOGIN DIGEST-MD5 CRAM-MD5
0[220f140]: SMTP entering state: 0
0[220f140]: SMTP Response: 250-AUTH=LOGIN DIGEST-MD5 CRAM-MD5
0[220f140]: SMTP entering state: 0
0[220f140]: SMTP Response: 250-ENHANCEDSTATUSCODES
0[220f140]: SMTP entering state: 0
0[220f140]: SMTP Response: 250-8BITMIME
0[220f140]: SMTP entering state: 0
0[220f140]: SMTP Response: 250 DSN
0[220f140]: SMTP entering state: 4
0[220f140]: SMTP entering state: 21
0[220f140]: SMTP auth: server caps 0x12114, pref 0x2000, failed 0x0, avail caps 0x2000
0[220f140]: (GSSAPI = 0x800, CRAM = 0x2000, NTLM = 0x4000, MSN =  0x8000, PLAIN = 0x200, LOGIN = 0x100, EXTERNAL = 0x400)
0[220f140]: trying auth method 0x2000
0[220f140]: SMTP entering state: 16
0[220f140]: SMTP AuthLoginStep1() for ghauer@Àêô¬êô
0[220f140]: CRAM auth, step 1
0[220f140]: Logging suppressed for this command (it probably contained authentication information)
0[220f140]: SMTP entering state: 0
0[220f140]: SMTP Response: 334 PDcwOTY3NzUyLjE1NjEwNjRAbWFpbC5lbGVrdHJvaGF1ZXIuYXQ+
0[220f140]: SMTP entering state: 18
0[220f140]: SMTP Login response, code 334
0[220f140]: SMTP entering state: 17
0[220f140]: SMTP AuthLoginStep2
0[220f140]: CRAM auth, step 2
0[220f140]: Logging suppressed for this command (it probably contained authentication information)
0[220f140]: SMTP entering state: 0
0[220f140]: SMTP Response: 535 5.7.8 Error: authentication failed: authentication failure
0[220f140]: SMTP entering state: 18
0[220f140]: SMTP Login response, code 535
0[220f140]: marking auth method 0x2000 failed
0[220f140]: SMTP auth: server caps 0x12114, pref 0x2000, failed 0x2000, avail caps 0x0
0[220f140]: (GSSAPI = 0x800, CRAM = 0x2000, NTLM = 0x4000, MSN =  0x8000, PLAIN = 0x200, LOGIN = 0x100, EXTERNAL = 0x400)
0[220f140]: no auth method remaining
0[220f140]: SMTP: ask user what to do (after login failed): new password, retry or cancel
 
OP
G

Goofy180173

Member
Ich verwende Cyrus, aber Imap ist ja nicht mein Problem.
Ich habs in der Zwischenzeit so weit gebracht, dass ich zumindest per telnet über port 587 eine Verbindung zu meinem Server aufbauen und mich per Login authentifizieren kann.
Da ich nicht direkt versenden möchte hab ich jetzt smtp.a1.net:25 als relayhost eingetragen.
Wenn ich allerdings bsmtp.a1.net:587 eintrage, dann krieg ich wieder den Fehler "530 5.7.0 Must issue a STARTTLS command first"
die Einstellungen
Code:
smtpd_use_tls = yes
smtpd_auth_tls_only = yes
hab ich bereits vorgenommen
 

spoensche

Moderator
Teammitglied
Goofy180173 schrieb:
Ich verwende Cyrus, aber Imap ist ja nicht mein Problem.

Cyrus-SASL ist ein Authentifizierungslayer der vollkommen unabhängig vom Cyrus IMAP-Server ist. D.h. du kannst Cyrus SASL als SASL- Layer für den Postfix verwenden ohne einen Cyrus IMAP-Server zu betreiben.

Goofy180173 schrieb:
Ich habs in der Zwischenzeit so weit gebracht, dass ich zumindest per telnet über port 587 eine Verbindung zu meinem Server aufbauen und mich per Login authentifizieren kann.
Da ich nicht direkt versenden möchte hab ich jetzt smtp.a1.net:25 als relayhost eingetragen.
Wenn ich allerdings bsmtp.a1.net:587 eintrage, dann krieg ich wieder den Fehler "530 5.7.0 Must issue a STARTTLS command first"
die Einstellungen
Code:
smtpd_use_tls = yes
smtpd_auth_tls_only = yes
hab ich bereits vorgenommen

Gegenüber dem Relayhost verhält sich Postfix wie ein SMTP-Client. Also musst du für den SMTP-Client TLS aktivieren, wie luwa es in seinem Beitrag schon erwähnt hat.
luwa schrieb:
....
"Must issue a STARTTLS command first" bedeutet für mich "smtp_use_tls = yes". Fehlt aber bei Dir. .....
 
OP
G

Goofy180173

Member
Wer lesen kann ist klar im vorteil.
Hab jetzt die Zeile hinzugefügt und komme jetzt scheinbar etwas weiter. Scheitere aber mit folgendem Fehler
Code:
Relay access denied (in reply to RCPT TO command)
 
OP
G

Goofy180173

Member
Hab jetzt auch diesen Fehler gefunden
musste
Code:
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
auf
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
ändern.
 

spoensche

Moderator
Teammitglied
Die Reihenfolge der Restrictions stimmt nicht und für den sicheren Betrieb fehlen 3/4 der Restrictions.

permit_mynetworks bewirkt vor permit_sasl_authenticated, dass jeder Rechner aus den Netzen, die in der Variablen mynetworks definiert sind, ohne jegliche Authentifizierung e-Mails über das Relay versenden darf. Das freut doch den Spammer der vor 5 Minuten einer der Rechner mit einem Spambot infiziert hat, weil er jetzt neben dem Bot auch gleich noch ein weiteres Relay für den Versand zur Verfügung hat. Ein noch viel breiteres grinsen des Spammers entsteht durch die nicht vorhandene Abfrage von RBL Listen, wie z.B. Spamhouse.org und am meisten freut er sich darüber, dass noch nicht mal Greylisting für den Spamschutz zum Einsatz kommt.

Ich habe dir als Hilfe, fast einen vollständigen Spamschutz an die Hand gegeben und frage mich warum du ihn nicht verwendest und die Tipps beherzigst?

PS:
Ob wissentlich oder unwissentl. als Spamschleuder fungiert ist rechtl. gesehen irrelevant, weil bei beiden wegen fehlender bzw. mangelnder Schutzvorkehrungen fahrlässig gehandelt worden ist und das kann in Punkto Schadensersatz + Strafe sehr schnell richtig teuer werden.
 
OP
G

Goofy180173

Member
Nochmals vielen Dank für die Hilfe. Ich hab den Eintrag in einem anderen Forum gefunden und ausprobiert. Da diese Lösung funktioniert hat habe ich sie auch gleich hier gepostet.
Ich hab in der Zwischenzeit die Restrictions aus dem Beispiel übernommen.
Allerdings in smtpd_releay_restrictions.
Falls das nicht ausreicht bin ich für weitere Hilfe immer dankbar.
 

spoensche

Moderator
Teammitglied
Goofy180173 schrieb:
Allerdings in smtpd_releay_restrictions.

Da dein Server vermutl. Clients bedient, also den Endanwender, machen die Relay restrictions keinen Sinn, weil dein Server nur authentifizierten Benutzern den Versand erlaubt und nicht für jede x-beliebigen.

Postfix arbeitet die Restrictions wie folgt ab:

1. Sender restrictions
2. relay restrictions
3. recipient restrictions

Du packst die Restrictions also nur in die smtpd_recipient_restrictions, weil sie als letztes abgearbeitet werden und doppelte Einträge vermieden werden können.
 
OP
G

Goofy180173

Member
Wenn ich auf smtpd_recipient_restrictions ändere bekomme ich im mail.log die Fehlermeldung
Code:
/etc/postfix/maps/access_recipient-rfc.db: No such file or directory
wenn ich die Prüfung auskommentiere krieg ich die nächste
check_client_access mit der gleichen Fehlermeldung
Wie krieg ich diese weg?
 

spoensche

Moderator
Teammitglied
Du legst unter /etc/postfix das Verzeichnis maps an und anschließend legst du in diesem Verzeichnis die leeren Dateien ohne die Endung .db an. Anschließend führst du folgenden Befehl:

Code:
 postmap /etc/postfix/maps/dateiname

für jede einzelne Datei aus.

In die access_recipients_rfc solltest du allerdings die vorgeschriebenen Adressen bzw. Mappings für postmaster@deine-domain.de und abuse@deine-domain.de eintragen.
Das Mapping ist in diesem Fall eine Art Umleitung.

Beispiel:
Code:
postmaster@meine-domain.de: meine-adresse@meine-domain.de
abuse@meine-domain.de: meine-adresse@meine-domain.de
 
Oben