Nutzer-IP-Adressen – Übersicht

Google Cloud Armor-Sicherheitsrichtlinienregeln, die nach einer IP-Adresse filtern, verwenden in der Regel die Client-IP des Aufrufers. Wenn Ihre Dienste hinter einem Vermittler wie einem CDN (Content Delivery Network) eines Drittanbieters stehen, ist die Client-IP-Adresse im Feld origin.ip die IP-Adresse des letzten Vermittlers und nicht die des ursprünglichen Clients.

Mit der Funktion „Nutzer-IP“ können Sie ein alternatives Feld (origin.user_ip) konfigurieren, das aus einem Header aufgelöst wird, der vom Upstream-Anbieter ausgefüllt wird. Sie können dann das Feld origin.user_ip in den Regeln Ihrer Sicherheitsrichtlinie verwenden, um die IP-Adresse anzugeben, die in diesen Funktionen verwendet wird. Sie können die Option userIpRequestHeaders[] im Feld advancedOptionsConfig der Sicherheitsrichtlinie konfigurieren, wenn Sie origin.user_ip verwenden.

Funktionsweise von Nutzer-IP-Adressen

Sie konfigurieren Cloud Armor so, dass die IP-Adresse des Endnutzers aus einem bestimmten Anfrageheader extrahiert wird. Dieser Wert wird in das Feld origin.user_ip eingefügt, das Sie dann in Ihren Sicherheitsrichtlinienregeln verwenden können.

Wenn die in userIpRequestHeaders[] angegebenen Header nicht vorhanden sind oder ihre Werte keine gültigen IP-Adressen sind, greift Cloud Armor stattdessen auf die Client-IP-Adresse (origin.ip) zurück. Das folgende Beispiel zeigt einen direkten Vergleich für den Standardfall.

origin.ip != origin.user_ip

Die folgenden Beispiele zeigen, wie origin.user_ip in der Regelsprache, mit Google Threat Intelligence und in Adressgruppen verwendet wird.

inIpRange

inIpRange(origin.user_ip, '9.9.9.0/24')

Weitere Informationen zur Verwendung von inIpRange mit origin.user_ip finden Sie unter Attribute.

Google Threat Intelligence

evaluateThreatIntelligence('iplist-known-malicious-ips', origin.user_ip)

Weitere Informationen finden Sie unter Google Threat Intelligence anwenden.

Adressgruppen

evaluateAddressGroup('example-address-group', origin.user_ip)

Weitere Informationen finden Sie unter Adressgruppen konfigurieren.

Adressgruppen auf Organisationsebene

evaluateOrganizationAddressGroup('example-org-address-group', origin.user_ip)

Weitere Informationen finden Sie unter Adressgruppen auf Organisationsebene verwenden.

Best Practices

Da origin.user_ip aus einem Anfrageheader aufgelöst wird, der von einem nicht vertrauenswürdigen Client manipuliert werden kann, müssen Sie prüfen, ob der Traffic von einer vertrauenswürdigen Upstream-Quelle stammt.

Um die Upstream-Quelle zu validieren, erstellen Sie eine Sicherheitsrichtlinie mit mindestens zwei Regeln. Die erste Regel mit höherer Priorität prüft, ob die IP-Adresse des unmittelbaren Clients (origin.ip) zu Ihrem vertrauenswürdigen Upstream-Anbieter gehört. Die zweite Regel mit einer niedrigeren Priorität wendet Ihre beabsichtigte Logik mit dem Feld origin.user_ip an.

Sie können beispielsweise eine Richtlinie mit den folgenden zwei Regeln erstellen:

  • Regel 1: evaluateThreatIntelligence('iplist-public-clouds', origin.ip)
  • Regel 2: inIpRange(origin.user_ip, '9.9.9.0/24')

Nächste Schritte