Allowlist-Builder
Minimale CIDR-Allowlist aus IP-Liste erstellen
Input IPs/CIDRs
Minimal CIDR Allowlist
Der Allowlist Builder wandelt eine Liste einzelner IP-Adressen in die minimale Menge von CIDR-Blöcken um, die genau diese Adressen abdecken. Geben Sie Adressen wie 192.168.1.0, 192.168.1.1, 192.168.1.2, 192.168.1.3 ein und erhalten Sie ein einziges 192.168.1.0/30 zurück -- weniger Firewall-Regeln, schnellere Regelverarbeitung und übersichtlichere Konfigurationen.
IP-Allowlists und CIDR-Aggregation verstehen
Wenn Sie Firewalls, Security Groups oder Webserver-Zugriffskontrollen betreiben, haben Sie mit ziemlicher Sicherheit schon einmal eine Allowlist gepflegt. Eine Allowlist ist eine Menge von IP-Adressen, denen der Zugriff auf eine Ressource explizit gestattet ist -- alles andere wird verweigert. Die Herausforderung entsteht, wenn diese Liste von einer Handvoll Adressen auf Hunderte oder Tausende anwächst. Jeder einzelne IP-Eintrag ist eine separate Regel in Ihrer Firewall, und jede Regel kostet Verarbeitungszeit bei jedem Paket, das durchgeht.
CIDR-Aggregation löst dieses Problem, indem benachbarte IP-Adressen zu kompakten Blöcken zusammengefasst werden. Anstatt 256 einzelne Adressen von 172.16.0.0 bis 172.16.0.255 aufzulisten, schreiben Sie ein einziges 172.16.0.0/24. Die Firewall wertet eine Regel statt 256 aus, was wichtig ist, wenn Sie Millionen von Paketen pro Sekunde auf einem stark ausgelasteten Edge-Gerät verarbeiten. Cloud-Plattformen setzen harte Grenzen bei der Regelanzahl durch -- AWS Security Groups erlauben standardmäßig 60 Regeln pro Gruppe, und Azure NSGs sind auf 1000 begrenzt -- daher ist die effiziente CIDR-Darstellung nicht nur eine Leistungsoptimierung, sondern oft eine Notwendigkeit.
Der entscheidende Unterschied zwischen generischer CIDR-Aggregation und dem Erstellen von Allowlists ist die Genauigkeit. Ein allgemeines Aggregationstool könnte 192.168.1.0 und 192.168.1.3 zu 192.168.1.0/30 zusammenfassen, aber dieser Block enthält auch .1 und .2, die möglicherweise nicht autorisiert sind. Bei einer Allowlist ist das Einschließen nicht autorisierter Adressen eine Sicherheitslücke. Dieser Builder garantiert, dass die Ausgabe niemals eine Adresse abdeckt, die nicht in der ursprünglichen Eingabe enthalten war -- Genauigkeit hat immer Vorrang vor Kompression.
So erstellen Sie eine minimale CIDR-Allowlist
- Geben Sie Ihre Liste von IP-Adressen ein -- eine pro Zeile, kommagetrennt oder gemischt mit bestehender CIDR-Notation.
- Der Builder analysiert Nachbarschafts- und Gruppierungsmöglichkeiten über alle Eingabeadressen hinweg.
- Benachbarte Adressen werden nur dann in CIDR-Blöcke aggregiert, wenn dabei keine unautorisierten IPs eingeschlossen werden.
- Überprüfen Sie die Ausgabe, die jeden CIDR-Block und die Anzahl der ursprünglich abgedeckten Adressen zeigt.
- Kopieren Sie die optimierte Allowlist zur Verwendung in Ihrer Firewall-, Security-Group- oder ACL-Konfiguration.
Beispiele für Allowlist-Aggregation
| Eingabe-IPs | Ausgabe-CIDR | Abgedeckte Adressen |
|---|---|---|
192.168.1.0, 192.168.1.1, 192.168.1.2, 192.168.1.3 | 192.168.1.0/30 | 4 |
10.0.0.0, 10.0.0.1 | 10.0.0.0/31 | 2 |
172.16.0.0 bis 172.16.0.255 | 172.16.0.0/24 | 256 |
192.168.1.0, 192.168.1.2 | 192.168.1.0/32, 192.168.1.2/32 | 2 (Zusammenführung nicht möglich -- 192.168.1.1 fehlt) |
Kompressionsrate
Eine Liste von 256 aufeinanderfolgenden Adressen, die an einer /24-Grenze beginnen, wird zu einem einzigen CIDR-Block komprimiert -- eine 256:1-Reduktion. Reale Listen erzielen typischerweise 5:1 bis 20:1 Kompression, abhängig davon, wie geclustert die Adressen sind.
Wann den Allowlist Builder verwenden
- Firewall-Regellimits -- Cloud Security Groups (AWS begrenzt auf 60 Regeln pro SG, Azure begrenzt auf 1000 pro NSG) erfordern kompakte Allowlists, um innerhalb der Kontingente zu bleiben.
- Konsolidierung von Zugriffs-Logs -- Konvertieren Sie Wochen autorisierter IP-Adressen aus Zugriffs-Logs in eine wartbare Allowlist.
- Migrationsplanung -- Kombinieren Sie Allowlists von mehreren Legacy-Firewalls in ein einzelnes optimiertes Set.
- Leistungsoptimierung -- Weniger CIDR-Regeln bedeuten schnelleres Paket-Matching bei Hochdurchsatz-Firewalls.
- API-Gateway-Konfiguration -- Dienste wie Cloudflare oder AWS API Gateway profitieren von minimalen CIDR-Listen für IP-basierte Zugriffskontrolle.
Wie CIDR-Aggregation für Allowlists funktioniert
CIDR-Aggregation fasst IP-Adressen zu Blöcken zusammen, indem gemeinsame Netzwerkpräfixe in der Binärdarstellung identifiziert werden. Zwei Adressen können nur dann zu einem größeren Block zusammengeführt werden, wenn:
- Sie numerisch benachbart sind --
10.0.0.4und10.0.0.5sind benachbart;10.0.0.4und10.0.0.6sind es nicht. - Sie auf einer Zweierpotenz-Grenze ausgerichtet sind --
10.0.0.0/31ist gültig (deckt.0und.1ab), aber Sie können ein/31nicht an einer ungeraden Adresse beginnen. - Keine Lücken existieren -- Wenn
10.0.0.1in einer Liste fehlt, die10.0.0.0und10.0.0.2enthält, können diese nicht zu/30zusammengefasst werden, da dies die nicht autorisierte Adresse.1einschließen würde.
Sichere vs. unsichere Aggregation
Sicher: 192.168.1.0 + 192.168.1.1 → 192.168.1.0/31
(beide Adressen sind in der Eingabeliste)
Unsicher: 192.168.1.0 + 192.168.1.3 → 192.168.1.0/30
(würde .1 und .2 einschließen, die NICHT in der Liste sind)
Der Allowlist Builder wählt immer Genauigkeit vor Kompression -- er wird niemals einen CIDR-Block erzeugen, der IPs außerhalb Ihrer ursprünglichen Liste enthält.
Der Aggregationsalgorithmus
Der Builder arbeitet von unten nach oben. Er beginnt damit, jede Eingabeadresse in ein /32 (einzelner Host) umzuwandeln. Dann versucht er, benachbarte /32-Einträge zu /31-Blöcken zu paaren, benachbarte /31-Blöcke zu /30-Blöcken, und so weiter. Bei jedem Schritt prüft er, ob der resultierende Block eine Adresse enthalten würde, die nicht in der ursprünglichen Eingabe war. Wenn ja, wird die Zusammenführung übersprungen und die kleineren Blöcke werden beibehalten. Dieser Greedy-Ansatz garantiert die minimale Anzahl von CIDR-Blöcken, ohne jemals zu viele Adressen abzudecken.
Eingabe: 10.0.0.0, 10.0.0.1, 10.0.0.2, 10.0.0.3, 10.0.0.4
Schritt 1: 10.0.0.0/32, 10.0.0.1/32, 10.0.0.2/32, 10.0.0.3/32, 10.0.0.4/32
Schritt 2: 10.0.0.0/31, 10.0.0.2/31, 10.0.0.4/32
Schritt 3: 10.0.0.0/30, 10.0.0.4/32 (Zusammenführung .0/.1 und .2/.3 zu /30)
Schritt 4: /30 + /32 kann nicht zusammengeführt werden (bräuchte 10.0.0.5-7 um ein /29 zu füllen)
Ergebnis: 10.0.0.0/30, 10.0.0.4/32 (2 Einträge statt 5)
Praktische Hinweise zum Erstellen von Allowlists
Die größte Problemquelle bei IP-Allowlists sind veraltete Einträge. Adressen werden hinzugefügt, wenn ein neuer Partner oder ein neues Büro online geht, aber niemand entfernt sie, wenn die Partnerschaft endet oder das Büro auf einen neuen IP-Bereich umzieht. Mit der Zeit wächst die Allowlist zu einem unübersichtlichen Durcheinander, dem niemand vertraut und das niemand anfassen will. Machen Sie es zur Praxis, jedem Eintrag ein Ablaufdatum oder eine Ticketnummer beizufügen und die Liste vierteljährlich zu überprüfen. Wenn Sie nicht identifizieren können, warum eine Adresse dort steht, sollte sie wahrscheinlich entfernt werden.
Beim Erstellen von Allowlists aus Zugriffs-Logs achten Sie auf das verwendete Zeitfenster. Ein einzelner Tag mit Logs könnte legitime Adressen verpassen, die nur wöchentlich verbinden (Überwachungssysteme, Batch-Jobs, monatliche Berichtsgeneratoren). Verwenden Sie mindestens 30 Tage an Logs, um seltenen aber legitimen Datenverkehr zu erfassen. Andererseits sollten Sie nicht blindlings jede Adresse auf die Allowlist setzen, die jemals eine Verbindung hergestellt hat -- prüfen Sie, ob der Datenverkehr tatsächlich autorisiert war, nicht nur erfolgreich. Ein Angreifer, der einmal eingedrungen ist, sollte nicht permanent auf der Allowlist stehen.
Wenn Sie an Regellimits einer Cloud-Plattform stoßen, überlegen Sie, ob Sie wirklich eine Allowlist pro IP benötigen oder ob ein breiterer CIDR-Block akzeptabel ist. Wenn alle Server eines Partners in 203.0.113.0/24 leben, ist es einfacher und widerstandsfähiger gegenüber Infrastrukturänderungen, das gesamte /24 auf die Allowlist zu setzen, als einzelne Server-IPs zu verfolgen. Dies ist eine Ermessensentscheidung, die davon abhängt, wie sehr Sie dem Netzwerkbesitzer vertrauen, aber sie reduziert Ihre Regelanzahl dramatisch.
Häufig gestellte Fragen
Welche Eingabeformate akzeptiert der Allowlist Builder? Der Builder akzeptiert IP-Adressen eine pro Zeile, kommagetrennt, durch Leerzeichen getrennt oder gemischt mit bestehender CIDR-Notation. Sie können direkt aus Tabellenkalkulationen, Log-Dateien oder bestehenden Firewall-Konfigurationen einfügen. Sowohl IPv4- als auch IPv6-Adressen werden unterstützt.
Wird der Builder jemals IPs einschließen, die ich nicht angegeben habe?
Nein. Der Builder priorisiert Genauigkeit vor Kompression. Wenn die Zusammenführung zweier Adressen zu einem CIDR-Block auch nur eine Adresse einschließen würde, die nicht in Ihrer ursprünglichen Liste steht, behält er sie als separate /32-(IPv4) oder /128-(IPv6)-Einträge bei. Diese Garantie ist entscheidend für Sicherheits-Allowlists.
Wie unterscheidet sich das von der CIDR-Aggregation? Allgemeine CIDR-Aggregation geht davon aus, dass Sie bereits CIDR-Blöcke haben und diese zusammenführen möchten. Der Allowlist Builder beginnt bei einzelnen IP-Adressen und findet die optimale CIDR-Darstellung. Er ist speziell für den Aufbau von Firewall-Allowlists konzipiert, bei denen das Einschließen zusätzlicher Adressen inakzeptabel ist.
Kann ich die Ausgabe direkt in meiner Firewall verwenden? Die Ausgabe ist eine Liste von CIDR-Blöcken im Klartext. Für plattformspezifische Syntax verwenden Sie die Ausgabe mit einem Snippet-Generator wie dem CIDR Allow/Deny Snippet Generator (nginx) oder dem Apache Require ip Snippet Generator, um bereitstellungsfertige Konfiguration zu erzeugen.
Welche Kompressionsrate kann ich erwarten?
Es hängt ganz davon ab, wie geclustert Ihre Adressen sind. Eine Liste von 256 aufeinanderfolgenden Adressen an einer /24-Grenze wird zu einem einzigen Block komprimiert (256:1). Eine Liste von 100 Adressen, die über verschiedene Subnetze verstreut sind, wird möglicherweise nur auf 80 Blöcke komprimiert (1,25:1). In der Praxis erzielen die meisten realen Zugriffs-Logs Raten zwischen 5:1 und 20:1.
Kann ich IPv4- und IPv6-Adressen in derselben Eingabe mischen? Ja. Der Builder verarbeitet IPv4- und IPv6-Adressen getrennt und erzeugt unabhängige CIDR-Blocklisten für jede Adressfamilie. Dies entspricht der Art und Weise, wie die meisten Firewalls Dual-Stack-Regeln handhaben.
Verwandte Tools
- Blocklist Builder - Erstellung einer minimalen CIDR-Blocklist aus einer IP-Liste
- IP:Port Allowlist Validator - Validierung von Massen-IP:Port-Einträgen vor der Bereitstellung
- CIDR Allow/Deny Snippet Generator (nginx) - Generierung von nginx allow/deny-Direktiven aus einer CIDR-Liste
- Rule Conflict Finder - Auffinden von doppelten, überdeckten oder überlappenden Firewall-Regeln
- Apache Require ip Snippet Generator - Generierung von Apache Require ip-Direktiven