Ich habe einen Postfix/Courier Mailserver (authentifiziert mit SASL/MySQL) alles gemäßdieses Tutorial. Ich betreibe meinen Server derzeit unter Debian 6, es ist ein VPS. Soweit ich sehe, funktioniert er gut, aber ich kann anscheinend keine Authentifizierung für das Senden eingehender E-Mails verlangen. Wenn ich eine E-Mail aus Outlook mit deaktivierter SMTP-Authentifizierung an mich selbst sende, passiert alles und ich werde nicht abgelehnt. Das Protokoll auf dem Server sagt mir Folgendes:
Dec 19 09:39:33 new postfix/smtpd[20439]: connect from unknown[****]
Dec 19 09:39:33 new postfix/smtpd[20439]: 7FF1E469840: client=unknown[****]
Dec 19 09:39:33 new postfix/cleanup[20444]: 7FF1E469840: message-id=<000c01cefc31$41319a90$c394cfb0$@email@mydomain>
Dec 19 09:39:33 new postfix/qmgr[20429]: 7FF1E469840: from=<email@mydomain>, size=2730, nrcpt=1 (queue active)
Dec 19 09:39:33 new postfix/virtual[20445]: 7FF1E469840: to=<email@mydomain>, relay=virtual, delay=0.49, delays=0.4/0.08/0/0.01, dsn=2.0.0, status=sent (delivered to maildir)
Dec 19 09:39:33 new postfix/qmgr[20429]: 7FF1E469840: removed
Dec 19 09:39:36 new postfix/smtpd[20439]: disconnect from unknown[****]
****
gibt die IP-Adresse des E-Mail-Clients an
Wenn ich jedoch versuche, eine E-Mail an eine externe Domäne zu senden, beispielsweise eine Gmail-Adresse, wird die E-Mail wie erwartet abgelehnt und zurückgesendet:
Your message did not reach some or all of the intended recipients.
Subject:
Sent: 19/12/2013 9:49 a.m.
The following recipient(s) cannot be reached:
'[email protected]' on 19/12/2013 9:49 a.m.
Server error: '554 5.7.1 <[email protected]>: Relay access denied'
Das Protokoll spuckt auch einiges über abgelehnte Authentifizierungen aus (was zu erwarten war)
Dec 19 09:48:34 new postfix/smtpd[20449]: connect from unknown[****]
Dec 19 09:48:34 new postfix/smtpd[20449]: NOQUEUE: reject: RCPT from unknown[****]: 554 5.7.1 <[email protected]>: Relay access denied; from=<email@mydomain> to=<[email protected]> proto=ESMTP helo=<MyPC>
Dec 19 09:48:36 new postfix/smtpd[20449]: disconnect from unknown[****]
Wenn ich die SMTP-Authentifizierung in meinem E-Mail-Client (Outlook) aktiviere, funktioniert alles wie erwartet. Findet tatsächlich eine Authentifizierung statt, die ich nicht sehe, oder fungiert dies als offenes Relay für interne E-Mails? Wie erzwinge ich in diesem Fall die Authentifizierung für alle E-Mails?
Meine main.cf ist:
relayhost =
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_protocols = all
broken_sasl_auth_clients = yes
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /home/vmail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
virtual_create_maildirsize = yes
virtual_maildir_extended = yes
virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = "The user you are trying to reach is over quota."
virtual_overquota_bounce = yes
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
Antwort1
Ihr Server ist kein offenes Relay. Er ist so eingerichtet, dass er drei verschiedene Arten von E-Mails zulässt:
- E-Mails von beliebigen Personen im InternetZuAdressen innerhalb Ihrer eigenen Domain
- Mails, die von Ihrem eigenen Mailserver stammen (z. B. Benachrichtigungen von Cron-Jobs und dergleichen), an irgendjemanden im Internet
- E-Mails, die über eine authentifizierte Verbindung an eine beliebige Person im Internet gesendet werden
Wenn die E-Mail mit keinem der oben genannten Kriterien übereinstimmt, wird sie vom Mailserver abgelehnt, selbst wenn der Spammer als Absenderadresse eine falsche Adresse in Ihrer Domäne angibt.
Antwort2
Gibt es tatsächlich eine Authentifizierung, die ich nicht sehe?
Ja
oder fungiert dies als offenes Relay für interne E-Mails?
Nein, da Ihnen der Zugriff verweigert wird
Wie erzwinge ich in diesem Fall eine Authentifizierung für alle E-Mails?
Du zwingst es jetzt
Telnet für Ihren E-Mail-Server
telnet ipaddress 25