Bezugnehmend auf: docs.mailcow.email Icon Netfilter - mailcow: dockerized Dokumentation


According to: docs.mailcow.email Icon Netfilter - mailcow: dockerized Dokumentation
docs.mailcow.email Icon docs.mailcow.email
Netfilter - mailcow: dockerized Dokumentation
None
docs.mailcow.email

Ich habe 6 mailcow-Server und möchte gerne folgendendes Szenario abbilden:
Fügt ein Server eine neue IP auf die Banlist, sollen sich die anderen Server mittels der Banlist-URL die gesperrten IPs der anderen Server ziehen und ebenfalls sperren.

Die Frage ist nur, wo trage ich die URL ein? Das geht aus der Dokumentation leider nicht hervor.
Ich habe als 6 Server, folglich 6 URLs, ich müsste also auf jedem der Server die jeweils anderen URLs mit einbinden.
Trage ich die 5 URLs der anderen Server einfach unter “Blacklist für Netzwerke und Hosts” ein? Das funktioniert nämlich nicht.
Oder muss hier eine Regex-Regel erstellt werden? Falls ja, wie würde das aussehen?
Wie oft erfolgt eine Aktualisierung?
Kann man überhaupt mehrere URLs auf diese Weise einbinden?

Außerdem:

Wenn ich “Fail2Ban extern verwalten” auswähle, werden lokal (laut dem darunter stehendem Text) keine lokalen Bans mehr erzeugt.
Heißt das, dass wenn auf dem Server, der normalerweise einen Ban ausführen würde, kein Ban mehr erzeugt wird und nur noch die externen Listen verwendet werden?

Aktuell gibt es dafür keine Funktion soweit mir bekannt.
Eine Möglichkeit wäre die Banliste via API abzufragen und auf den jeweiligen Hosts zu verarbeiten via iptables o. ggf. fail2ban agent

Have something to say?

Join the community by quickly registering to participate in this discussion. We'd like to see you joining our great moo-community!

Ich verstehe dann vielleicht auch den Sinn der Banlist-URL nicht ganz, wenn man diese auf anderen Mailcow-Servern nicht importieren/nutzen kann/könnte, denn wenn jemand einen Server angreift, sind somit auch alle anderen Server vor dem Angriff dieser IP geschützt, wenn man die restlichen fail2ban-Regeln korrekt einstellt.

War/Ist das nicht Sinn dieser Funktion?

Falls nicht, ist das ein klares Feature Request, denn ein solches Sicherheitsfeature wäre sehr sehr nützlich.
Es wäre jedoch nur noch nötig eine zweite Banlist-URL mit Ablaufdatum des Bans zu versehen.
Hierfür gibt es aus meiner Sicht zwei Möglichkeiten:
1) Übermittlung des Ablauf-Timestamp als UTC
2) Übermittlung des Ablauf-Timestamp als Unix Timestamp

So könnte der Inhalt der zweiten Banlist-URL z.B. so aussehen:
192.168.1.255;2024-03-13T08:11:33
oder
192.168.1.255;1710317493

Mit diesem Feature vermeidet man endlose Ban-Schleifen, denn würde man mehrere Banlist-URLs mehrerer mailcows auf einem Server einrichten, würde sich ein Eintrag ständig wieder neu in die Liste eintragen. Auf diese Weise ist der Eintrag auf allen Servern mit Ablauf des Zeitstempels hinfällig (und sollte automatisch von der Liste entfernt werden).

Optional: Wenn man gerade dabei ist, wäre es auch sinnvoll, dass man eine Whitelist-URL einfügen kann.

Meiner Meinung nach wäre ein solches Feature ein bedeutender Sicherheitsvorteil im Vergleich zu vielen anderen Systemen.

Offene Frage/n:
Wie viele Einträge darf eine solche Liste derzeit haben?
Wäre es möglich eine IP-Banlist eines externen Anbieters (wie z.B.: LittleJake/ip-blacklist oder T145/black-mirror) zu nutzen?

No one is typing