tt33tt
Anmeldungsdatum: 27. Juli 2016
Beiträge: Zähle...
|
Hallo alle zusammen, ich habe auf einem Server (Ubuntu 14.04.4 LTS) mehrere Blogs, die teilweise mehreren Personen gehören.
In der Vergangenheit wurden die nicht regelmäßig geupdatet und haben angefangen Spam zu versenden. Wir sind auch auf Blacklists aufgetaucht ☹ Sehr gutes Tool dafür: http://mxtoolbox.com/blacklists.aspx
Hilfsweise habe ich den Postfix abgeschaltet. Inzwischen habe ich alle Blogs bereinigt oder neu eingerichtet. Außerdem überwache ich per Jetpack, ob die Blogs auf dem aktuellen Stand sind.
Nun würde ich gerne Postfix wieder anschalten. Allerdings möchte ich verhindern, dass wir durch eine Spam-Welle wieder auf einer Blacklist auftauchen. Meine Ziele sind:
Ich habe mich mit mehreren Möglichkeiten beschäftigt:
Limitierung der pro User versandten E-Mails. Dann müsste ich allerdings irgendwie eine Benachrichtigung bekommen, wenn die Warteschlange zu voll wird. Installation eines Zusatztools. Da bin ich auf http://wiki.policyd.org/start gestoßen. Wenn ich das richtig verstehe, muss ich das mit Amavis kombinieren. Taugt das überhaupt beides zur Unterbindung von ausgehendem Spam? Ich habe folgenden Beitrag zu Amavis gefunden https://wiki.ubuntuusers.de/Amavis-Spam-Virenfilter/ Geht das auch ohne Policyd? Wo gehören die zusammen?
Welche Erfahrungen habt ihr? Wie machen das große Hostingbetreiber? Was denkt ihr über diese Möglichkeiten, die ich geschrieben habe? Gibt es weitere Alternativen? Vielen Dank!
|
hoerianer
Anmeldungsdatum: 14. August 2012
Beiträge: 3146
Wohnort: Bodensee badische Seite ;-)
|
tt33tt schrieb: Ich habe mich mit mehreren Möglichkeiten beschäftigt:
Leider hast Du Dich aber mit der wichtigsten Sache nicht beschäftigt - nämlich der Serveradministration 😉 Es ist bei weitem nicht so, dass jeder, der einen Server ins Netz stellt und nur genügend Tools zur Verfügung hat, das ganze auch sicher betreibt. Da gehört schon einiges mehr dazu und Mailserver sind definitiv keine 08/15 Server, das ist schon Königsklasse und man sollte wissen was man da tut oder sich jemanden suchen, der das dann betreut.
Wie machen das große Hostingbetreiber?
Da sitzen Administratoren die in der Regel wissen was sie tun.
Gibt es weitere Alternativen?
Entweder selbst lernen oder sich jemanden suchen, der/die das kann.
Vielen Dank!
Gerne!
|
tt33tt
(Themenstarter)
Anmeldungsdatum: 27. Juli 2016
Beiträge: 23
|
Danke für Nichts 😉 😉 Ich meine jetzt eigentlich schon eher konkrete Vorschläge. Die Antwort habe ich mir bereits selbst gegeben und die wurde von einer übergeordneten Person abgelehnt.
Somit fällt das Thema Delegation sowohl an Personen als auch an Hoster erst einmal weg. Serveradministration mache ich auch schon seit ein paar Jahren. Windows-Exchange ist allerdings etwas anderes als Linux 😉 Und auch die "großen Experten" bekommen ihr Wissen ja irgendwoher. Außerdem ist Sicherheit sowieso eine Illusion. Ich kann nur sicherstellen, dass der Aufwand für die Sicherheitsmaßnahmen geringer ist als der Aufwand den ich im Ernstfall mit einer Reservierung als Blacklist-Dauergast hätte. E-Mails versendet jeder Server wo ein Blog drauf ist. Die Alternative wäre die Blogs in einer vorhandenen E-Mail-Server-Struktur anzumelden. Aber wenn die da anfangen Spam zu versenden weiß ich nicht, ob das besser ist als auf meinem Server. Wir überlegen uns grundsätzlich auch früher oder später Roundcube einzusetzen. Hätte das Vorteile im Bereich Sicherheit gegenüber Postfix? Sollte dieses Forum für die Fragen unpassend sein, könnt ihr mir dann bitte ein anderes empfehlen?
Ich möchte meinen Postfix jetzt wieder anschalten ☹ ☺
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5323
|
tt33tt schrieb: Ich meine jetzt eigentlich schon eher konkrete Vorschläge. Die Antwort habe ich mir bereits selbst gegeben und die wurde von einer übergeordneten Person abgelehnt.
Somit fällt das Thema Delegation sowohl an Personen als auch an Hoster erst einmal weg.
Was aber dringend zu empfehlen ist. Du hast noch einiges zu lernen, wie deine Beitraege leider zeigen. Aber wir koennen dir hier helfen, diese Kenntnisse anzueignen.
E-Mails versendet jeder Server wo ein Blog drauf ist. Die Alternative wäre die Blogs in einer vorhandenen E-Mail-Server-Struktur anzumelden.
Zum beispiel per sog. "relayhost". Damit wird einfach ein anderer, nicht-lokaler SMTP-Server verwendet. Wir überlegen uns grundsätzlich auch früher oder später Roundcube einzusetzen. Hätte das Vorteile im Bereich Sicherheit gegenüber Postfix?
Srsly? Roundcube ist ein MUA (Mail User Agent), ein Mailclient. Postfix ist ein SMTP-Server, ein MTA (Mail Transmission Agent). Das sind zwei verschiedene Paar Schuhe. Mit diesen beiden alleine kannst du nicht einmal Mails versenden (weil roundcube IMAP zur Authentifizierung braucht). Uebersetzt in Windows-Admin-Sprache: Roundcube ist so wie der Outlook-Client, Postfix ist der SMTP-Teil des Exchange-Servers. Abgesehen von diesen Komponenten brauchst du ja auch noch einen IMAP-Server, von dem die Clients die Mails abholen, also zB dovecot oder cyrus. Bevor du beginnst das alles aufzusetzen, richte dir bitte dringenst ein test-setup ein, das nicht im internet steht. Eigne dir Grundlegende Kenntnisse zu SMTP und IMAP zu. Lies die Dokumentation zu der Software, die du verwenden willst, zB fuer Postfix: http://www.postfix.org/documentation.html
Erst dann koennen wir vernueftig ueber access policys reden. tt33tt schrieb: Sollte dieses Forum für die Fragen unpassend sein
Es ist nicht unpassend. Was aber unpassend ist, sind Forderungen nach einem zusammenklickbaren Mailserver, der out-of-the-box ohne funktioniert, ohne dass der Admin Ahnung von der Materie hat. Weiters unpassend ist mangelnde Bereitschaft, sich in ein Thema einzuarbeiten. Aber ich hoffe, dass beides nicht der Fall ist ☺
|
tt33tt
(Themenstarter)
Anmeldungsdatum: 27. Juli 2016
Beiträge: 23
|
Super und danke ☺ Wahrscheinlich werde ich iterativ vorgehen und zuerst mit der Clientseite anfangen. Danke auch für den Hinweis, dass Roundcube nur ein Client ist 😳
Unsere aktuelle E-Mail-Domäne läuft über Gmail aber mit unserer eigenen Domäne. Dafür mussten wir die DNS-Einträge einpassen. Das heißt glaube ich Google Apps. Damit hätten wir auch direkt ein Relay und übergangsweise einen IMAP/SMTP-Server.
Daher würde ich nun in den Blogs etc. so einstellen, dass Sie über die Google-Server versenden und den lokalen E-Mail-Versand auf unserer gehosteten VM abschalten.
Damit müsste ich das erste Problem mit dem eigenen E-Mail-Server und Spam-Versand gelöst haben.
Eventuell erweitere ich das dann um Roundcube oder Kolab in einem nächsten Schritt. Ist Kolab empfehlenswert? Anschließend könnte ich mich dann mit einem eigenen Mailserver beschäftigen.
Bei einem eigenen Mailserver würde ich mich wahrscheinlich dann konkreter mit folgenden Themen beschäftigen
Übrigens haben wir https://www.froxlor.org/ im Einsatz als Server Management Panel. Darüber können wir unser Webseiten, Datenbanken etc. auch "Kundenspezifisch" verwalten. Das ließe sich dann über den jeweiligen Mailserver als Konfigurationsverwaltung stülpen. Bin ich beim Vorgehen und den Tools auf dem richtigen Weg? Habe ich vielleicht sogar Tools doppelt, die sich gegenseitig überflüssig machen oder überschneiden?
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5323
|
tt33tt schrieb: Daher würde ich nun in den Blogs etc. so einstellen, dass Sie über die Google-Server versenden und den lokalen E-Mail-Versand auf unserer gehosteten VM abschalten.
Du kannst dann als ersten Schritt dort auf einem lokal Postfix Spam-Filterung vornehmen (das testen nicht vergessen 😉 ), um erste Erfahrungen zu sammeln.
Eventuell erweitere ich das dann um Roundcube oder Kolab in einem nächsten Schritt. Ist Kolab empfehlenswert?
Kolab kombiniert postfix, cyrus, roundcube (roundcube ist mehr oder weniger ein teil von kolab) etc. in einem Tool. Kolab in ein bestehendes System zu integrieren ist schwieriger als ein neues System aufzusetzen. Allerdings wuerdest du dadurch dein System wirklich gut verstehen, was ein grosser Vorteil ist.
Kommt drauf an, was du mit policyd machen willst. Aber ich wuerde i.A. sagen: Nein, nicht ueberfluessig. Jedenfalls. Brauchst du um Spam in Spam-Ordner zu schieben, Abwesenheitsnachrichten zu versenden etc.
Übrigens haben wir https://www.froxlor.org/ im Einsatz als Server Management Panel. Darüber können wir unser Webseiten, Datenbanken etc. auch "Kundenspezifisch" verwalten. Das ließe sich dann über den jeweiligen Mailserver als Konfigurationsverwaltung stülpen.
Wie das mit Kolab komibinierbar ist, kann ich nicht sagen.
Bin ich beim Vorgehen und den Tools auf dem richtigen Weg? Habe ich vielleicht sogar Tools doppelt, die sich gegenseitig überflüssig machen oder überschneiden?
Du scheinst noch nicht den Ueberblick zu haben, aber ich sehe dich auf dem richtigen Weg 👍
|
tt33tt
(Themenstarter)
Anmeldungsdatum: 27. Juli 2016
Beiträge: 23
|
sebix schrieb: tt33tt schrieb: Daher würde ich nun in den Blogs etc. so einstellen, dass Sie über die Google-Server versenden und den lokalen E-Mail-Versand auf unserer gehosteten VM abschalten.
Du kannst dann als ersten Schritt dort auf einem lokal Postfix Spam-Filterung vornehmen (das testen nicht vergessen 😉 ), um erste Erfahrungen zu sammeln.
Du meinst: Ich lagere den Mail-Verkehr an Google aus und würde dann auf dieser VM mit den Tests anfangen? //edit: Das ist die VM wo auch unsere Webseiten etc. liegen. Kennst du den Unterschied zwischen http://www.policyd-weight.org/ und http://wiki.policyd.org/ ? Verstehe ich das richtig, dass policyd etwas mehr kann als policyd-weight?
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5323
|
tt33tt schrieb: sebix schrieb: tt33tt schrieb: Daher würde ich nun in den Blogs etc. so einstellen, dass Sie über die Google-Server versenden und den lokalen E-Mail-Versand auf unserer gehosteten VM abschalten.
Du kannst dann als ersten Schritt dort auf einem lokal Postfix Spam-Filterung vornehmen (das testen nicht vergessen 😉 ), um erste Erfahrungen zu sammeln.
Du meinst: Ich lagere den Mail-Verkehr an Google aus und würde dann auf dieser VM mit den Tests anfangen? //edit: Das ist die VM wo auch unsere Webseiten etc. liegen.
Ihr sendet ja bisher die Emails auch ueber Google aus? Welcher Provider ist denn sonst fuer diese Hosts (bzw. Domain unter der die Hosts liegen) zustaendig? Siehe auch SPF
Kennst du den Unterschied zwischen http://www.policyd-weight.org/ und http://wiki.policyd.org/ ? Verstehe ich das richtig, dass policyd etwas mehr kann als policyd-weight?
Da ich keines davon einsetze, kann ich das jetzt nicht auf die schnelle beantworten.
|
tt33tt
(Themenstarter)
Anmeldungsdatum: 27. Juli 2016
Beiträge: 23
|
sebix schrieb: Ihr sendet ja bisher die Emails auch ueber Google aus? Welcher Provider ist denn sonst fuer diese Hosts (bzw. Domain unter der die Hosts liegen) zustaendig? Siehe auch SPF
Ich meinte unseren eigentlichen E-Mail-Verkehr der Mitarbeiter etc. läuft über Gmail. Dort haben wir unsere Domäne hinterlegt.
Der E-Mail-Verkehr der Blogs dagegen läuft unabhängig von Gmail direkt über den Server und ohne Relay nach draußen. Er benutzt da die Standardmailfunktionen wie Postfix etc. Allerdings wäre es möglich, dass der Server das Google-Relay benutzen könnte. Derzeit benutzt er es jedoch nicht. Da ich jetzt eine Woche im Urlaub bin, wird die nächste Antwort etwas länger dauern ☺
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
tt33tt schrieb: Kennst du den Unterschied zwischen http://www.policyd-weight.org/ und http://wiki.policyd.org/ ? Verstehe ich das richtig, dass policyd etwas mehr kann als policyd-weight?
policyd und policyd-weight haben erstmal nichts miteinander zu tun. Ersterer ist ein Policy-Server für verschiedene MTAs, letzterer ist meines Wissens nur für Postfix. policyd-weight wird allerdings nicht aktiv weiterentwickelt – der Entwickler empfiehlt daher die Verwendung von PostFwd. Mir erschließt sich aber nicht ganz, wozu du den brauchst. Diese Policy-Server helfen dir bei deinem Spam-Problem nicht. Ein Rate-Limit für ausgehende Mails einzubauen ist meines Erachtens Schwachsinn. Denn das löst nicht nur das Problem nicht, es kaschiert es nicht mal richtig. Ich an deiner Stelle würde lieber bestimmte User vom Absetzen lokaler Mails ausschließen (authorized_submit_users). Damit blockst du schonmal alles was per sendmail reinkommen würde (inklusive PHP's mail()-Funktion). Deine eigentliche Applikation kann dann direkt per SMTP inkl. Auth einliefern. Wenn natürlich jemand ein bösartiges Skript einschleust, hat er trotzdem die Möglichkeit deine Zugangsdaten auszulesen und Spam zu senden, aber das kannst du dann auch nicht verhindern. Man kann zwar den Amavis die Mails vorher checken lassen, aber 100% Sicherheit bietet das auch nicht.
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5323
|
misterunknown schrieb: Mir erschließt sich aber nicht ganz, wozu du den brauchst. Diese Policy-Server helfen dir bei deinem Spam-Problem nicht. Ein Rate-Limit für ausgehende Mails einzubauen ist meines Erachtens Schwachsinn. Denn das löst nicht nur das Problem nicht, es kaschiert es nicht mal richtig.
Angenommen es gibt ein Monitoring, das die Mail-Raten pro User kontrolliert, womit man Schadsoftware entdecken koennte (gehacktes Wordpress u.ae.). Das allein reicht aber nicht, denn wenn das mitten in der Nacht passiert, kann der Admin ja nicht sofort reagieren. Daher haelt das rate-limiting mal die Mails in der Queue, wenn es zu viele sind, bis der Admin entscheidet ob das passt (→Limiterhoehung?) oder ob die Mails boesartig sind (→komplettes Blockieren). Zumindest wuerde ich das so umsetzen.
Ich an deiner Stelle würde lieber bestimmte User vom Absetzen lokaler Mails ausschließen (authorized_submit_users). Damit blockst du schonmal alles was per sendmail reinkommen würde (inklusive PHP's mail()-Funktion). Deine eigentliche Applikation kann dann direkt per SMTP inkl. Auth einliefern. Wenn natürlich jemand ein bösartiges Skript einschleust, hat er trotzdem die Möglichkeit deine Zugangsdaten auszulesen und Spam zu senden, aber das kannst du dann auch nicht verhindern. Man kann zwar den Amavis die Mails vorher checken lassen, aber 100% Sicherheit bietet das auch nicht.
Und: SMTP-Ausgehend direkt von PHP blockieren.
|
tt33tt
(Themenstarter)
Anmeldungsdatum: 27. Juli 2016
Beiträge: 23
|
Ich versuche im Postfix einzurichten, dass nur vorhandene E-Mail-Adressen senden dürfen.
Dafür habe ich diverse Restrictions in der Konfig eingerichtet. Doch reject_unlisted_sender müsste eigentlich schon ausreichen oder?
Über sendmail -t kann ich jedoch eine beliebige Adresse benutzen und die wird trotzdem herausgelassen.
Unten ist meine Konfig-Datei.
Kann ich irgendwo einen Debug einschalten, der mir zeigt welche Regeln angewendet wurden und wie das Ergebnis ist?
Das hier in der /etc/postfix/master.cf habe ich getestet und hat mich nicht weitergebracht (die gefälschte From-Adresse taucht nicht einmal im Log auf):
smtp unix - - n - - smtp -vv
smtp inet n - n - - smtpd -vv Meine Konfig-Datei:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108 | ## General Postfix configuration
# should be the default domain from your provider eg. "server100.provider.tld"
mydomain = abc.de
# should be different from $mydomain eg. "mail.$mydomain"
myhostname = abcd.$mydomain
mydestination = $myhostname,
$mydomain,
localhost.$myhostname,
localhost.$mydomain,
localhost
mynetworks = 127.0.0.0/8
inet_interfaces = all
append_dot_mydomain = no
biff = no
# Postfix performance settings
default_destination_concurrency_limit = 20
local_destination_concurrency_limit = 2
# SMTPD Settings
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_helo_required = yes
smtpd_reject_unlisted_sender = yes
smtpd_helo_restrictions =
reject_non_fqdn_helo_hostname,
reject_invalid_helo_hostname,
permit_mynetworks
smtpd_recipient_restrictions =
# permit_sasl_authenticated,
reject_unauth_pipelining,
reject_non_fqdn_recipient,
reject_unlisted_recipient,
reject_unauth_destination,
permit_mynetworks
smtpd_sender_restrictions =
reject_sender_login_mismatch,
# permit_sasl_authenticated,
# reject_unknown_helo_hostname,
reject_unknown_recipient_domain,
reject_unknown_sender_domain,
reject_unlisted_sender,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
reject_unverified_sender,
permit_mynetworks
smtpd_client_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
# reject_unknown_client_hostname
# Postfix 2.10 requires this option. Postfix < 2.10 ignores this.
# The option is intentionally left empty.
#smtpd_relay_restrictions =
# Maximum size of Message in bytes (50MB)
message_size_limit = 52428800
## SASL Auth Settings
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
broken_sasl_auth_clients = yes
# Virtual delivery settings
virtual_mailbox_base = /var/kunden/mail/
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
smtpd_sender_login_maps = mysql:/etc/postfix/mysql-virtual_sender_permissions.cf
virtual_uid_maps = static:2000
virtual_gid_maps = static:2000
# Local delivery settings
local_transport = local
alias_maps = $alias_database
# Default Mailbox size, is set to 0 which means unlimited!
mailbox_size_limit = 0
virtual_mailbox_limit = 0
### TLS settings
###
## TLS for outgoing mails from the server to another server
#smtp_tls_security_level = may
#smtp_tls_note_starttls_offer = yes
## TLS for email client
#smtpd_tls_security_level = may
#smtpd_tls_cert_file = /etc/ssl/server/cloud.rainerwiederstein.de.pem
#smtpd_tls_key_file = $smtpd_tls_cert_file
#smtpd_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
#smtpd_tls_loglevel = 1
#smtpd_tls_received_header = yes
#smtpd_tls_exclude_ciphers = MD5, DES, RC4, 3DES
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5
smtpd_relay_restrictions =
# permit_sasl_authenticated,
reject_unauth_destination,
reject_unauth_pipelining,
reject_non_fqdn_recipient,
permit_mynetworks
inet_protocols = ipv4
|
Mein Ziel: Egal welcher Client, auch ein lokaler oder sendmail, darf nur angelegte E-Mail-Adressen benutzen dürfen beim Versand. Bearbeitet von sebix: Bitte verwende in Zukunft Codeblöcke, um die Übersicht im Forum zu verbessern!
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
tt33tt schrieb: Dafür habe ich diverse Restrictions in der Konfig eingerichtet. Doch reject_unlisted_sender müsste eigentlich schon ausreichen oder?
Nein. Diese Regeln gelten nur Mails, die per SMTP reinkommen.
Über sendmail -t kann ich jedoch eine beliebige Adresse benutzen und die wird trotzdem herausgelassen.
Das ist richtig. Daher empfahl ich dir, per authorized_submit_users keine Mails per sendmail anzunehmen, und stattdessen immer (auch lokal) SMTP zu nutzen. Dann kannst du beispielsweise smtpd_sender_login_maps nutzen, um zu überprüfen, ob der eingeloggte User die entsprechende Absende-Adresse nutzen darf.
Kann ich irgendwo einen Debug einschalten, der mir zeigt welche Regeln angewendet wurden und wie das Ergebnis ist?
Siehe.
Mein Ziel: Egal welcher Client, auch ein lokaler oder sendmail, darf nur angelegte E-Mail-Adressen benutzen dürfen beim Versand.
Für SMTP hast du das korrekt konfiguriert. Für Mails die per sendmail reinkommen kannst du entweder zwingendes Rewriting auf valide Adressen konfigurieren, oder einen eigenen Milter bauen, der die Adressprüfung für dich übernimmt. Ich würde wie gesagt den Weg über SMTP gehen.
|
tt33tt
(Themenstarter)
Anmeldungsdatum: 27. Juli 2016
Beiträge: 23
|
Ich wollte nur noch einmal Danke sagen!
SMTP ist nun schon lange im Betrieb und das ist eine gute Sache ☺
|