Zum Inhalt springen
Odinex Cloud
Konzepte

Firewalls

Zustandsbehaftete Regeln für eingehenden und ausgehenden Traffic, direkt oder per Label auf Server angewendet.

Eine Firewall ist ein Satz von Regeln, den Sie auf Server anwenden. Firewalls sind zustandsbehaftet (stateful): Antworten auf erlaubte Verbindungen werden immer durchgelassen.

Ein Server ohne Firewall akzeptiert sämtlichen eingehenden Traffic. Wenden Sie auf jeden Server, der nicht vollständig offen sein muss, eine Firewall an.

So funktionieren Regeln

  • Eingehend (direction: in): Alles wird blockiert, außer dem, was eine Regel erlaubt.
  • Ausgehend (direction: out): Hat die Firewall keine ausgehenden Regeln, ist sämtlicher ausgehender Traffic erlaubt. Sobald sie eine hat, wird nur durchgelassen, was die ausgehenden Regeln erlauben.
  • Gelten mehrere Firewalls für einen Server, erhält der Server die Regeln aller Firewalls zusammen. Da Regeln Traffic immer nur erlauben, lässt eine Firewall ohne ausgehende Regeln sämtlichen ausgehenden Traffic durch, auch wenn eine andere Firewall auf demselben Server ausgehende Regeln hat.

Jede Regel hat:

FeldWerte
directionin oder out
protocoltcp, udp, icmp, esp oder gre
portNur für tcp und udp, dort aber Pflicht: ein Port ("443") oder ein Bereich ("1000-2000")
source_ipsEingehende Regeln: die CIDRs, die sich verbinden dürfen, z. B. 0.0.0.0/0 und ::/0 für alle
destination_ipsAusgehende Regeln: die CIDRs, zu denen sich der Server verbinden darf
descriptionOptionaler Text

Eine Firewall kann bis zu 50 Regeln haben. Beim Setzen der Regeln wird die gesamte Liste ersetzt.

rules.json
[
  { "direction": "in", "protocol": "tcp", "port": "22", "source_ips": ["198.51.100.0/24"], "description": "SSH from the office" },
  { "direction": "in", "protocol": "tcp", "port": "443", "source_ips": ["0.0.0.0/0", "::/0"] },
  { "direction": "in", "protocol": "icmp", "source_ips": ["0.0.0.0/0", "::/0"] }
]
odx firewall create --name web --rules-file rules.json
odx firewall add-rule --direction in --protocol tcp --port 80 --source-ips 0.0.0.0/0,::/0 web

Eine Firewall anwenden

Eine Firewall wird auf eine von zwei Arten auf Ressourcen angewendet (apply_to_resources):

  • server: auf einen bestimmten Server.
  • label_selector: auf jeden Server im Projekt, dessen Labels zum Selektor passen, z. B. role=web. Server, die Sie später erstellen, deren Labels Sie ändern oder die Sie löschen, werden automatisch berücksichtigt; applied_to_servers der Firewall zeigt, welche Server aktuell passen.
odx firewall apply-to-resource --type label_selector --label-selector role=web web
odx firewall apply-to-resource --type server --server db-1 web

Sie können beim Erstellen eines Servers auch bis zu fünf Firewalls angeben, sodass er ab dem ersten Start geschützt ist.

Eine Firewall, die noch auf Ressourcen angewendet ist, müssen Sie erst von diesen entfernen, bevor Sie sie löschen können.

Auf dieser Seite