Sophos UTM als SMTP Proxy mit AD-Anbindung
D
ie Sophos UTM (Astaro) bietet als Next Generation Firewall einen sicheren und
sehr guten SMTP-Proxy/Mailproxy, die nur in Verbindung mit einem
MX DNS Record in Verbindung mit einer festen (statischen) IP voll funktionsfähig ist. Von Konstruktionen mit DynDNS und CNAME wird dringend abgeraten.
Die Konfiguration mit Exchange 2013 und IPv4/IPv6 wird auf dieser Seite kurz beschrieben.
Für die feste Internet-IP der Sophos UTM (Astaro) wird eine Subdomain eingetragen (idR im DNS beim Websitenprovider der Mail-/Web-Domain). Diese Subdomain wird dann als MX Record ebenfalls im DNS eingetragen. Somit werden alle Mails der Maildomäne an diese Subdomain gesendet und damit an die Sophos UTM. Die UTM ist auch Smarthost für den Mailserver (z.B. Microsoft Exchange).
Vorher sollten diese Konfigurationen durchgeführt worden sein
Eigener MX (Mailexchange) & Smarthost mit fester IP
DNS Sophos UTM 9
Authentication Servers Active Directory
Userportal Sophos UTM 9
Bei der Sophos UTM wird die erste öffentliche IPv4 Adresse zum SMTP-Relay genutzt, diese sollte also für MX und Smarthost konfiguriert werden.
“Additional Addresses” kann man nicht für den MX/Smarthost nutzen.
Im Menü der UTM kann man den Mail Proxy aktivieren:
Email Protection -> SMTP |Gobal| -> SMTP proxy Status auf setzten
Simple Mode:
Eine oder mehrere Domains, gleiche Konfiguration für alle Domains, ein interner Mailserver
Profile Mode:
Mehrere Domains, verschiedene Konfiguration (z.B. für Antispam, mehrere interne Mailserver) pro Domain
Unter -> SMTP |Routing| “Domains and routing target”
werden die Maildomains eingetragen, natürlich ohne www, also nur z.B. utmfaq.de oder meineDomain.de.
Unter -> SMTP |Routing| “Route by” 'Static Host List' //Weiterleiten der Mails von extern an einen Host/Server
Unter -> SMTP |Routing| “Host list”
wird der interne Mailserver (z.B. Exchange 2013) eingetragen), mit dem kann man den Host neu anlegen.
Der Typ sollte immer Host sein, also eine feste IP Adresse haben (IPv4 und optional IPv6), z.B. so:
Um vor der Annahme der Mail zu prüfen, ob es die Empfänger E-Mail Adresse gibt, sollte man
Unter -> SMTP |Routing| “Recipient Verification” 'In Active Directoy' wählen,
Die Sophos UTM Mail Proxy (Astaro) überprüft die E-Mail Adresse am DC,
wenn der Empfänger nicht im AD gefunden wird, lehnt der Mail Proxy ab:
Wenn der DC temporär nicht verfügbar ist und die E-Mail-Adresse somit nicht überprüft werden kann,
lehnt die UTM alle eingehenden E-Mails ab. Es sollte also nur so eingerichtet werden,
wenn 2 DCs vorhanden sind und beide auch unter
Authentication SSO Authentication Servers
eingetragen sind.
Alternativ "With callout (recommend)" wählen.
.
.
Unter -> SMTP |Antivirus| 'Reject Malware during SMTP transaction' aktivieren, der Rest kann so bleiben.
Unter -> SMTP |Antispam| "Reject at SMTP Time" 'Confirmed Spam' wählen
Hinweis: RBL benutze ich auf Grund vieler falschen Listings nicht mehr, trotzdem kommt nicht mehr Spamm durch den Mailproxy als bisher. Die Anzahl der fälschlicherweise abgewiesenen Mails hat aber abgenommen.
Unter -> SMTP |Antispam| "Advanced anti-spam features" habe ich immer alles aktiviert bis auf 'Do strict RDNS checks'.
Perform SPF check' überprüft den SPF des Senders, auch bei der eigenen Domain, Anleitung zum Erstellen ist hier zu finden.
"Reject invalid HELO / missing RDNS" // HELO des Mailserver = DNS A der Sende IP und RDNS müssen stimmen, zu prüfen bei MXToolBox //Pflicht
"Do strict RDNS checks" RDNS //Nicht aktivieren
"Use Greylisting" Mails von unbekannten Servern werden verzögert angenommen //Pflicht
"Use BATV" Mailer-Blacklisten werden abgefragt //Pflicht
"Perform SPF check" //Pflicht, da der SPF auch für die eigene Domain abfragt wird
Wenn ein Sender ohne oder mit ungültigem RDNS eine Mail absetzten will sieht das im SMTP-LiveLog so aus:
utm exim-in[5488]: 2013-12-09 20:30:26 SMTP connection from [181.196.178.123]:2568 (TCP/IP connection count = 1)
utm exim-in[23513]: 2013-12-09 20:30:27 id="1003" severity="info" sys="SecureMail" sub="smtp" name="email rejected" srcip="181.196.178.123" from="bilbaofh1@google.com" to="G***@neise.de" size="-1" reason="rdns_helo" extra="RDNS missing"
utm exim-in[23513]: 2013-12-09 20:30:27 H=(google.com) [181.196.178.123]:2568 F=<bilbaofh1@google.com> rejected RCPT <G***@neise.de>: No RDNS entry for 181.196.178.123
utm exim-in[23513]: 2013-12-09 20:30:27 SMTP connection from (google.com) [181.196.178.123]:2568 closed by DROP in ACL
Wenn Intern und Extern die gleiche Domain verwendet wird (also nicht meineDomain.local für Intern, sondern für AD und Internet meineDomain.de heißen),
dann müssen SPF und DKIM auch bei dem internen DSN-Server hinterlegt werden.
Unter -> SMTP |Exceptions| werden Ausnahmen hinterlegt, bei welchen Domains, Mailservern oder Netzwerken bestimmte Antvirus, Antispam oder andere Prüfungen nicht gemacht werden.
Weitere Beispiele unter Email Protection – SMTP-Relay erlauben
Unter -> SMTP |Relaying| "Content scan for relayed (outgoing) messages" den Haken bei 'Scan relayed (outgoing) messages', so werden auch alle durch die Sophos UTM versendeten Mails auf Viren gescannt.
Unter -> SMTP |Advanced| "Advanced settings" den 'SMTP hostname' eintragen, der im MX Record eingetragen ist, also zB mx.meineDomain.de, nicht der Exchange.
Der MX kann mit auf der Seite MXToolBox.com abgefragt werden:
Der SMTP Test sollte dann den SMTP hostnamen unter 220 anzeigen:
*
Dazu RFC 5321All the greeting-type replies have the official name (the
fully-qualified primary domain name) of the server host as the first
word following the reply code. Sometimes the host will have no
meaningful name. See Section 4.1.3 for a discussion of alternatives
in these situations.Section 4.1.3:
C ircumstances; however, multiline replies are allowed for any
command.In ABNF, server responses are:
Greeting = ( "220 " (Domain / address-literal)
[ SP textstring ] CRLF ) /
( "220-" (Domain / address-literal)
[ SP textstring ] CRLF
*( "220-" [ textstring ] CRLF )
"220" [ SP textstring ] CRLF )textstring = 1*(%d09 / %d32-126) ; HT, SP, Printable US-ASCII
Reply-line = *( Reply-code "-" [ textstring ] CRLF )
Reply-code [ SP textstring ] CRLFReply-code = %x32-35 %x30-35 %x30-39
where "Greeting" appears only in the 220 response that announces that
the server is opening its part of the connection. (Other possible
server responses upon connection follow the syntax of Reply-line.)An SMTP server SHOULD send only the reply codes listed in this
document. An SMTP server SHOULD use the text shown in the examples
whenever appropriate.An SMTP client MUST determine its actions only by the reply code, not
by the text (except for the "change of address" 251 and 551 and, if
necessary, 220, 221, and 421 replies); in the general case, any text,
including no text at all (although senders SHOULD NOT send bare
codes), MUST be acceptable. The space (blank) following the reply
code is considered part of the text. Whenever possible, a receiver-
SMTP SHOULD test the first digit (severity indication) of the reply
code.The list of codes that appears below MUST NOT be construed as
permanent. While the addition of new codes should be a rare and
significant activity, with supplemental information in the textual
part of the response being preferred, new codes may be added as the
result of new Standards or Standards-Track specifications.
Consequently, a sender-SMTP MUST be prepared to handle codes not
specified in this document and MUST do so by interpreting the first
digit only.In the absence of extensions negotiated with the client, SMTP servers
MUST NOT send reply codes whose first digits are other than 2, 3, 4,
Die Meldung "SMTP Server Disconnected | Server disconnected before banner was complete" ist OK, da der Sophos UTM Mailproxy sofort die Verbindung schließt, so bald versucht wird eine Mail mit einer unbekannten Empfängeradresse zu senden -> "test@example.com". Alle anderen Meldungen sollten immer Status "OK" haben.
Mit dem Tool Worlmy können Sie sich eine Mail mit der eigenen Maildomain als Absender Adresse senden, die sollte aber bei korrekt angelegten SPF Eintrag nicht angenommen werden.
Unter -> SMTP |Advanced| "Advanced settings" die 'Postmaster address' eintragen, also postmaster@meineDomain.de, am besten eine schon vorhandene Adresse nehmen.
Ab der Version 9.3 kann man den Header der ausgehen Mails ändern, unter
Email Protection -> SMTP |Advanced| 'Header Modifications' kann man Mail Header entfernen oder hinzufügen. Sin macht es den 'Received' Eintrag zu löschen und durch einen eigenen zu ersetzten:
Danach optional wieder einen 'Recived' Eintrag ergänzen, in diesem Fall 'from mail.neise.de by utm.neise.de':
Ohne das Löschen des 'Received' Eintrages sieht der Empfänger folgende Informationen:
Received: from mail.neise.de ([2001:470:734a:1040::22]:6905) by utm.neise.de with esmtp (Exim 4.82_1-5b7a7c0-XX) (envelope-from <Gunnar@neise.de>) id 1XyguG-0003rv-2t for gunnar.n***@***.de; Wed, 10 Dec 2014 14:02:16 +0100
Received: from S-EXCHANGE-3.Neise.de (2001:470:529b:1050::126) by S-Exchange-1.Neise.de (2001:470:734a:1040::22) with Microsoft SMTP Server (TLS) id 15.0.995.29; Wed, 10 Dec 2014 14:02:12 +0100
Received: from S-EXCHANGE-3.Neise.de (2001:470:529b:1050::126) by S-Exchange-3.Neise.de (2001:470:529b:1050::126) with Microsoft SMTP Server (TLS) id 15.0.995.29; Wed, 10 Dec 2014 13:50:40 +0100
Received: from S-EXCHANGE-3.Neise.de ([fe80::a1c4:a838:b1d4:8359]) by S-Exchange-3.Neise.de ([fe80::a1c4:a838:b1d4:8359%12]) with mapi id 15.00.0995.028; Wed, 10 Dec 2014 13:50:40 +0100
Diese 4 Zeilen fehlen nach dem Setzten des Eintrages.
Wahl des TLS Zertifikats:
-> SMTP |Advanced| 'TLS settings' "TLS certificate" das entsprechende SSL Zertifikat im Dropdown Menü wählen. Im Zertifikat muss der Name mit dem des MX/Smarthost übereinstimmen, es können die gleichen Zertifikate wie z.B. für Webserver genommen werden.
In diesem Fall habe ich ein Wildcard Zertifkate von StartSSL.com genommen, welches ich auch für den Webserver und Owa verwende. Auf der Seite CheckTLS.com kann man das verwendete Zertifikat überprüfen lassen: Das Ergebnis sollte dann so aussehen:
Quarantine Report
Die Sophos UTM speichert als Spamm erkannte Mails, darüber kann der User per Report informiert werden:
Email Protection -> Quarantine Report 'Quarantine Report status' = enable
Die Email sieht dann so aus:
.
.
Hilfe gefunden? Laden Sie mich auf ein Bier ein! (click on Beck's)
.
.
SMTP - QoS
Des weiteren sollte eine QoS Regel für SMTP angelegt werden, damit eine ausgehende grösser Mail nicht den kompletten Upload blockiert, der bei DSL teilweise sehr gering ist:
Dazu muss auf dem WAN Interface QoS aktiviert werden:
Interfaces & Routing -> Quality of Service (QoS) |Status| auf 'enable' setzten
Danach legt man unter
Interfaces & Routing -> Quality of Service (QoS) |Traffic Selectors|
einen 'New Traffic Selector...' an:
Name: 'SMTP out'
Selector Type: 'Application Selector'
Source: Any
Destination: Internet IPv4 und/oder Internet IPv6
Control by: 'Applications'
Control these Applications: Als Application SMTP wählen
Danach abspeichern.
Dann unter
Interfaces & Routing -> Quality of Service (QoS) |Bandwidth Pools|
Interface wählen -> Bound to Interface: WAN (DSL/KabelProvider)
New Bandwidth Pool...
Name: SMTP out Bandwidth (kbit/s): 128 (das ist das Minimum, was immer freigehalten wird)
Specify upper bandwidth limit - Limit (kbit/s): 512 (das ist das Maximum, also die Begrenzung)
Traffic selectors: SMTP out
Dieses Beispiel wäre eine mögliche Konfiguration wenn man eine DSL 20.000 Leitung hat mit 4 M/Bit Upload, bei einem Kabelprovider mit z.B. 5 M/Bit Upload kann man die Werte höher setzten:
Name: SMTP out Bandwidth (kbit/s): 1024 (das ist das Minimum, was immer freigehalten wird)
Specify upper bandwidth limit - Limit (kbit/s): 2048 (das ist das Maximum, also die Begrenzung)
Traffic selectors: SMTP out
Data Loss Protection
Neu in der Version 9.2 ist die Data Protection für Email, die Mail und Anhänge nach bestimmten Mustern und Keywörtern prüft und Mail dann nach bestimmen Kreterien blockiert.
Folgende Daten können für Deutsch kontrolliert werden :
International Bank Account Numbers [Global]
Bank routing numbers with qualifying terms [Global]
Bank account details near personally identifiable information [Global]
Credit or debit card numbers near personally identifiable information [Global]
National identification numbers near personally identifiable information [Global]
Moderately sensitive content marker [Global]
Sensitive content marker [Global]
Highly sensitive content marker [Global]
Confidential document markers [Global]
Email addresses [Global]
National identification numbers with qualifying terms [Global]
Passport details [Global]
Telephone numbers [Global]
Credit or debit card numbers with qualifying terms [Global]
Credit or debit card numbers [Global]
Combination of personally identifiable information [Global]
CUSIP identifier
Credit card magnetic track 1
Credit card magnetic track 2
Mit aktivierter Data Protection ist es nicht möglich, das Sophos UTM Manual per Mail zu versenden, die UTM schreibt dem Absender:
Dear Sender,
Your email has been rejected and is not delivered to the recipient. The system identified that you were sending confidential email and this does not comply with the corporate policy.
If you have received this email in error, please contact your Administrator.
Yours Sincerely,
IT Team
Die Data Protection scheint nicht ganz ausgereift zu sein, wer dennoch aktivieren möchte:
Email Protection -> SMTP |Data Protection|
Als Ergänzung zu der Email Protection/dem SMTP Proxy sollten Sie noch
Email Protection – SMTP-Relay erlauben
Sophos UTM 9 Email Protection & DomainKeys Identified Mail DKIM
SPF – MX & Sender Policy Framework
DMARC
Sophos UTM Email Protection & Exchange 2013 IPv6
IPv6 Smarthost & MX mit RDNS / PTR
konfigurieren
Münster AD 2013