Hilfe Analyse Mailheader

fw114

Member
Ich brauche echt mal Hilfe. Irgendwie zerballer ich mir geade meine ganze config.

Wenn ich eine Mail an mich selber sende sieht der Header so aus:
Return-Path: <xxxxx@proton.me>
Delivered-To: toxxxx@xxxxen.net
Received: from lego.xxxen.net
by lego.internedomain.int with LMTP
id A3+KB1avt2ftiicAtEPwRA
(envelope-from <xxxx@proton.me>)
for <toxxx@xxxxen.net>; Thu, 20 Feb 2025 23:40:22 +0100
Received: from nemo.xxxxnn.net (nemo.internedomain.int [192.168.100.150])
by lego.xxxxxxen.net (Postfix) with ESMTPS id 391681BD0C9C
for <toxxxxx@xxxxxxen.net>; Thu, 20 Feb 2025 23:40:21 +0100 (CET)
Authentication-Results: lego.xxxxxen.net;
dkim=pass header.d=proton.me header.s=protonmail header.b=jowQk+V1;
spf=softfail (lego.xxxxxxxen.net: 192.168.100.150 is neither permitted nor denied by domain of xxxx@proton.me) smtp.mailfrom=xxxxx@proton.me;
dmarc=pass (policy=quarantine) header.from=proton.me
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=xxxxxen.net;
s=default; t=1740091221;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:mime-version:mime-version:content-type:content-type:
dkim-signature; bh=xxxxx
xxx
xxx
xx
ARC-Authentication-Results: i=1;
lego.xxxxen.net;
dkim=pass header.d=proton.me header.s=protonmail header.b=jowQk+V1;
spf=softfail (lego.xxxxxxen.net: 192.168.100.150 is neither permitted nor denied by domain of xxxxx@proton.me) smtp.mailfrom=xxxxxx@proton.me;
dmarc=pass (policy=quarantine) header.from=proton.me
ARC-Seal: i=1; s=default; d=xxxxxen.net; t=1740091221; a=rsa-sha256;
cv=none;
b=xxxxxxxxxxxxxxxxx
xxx
xxxx
xx
Received: from nemo.xxxxxen.net (localhost [127.0.0.1])
by nemo.xxxxxen.net (Proxmox) with ESMTP id ED1D3413DF
for <toxxx@xxxxen.net>; Thu, 20 Feb 2025 23:40:20 +0100 (CET)
Received-SPF: pass (proton.me: Sender is authorized to use xxxxx@proton.me' in 'mfrom' identity (mechanism 'include:_spf.protonmail.ch' matched)) receiver=nemo.xxxxxxxen.net; identity=mailfrom; envelope-from="xxxxx@proton.me"; helo=mail-106103.protonmail.ch; client-ip=79.135.106.103
Received: from mail-106103.protonmail.ch (mail-106103.protonmail.ch [79.135.106.103])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by nemo.xxxxxen.net (Proxmox) with ESMTPS
for <toxxxx@xxxxxen.net>; Thu, 20 Feb 2025 23:40:18 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
s=protonmail; t=1740091216; x=1740350416;
bh=SGBzFkuGd/8xADsN3LbeXTdSwbq1IihbS5nWzDKqmHQ=;
h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector:
List-Unsubscribe:List-Unsubscribe-Post;
b=xxxxxxxxxxxxxxxxx
Habe ich ein NAT Problem ? Das da ein wilder Mix von Interner-Domain und IP mit Public IPs in meinem Header stattfindet, ist nicht gut.
Auch in Bezug auf Anti Spam nicht.
Sehe nur gerade den Wald vor lauter Bäumen nicht mehr.
Der ISPconfig steht mit ner 192.168. hinter einer Firewall die NAT macht. Vorher hat die FIrwall den Mailproxy gemacht und alles war gut. Leider ist das hier EOL.
Jetzt gehen die Probleme los.

Wenn ich sende sieht das so aus:
Return-Path: <toxxxxx@xxxxxxen.net>

X-Original-To: xxxxx@proton.me

Delivered-To: xxxxx@proton.me

Received: from lego.xxxxxxen.net (mxxx.xxxxxxen.net [82.139.xxxx.xxx]) (using TLSv1.3

with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)

key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No

client certificate requested) by mailin029.protonmail.ch (Postfix) with ESMTPS id

4YzSmQ3YSNz9vNPV for <xxxxx@proton.me>; Thu, 20 Feb 2025 22:36:38 +0000 (UTC)

Received: from [192.168.0.31] (host.internedomain.int [192.168.0.31]) by lego.xxxen.net

(Postfix) with ESMTP id 017F71BD1AFA for <xxxx@proton.me>; Thu, 20 Feb 2025 23:36:30

+0100 (CET)

Authentication-Results: mail.protonmail.ch; dmarc=none (p=none dis=none)

header.from=xxxxxxxen.net

Authentication-Results: mail.protonmail.ch; spf=none smtp.mailfrom=xxxxen.net

Authentication-Results: mail.protonmail.ch; arc=none smtp.remote-ip=82.139.xxx.xxx

Authentication-Results: mail.protonmail.ch; dkim=none

Authentication-Results: lego.schrammen.net; dkim=none; dmarc=none; spf=softfail

(lego.xxxxxxen.net: 192.168.0.31 is neither permitted nor denied by domain of

toxxxxxx@xxxxxxxen.net) smtp.mailfrom=toxxxxx@xxxxxen.net

Message-Id: <0fbbaf58-e5cf-4a66-b4a2-f2e9d30fe4e6@xxxxxxen.net>
Ich wäre unendlich dankbar, wenn sich jemand die Zeit nehmen würde und mit mir hier einmal Licht ins dunkel bringen kann.
Danke!
 

fw114

Member
So gerade mal curl ifconfig.me

bekomme die public IP

jetzt zum testen:

smtp_header_checks = regexp:/etc/postfix/header_checks

/^Received:.*192\.168\./ IGNORE

systemctl restart postfix

immer noch private IP's im header > Hää ? WTF ?
 

fw114

Member
Wie sage ich Postfix bei ISPconfig :
/^Received:.*\(192\.168\.1\.\d+\)/ REPLACE Received: from [redacted] by mail.xxxx.net

Weil egal was mich mache, der Header wird nicht angepasst und ich habe immer die privaten IPs mit drin.
 

Till

Administrator
Das hat mit ISPConfig nichts direkt zu tun, postfix mit ISPConfig funktioniert exakt so wie Postfix ohne ISPConfig. Postfix Regex kann man z.B. so testen:

You can test your Postfix header regex without sending a full email by using the “postmap -q” command. For example, if you have a header_checks file with regex rules, you can run:

postmap -q "Subject: test email" regexp:/etc/postfix/header_checks


This command queries your regex map with the sample header line. If it matches, Postfix will output the corresponding action (for example, “REJECT” or “WARN”) defined in your header_checks file. If there’s no match, it simply returns nothing.


Steps to test your regex:


  1. Create or update your header_checks file:
    Define your regex rules as needed. For example:
    /^Subject:.*spam/ REJECT

  2. Run the postmap query:
    Replace the sample header text with the one you want to test. The command will tell you if your regex matches and what action it would trigger.
  3. Experiment with different inputs:
    Try various header examples to make sure your regex covers all intended cases, both matching and non-matching.

Using this method, you can quickly refine your header regex rules before deploying them in production.
 

fw114

Member
Egal was ich auch versuche. Die Mail Header werden nicht geändert und es bleibt immer:

Received: from lego.externe.domain
by lego.interne.domin with LMTP
id FNfwDdkVuWfBtwIAtEPwRA
(envelope-from <user@domain.com>)
for <user@domain.net>; Sat, 22 Feb 2025 01:10:01 +0100
Received: from mail.domain.net (host.interne.domain [192.168.100.1])
by lego.externe.domain (Postfix) with ESMTPS id 90AC91BCE2AA
for <usrer@domain.net>; Sat, 22 Feb 2025 01:10:00 +0100 (CET)

mein Spam Score ist fast bei 10.

Noch einer eine Idee ? Das ist doch nicht das erste mal, dass einer einen Mailserver hinter einer Firewall hat und mit privaten und public IPs arbeitet.

Ich check es nich mehr.

Biete auch Bezahlung für Lösung des Problems .
 

Till

Administrator
Hast Du denn mal geschaut warum Du so einen hohen Spam score bekommst (Rsapmd GUI)? An der lokalen IP muss das nicht nur liegen. Habe auch noch nie gesehen dass jemand so ein IP rewrite im mail Header machen musste und Mail Server hinter privaten IP's ist nicht so unüblich, auch wenn ich das persönlich nicht machen würde. In Deine Headern steht was von List-ID, wenn das eine mailingkliste ist oder ein newsletter, dann ist as eher die Ursache als Deine IP.
 

fw114

Member
Das sagt chatgpt dazu:

SPF (Sender Policy Framework)

  • SPF-Status: softfail
  • Grund: Die IP 192.168.100.1 (lokale IP) ist weder erlaubt noch verweigert für bounces.cyberghostvpn.com.
  • Interpretation: Die E-Mail wurde von einer nicht explizit autorisierten Quelle gesendet, aber SPF blockiert sie nicht sofort.
 

Till

Administrator
Richtig, nur besagt das halt nichts zu Deinem Problem, ChatGPT sagt Dir ja sogar selbst dass die IP nicht verweigert wird. Auch weiß ChatGPT weder wie Dein Server konfiguriert ist noch was Dein oder andere Server im Detail machen mit einer Email. Jetzt schau also mal nach warum Du einen 10er Score bekommst in der Rspamd GUI und poste die detaillierten Regeln und Scores die Dir Rspamd ausweist und die in der Summer einen Score von 10 ergeben.
 

fw114

Member
Das Problem ist, das bei eingehender Mail IMMER ein Spf Softfail erzeugt wird, durch die Interne Domain.
Das treibt den Score nach oben.

Zudem habe ich ( da der Server neu ist und ich noch keine Ahnung von rspamd habe) echte Probleme das auf die Reihe zu bekommen.

Ich kann gerade nicht erkennen wie und woher die Score kommt oder wie und wo ich das erkenne oder ändern kann.

Der Header ist jdefalls immer bei eingehender Mail so (Lego ist der host auf dem Ispconfig läuft):
X-Mozilla-Status: 0001 X-Mozilla-Status2: 00000000 Return-Path: <2025022211271892e19d4c980342b99eaec3b1ccc0p0eu-chk4q8tw0bis5@bounces.primevideo.com> Delivered-To: bexxxx@meineexterne.domain Received: from lego.meineexterne.domain by lego.interne.domain with LMTP id nxTnJW+2uWfnewMAtEPwRA (envelope-from <2025022211271892e19d4c980342b99eaec3b1ccc0p0eu-chk4q8tw0bis5@bounces.primevideo.com>) for <bexxxxxxx@meineexterne.domain>; Sat, 22 Feb 2025 12:35:11 +0100 Received: from mail.meineexterne.domain (host.interne.domain [192.168.100.1]) by lego.meineexterne.domain (Postfix) with ESMTPS id 2E23A1BD08C0 for <bexxxxx@meineexterne.domain>; Sat, 22 Feb 2025 12:35:10 +0100 (CET) Authentication-Results: lego.meineexterne.domain; dkim=pass header.d=primevideo.com header.s=ykhtrtjevojfofawm52v72jbswwuswc6 header.b=VQE7NHhD; dkim=pass header.d=amazonses.com header.s=uku4taia5b5tsbglxyj6zym32efj7xqv header.b=JQyW7zeA; spf=fail (lego.meineexterne.domain: domain of 2025022211271892e19d4c980342b99eaec3b1ccc0p0eu-chk4q8tw0bis5@bounces.primevideo.com does not designate 192.168.100.1 as permitted sender) smtp.mailfrom=2025022211271892e19d4c980342b99eaec3b1ccc0p0eu-chk4q8tw0bis5@bounces.primevideo.com; dmarc=pass (policy=quarantine) header.from=primevideo.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=meineexterne.domain; s=default; t=1740224110; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: list-unsubscribe:list-unsubscribe-post:dkim-signature; bh=Sc1RN7ivoPhFhDQ3TmpKMbFbkeY01YhsYFxzCK0HL48=; b=gWwgJMcz4S4kssJWiELrV6T+x9iLa+K/1hiHxSy8vA2EvoDN4FkQcM/0ZobgpEzJIYaqcx pm622KMNqlUaBixtvfdHhuhwm0yLDilF0mbM621G2gl7KDjHqFi3bcQH7qXUSpvH9p21ye 8plzaV/kWg0McATi9gLETlaCEVjzxzCRkqBFzQNB0aahDqm2D21eo15Zu/D/iBm+QEQL/3 jXdiZPFkV4VM5h5IxC2AuILWjctHG7M2gPjsKGzyXJLkxnivAYt5VsNfKkXGkMn7vVNotD aL9cArODatEj0ko9Vfa4OjZdJdDYCb4QgcT+fZy6ICXPh0MBm2+TAJWMmsavAQ== ARC-Authentication-Results: i=1; lego.meineexterne.domain; dkim=pass header.d=primevideo.com header.s=ykhtrtjevojfofawm52v72jbswwuswc6 header.b=VQE7NHhD; dkim=pass header.d=amazonses.com header.s=uku4taia5b5tsbglxyj6zym32efj7xqv header.b=JQyW7zeA; spf=fail (lego.meineexterne.domain: domain of 2025022211271892e19d4c980342b99eaec3b1ccc0p0eu-chk4q8tw0bis5@bounces.primevideo.com does not designate 192.168.100.1 as permitted sender) smtp.mailfrom=2025022211271892e19d4c980342b99eaec3b1ccc0p0eu-chk4q8tw0bis5@bounces.primevideo.com; dmarc=pass (policy=quarantine) header.from=primevideo.com ARC-Seal: i=1; s=default; d=meineexterne.domain; t=1740224110; a=rsa-sha256;
 

Werbung

Top