Skip to main contentSkip to footer
Anleitungen zu Plugins

IP-Sperren zwischen Linux-Servern mit einer Gruppe teilen

Patrick Schlesinger
ReportedIP Linux Agent plugin guide: one ban list for every server

Um IP-Sperren zwischen Linux-Servern zu teilen, legen Sie die API-Keys dieser Server auf reportedip.com in eine Gruppe, und der ReportedIP Linux Agent auf jedem Host verwirft eine Adresse, die ein Mitglied meldet, auf jedem Port für das Sperrfenster der Gruppe. Die Liste kommt mit dem Community-Feed, liegt in einem eigenen Kernel-Set und braucht auf dem Host keinen Konfigurationsschlüssel.

Gruppen gibt es ab dem Professional-Tarif. Das Gruppen-Set gibt es seit Agent 0.3.25, die Gruppen-Whitelist seit 0.3.27. Ein Key ohne Gruppe arbeitet genau wie bisher.

Was eine Gruppe auf einem Linux-Server ändert

Der Agent füllt bereits fünf Kernel-Sets aus der Community-Blacklist, eines je angebotenem Dienst: ssh, mail, web, ftp und edge. Diese Sets enthalten, was die ganze Community gemeldet hat, gefiltert nach Ihrem Confidence-Wert, und jedes greift nur auf den Ports seines Dienstes. Eine Gruppe ergänzt eine sechste Liste, group, mit dem, was die anderen Mitglieder Ihrer eigenen Kontogruppe gemeldet haben, und diese greift auf jedem Port.

In der Praxis macht das den Unterschied. Ein Scanner, der auf Ihrem Webserver SSH bearbeitet, wird dort vom lokalen Watcher gesperrt; mit einer Gruppe wird dieselbe Adresse auf dem Mailserver und dem Datenbank-Host beim nächsten Abgleich verworfen, bevor sie dort ankommt. Mitglieder können Linux-Server mit dem Agent und WordPress-Websites mit dem Hive-Plugin sein, gemischt in einer Gruppe.

ListeKernel-SetsPorts, auf denen die Regel greiftWoher die Adressen kommen
sshrip-ssh, rip-ssh-v6aus lists.ssh.portsder Community
mailrip-mail, rip-mail-v625, 465, 587, 110, 995, 143, 993der Community
webrip-web, rip-web-v680, 443der Community
ftprip-ftp, rip-ftp-v621der Community
edgerip-edge, rip-edge-v6jeder Portder Community
grouprip-group, rip-group-v6jeder Portden Mitgliedern Ihrer Gruppe

Wie der Agent die Gruppenliste abruft und anwendet

Auf einem lizenzierten Server wird die Gruppenliste als JSON im selben Durchlauf wie der Community-Feed abgerufen. Eine Lizenz ist bei Professional (ein Server) und Business (drei Server) enthalten, weitere lassen sich je Host hinzufügen. Wie oft der Durchlauf läuft, entscheidet der Server, nicht der Host: ab Professional alle 15 Minuten. Jeder Abruf ist bedingt, eine unveränderte Liste antwortet also mit 304 und kostet eine Anfrage ohne Datenübertragung.

  • Der Austausch ist atomar. Das neue Set wird neben dem alten aufgebaut und ausgetauscht, es gibt also nie einen Moment mit leerem Set.
  • Eine leere Gruppe ist gültig. Anders als die Community-Listen hat die Gruppenliste keine Mindestgröße: Eine Gruppe ohne aktuelle Sperren ist ein echter Zustand und kein fehlgeschlagener Download.
  • Der Host wird zuerst geschützt. Loopback, private Bereiche, die eigenen Adressen des Hosts, der SSH-Client, mit dem Sie verbunden sind, und whitelist.conf bleiben aus jedem Set heraus, bevor etwas angewendet wird. Auch der Dienst setzt die eigene Meldeadresse eines Mitglieds nie auf die Liste.
  • Nichts zu konfigurieren. Die Liste group ist immer aktiv und braucht keinen Eintrag in config.yaml. Bei einem Key ohne Gruppe liefert der Dienst keine Liste, und das Set bleibt einfach leer.

Das vollständige Sperrmodell, einschließlich der iptables– und nftables-Regeln, die der Agent schreibt, steht unter Sperren mit dem Linux Agent. Für die Kernel-Seite beschreibt das ipset-Handbuch die Set-Typen, die der Agent auf einem iptables-Host verwendet.

Wie die Gruppen-Whitelist jeden Server erreicht

Eine Gruppe kann eine Whitelist mit bis zu 200 Adressen und Präfixen führen, jeweils mit einer Notiz, gepflegt in Ihrem Konto. Der Agent liest sie in derselben Anfrage wie die Gruppenliste und schreibt sie nach /var/lib/reportedip-agent/group-whitelist, im Format von whitelist.conf, jede Notiz als Kommentar. Dann wendet er sie im selben Lauf an allen drei Stellen an, an denen eine Whitelist auf dem Host wirkt:

  1. im Kernel-Whitelist-Set, das vor jeder Sperrregel steht,
  2. im Filter, den jede heruntergeladene Liste durchläuft,
  3. in der Melde-Schranke des Log-Watchers, damit der Host eine solche Adresse nie meldet.

Die Gruppen-Whitelist ist eine weitere Ebene neben der eigenen whitelist.conf des Hosts und seiner Auto-Whitelist; sie ersetzt diese nie. Bearbeiten Sie die Datei nicht von Hand, der nächste Abgleich schreibt sie neu. Ein Key, der seine Gruppe verlässt, verliert die Datei mit dem nächsten Abgleich.

Wie Sie die Gruppe auf einem Host prüfen

reportedip-agent status zeigt die Gruppe an drei Stellen: die Zeile group unter den Listen mit den Eintragszahlen und dem Alter des letzten erfolgreichen Abrufs, die mit group: markierten Zeilen der Gruppen-Whitelist mit ihren Notizen, und eine Zeile unter dem Konto mit Name, Größe und Sperrfenster der Gruppe. Die Terminalbilder unten sind Beispielausgaben mit Dokumentationsadressen aus RFC 5737 und RFC 3849 und erfundenen Hostnamen; das Layout ist das, das der Agent ausgibt.

Terminalausgabe von reportedip-agent status mit dem Gruppen-Set, zwei Einträgen der Gruppen-Whitelist und der Gruppenzeile unter dem Konto
Beispielausgabe von reportedip-agent status auf einem Host, dessen Key in einer Gruppe ist.

Ein Key ohne Gruppe gibt group=none aus, dazu einen Hinweis, wo Gruppen verwaltet werden. Das ist kein Fehler und macht den Exit-Code von status nicht zur Warnung: Ein Monitoring, das den Exit-Code liest, bleibt auf jedem Host ohne Gruppe grün.

Terminalausgabe von reportedip-agent status für einen Key ohne Gruppe mit group=none unter dem Konto
Ein Key ohne Gruppe: Das Set bleibt leer, und nichts gilt als beeinträchtigt.

reportedip-agent whitelist list gibt die eigene Datei des Hosts, die Auto-Whitelist und die Gruppen-Whitelist aus, letztere in Zeilen mit dem Präfix group:. Dieselbe Kontozeile zeigt außerdem die Reputation der Adresse, von der der Host meldet; eine Adresse, die mit einer Konfidenz ab 75 gelistet ist (der niedrigsten Stufe, die ein Feed ausliefert), wird als Gesundheitszustand reputation gemeldet.

Eine Gruppe für Ihre Server in vier Schritten einrichten

  1. Aktualisieren Sie den Agent auf 0.3.32 oder neuer auf jedem Host. Jeder Host braucht für den Feed eine Serverlizenz.
  2. Legen Sie die Gruppe an unter Gruppen in Ihrem reportedip.com-Konto und wählen Sie das Sperrfenster, standardmäßig 24 Stunden.
  3. Fügen Sie die API-Keys hinzu der Server und gegebenenfalls der WordPress-Websites mit Hive, die ihre Sperren teilen sollen. Ein Key kann in einer Gruppe sein.
  4. Führen Sie sudo reportedip-agent sync aus oder warten Sie auf den nächsten Durchlauf, dann prüfen Sie in status die Gruppenzeile. sync von Hand ist immer erlaubt; eine Liste, die vor weniger als 15 Minuten abgerufen wurde, wird einfach nicht erneut geholt.

Die Gruppe kann außerdem je neuer Sperre einen signierten Webhook mit einem HMAC-SHA256 über den Inhalt an ein Chat- oder Ticketsystem senden; die Einzelheiten stehen auf der Seite zu Gruppen. Auf der WordPress-Seite übernimmt das Hive-Plugin dieselbe Liste als eigenen Sperrtyp, beschrieben in IP-Sperren zwischen WordPress-Websites teilen.

Fragen zu Gruppensperren auf Linux-Servern

Ersetzt die Gruppenliste den Community-Feed?

Nein. Die fünf Community-Listen behalten ihre Ports und ihren Confidence-Filter. Die Gruppenliste ist eine sechste Liste daneben, gespeist nur von den Mitgliedern Ihrer Gruppe, und sie greift auf jedem Port, weil das Teilen einer Sperre der Sinn einer Gruppe ist.

Kann eine Gruppe meine eigenen Server voneinander aussperren?

Der Dienst lässt die eigene Meldeadresse jedes Mitglieds von der Liste weg, und der Agent hält die eigenen Adressen des Hosts, private Bereiche und Ihren SSH-Client aus jedem Set heraus. Adressen, die überall ausgenommen sein sollen, gehören auf die Gruppen-Whitelist.

Wie hebe ich eine Gruppensperre auf?

Für die ganze Gruppe entfernen Sie den Eintrag oder legen eine Ausnahme in Ihrem Konto an; jedes Mitglied verwirft ihn beim nächsten Abgleich. Auf einem einzelnen Host hält reportedip-agent whitelist add <address> die Adresse dauerhaft aus den Sets dieses Hosts heraus.

Weiterlesen

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fill out this field
Fill out this field
Bitte geben Sie eine gültige E-Mail-Adresse ein.
You need to agree with the terms to proceed