Beiträge von Denny

    Moin, ich habe ja nun schon fast 20 Jahre b1gmail im Einsatz, der Umstieg auf die OS Version ist bereits auf einem Projekt seit Version 7.4.1 im Einsatz.

    Leider habe ich hier ein Problem mit der Warteschlange und mit Duplikat-Meldungen die ich sowohl in 7.4 als auch in 7.2 nicht habe.

    Wie es aussieht handelt es ich hier um Bounces:

    Message duplicate for <adresse@domain.at> (494787) detected (<0100019d0667682f-1cf6b381-4b95-495c-9d83-d514a532031f-000000@email.amses.com>), processing stopped

    (mailbox.class.php:2513) Message duplicate for <adresse@domain.at> (652441) detected (<1032443376.13894.1773933754835@saved-search-application-57df9fbcd7-mk8z4>), processing stopped

    Alles bounces ca. 500 am Tag...

    Dier hängen dann auch gern mal in der Warteschleife.

    Jetzt seit Umstellung auf proxmox als Filter habe ich noch mehr Dinger in der Warteschlage kleben.

    Problem ist das b1gmailserver von außen keine Usererkennung hat


    Warteschleife sieht jetzt immer so aus, die ist nie leer, weil die bounces nicht zugestellt werden können

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.


    Er akzeptiert also erstmal jede Adresse egal ob sie existiert oder nicht.


    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Sorry wenn ich das jetzt so raushaue!

    wo muss das eingetragen werden bzw welche datei muss dafür verändert werden!

    habe nämlich den selben fehler das emails nicht angezeigt werden erst nach dem der frame aktualisiert wurde

    prüfe mal deine templates/modern/templatename/js/email.js

    Moin,


    leider nehmen die Zugriffe auf IMAP als ungeschütztes Protokoll zu, cred Angriffe werden immer zahlreicher und Passwörter sind durch leaks bekannt und werden dort einfach über Botnetze getestet. Ich weiß viel Zeit ist nicht, ich getraue mich ehrlich gesagt auch nicht an C++ ran obwohl ich die Stellen bereits identifiziert habe. Die eigentliche Idee war ja die Passwort/Salt Spalte umzubenennen und die PHP Logik anzupassen und dann die Orginalspalten mit generierten App Passwörtern zu füllen sofern der Kunde IMAP aktiviert. Aber das empfinde ich als zu großen Eingriff besser wäre hier die Logik in b1gmailserver direkt...zudem Wartung auch mist wenn es mal ein update gibt.

    KI schlägt mir folgendes vor in b1gmailserver, ist mir alles zu riskant:

    Empfohlenes Zielbild:

    1. Hauptpasswort für IMAP komplett verbieten.
    2. Beim Aktivieren von IMAP automatisch ein zufälliges App-Passwort erzeugen.
    3. App-Passwort nur einmal im Klartext anzeigen (danach nie wieder).
    4. In DB nur Hash speichern (Argon2id/bcrypt), plus created_at, last_used_at, revoked_at, label.
    5. Optional mehrere App-Passwörter pro Kunde (Outlook, iPhone, Thunderbird), einzeln widerrufbar. -> näh


    Das hat mir die KI ausgeworfen aber ich denke Patrick weiß besser was zu tun ist.


    Danke:thumbup:. KI generiert oder selbst geschrieben?

    KI - ich arbeite momentan an einer neuen Seite da konnte ich das direkt auch mit meinem Testsystem reproduzieren. Läuft produktiv seit einer Woche, die Kunden haben sich auch alle positiv zurückgemeldet, bestes Zeichen^^

    Ja, habe ich behoben, das Rendering habe ich über iframe.srcdoc gelöst


    ps: Denny warum baust du dir das nicht so wie du willst oder machst nen extra Thread dazu im Thema: gewünnschte Features oder so...?

    Weil ich dachte, dass es auch mein Problem zielt mit dem fehlenden return-path....Diese Betrüger mit den angeblich echten Passwörtern verwenden noreply@domain.de (gefälschte E-Mail Adresse) und der Return-Path ist dann leer, das sowas überhaupt durchkommt ohne gültigen return-path, das Problem ist bei mir sehr aktuell und da kam dein Thread ohne weitere Informationen dazu, passte halt

    Ich verstehe leider nicht, was du damit bezwecken willst.

    Er möchte gefälschte Mails blockieren, da der b1gMailServer aktuell keine vollwertige DMARC-Prüfung durchführen kann. Zusätzlich gibt es einige Punkte, die mir im Bereich SPF noch fehlen und die ich bereits angesprochen hatte.

    SPF

    Aktuell kommt es dazu, dass SPF auch dann abgelehnt wird, wenn große, legitime Absender sehr umfangreiche include:-Ketten verwenden und die SPF-Prüfung aufgrund von DNS-Lookup-Limits oder Timeouts fehlschlägt. In diesen Fällen wird der Versand fälschlich blockiert, obwohl der Absender korrekt konfiguriert ist.

    Gleichzeitig wäre es sinnvoll, SPF none nicht mehr vollständig zu akzeptieren, sondern dieses Ergebnis zumindest als zusätzlichen Negativ- oder Ablehnungsfaktor zu berücksichtigen – insbesondere in Kombination mit weiteren Auffälligkeiten wie leerem Return-Path <> oder einem ungültigen bzw. auffälligen HELO/EHLO.

    Das ließe sich gut kombinieren, etwa über Regeln wie:

    • SPF-Status
    • Return-Path
    • HELO/EHLO
      Wenn mehrere dieser Kriterien gleichzeitig negativ sind, sollte eine Ablehnung erfolgen.

    Schutz von IMAP, SMTP und POP (aus meiner Sicht noch wichtiger)

    Noch wichtiger finde ich aktuell jedoch den Schutz der externen Schnittstellen (IMAP, SMTP, POP). Das BSI arbeitet derzeit an einem Maßnahmenplan zur weiteren Absicherung von Webmail und Schnittstellen. Im Forum gab es dazu bereits einen Vorschlag, den ich für äußerst wertvoll halte:

    Externe Schnittstellen sollten nur noch per Token erreichbar sein.

    Konkret zum Beispiel so:

    1. Jeder Kunde erhält einen individuellen Token, der im Webmail einsehbar ist
    2. Wenn diese Option aktiviert ist, können externe Schnittstellen ausschließlich mit diesem Token genutzt werden
    3. Eine Anmeldung mit dem normalen Passwort wird dann abgelehnt

    Warum ich das für wichtig halte:

    1. Passwörter sind faktisch kaum noch sicher. Wird ein Passwort kompromittiert, kann ein Angreifer innerhalb von Sekunden auf den Account zugreifen und zumindest alle Mails lesen
    2. Externe Schnittstellen lassen sich nicht sinnvoll mit Passkeys oder klassischem 2FA absichern – das funktioniert nur im Webmail

    Aus meiner Sicht ist diese Token-Lösung daher ein „Must-Have“. Technisch müsste der Mailserver dann statt auf die Passworttabelle auf eine Token-Tabelle prüfen. Oder übersehe ich hier einen grundsätzlichen Denkfehler?

    Wenn eine E-Mail das interne Speicherlimit überschreitet, erscheint aktuell kein Hinweis oder Dialog.
    Die Nachricht wird zwar korrekt versendet, aber nicht im Ordner „Gesendet“ oder als Entwurf gespeichert.

    Das liegt daran, dass die Mailgröße intern nach der MIME-Kodierung deutlich zunimmt – z. B. kann aus einer 25 MB-Datei durch Kodierung eine effektive Größe von ca. 38 MB werden.
    Das überschreitet dann das interne Speicherlimit des Accounts, wodurch der Speichervorgang scheitert – allerdings ohne Fehlermeldung.

    hier mal im Debug eine 38MB wav: === StoreMail run at 2025-10-10 00:27:06 ===
    Mail size: 55292475 bytes
    Error: Mail too big konnte man nur intern nachvollziehen

    ---edit

    Das bedeutet, nicht nur die email.compose.php muss sicherstellen, dass die E-Mail nach der MIME64-Kodierung tatsächlich maximal 25 MB groß ist (und nicht 30 MB), sondern im Idealfall bereits vor dem Senden eine entsprechende Warnung oder Ablehnung ausgegeben werden sollte.

    Ich habe das Anlagen-Limit daher jetzt mit dem Faktor 1,33 angepasst.
    Das heißt: Die tatsächliche Größe, die beim Hinzufügen einer Anlage berechnet wird, ist jetzt Größe × 1,33.
    Der Kunde wundert sich zwar vielleicht, warum bei einer 20 MB-Anlage das 25 MB-Limit bereits erreicht ist – aber so gibt es keine Beschwerden mehr, dass die Mail anschließend nicht gespeichert oder zugestellt wird. Besser wäre die Ermittlung der tatsächlichen Größe aber so geht's erstmal

    Ja, die kommen meist von gehackten Servern mit SPF pass aber es gibt noch eine Menge an Spam die SPF none hat und wenn man das nur kurz einschaltet reciht das manchmal schon um abzuschrecken. Diese Mails mit Passwörtern kommen in Wellen, jetzt sind es sogar schon Morddrohungen mit BTC, wird immer verrückter

    Fehlerhafte sind normalerweise lt. Norm auch nicht vorhandene. Jedoch wird dann der EIngang an eMail sum >= 90% schrumpfen, da soviele keinen SPF haben lt. Statisik.

    Ja, das ist genau das Problem. Viele nutzen überhaupt kein SPF, aber gerade bei Google und Outlook wird es mittlerweile immer stärker vorausgesetzt. Man könnte es daher zeitweise einschalten und mitlaufen lassen.

    DANE teste ich auch nicht, weil damit praktisch gar nichts mehr durchkommt. Den HELO-Check habe ich ebenfalls deaktiviert und beim DKIM-Check brauchen wir eigentlich gar nicht erst anfangen – das ist aktuell noch zu wenig zuverlässig umgesetzt.

    Moin,

    wäre es möglich, in einer künftigen Version des b1gMail-Servers eine Option einzubauen, mit der eingehende Mails abgelehnt werden können, wenn für die Absenderdomain kein gültiger SPF-Record (SPF = none) vorliegt?

    Hintergrund:

    • Immer mehr Phishing- und „Leak“-Mails kommen von Domains ohne SPF-Eintrag.
    • Diese Nachrichten enthalten häufig echte Passwörter und umgehen bisherige Filter.
    • Google & Co. lehnen solche Mails oft strikt ab, was für saubere Mailflows sorgt.

    Eine konfigurierbare Einstellung (z. B. reject_spf_none = true) wäre für die interne Verarbeitung und Spamprävention sehr hilfreich, um die Dienste sauber zu halten.

    Grüße

    Moin, danke erstmal. Dann lasse ich es so – anders geht’s halt nicht. Dumm ist nur das Dateisystem mit so vielen kleinen Dateien und Ordnern, das macht mir etwas Sorge für die Zukunft, irgendwann in den nächsten Jahren sind die 100.000.000 Datein voll, ist schon bisschen naja

    Moin, nene die hatte ich nur beiläufig gesehen wo ich nach fehlern gesucht hatte. Es wird keine Fehlermeldung geworfen, hab das System nochmal neu aufgesetzt gleiches Problem bei den PHP Datein also email.php. organizer.php - hier mal an bsp email.php


    Code
    <-index.tpl-> 
    {foreach from=$_jsFiles.li item=_file}	<script type="text/javascript" src="{$_file}"></script>
    {/foreach}
    Code
    <-email.php-> 
    
    $tpl->addJSFile('li', 'clientlib/selectable.js');
    $tpl->addJSFile('li', $tpl->tplDir . 'js/email.js');

    $tpl->tplDir ist laut email.php das Standard-Template nicht das Premium-Template - also bekomme ich alle Scripte die clientseitig inkludiere /modern3/script.js aber /modern/script.js bei den serverseitig importierten.


    Kannst du das Problem reproduzieren oder ist da bei mir was falsch?


    Zudem sei gesagt, dass der Fehler auch schon bei der alten Version von b1gmail also vor open_source bestanden, konnte ich gerade sehen, ist scheinbar auch nie jemanden aufgefallen weil vermutlich immer alle die selben themes verwenden, wenn man aber jetzt ein Theme hat welches eine andere email.js benötigt macht das Theme nicht das was es soll

    Moin,

    ja, das ist wirklich keine optimale Lösung. Besser als gar nichts, aber wenn man bedenkt, dass die Mails bei mir live reinkommen, ist das nicht wirklich sinnvoll. Mein lokaler Scanner nimmt die Sachen zwar beim POP3-Abruf raus, aber eigentlich dürften die Mails gar nicht erst bis zum Postfach durchkommen.

    Werde mir daher wohl über kurz oder lang Proxmox Mail Gateway anschauen – gefühlt wird das Problem nämlich immer schlimmer.