Postfix Mailgateway rspamd: Unterschied zwischen den Versionen
(→SPF) |
|||
| (18 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 13: | Zeile 13: | ||
=Auf dem MAILGW= | =Auf dem MAILGW= | ||
| + | ==Anpassen der VM== | ||
| + | {| class="wikitable" style="background-color: #f2f2f2;" | ||
| + | ! Parameter !! Wert !! Erläuterung | ||
| + | |- | ||
| + | | '''Haupspeicher''' || 4GB || Zuweisung in VirtualBox | ||
| + | |- | ||
| + | | '''Prozessoren''' || 4 || Zuweisung in VirtualBox | ||
| + | |} | ||
| + | |||
==Netzkonfiguration== | ==Netzkonfiguration== | ||
{| class="wikitable" style="background-color: #f2f2f2;" | {| class="wikitable" style="background-color: #f2f2f2;" | ||
| Zeile 42: | Zeile 51: | ||
;als kit user auf dem Host über den ProxyJump eintragen | ;als kit user auf dem Host über den ProxyJump eintragen | ||
<pre> | <pre> | ||
| − | Host mail-gw | + | Host mail-gw |
HostName 10.88.2XX.49 | HostName 10.88.2XX.49 | ||
| − | + | ProxyJump kit@fw | |
| − | |||
</pre> | </pre> | ||
| Zeile 93: | Zeile 101: | ||
inet_interfaces = all | inet_interfaces = all | ||
| − | # Kein finaler Empfaenger | + | # Kein finaler Empfaenger - der Gateway speichert keine Mailboxen |
mydestination = | mydestination = | ||
mailbox_size_limit = 0 | mailbox_size_limit = 0 | ||
recipient_delimiter = + | recipient_delimiter = + | ||
| − | # Relay | + | # Relay - nur fuer die eigene Domain weiterleiten |
relay_domains = it2XX.int | relay_domains = it2XX.int | ||
transport_maps = hash:/etc/postfix/transport | transport_maps = hash:/etc/postfix/transport | ||
| − | # | + | # Nur localhost und interner Mailserver duerfen relayен - kein Open Relay |
| − | mynetworks = 127.0.0.0/8 | + | mynetworks = 127.0.0.0/8 10.88.2XX.3 |
| − | # TLS | + | # TLS - opportunistische Verschluesselung |
smtpd_tls_key_file = /etc/ssl/own.key | smtpd_tls_key_file = /etc/ssl/own.key | ||
smtpd_tls_cert_file = /etc/ssl/own.crt | smtpd_tls_cert_file = /etc/ssl/own.crt | ||
| Zeile 113: | Zeile 121: | ||
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache | smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache | ||
| + | # Relay nur fuer mynetworks erlaubt - alles andere wird abgewiesen | ||
smtpd_relay_restrictions = permit_mynetworks defer_unauth_destination | smtpd_relay_restrictions = permit_mynetworks defer_unauth_destination | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Zeile 128: | Zeile 137: | ||
* postmap /etc/postfix/transport | * postmap /etc/postfix/transport | ||
* systemctl start postfix | * systemctl start postfix | ||
| + | ===Test=== | ||
| + | ;Ist der Port 25 offen? | ||
| + | *ss -lntp | grep ":25" | ||
| + | LISTEN 0 100 0.0.0.0:25 0.0.0.0:* users:(("master",pid=1354,fd=13)) | ||
| + | ;Vom mailgw testen ob STARTTLS geht und das Zertifikat ok ist? | ||
| + | *openssl s_client -port 25 -starttls smtp -host mail-gw.it213.int | ||
==Rspamd und ClamAV== | ==Rspamd und ClamAV== | ||
| Zeile 138: | Zeile 153: | ||
;Pakete installieren | ;Pakete installieren | ||
* apt install rspamd clamav-daemon clamav-freshclam redis-server swaks | * apt install rspamd clamav-daemon clamav-freshclam redis-server swaks | ||
| − | |||
| − | |||
| − | |||
===Redis-Anbindung=== | ===Redis-Anbindung=== | ||
| Zeile 176: | Zeile 188: | ||
* vi /etc/rspamd/override.d/antivirus.conf | * vi /etc/rspamd/override.d/antivirus.conf | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
| + | # Antivirus-Modul aktivieren | ||
enabled = true; | enabled = true; | ||
| + | |||
clamav { | clamav { | ||
| + | # ClamAV als Virenscanner | ||
type = "clamav"; | type = "clamav"; | ||
| + | |||
| + | # Symbol das gesetzt wird wenn ein Virus gefunden wurde | ||
symbol = "CLAM_VIRUS"; | symbol = "CLAM_VIRUS"; | ||
| + | |||
| + | # Verbindung zum ClamAV-Daemon ueber Unix-Socket | ||
servers = "/var/run/clamav/clamd.ctl"; | servers = "/var/run/clamav/clamd.ctl"; | ||
| + | |||
| + | # Auch Text-MIME-Parts scannen (nicht nur Anhaenge) | ||
scan_text_mime = true; | scan_text_mime = true; | ||
| + | |||
| + | # Alle MIME-Teile einzeln scannen | ||
scan_mime_parts = true; | scan_mime_parts = true; | ||
| + | |||
| + | # Auch sehr kleine Dateien scannen (kein Mindest-Limit) | ||
min_size = 0; | min_size = 0; | ||
| + | |||
| + | # Auch Mails ohne Authentifizierung scannen | ||
scan_unauthenticated = true; | scan_unauthenticated = true; | ||
| + | |||
| + | # Streaming-Modus - Mail wird direkt waehrend Empfang gescannt | ||
stream = true; | stream = true; | ||
| + | |||
| + | # Score von 20 bei Fund - reicht alleine fuer reject (Schwelle 15) | ||
score = 20.0; | score = 20.0; | ||
} | } | ||
| Zeile 202: | Zeile 233: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
enabled = true; | enabled = true; | ||
| + | |||
| + | # Mails aus RFC1918-Netzen signieren (interner Mailserver) | ||
| + | sign_local = true; | ||
| + | |||
| + | # Eingehende Mails von externen Servern nicht signieren | ||
| + | sign_inbound = false; | ||
| + | |||
| + | # cgp.inc Override aufheben - keine Einschränkung auf bestimmte Absender-IPs | ||
| + | sign_networks = null; | ||
| + | |||
| + | # Kein automatisches Key-Suchen fuer fremde Domains | ||
| + | try_fallback = false; | ||
| + | |||
domain { | domain { | ||
it2XX.int { | it2XX.int { | ||
| Zeile 217: | Zeile 261: | ||
Der Inhalt sieht etwa so aus: | Der Inhalt sieht etwa so aus: | ||
<pre> | <pre> | ||
| − | mail._domainkey | + | mail._domainkey IN TXT ( "v=DKIM1; k=rsa;" |
| + | "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCZ4/BH9cECEbzP5u9jxrKMN6NrA7JAEGEKrrvDvk3pXCqGdQNQLopzk0T+TVwbOg5sKzwcbCjpfepLYFSSVZ1ov0SvDOuajlUHqZCUSfIf70sRnwuswVk/YjBe+Pymt/gf2xwjk2rQO0KENU413mzZSVTNYzKAAZtnpnG1prp/XQIDAQAB" ) ; | ||
</pre> | </pre> | ||
| Zeile 228: | Zeile 273: | ||
Am Ende muss die Zone neu signiert werden (DNSSEC). | Am Ende muss die Zone neu signiert werden (DNSSEC). | ||
| + | ==Wir wechseln gleich in /var/cache/bind== | ||
| + | *cd /var/cache/bind | ||
==A-Record== | ==A-Record== | ||
;Der A-Record zeigt auf das Gateway | ;Der A-Record zeigt auf das Gateway | ||
| Zeile 234: | Zeile 281: | ||
mail-gw IN MX A 10.88.2XX.49 | mail-gw IN MX A 10.88.2XX.49 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | |||
==MX-Record== | ==MX-Record== | ||
| Zeile 274: | Zeile 320: | ||
* vi /var/cache/bind/it2XX.int | * vi /var/cache/bind/it2XX.int | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
| − | mail._domainkey | + | mail._domainkey IN TXT ( "v=DKIM1; k=rsa;" |
| + | "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCZ4/BH9cECEbzP5u9jxrKMN6NrA7JAEGEKrrvDvk3pXCqGdQNQLopzk0T+TVwbOg5sKzwcbCjpfepLYFSSVZ1ov0SvDOuajlUHqZCUSfIf70sRnwuswVk/YjBe+Pymt/gf2xwjk2rQO0KENU413mzZSVTNYzKAAZtnpnG1prp/XQIDAQAB" ) ; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Zeile 326: | Zeile 373: | ||
==Loggen== | ==Loggen== | ||
;Wir loggen auf dem mail-gw | ;Wir loggen auf dem mail-gw | ||
| − | *journalctl -f -u postfix - | + | *journalctl -f -u postfix |
| + | *tail -f /var/log/rspamd/rspamd.log | ||
;Wir loggen auf dem mail | ;Wir loggen auf dem mail | ||
*journalctl -u postfix -f | *journalctl -u postfix -f | ||
| + | ==Auf dem Management Rechner== | ||
| + | *sudo apt install swaks | ||
==Testmail senden== | ==Testmail senden== | ||
| Zeile 353: | Zeile 403: | ||
*curl -o /tmp/eicar.com https://secure.eicar.org/eicar.com | *curl -o /tmp/eicar.com https://secure.eicar.org/eicar.com | ||
*swaks --to martha@it2XX.int --server mail-gw.it2XX.int --attach /tmp/eicar.com | *swaks --to martha@it2XX.int --server mail-gw.it2XX.int --attach /tmp/eicar.com | ||
| + | ==Webinterface aufrufen== | ||
| + | ;Wir kontrollieren das Webinterface ob etwas protokoliiert wurde | ||
| + | *http://10.88.2XX.49:11334 | ||
=Ports und Dienste= | =Ports und Dienste= | ||
Aktuelle Version vom 8. Juni 2026, 16:52 Uhr
Ziel
In dieser Übung wird ein Mailgateway (mail-gw.it2XX.int) in der DMZ eingerichtet. Es übernimmt folgende Aufgaben:
- Annahme eingehender Mails von außen (Port 25)
- Weiterleitung an den internen Mailserver (mail.it2XX.int)
- Spamfilterung und Virenscanning mit Rspamd und ClamAV
- DKIM-Signierung ausgehender Mails
- SPF- und DMARC-Validierung
Die Architektur sieht wie folgt aus:
Internet → mail-gw.it2XX.int [Postfix + Rspamd + ClamAV] → mail.it2XX.int [Postfix + Dovecot] → LAN [Clients]
Auf dem MAILGW
Anpassen der VM
| Parameter | Wert | Erläuterung |
|---|---|---|
| Haupspeicher | 4GB | Zuweisung in VirtualBox |
| Prozessoren | 4 | Zuweisung in VirtualBox |
Netzkonfiguration
| Parameter | Wert | Erläuterung |
|---|---|---|
| Netzwerk (NIC) | DMZ | Interface-Zuweisung in VirtualBox |
| IP | 10.88.2XX.49 | Statische IP |
| CIDR | 24 | Classless Inter-Domain Routing Präfixlänge |
| GW | 10.88.2XX.1 | GATEWAY |
| NS | 10.88.2XX.21 | Resolver |
| FQDN | mail-gw.it2XX.int | Fully Qualified Domain Name |
| SHORT | mail-gw | Short Name |
| DOM | it2XX.int | Domain Name |
- Anpassen des Templates
oder
- debian-setup.sh -f mail-gw.it2XX.int -a 10.88.2XX.49/24 -g 10.88.2XX.1 -n 10.88.2XX.21
Einfügen in die ~/.ssh/config
- als kit user auf dem Host über den ProxyJump eintragen
Host mail-gw HostName 10.88.2XX.49 ProxyJump kit@fw
Vorab das Zertifikat
- Der FQDN lautet mail-gw.it2XX.int
Postfix als Relay
Warum kein "Internet Site"?
Bei der Postfix-Installation wählen wir No configuration, da der mail-gw kein finaler Empfänger ist. Er nimmt Mails an und leitet sie weiter – er speichert keine Mailboxen. Die komplette Konfiguration erfolgt manuell.
Installation
- Postfix installieren
- apt install postfix
- no configuration
Konfiguration
- Wichtige Parameter im Überblick
| Parameter | Bedeutung |
|---|---|
mydestination = |
Leer – der Gateway ist für keine Domain finaler Empfänger |
relay_domains |
Domains für die Mails weitergeleitet werden |
transport_maps |
Definiert wohin die Mail für welche Domain geht |
mynetworks |
Nur localhost darf Mails einliefern (kein Open Relay) |
smtpd_relay_restrictions |
Verhindert Missbrauch als Open Relay |
- Konfigurationsdatei anlegen
- vi /etc/postfix/main.cf
compatibility_level = 3.9
myhostname = mail-gw.it2XX.int
myorigin = /etc/mailname
mydomain = it2XX.int
smtpd_banner = $myhostname ESMTP $mail_name (Debian)
biff = no
inet_protocols = ipv4
inet_interfaces = all
# Kein finaler Empfaenger - der Gateway speichert keine Mailboxen
mydestination =
mailbox_size_limit = 0
recipient_delimiter = +
# Relay - nur fuer die eigene Domain weiterleiten
relay_domains = it2XX.int
transport_maps = hash:/etc/postfix/transport
# Nur localhost und interner Mailserver duerfen relayен - kein Open Relay
mynetworks = 127.0.0.0/8 10.88.2XX.3
# TLS - opportunistische Verschluesselung
smtpd_tls_key_file = /etc/ssl/own.key
smtpd_tls_cert_file = /etc/ssl/own.crt
smtpd_tls_security_level = may
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# Relay nur fuer mynetworks erlaubt - alles andere wird abgewiesen
smtpd_relay_restrictions = permit_mynetworks defer_unauth_destination
Mailname setzen
- echo mail-gw.it2XX.int > /etc/mailname
Mailrouting
- Warum eckige Klammern?
Die eckigen Klammern um [mail.it2XX.int] verhindern einen MX-Lookup.
Postfix liefert die Mail direkt an diesen Host – ohne DNS-Umweg über den MX-Record.
- Transport-Map anlegen und aktivieren
- echo "it2XX.int smtp:[mail.it2XX.int]:25" > /etc/postfix/transport
- postmap /etc/postfix/transport
- systemctl start postfix
Test
- Ist der Port 25 offen?
- ss -lntp | grep ":25"
LISTEN 0 100 0.0.0.0:25 0.0.0.0:* users:(("master",pid=1354,fd=13))
- Vom mailgw testen ob STARTTLS geht und das Zertifikat ok ist?
- openssl s_client -port 25 -starttls smtp -host mail-gw.it213.int
Rspamd und ClamAV
Warum auf dem Gateway?
Spam- und Virenfilterung gehört auf den Gateway – nicht auf den Mailserver. Schädliche Mails werden abgewiesen bevor sie den internen Mailserver überhaupt erreichen. Der Mailserver bleibt sauber und hat weniger Last.
Installation
- Pakete installieren
- apt install rspamd clamav-daemon clamav-freshclam redis-server swaks
Redis-Anbindung
- Redis dient als Gedächtnis für Rspamd – für Bayes-Filter, Greylisting und den ClamAV-Cache
- vi /etc/rspamd/local.d/redis.conf
servers = "127.0.0.1:6379";
Rspamd Controller absichern
- Passwort erzeugen
- rspamadm pw
- In die Controller-Konfiguration eintragen
- vi /etc/rspamd/override.d/worker-controller.inc
password = "$2$...";
bind_socket = "*:11334";
- systemctl restart rspamd
- Webinterface aufrufen
Einbinden in Postfix
- Rspamd hängt sich als Milter zwischen Empfang und Weiterleitung
Jede eingehende Mail wird erst von Rspamd geprüft, bevor Postfix sie an mail.it2XX.int weiterleitet.
- postconf -e "smtpd_milters=inet:127.0.0.1:11332"
- postconf -e "non_smtpd_milters=inet:127.0.0.1:11332"
- postfix reload
ClamAV-Anbindung
- Rspamd Antivirus-Modul konfigurieren
- vi /etc/rspamd/override.d/antivirus.conf
# Antivirus-Modul aktivieren
enabled = true;
clamav {
# ClamAV als Virenscanner
type = "clamav";
# Symbol das gesetzt wird wenn ein Virus gefunden wurde
symbol = "CLAM_VIRUS";
# Verbindung zum ClamAV-Daemon ueber Unix-Socket
servers = "/var/run/clamav/clamd.ctl";
# Auch Text-MIME-Parts scannen (nicht nur Anhaenge)
scan_text_mime = true;
# Alle MIME-Teile einzeln scannen
scan_mime_parts = true;
# Auch sehr kleine Dateien scannen (kein Mindest-Limit)
min_size = 0;
# Auch Mails ohne Authentifizierung scannen
scan_unauthenticated = true;
# Streaming-Modus - Mail wird direkt waehrend Empfang gescannt
stream = true;
# Score von 20 bei Fund - reicht alleine fuer reject (Schwelle 15)
score = 20.0;
}
- systemctl restart rspamd clamav-daemon
DKIM-Schlüssel erzeugen
- Der Public Key wird später in den DNS eingetragen – daher zuerst hier erzeugen
- mkdir -p /var/lib/rspamd/dkim
- rspamadm dkim_keygen -s mail -d it2XX.int -k /var/lib/rspamd/dkim/mail.key > /var/lib/rspamd/dkim/mail.pub
- chown -R _rspamd:_rspamd /var/lib/rspamd/dkim
- Rspamd DKIM-Signing konfigurieren
- vi /etc/rspamd/local.d/dkim_signing.conf
enabled = true;
# Mails aus RFC1918-Netzen signieren (interner Mailserver)
sign_local = true;
# Eingehende Mails von externen Servern nicht signieren
sign_inbound = false;
# cgp.inc Override aufheben - keine Einschränkung auf bestimmte Absender-IPs
sign_networks = null;
# Kein automatisches Key-Suchen fuer fremde Domains
try_fallback = false;
domain {
it2XX.int {
path = "/var/lib/rspamd/dkim/mail.key";
selector = "mail";
}
}
- systemctl restart rspamd
- Public Key für den DNS auslesen
- cat /var/lib/rspamd/dkim/mail.pub
Der Inhalt sieht etwa so aus:
mail._domainkey IN TXT ( "v=DKIM1; k=rsa;" "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCZ4/BH9cECEbzP5u9jxrKMN6NrA7JAEGEKrrvDvk3pXCqGdQNQLopzk0T+TVwbOg5sKzwcbCjpfepLYFSSVZ1ov0SvDOuajlUHqZCUSfIf70sRnwuswVk/YjBe+Pymt/gf2xwjk2rQO0KENU413mzZSVTNYzKAAZtnpnG1prp/XQIDAQAB" ) ;
!!!Wichtig!!! Diesen Wert für den nächsten Schritt notieren – er wird auf dem Nameserver eingetragen.
Auf dem Nameserver
Was muss geändert werden?
Durch den neuen Gateway muss der MX-Record auf mail-gw zeigen. Zusätzlich kommen SPF, DKIM und DMARC neu dazu. Am Ende muss die Zone neu signiert werden (DNSSEC).
Wir wechseln gleich in /var/cache/bind
- cd /var/cache/bind
A-Record
- Der A-Record zeigt auf das Gateway
- vi /var/cache/bind/it2XX.int
mail-gw IN MX A 10.88.2XX.49
MX-Record
- Der MX-Record zeigt jetzt auf den Gateway – nicht mehr direkt auf mail
- vi /var/cache/bind/it2XX.int
it2XX.int. IN MX 10 mail-gw.it2XX.int.
SPF
- SPF legt fest welche Server Mails für die Domain versenden dürfen
SPF (Sender Policy Framework) legt fest, welche Mailserver berechtigt sind, Mails für eine Domain zu versenden. Der Empfänger prüft beim Eingang ob der sendende Server in der SPF-Liste der Absenderdomain steht.
- vi /var/cache/bind/it2XX.int
it2XX.int. IN TXT "v=spf1 mx a:mail-gw.it2XX.int ~all"
| Parameter | Bedeutung |
|---|---|
v=spf1 |
SPF Version 1 |
mx |
Der MX-Eintrag der Domain ist berechtigt |
a:mail-gw.it2XX.int |
Dieser Host ist explizit berechtigt |
~all |
Alle anderen sind Softfail (verdächtig, aber nicht abgewiesen) |
-all |
Alle anderen sind Hardfail (verdächtig, wird abgewiesen) |
DKIM
- Public Key vom mail-gw auslesen und in die Zonendatei kopieren
Den folgenden Befehl auf mail-gw.it2XX.int ausführen und die Ausgabe kopieren:
- cat /var/lib/rspamd/dkim/mail.pub
- Den ausgegebenen Eintrag in die Zonendatei eintragen
- vi /var/cache/bind/it2XX.int
mail._domainkey IN TXT ( "v=DKIM1; k=rsa;"
"p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCZ4/BH9cECEbzP5u9jxrKMN6NrA7JAEGEKrrvDvk3pXCqGdQNQLopzk0T+TVwbOg5sKzwcbCjpfepLYFSSVZ1ov0SvDOuajlUHqZCUSfIf70sRnwuswVk/YjBe+Pymt/gf2xwjk2rQO0KENU413mzZSVTNYzKAAZtnpnG1prp/XQIDAQAB" ) ;
DMARC
- DMARC verbindet SPF und DKIM und legt fest was bei Fehlschlag passiert
DMARC (Domain-based Message Authentication, Reporting and Conformance) verbindet SPF und DKIM. Es legt fest was passieren soll wenn SPF oder DKIM fehlschlägt – und wer einen Bericht bekommt.
- vi /var/cache/bind/it2XX.int
_dmarc.it2XX.int. IN TXT "v=DMARC1; p=none; rua=mailto:postmaster@it2XX.int"
| Parameter | Bedeutung |
|---|---|
v=DMARC1 |
DMARC Version 1 |
p=none |
Nur beobachten, nichts abweisen (zum Einstieg) |
rua= |
Adresse für Aggregat-Reports |
!!!Wichtig!!! p=none ist nur für den Anfang. Sobald SPF und DKIM stabil laufen auf p=quarantine oder p=reject umstellen.
Zone neu signieren
- Nach jeder Änderung muss die Zone neu signiert werden
- dnssec-signzone -A -N INCREMENT -o it2XX.int -t /var/cache/bind/it2XX.int
- rndc reload
- Prüfen
- dig MX it2XX.int
- dig TXT it2XX.int
- dig TXT mail._domainkey.it2XX.int
- dig TXT _dmarc.it2XX.int
Auf dem Mailserver
Postfix einschränken
- mail.it2XX.int soll Mails nur noch vom Gateway annehmen
Bisher hat der Mailserver direkt von außen empfangen. Jetzt ist der Gateway vorgelagert – der Mailserver muss entsprechend eingeschränkt werden.
- mynetworks um mail-gw erweitern
- postconf -e "mynetworks = 127.0.0.0/8 10.88.2XX.49/32"
- postconf -e "relayhost = [mail-gw.it2XX.int]:25"
- postfix reload
- Prüfen – von außen darf kein direkter Zugriff mehr möglich sein
- postfix check
Test
Loggen
- Wir loggen auf dem mail-gw
- journalctl -f -u postfix
- tail -f /var/log/rspamd/rspamd.log
- Wir loggen auf dem mail
- journalctl -u postfix -f
Auf dem Management Rechner
- sudo apt install swaks
Testmail senden
- Einfache Testmail über den Gateway schicken
- swaks --to martha@it2XX.int --from test@it2XX.int --server mail-gw.it2XX.int
DKIM prüfen
- DKIM-Header in der Antwort prüfen
- cat /home/martha/Maildir/new/* | grep -i dkim
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=it2XX.int; s=mail;
Logs
- Postfix und Rspamd live beobachten
- journalctl -u postfix -f
- tail -f /var/log/rspamd/rspamd.log
GTUBE Spam-Test
- Standardisierte Spam-Testmail senden
- swaks --to martha@it2XX.int --server mail-gw.it2XX.int --body 'XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X'
EICAR Virus-Test
- Testmail mit EICAR-Anhang durch Rspamd scannen
- curl -o /tmp/eicar.com https://secure.eicar.org/eicar.com
- swaks --to martha@it2XX.int --server mail-gw.it2XX.int --attach /tmp/eicar.com
Webinterface aufrufen
- Wir kontrollieren das Webinterface ob etwas protokoliiert wurde
Ports und Dienste
| Dienst | Port | Protokoll |
|---|---|---|
| Postfix SMTP (eingehend) | 25 | TCP |
| Rspamd Proxy (Milter) | 11332 | TCP |
| Rspamd Worker | 11333 | TCP |
| Rspamd Controller (WebUI) | 11334 | TCP |
| Redis | 6379 | TCP |