Drücke "Enter", um den Text zu überspringen.

Schlagwort: Regeln

Azure Firewall – Unerwartetes Verhalten mit DNAT Rules

Die Azure Firewall hat ein für mich zunächst nicht nachvollziehbares, aber dann verständliches, wenn auch nicht erwartetes Verhalten. Allerdings steht es, wenn man dann genau nachliest, auch genau so, wie es passiert in der Doku. Aber nochmal langsam…

Ich habe auf einer Azure Firewall einige DNAT Rules, um auf Jump-Hosts zu kommen, die in unterschiedlichen Netzwerken stehen:

Hier ist also für zwei VMs aus dem freien Internet über die Public IP der Azure Firewall und zwei höhere Ports der Durchgriff auf RDP TCP/3389 konfiguriert.

Zwischen den beiden Netzwerken, in denen sich die VMs befinden, soll der Traffic aber stark reglementiert sein. Daher sind dort nur einige Ports explizit erlaubt, für den Rest sollte die Azure Firewall „per default“ blockieren:

Jedoch ist es dennoch so, dass zwischen den beiden VMs, die ja in getrennten Netzen stehen, weiterhin Kommunikation möglich ist, auch jenseits von ICMP und HTTP(S). Getestet hatte ich es mit RDP – das geht noch, obwohl das nach meiner Meinung nicht so sein sollte.

Und das hatte mich sehr verwundert. Zunächst hatte ich das als Fehlverhalten interpretiert. Ein kurzer Call mit dem Support hat aber geklärt, dass dieses Verhalten so ganz normal ist. Das wiederum war für mich unerwartet.

Die Lösung hier ist, dass eine DNAT Rule eine implizite Network Rule nach sich zieht. Dabei werden allerdings nicht Port und Destination IP sondern Translated Adress und Translated Port für die Destination verwendet. So steht es auch in der Doku:

(Quelle: https://docs.microsoft.com/en-us/azure/firewall/rule-processing)

Es gibt hier also zwei Lösungen, um das Ziel, keine Kommunikation zwischen den Netzen zu haben, zu erreichen:

  • In den DNAT Rules konkrete Source-IPs / Netze eintragen
  • Explizite Network Rules mit einem Deny zwischen den Netzen

Schreibe einen Kommentar...