Hallo,
ich frage mich, ob und welche Optionen es gibt, um Benutzern meines Mail-Servers interne Informationen von rspamd zur Verfügung zu stellen. Konkret geht es darum, dass ich den Benutzern gerne die Möglichkeit geben würde, die Übersicht über abgewiesene (und ge-greylistete) E-Mails einzusehen. Also im Prinzip möchte ich eine benutzer-spezifiche Version von der History Ansicht (#history) des Admin Interfaces von rspamd (mit vorgeschalteter Authentifizierung). Gibt es da fertige Lösungen? Wie kommt man (möglichst einfach) an diese Informationen, um ggf. selbst eine kleine Oberfläche aufzusetzen? Wie lösen das andere? Sind eure Benutzer an diesen Informationen nicht interessiert? Zugang zum Admin Interface will/kann man ja einfachen Benutzern nicht gewähren. Vielen Dank. Mit freundlichen Grüßen, Karol Babioch |
Hi,
kurz gegoogelt: rspamd grafana Am 29.01.21 um 14:50 schrieb Karol Babioch: > Hallo, > > ich frage mich, ob und welche Optionen es gibt, um Benutzern meines > Mail-Servers interne Informationen von rspamd zur Verfügung zu stellen. > > Konkret geht es darum, dass ich den Benutzern gerne die Möglichkeit > geben würde, die Übersicht über abgewiesene (und ge-greylistete) E-Mails > einzusehen. > > Also im Prinzip möchte ich eine benutzer-spezifiche Version von der > History Ansicht (#history) des Admin Interfaces von rspamd (mit > vorgeschalteter Authentifizierung). > > Gibt es da fertige Lösungen? Wie kommt man (möglichst einfach) an diese > Informationen, um ggf. selbst eine kleine Oberfläche aufzusetzen? Wie > lösen das andere? Sind eure Benutzer an diesen Informationen nicht > interessiert? Zugang zum Admin Interface will/kann man ja einfachen > Benutzern nicht gewähren. > > Vielen Dank. > > Mit freundlichen Grüßen, > Karol Babioch |
In reply to this post by Karol Babioch
Moin,
ich lass einfach täglich ganze als Cronjob laufen, einfach Befehl für jeden Benutzer der es möchte ausführen lassen. grep reject /var/log/maillog | grep -i user@domain | grep "$(date -d yesterday '+%b %_d')" 2>&1 | sed '1!b;s/^/To: user@domain \nSubject: Gestern wurden folgende Mails abgelehnt\nFrom:"Mailserver Auswertung" <root@domain>\n\n/' | sendmail -t evt. auch yesterday '+%Y-%m-%d' kommt drauf an wie Zeit formatiert ist im Log. Gruß Daniel -----Ursprüngliche Nachricht----- Von: Postfixbuch-users <[hidden email]> Im Auftrag von Karol Babioch Gesendet: Freitag, 29. Januar 2021 14:50 An: [hidden email] Betreff: Rspamd User Interface Hallo, ich frage mich, ob und welche Optionen es gibt, um Benutzern meines Mail-Servers interne Informationen von rspamd zur Verfügung zu stellen. Konkret geht es darum, dass ich den Benutzern gerne die Möglichkeit geben würde, die Übersicht über abgewiesene (und ge-greylistete) E-Mails einzusehen. Also im Prinzip möchte ich eine benutzer-spezifiche Version von der History Ansicht (#history) des Admin Interfaces von rspamd (mit vorgeschalteter Authentifizierung). Gibt es da fertige Lösungen? Wie kommt man (möglichst einfach) an diese Informationen, um ggf. selbst eine kleine Oberfläche aufzusetzen? Wie lösen das andere? Sind eure Benutzer an diesen Informationen nicht interessiert? Zugang zum Admin Interface will/kann man ja einfachen Benutzern nicht gewähren. Vielen Dank. Mit freundlichen Grüßen, Karol Babioch |
In reply to this post by Karol Babioch
Hallo Karol,
> ich frage mich, ob und welche Optionen es gibt, um Benutzern meines > Mail-Servers interne Informationen von rspamd zur Verfügung zu stellen. > > Konkret geht es darum, dass ich den Benutzern gerne die Möglichkeit > geben würde, die Übersicht über abgewiesene (und ge-greylistete) E-Mails > einzusehen. > > Also im Prinzip möchte ich eine benutzer-spezifiche Version von der > History Ansicht (#history) des Admin Interfaces von rspamd (mit > vorgeschalteter Authentifizierung). die History ist dazu weniger geeignet, da eine feste Anzahl für den Puffer eingetragen wird, d.h. kommen mehr mails als üblich rein reichen die Einträge ggf. nicht weit genug zurück und von postfix selbst abgelehnt Mails (unknown hostnames, blacklists, ...) werden dort nicht angezeigt. > Gibt es da fertige Lösungen? Wie kommt man (möglichst einfach) an diese > Informationen, um ggf. selbst eine kleine Oberfläche aufzusetzen? Wie > lösen das andere? Sind eure Benutzer an diesen Informationen nicht > interessiert? Zugang zum Admin Interface will/kann man ja einfachen > Benutzern nicht gewähren. Ich hab nichts fertiges gefunden und ein eigenes Mailflow Tool geschrieben. Das liest das maillog mit, parst und aggregiert die postfix, amavis, rspamd Daten und schreibt sie in eine MySQL Datenbank. Über ein Webinterface können die Benutzer dann sehen welche Mails verschickt oder abgelehnt wurden. Gefiltert wird anhand der E-Mail Adresse bzw. dem sasl_username, so dass jeder nur Zugriff auf seine eigenen Mails hat. Dabei ist das logging von postfix und rspamd angepasst worden, so dass man z.B. den Spamscore mit anzeigen kann. Das Tool ist deshalb nicht auf eine Standardinstallation übertragbar. Technisch affine Nutzer oder Admins die hin und wieder mit E-Mail Problemen zu tun haben finden das sehr hilfreich, der normale Nutzer interessiert sich eher weniger dafür. Viele Grüße Gerald |
In reply to this post by Karol Babioch
Hallo Karol,
Du kannst alle Daten vom Webinterface auch selbst abrufen. Die History wäre da z.B. curl http://localhost:11334/history | jq Müsstest du dann halt nach Bedarf Filtern. Alternativ und für eine längere History könntest du die Daten auch richtig exportieren. https://rspamd.com/doc/modules/clickhouse.html https://rspamd.com/doc/modules/metadata_exporter.html https://rspamd.com/doc/modules/elastic.html Viele Grüße Carsten On 29.01.21 14:50, Karol Babioch wrote: > Hallo, > > ich frage mich, ob und welche Optionen es gibt, um Benutzern meines > Mail-Servers interne Informationen von rspamd zur Verfügung zu stellen. > > Konkret geht es darum, dass ich den Benutzern gerne die Möglichkeit > geben würde, die Übersicht über abgewiesene (und ge-greylistete) E-Mails > einzusehen. > > Also im Prinzip möchte ich eine benutzer-spezifiche Version von der > History Ansicht (#history) des Admin Interfaces von rspamd (mit > vorgeschalteter Authentifizierung). > > Gibt es da fertige Lösungen? Wie kommt man (möglichst einfach) an diese > Informationen, um ggf. selbst eine kleine Oberfläche aufzusetzen? Wie > lösen das andere? Sind eure Benutzer an diesen Informationen nicht > interessiert? Zugang zum Admin Interface will/kann man ja einfachen > Benutzern nicht gewähren. > > Vielen Dank. > > Mit freundlichen Grüßen, > Karol Babioch > |
In reply to this post by Daniel-6
Hallo,
Am 29.01.21 um 15:51 schrieb Daniel: > ich lass einfach täglich ganze als Cronjob laufen, einfach Befehl für jeden Benutzer der es möchte ausführen lassen. Danke für den Hinweis. Vermutlich habe ich meine Anforderungen nicht ausreichend gut beschrieben. Jedenfalls passt eine Lösung dieser Art nicht wirklich zu meinem Anwendungsfall, da a.) Nutzer diese Information in Echtzeit abfragen wollen (vor allem beim Greylisting), und b.) diese Art von Zusammenfassungsbericht für Spam-Nachrichten in meinen Augen ein Anti-Pattern ist. Welcher Nutzer möchte sich schon jeden Tag durch seitenweise Berichte wühlen, um dann evtl. festzustellen, dass eine Nachricht gestern fälschlicherweise abgewiesen worden ist. Was soll man dann machen? Die Information ist (meiner Erfahrung nach) nur dann interessant, wenn man eine Mail erwartet, sie aber nicht erhält. Und dann ist man wieder schnell bei a.). Mit freundlichen Grüßen, Karol Babioch |
In reply to this post by Michael Grundmann-2
Hallo,
Am 29.01.21 um 15:17 schrieb Michael Grundmann: > kurz gegoogelt: > > rspamd grafana Vielen Dank für den Tipp, leider wenig hilfreich. Oder kannst du das konkretisieren? Zum Einen ist Grafana nur für die Visualisierung zuständig, d.h. man benötigt zumidest mal noch ein Backend / Datenbank (z.B. Influx) sowie einen entsprechend eingerichteten Daten-Export seitens rspamd. Das ist der einfache Teil. Zum Anderen ist aus meiner Sicht Grafana hier aber das falsche Werkzeug: Mir geht es nicht um die Visualisierung irgendwelcher aggregierter Statistiken bzw. dem zeitlichen Verlauf irgendwelcher Metriken, sondern um eine benutzer-spezifische Version des rspamd History Dashboards, sodass jeder Benutzer eben nur diejenigen E-Mails angezeigt bekommt, die ihn selbst betreffen. Mit freundlichen Grüßen, Karol Babioch |
In reply to this post by Gerald Galster-2
Hallo Gerald,
zunächst einmal: Vielen Dank für die ausführliche Antwort! Am 29.01.21 um 16:50 schrieb Gerald Galster: > die History ist dazu weniger geeignet, da eine feste Anzahl für den > Puffer eingetragen wird, d.h. kommen mehr mails als üblich rein reichen > die Einträge ggf. nicht weit genug zurück und von postfix selbst > abgelehnt Mails (unknown hostnames, blacklists, ...) werden dort nicht > angezeigt. Ja, das stimmt. Danke für den Hinweis. Bisher reichte mein History Puffer immer weit genug zurück, aber grundsätzlich muss man das natürlich beachten, insbesondere wenn man viele Nutzer hat. > ch hab nichts fertiges gefunden und ein eigenes Mailflow Tool geschrieben. > Das liest das maillog mit, parst und aggregiert die postfix, amavis, rspamd > Daten und schreibt sie in eine MySQL Datenbank. Über ein Webinterface > können die Benutzer dann sehen welche Mails verschickt oder abgelehnt > wurden. Gefiltert wird anhand der E-Mail Adresse bzw. dem sasl_username, > so dass jeder nur Zugriff auf seine eigenen Mails hat. > > Dabei ist das logging von postfix und rspamd angepasst worden, so dass > man z.B. den Spamscore mit anzeigen kann. Das Tool ist deshalb nicht > auf eine Standardinstallation übertragbar. > > Technisch affine Nutzer oder Admins die hin und wieder mit E-Mail > Problemen zu tun haben finden das sehr hilfreich, der normale > Nutzer interessiert sich eher weniger dafür. Das klingt sehr interessant und klingt auch nach dem Vorgehen, dass ich hier eingeplant habe. Leider ist der Aufwand hier ja auch nicht ganz ohne. Ist deine Arbeit denn irgendwo dokumentiert oder zugänglich? Blöd finde ich daran nur, dass 90% der Funktionalität bereits im rspamd Benutzer-Interface selbst implementiert sind. "Nur" die Authentifizierung bzw. Filterung fehlt :-). _EIGENTLICH_ würde ich ungern ein eigenes Web-Interface (mit Datenbank Backend) implementieren und pflegen, aber wenn es nicht anders geht, dann ist das auch okay - deswegen habe ich ja gefragt ;-). Mit freundlichen Grüßen, Karol Babioch |
In reply to this post by Carsten Rosenberg
Hallo,
vielen Dank Carsten. Sehr gute Tipps dabei! Am 29.01.21 um 18:23 schrieb Carsten Rosenberg: > Du kannst alle Daten vom Webinterface auch selbst abrufen. Die History > wäre da z.B. > > curl http://localhost:11334/history | jq > > Müsstest du dann halt nach Bedarf Filtern. Ah, das war mir so nicht bewusst (macht aber natürlich Sinn). Damit könnte man zumindest mal eine Web-Applikation implementieren, welche die Daten nicht selbst vorhalten muss, und muss nur etwas JSON verarbeiten. > Alternativ und für eine längere History könntest du die Daten auch > richtig exportieren. > > https://rspamd.com/doc/modules/clickhouse.html > https://rspamd.com/doc/modules/metadata_exporter.html > https://rspamd.com/doc/modules/elastic.html Auch das sind gute Hinweise. Schade, dass es da keine fertigen Lösungen gibt, denn die Daten irgendwo hinzuschreiben ist das eine, die Darstellung/Filterung/Authentifizierung nochmal etwas anderes. Aber klar, das ist ein guter erster Schritt. Gut, dann weiß ich zumindest, dass es hier doch noch einiges zu tun gäbe, um zu einer fertigen und benutzer-freundlichen Lösung zu kommen. Vielen Dank! Mit freundlichen Grüßen, Karol Babioch |
In reply to this post by Michael Grundmann-2
Dazu hab ich mal eine Frage:
Bei wem funktioniert das Python-Skript https://github.com/thannaske/rspamd-influxdb? Was kann man falsch machen, bei mir kommt immer die Meldung: (ffiene@de01b251) ➜ ~/rspamd-influxdb ./rspamd-influxdb.py --url "https://<IP>" --password „<PW>"
Could not send GET request to given URL. Check url parameter! Python3-urrlib ist installiert und das Skript meckert auch nicht beim import der Module. Der try-Block im Code ist auch nur ein Test, ob das Skript zugreifen darf und nutzt noch gar keine Funktionalität der Weboberfläche. Daher kann auch eine der letzten Änderung bei rspamd keine Auswirkung gehabt haben. Viele Grüße! Frank
Viele Grüße! i.A. Frank Fiene -- Frank Fiene IT-Security Manager VEKA Group Fon: +49 2526 29-6200 Fax: +49 2526 29-16-6200 mailto: [hidden email] http://www.veka.com PGP-ID: 62112A51 PGP-Fingerprint: 7E12 D61B 40F0 212D 5A55 765D 2A3B B29B 6211 2A51 Threema: VZK5NDWW VEKA AKTIENGESELLSCHAFT Dieselstr. 8 48324 Sendenhorst Deutschland/Germany http://www.veka.com Vorstand/Executive Board: Andreas Hartleif (Vorsitzender/CEO), Pascal Heitmar, Josef L. Beckhoff, Elke Hartleif, Dr. Werner Schuler, Vorsitzender des Aufsichtsrates/Chairman of Supervisory Board: Dr. Andreas W. Hillebrand HRB 8282 AG Münster/District Court of Münster |
Hi Frank,
Am 2021-02-22 10:06, schrieb Frank Fiene: > Bei wem funktioniert das Python-Skript > https://github.com/thannaske/rspamd-influxdb? > [...] ~/rspamd-influxdb ./rspamd-influxdb.py --url "https://[...] > Wenn Du das Webinterface per IP ansprichst, waere meine Vermutung - ohne das Script zu kennen - dass 'ne TLS Exception auf Grund eines nicht gueltigen Zertifikats geworfen wird. Haste es mal mit 'nem Hostnamen statt IP getestet? Um Genaueres zu erfahren kannste den Exception Block im Script auch mal abaendern, so dass die Exception mit ausgegeben wird: ,--- | except Exception as e: | print("Oops!", e.__class__, "occurred.") `--- Winni |
Sehr geile Exception:
Oops! <class 'urllib.error.URLError'> occurred. Und ja, ich habe es schon mit dem Hostname und dem dazugehörigen offiziellen Zertifikat versucht. Ich hoffe python versteht Wildcard-Zertifikate. :-D
Viele Grüße! i.A. Frank Fiene -- Frank Fiene IT-Security Manager VEKA Group Fon: +49 2526 29-6200 Fax: +49 2526 29-16-6200 mailto: [hidden email] http://www.veka.com PGP-ID: 62112A51 PGP-Fingerprint: 7E12 D61B 40F0 212D 5A55 765D 2A3B B29B 6211 2A51 Threema: VZK5NDWW VEKA AKTIENGESELLSCHAFT Dieselstr. 8 48324 Sendenhorst Deutschland/Germany http://www.veka.com Vorstand/Executive Board: Andreas Hartleif (Vorsitzender/CEO), Pascal Heitmar, Josef L. Beckhoff, Elke Hartleif, Dr. Werner Schuler, Vorsitzender des Aufsichtsrates/Chairman of Supervisory Board: Dr. Andreas W. Hillebrand HRB 8282 AG Münster/District Court of Münster |
In reply to this post by Winfried Neessen
Print(e) gibt:
<urlopen error [Errno -2] Name or service not known> Brauche ich noch eine SSL Library in Python, die nicht in der Standardinstallation drin ist?
Viele Grüße! i.A. Frank Fiene -- Frank Fiene IT-Security Manager VEKA Group Fon: +49 2526 29-6200 Fax: +49 2526 29-16-6200 mailto: [hidden email] http://www.veka.com PGP-ID: 62112A51 PGP-Fingerprint: 7E12 D61B 40F0 212D 5A55 765D 2A3B B29B 6211 2A51 Threema: VZK5NDWW VEKA AKTIENGESELLSCHAFT Dieselstr. 8 48324 Sendenhorst Deutschland/Germany http://www.veka.com Vorstand/Executive Board: Andreas Hartleif (Vorsitzender/CEO), Pascal Heitmar, Josef L. Beckhoff, Elke Hartleif, Dr. Werner Schuler, Vorsitzender des Aufsichtsrates/Chairman of Supervisory Board: Dr. Andreas W. Hillebrand HRB 8282 AG Münster/District Court of Münster |
Am 2021-02-22 11:24, schrieb Frank Fiene:
> Print(e) gibt: > <urlopen error [Errno -2] Name or service not known> > > Brauche ich noch eine SSL Library in Python, die nicht in der > Standardinstallation drin ist? > M. W. n. nicht. Probier mal dieses Script: https://gist.github.com/wneessen/8566d34da69dae8d5d286fe1d4004500 und guck mal ob Du die gleiche Fehlermeldung bekommst. Es sollte Dir erstmal die URL anzeigen die aufgerufen wird und dann die Exception. "Name or service not known" klingt eher danach, dass der Hostname nicht aufgeloest werden kann. Winni |
Ja, das Skript zeigt alles korrekt an und wenn ich die URL in den Browser kopiere, zeigt er mir den json-String an.
Viele Grüße! i.A. Frank Fiene -- Frank Fiene IT-Security Manager VEKA Group Fon: +49 2526 29-6200 Fax: +49 2526 29-16-6200 mailto: [hidden email] http://www.veka.com PGP-ID: 62112A51 PGP-Fingerprint: 7E12 D61B 40F0 212D 5A55 765D 2A3B B29B 6211 2A51 Threema: VZK5NDWW VEKA AKTIENGESELLSCHAFT Dieselstr. 8 48324 Sendenhorst Deutschland/Germany http://www.veka.com Vorstand/Executive Board: Andreas Hartleif (Vorsitzender/CEO), Pascal Heitmar, Josef L. Beckhoff, Elke Hartleif, Dr. Werner Schuler, Vorsitzender des Aufsichtsrates/Chairman of Supervisory Board: Dr. Andreas W. Hillebrand HRB 8282 AG Münster/District Court of Münster |
Hi,
wollte den Thread eigentlich von der Liste nehmen, weil es vermutlich sonst niemanden interessiert, aber Dein SPAM-Filter mag mich wohl nicht. ,--- | host smtp2.veka.com[185.254.60.3] said: 554 5.7.1 Spam | message rejected (in reply to end of DATA command) `--- > Ja, das Skript zeigt alles korrekt an und wenn ich die URL in den > Browser kopiere, zeigt er mir den json-String an. > Hmm, sehr komisch. Du koenntest im Originalscript den Exception Block nochmal abaendern: ,--- | try: | resp = urllib.request.urlopen(fetch_url) | except Exception as e: | print("URL: >>" + fetch_url + "<<") | print("Exception: ") | print(e) | exit(1) `--- Das sollte Dir dann dort auch die URL (in >><<) und die Exception ausgeben. Sieht bei mir dann so aus: ,---[ Alles ok ] | $ python test.py --url https://www.neessen.net --password 'test' | All cool dude `--- ,---[ Falscher Port ] | $ python test.py --url https://www.neessen.net:1234 --password 'test' | URL: >>https://www.neessen.net:1234/?password=test<< | Exception: | <urlopen error [Errno 111] Connection refused> `--- ,---[ Falscher Hostname ] | $ python test.py --url https://www.nadsfadsfsadf.net --password 'test' | URL: >>https://www.nadsfadsfsadf.net/?password=test<< | Exception: | <urlopen error [Errno -2] Name or service not known> `--- ,---[ Ungueltiges Zert. ] | $ python test.py --url https://192.168.178.60 --password 'test' | URL: >>https://192.168.178.60/?password=test<< | Exception: | <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1123)> `--- Winni |
In reply to this post by Winfried Neessen
Hmm, hat sich erledigt, zuerst SSL Fehler und dann DNS. :-)
Läuft. Jetzt noch die Daten in die DB.
Viele Grüße! i.A. Frank Fiene -- Frank Fiene IT-Security Manager VEKA Group Fon: +49 2526 29-6200 Fax: +49 2526 29-16-6200 mailto: [hidden email] http://www.veka.com PGP-ID: 62112A51 PGP-Fingerprint: 7E12 D61B 40F0 212D 5A55 765D 2A3B B29B 6211 2A51 Threema: VZK5NDWW VEKA AKTIENGESELLSCHAFT Dieselstr. 8 48324 Sendenhorst Deutschland/Germany http://www.veka.com Vorstand/Executive Board: Andreas Hartleif (Vorsitzender/CEO), Pascal Heitmar, Josef L. Beckhoff, Elke Hartleif, Dr. Werner Schuler, Vorsitzender des Aufsichtsrates/Chairman of Supervisory Board: Dr. Andreas W. Hillebrand HRB 8282 AG Münster/District Court of Münster |
Free forum by Nabble | Edit this page |