IP-Adressen von Nutzern

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

Mit der Nutzer-IP-Funktion können Sie ein alternatives Feld, origin.user_ip, konfigurieren, das aus einem Header aufgelöst wird, den der Upstream-Anbieter füllt. Anschließend können Sie 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 füllt das Feld origin.user_ip, 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

In den folgenden Beispielen wird gezeigt, wie Sie origin.user_ip in der Regelsprache, mit Google Threat Intelligence und in Adressgruppen verwenden.

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.

Erstellen Sie eine Sicherheitsrichtlinie mit mindestens zwei Regeln, um die Upstream-Quelle zu validieren. Die erste Regel mit einer höheren Priorität prüft, ob die unmittelbare Client-IP (origin.ip) zu Ihrem vertrauenswürdigen Upstream-Anbieter gehört. Die zweite Regel mit einer niedrigeren Priorität wendet die gewünschte Logik mithilfe des Felds origin.user_ip an.

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

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

Nächste Schritte