

**Wir stellen vor: ein neues Konsolenerlebnis für AWS WAF**

Sie können das aktualisierte Erlebnis jetzt verwenden, um überall in der Konsole auf AWS WAF Funktionen zuzugreifen. Weitere Informationen finden Sie unter [Arbeiten mit der Konsole](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html). 

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Maßgeschneiderte Webanfragen und Antworten in AWS WAF
<a name="waf-custom-request-response"></a>

In diesem Abschnitt wird erklärt, wie Sie Ihren AWS WAF Regelaktionen und Standard-Aktionen des Protection Packs (Web-ACL) ein benutzerdefiniertes Verhalten bei der Verarbeitung von Webanfragen und Antworten hinzufügen können. Ihre benutzerdefinierten Einstellungen werden immer dann angewendet, wenn die Aktion angewendet wird, der sie zugeordnet sind. 

Sie können Webanforderungen und Antworten auf folgende Arten anpassen: 
+ Mit Challenge Aktionen AllowCount,CAPTCHA, und können Sie benutzerdefinierte Header in die Webanforderung einfügen. Wenn AWS WAF die Webanforderung an die geschützte Ressource weiterleitet, enthält die Anforderung die gesamte ursprüngliche Anforderung sowie die benutzerdefinierten Header, die Sie eingefügt haben. Wendet die Anpassung für die Challenge Aktionen CAPTCHA und AWS WAF nur an, wenn die Anfrage die CAPTCHA- oder Challenge-Token-Prüfung besteht.
+ Mit Block Aktionen können Sie eine vollständige benutzerdefinierte Antwort mit Antwortcode, Headern und Text definieren. Die geschützte Ressource beantwortet die Anfrage mit der benutzerdefinierten Antwort von AWS WAF. Ihre benutzerdefinierte Antwort ersetzt die Block Standardaktionsantwort von`403 (Forbidden)`.

**Anpassbare Aktionseinstellungen**  
Sie können eine benutzerdefinierte Anforderung oder Antwort angeben, wenn Sie die folgenden Aktionseinstellungen definieren: 
+ Regelaktion. Weitere Informationen finden Sie unter [Verwenden von Regelaktionen in AWS WAF](waf-rule-action.md).
+ Standardaktion für ein Schutzpaket (Web-ACL). Weitere Informationen finden Sie unter [Einstellung der Standardaktion für das Protection Pack (Web-ACL) in AWS WAF](web-acl-default-action.md).

**Nicht anpassbare Aktionseinstellungen**  
Sie *können* in der Überschreibungsaktion für eine Regelgruppe, die Sie in einem Schutzpaket (Web-ACL) verwenden, keine benutzerdefinierte Anforderungsbehandlung angeben. Siehe [Verwenden von Schutzpaketen (Web ACLs) mit Regeln und Regelgruppen in AWS WAF](web-acl-processing.md). Weitere Informationen finden Sie auch unter [Verwendung verwalteter Regelgruppenanweisungen in AWS WAF](waf-rule-statement-type-managed-rule-group.md) und [Verwenden von Regelgruppenanweisungen in AWS WAF](waf-rule-statement-type-rule-group.md).

**Temporäre Inkonsistenzen bei Updates**  
Wenn Sie ein Schutzpaket (Web-ACL) oder andere AWS WAF Ressourcen erstellen oder ändern, dauert es etwas länger, bis die Änderungen in allen Bereichen, in denen die Ressourcen gespeichert sind, wirksam werden. Die Übertragungszeit kann zwischen einigen Sekunden und mehreren Minuten liegen. 

Im Folgenden finden Sie Beispiele für temporäre Inkonsistenzen, die Ihnen bei der Übertragung von Änderungen möglicherweise auffallen: 
+ Wenn Sie nach der Erstellung eines Schutzpakets (Web-ACL) versuchen, es einer Ressource zuzuordnen, wird möglicherweise eine Ausnahme angezeigt, die darauf hinweist, dass das Schutzpaket (Web-ACL) nicht verfügbar ist. 
+ Nachdem Sie einem Schutzpaket (Web-ACL) eine Regelgruppe hinzugefügt haben, gelten die neuen Regelgruppenregeln möglicherweise in einem Bereich, in dem das Protection Pack (Web-ACL) verwendet wird, und nicht in einem anderen.
+ Nachdem Sie eine Einstellung für eine Regelaktion geändert haben, sehen Sie möglicherweise an einigen Stellen die alte Aktion und an anderen die neue Aktion. 
+ Nachdem Sie einem IP-Set, das in einer Sperrregel verwendet wird, eine IP-Adresse hinzugefügt haben, wird die neue Adresse möglicherweise in einem Bereich blockiert, während sie in einem anderen weiterhin zulässig ist.

**Beschränkungen für Ihre Verwendung von benutzerdefinierten Anforderungen und Antworten**  
AWS WAF definiert maximale Einstellungen für Ihre Verwendung von benutzerdefinierten Anfragen und Antworten. Beispielsweise eine maximale Anzahl von Anforderungsheadern pro Schutzpaket (Web-ACL) oder Regelgruppe und eine maximale Anzahl von benutzerdefinierten Headern für eine einzelne benutzerdefinierte Antwortdefinition. Weitere Informationen finden Sie unter [AWS WAF Kontingente](limits.md).

**Topics**
+ [Einfügen von benutzerdefinierten Anforderungsheadern für nicht blockierende Aktionen](customizing-the-incoming-request.md)
+ [Senden von benutzerdefinierten Antworten für Block Aktionen](customizing-the-response-for-blocked-requests.md)
+ [Unterstützte Statuscodes für benutzerdefinierte Antworten](customizing-the-response-status-codes.md)

# Einfügen von benutzerdefinierten Anforderungsheadern für nicht blockierende Aktionen
<a name="customizing-the-incoming-request"></a>

In diesem Abschnitt wird erklärt, wie Sie AWS WAF benutzerdefinierte Header in die ursprüngliche HTTP-Anfrage einfügen können, wenn eine Regelaktion die Anfrage nicht blockiert. Mit dieser Option fügen Sie der Anfrage nur etwas hinzu. Sie können keinen Teil der ursprünglichen Anforderung ändern oder ersetzen. Zu den Anwendungsfällen für das Einfügen von benutzerdefinierten Headern gehört es, einer Downstream-Anwendung zu signalisieren, die Anforderung auf der Grundlage der eingefügten Header anders zu verarbeiten, und die Anforderung zur Analyse zu kennzeichnen.

**Wichtig**  
Diese Option gilt für die RegelaktionenAllow, CountCAPTCHA, und Challenge und für die Standardaktionen des Protection Packs (Web-ACL), die auf eingestellt sindAllow. Weitere Informationen zu Regelaktionen unter [Verwenden von Regelaktionen in AWS WAF](waf-rule-action.md). Weitere Hinweise zu den Aktionen des Standard-Schutzpakets (Web-ACL) finden Sie unter[Einstellung der Standardaktion für das Protection Pack (Web-ACL) in AWS WAF](web-acl-default-action.md).

## Überlegungen zur Verwendung von benutzerdefinierten Anforderungsheader-Namen
<a name="using-custom-request-header-names"></a>

**Zu Anforderungsheadern hinzugefügte Präfixe**  
AWS WAF stellt allen eingefügten Anforderungsheadern ein Präfix vor`x-amzn-waf-`, um Verwechslungen mit den Headern zu vermeiden, die bereits in der Anfrage enthalten sind. Wenn Sie beispielsweise den Header-Namen angeben`sample`, wird der Header AWS WAF eingefügt. `x-amzn-waf-sample`

**Wichtig**  
Aus Sicherheitsgründen können Sie eine Regel zum Abgleich von Zeichenketten hinzufügen, die Anfragen blockiert, bei denen der Header bereits beginnt`x-amzn-waf-`. Dadurch werden Anfragen aus anderen AWS WAF Quellen blockiert, die die `x-amzn-waf-` Präfixzeichenfolge nachahmen, die AWS WAF bei der Verarbeitung von benutzerdefinierten Anforderungsheadern eingefügt wird.

Das folgende Beispiel zeigt eine Regel zum Abgleich von Zeichenketten, die so konfiguriert ist, dass sie Datenverkehr blockiert, bei dem das `x-amzn-waf-` Präfix nicht eingefügt wurde: AWS WAF

```
    "Rules": [
        {
          "Name": "CustomHeader",
          "Priority": 0,
          "Statement": {
            "ByteMatchStatement": {
              "SearchString": " x-amzn-waf-",
              "FieldToMatch": {
                "Headers": {
                  "MatchPattern": {
                    "All": {}
                  },
                  "MatchScope": "KEY",
                  "OversizeHandling": "MATCH"
                }
              },
              "TextTransformations": [
                {
                  "Priority": 0,
                  "Type": "NONE"
                }
              ],
              "PositionalConstraint": "STARTS_WITH"
            }
          },
          "Action": {
            "Block": {}
          },
          "VisibilityConfig": {
            "SampledRequestsEnabled": true,
            "CloudWatchMetricsEnabled": true,
            "MetricName": "CustomHeader"
          }
        }
      ]
```

Informationen zur Verwendung von Regeln für den Abgleich von Zeichenketten finden Sie unter[Zeichenfolgen-Übereinstimmungsanweisung](waf-rule-statement-type-string-match.md).

**Header mit demselben Namen**  
Wenn die Anforderung bereits über einen Header mit demselben Namen verfügt, der gerade eingefügt AWS WAF wird, wird der Header AWS WAF überschrieben. Wenn Sie also in mehreren Regeln Header mit identischen Namen definieren, wird die Kopfzeile bei der letzten Regel hinzugefügt, die die Anforderung überprüft und eine Übereinstimmung findet. Die vorherigen Regeln würden dies nicht tun. 

## Verwenden von benutzerdefinierten Headern mit nicht beendenden Regelaktionen
<a name="custom-request-header-non-terminating-rule-actions"></a>

Im Gegensatz zur Allow Aktion stoppt die Count Aktion nicht die Verarbeitung AWS WAF der Webanforderung mithilfe der übrigen Regeln im Schutzpaket (Web-ACL). Auch wenn das Anforderungstoken gültig ist CAPTCHA und Challenge festgestellt wird, dass das Anforderungstoken gültig ist, beenden AWS WAF diese Aktionen nicht die Verarbeitung der Webanfrage. Wenn Sie also benutzerdefinierte Header mithilfe einer Regel mit einer dieser Aktionen einfügen, fügen nachfolgende Regeln möglicherweise auch benutzerdefinierte Header ein. Weitere Informationen zum Verhalten von Regelaktionen finden Sie unter. [Verwenden von Regelaktionen in AWS WAF](waf-rule-action.md)

Angenommen die folgenden Regeln wurden mit der angezeigten Priorität festgelegt: 

1. RegelA mit einer Count Aktion und einem benutzerdefinierten Header namens`RuleAHeader`.

1. RuleB mit einer Allow Aktion und einem benutzerdefinierten Header namens. `RuleBHeader`

Wenn eine Anfrage sowohl mit RuleA als auch mit RuleB übereinstimmt, AWS WAF fügt die Header ein `x-amzn-waf-RuleAHeader` und `x-amzn-waf-RuleBHeader` leitet die Anfrage dann an die geschützte Ressource weiter. 

AWS WAF fügt benutzerdefinierte Header in eine Webanforderung ein, wenn die Überprüfung der Anfrage abgeschlossen ist. Wenn Sie also die benutzerdefinierte Anforderungsbehandlung mit einer Regel verwenden, für die die Aktion auf festgelegt istCount, werden die benutzerdefinierten Header, die Sie hinzufügen, nicht durch nachfolgende Regeln überprüft. 

## Beispiel für die benutzerdefinierte Bearbeitung von Anfragen
<a name="example-custom-request-handling"></a>

Sie definieren eine benutzerdefinierte Anforderungsbehandlung für die Aktion einer Regel oder für die Standardaktion eines Protection Packs (Web-ACL). Die folgende Liste zeigt das JSON für die benutzerdefinierte Behandlung, das der Standardaktion für ein Schutzpaket (Web-ACL) hinzugefügt wurde. 

```
{
 "Name": "SampleWebACL",
 "Scope": "REGIONAL",
 "DefaultAction": {
  "Allow": {
   "CustomRequestHandling": {
    "InsertHeaders": [
     {
      "Name": "fruit",
      "Value": "watermelon"
     },
     {
      "Name": "pie",
      "Value": "apple"
     }
    ]
   }
  }
 },
 "Description": "Sample protection pack (web ACL) with custom request handling configured for default action.",
 "Rules": [],
 "VisibilityConfig": {
  "SampledRequestsEnabled": true,
  "CloudWatchMetricsEnabled": true,
  "MetricName": "SampleWebACL"
 }
}
```

# Senden von benutzerdefinierten Antworten für Block Aktionen
<a name="customizing-the-response-for-blocked-requests"></a>

In diesem Abschnitt wird erklärt, wie Sie AWS WAF eine benutzerdefinierte HTTP-Antwort für Regelaktionen oder Standardaktionen des Protection Packs (Web-ACL), die auf eingestellt sind, an Block den Client zurücksenden. Weitere Informationen zu Regelaktionen unter [Verwenden von Regelaktionen in AWS WAF](waf-rule-action.md). Weitere Informationen zu den Aktionen des Standard-Schutzpakets (Web-ACL) finden Sie unter[Einstellung der Standardaktion für das Protection Pack (Web-ACL) in AWS WAF](web-acl-default-action.md).

Wenn Sie eine benutzerdefinierte Antwortbehandlung für eine Block Aktion definieren, definieren Sie den Statuscode, die Header und den Antworttext. Eine Liste der Statuscodes, die Sie zusammen verwenden können AWS WAF, finden Sie im folgenden Abschnitt. [Unterstützte Statuscodes für benutzerdefinierte Antworten](customizing-the-response-status-codes.md) 

**Anwendungsfälle**  
Zu den Anwendungsfällen für benutzerdefinierte Antworten gehören: 
+ Senden eines nicht standardmäßigen Statuscodes an den Client zurück
+ Senden benutzerdefinierter Antwort-Header zurück an den Client. Sie können einen beliebigen Header-Namen angeben, mit Ausnahme `content-type` von.
+ Senden einer statischen Fehlerseite an den Client zurück
+ Umleiten des Clients auf eine andere URL Dazu geben Sie einen der `3xx`-Umleitungsstatuscodes wie `301 (Moved Permanently)` oder `302 (Found)` und dann einen neuen Header mit dem Namen `Location` mit der neuen URL an. 

**Interaktion mit Antworten, die Sie in Ihrer geschützten Ressource definieren**  
Benutzerdefinierte Antworten, die Sie für die AWS WAF Block Aktion angeben, haben Vorrang vor allen Antwortspezifikationen, die Sie in Ihrer geschützten Ressource definieren. 

Der Hostdienst für die AWS Ressource, mit der Sie schützen, ermöglicht AWS WAF möglicherweise eine benutzerdefinierte Antwortbehandlung für Webanfragen. Beispiele sind unter anderem: 
+ Bei Amazon CloudFront können Sie die Fehlerseite anhand des Statuscodes anpassen. Weitere Informationen finden Sie unter [Generieren benutzerdefinierter Fehlerantworten](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/GeneratingCustomErrorResponses.html) im *Amazon CloudFront Developer Guide*. 
+ Mit Amazon API Gateway können Sie den Antwort- und Statuscode für Ihr Gateway definieren. Weitere Informationen finden Sie unter [Gateway-Antworten in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-gatewayResponse-definition.html) im *Entwicklerhandbuch für Amazon API Gateway*. 

Sie können AWS WAF benutzerdefinierte Antworteinstellungen nicht mit benutzerdefinierten Antworteinstellungen in der geschützten AWS Ressource kombinieren. Die Antwortspezifikation für jede einzelne Webanforderung stammt entweder vollständig von AWS WAF oder vollständig von der geschützten Ressource. 

Für AWS WAF blockierte Webanfragen ist im Folgenden die Rangfolge aufgeführt.

1. **AWS WAF benutzerdefinierte Antwort** — Wenn für die AWS WAF Block Aktion eine benutzerdefinierte Antwort aktiviert ist, sendet die geschützte Ressource die konfigurierte benutzerdefinierte Antwort zurück an den Client. Alle Antworteinstellungen, die Sie möglicherweise in der geschützten Ressource selbst definiert haben, haben keine Auswirkungen. 

1. **Benutzerdefinierte Antwort, die in der geschützten Ressource definiert ist** – Wenn für die geschützte Ressource benutzerdefinierte Antworteinstellungen angegeben wurden, verwendet die geschützte Ressource diese Einstellungen für die Antwort an den Client. 

1. **AWS WAF BlockStandardantwort** — Andernfalls antwortet die geschützte Ressource dem Client mit der AWS WAF Block Standardantwort`403 (Forbidden)`. 

Bei Webanfragen, die dies AWS WAF zulassen, bestimmt Ihre Konfiguration der geschützten Ressource die Antwort, die an den Client zurückgesendet wird. Sie können die Antworteinstellungen AWS WAF für zulässige Anfragen nicht konfigurieren. Die einzige Anpassung, die Sie AWS WAF für zulässige Anfragen konfigurieren können, ist das Einfügen von benutzerdefinierten Headern in die ursprüngliche Anfrage, bevor die Anfrage an die geschützte Ressource weitergeleitet wird. Diese Option wird im vorherigen Abschnitt ([Einfügen von benutzerdefinierten Anforderungsheadern für nicht blockierende Aktionen](customizing-the-incoming-request.md)) beschrieben. 

**Benutzerdefinierte Antwort-Header**  
Sie können einen beliebigen Header-Namen angeben, mit Ausnahme `content-type` von.

**Benutzerdefinierte Antworttexte**  
Sie definieren den Hauptteil einer benutzerdefinierten Antwort im Kontext des Schutzpakets (Web-ACL) oder der Regelgruppe, in der Sie sie verwenden möchten. Nachdem Sie einen benutzerdefinierten Antworttext definiert haben, können Sie ihn als Referenz an einer beliebigen anderen Stelle im Protection Pack (Web-ACL) oder in der Regelgruppe verwenden, in der Sie ihn erstellt haben. In den einzelnen Block Aktionseinstellungen verweisen Sie auf den benutzerdefinierten Text, den Sie verwenden möchten, und definieren den Statuscode und den Header der benutzerdefinierten Antwort. 

Wenn Sie eine benutzerdefinierte Antwort in der Konsole erstellen, können Sie aus Antworttexten auswählen, die Sie bereits definiert haben, oder Sie können einen neuen Text erstellen. Außerhalb der Konsole definieren Sie Ihre benutzerdefinierten Antworttexte auf der Ebene des Schutzpakets (Web-ACL) oder der Regelgruppe und verweisen dann in den Aktionseinstellungen innerhalb des Schutzpakets (Web-ACL) oder der Regelgruppe auf sie. Dies wird im Beispiel-JSON-Code im folgenden Abschnitt gezeigt. 

**Beispiel: Benutzerdefinierte Antwort**  
Im folgenden Beispiel wird der JSON-Code für eine Regelgruppe mit benutzerdefinierten Antworteinstellungen aufgeführt. Der benutzerdefinierte Antworttext wird für die gesamte Regelgruppe definiert und dann durch Schlüssel in der Regelaktion referenziert.

```
{
 "ARN": "test_rulegroup_arn",
 "Capacity": 1,
 
 "CustomResponseBodies": {
  "CustomResponseBodyKey1": {
   "Content": "This is a plain text response body.",
   "ContentType": "TEXT_PLAIN"
  }
 },
 
 "Description": "This is a test rule group.",
 "Id": "test_rulegroup_id",
 "Name": "TestRuleGroup",
 
 "Rules": [
  {
   "Action": {
    "Block": {
     "CustomResponse": {
      "CustomResponseBodyKey": "CustomResponseBodyKey1",
      "ResponseCode": 404,
      "ResponseHeaders": [
       {
        "Name": "BlockActionHeader1Name",
        "Value": "BlockActionHeader1Value"
       }
      ]
     }
    }
   },
   "Name": "GeoMatchRule",
   "Priority": 1,
   "Statement": {
    "GeoMatchStatement": {
     "CountryCodes": [
      "US"
     ]
    }
   },
   "VisibilityConfig": {
    "CloudWatchMetricsEnabled": true,
    "MetricName": "TestRuleGroupReferenceMetric",
    "SampledRequestsEnabled": true
   }
  }
 ],
 "VisibilityConfig": {
  "CloudWatchMetricsEnabled": true,
  "MetricName": "TestRuleGroupMetric",
  "SampledRequestsEnabled": true
 }
}
```

# Unterstützte Statuscodes für benutzerdefinierte Antworten
<a name="customizing-the-response-status-codes"></a>

In diesem Abschnitt sind die Statuscodes aufgeführt, die Sie in einer benutzerdefinierten Antwort verwenden können. Ausführliche Informationen zu HTTP-Statuscodes finden Sie unter [Statuscodes](https://www.rfc-editor.org/rfc/rfc9110.html#name-status-codes) der Internet Engineering Task Force (IETF) und [Liste der HTTP-Statuscodes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes) auf Wikipedia.

Im Folgenden sind die HTTP-Statuscodes aufgeführt, die benutzerdefinierte Antworten AWS WAF unterstützen. 
+ `2xx Successful`
  + `200` – `OK`
  + `201` – `Created`
  + `202` – `Accepted` 
  + `204` – `No Content` 
  + `206` – `Partial Content`
+ `3xx Redirection `
  + `300` – `Multiple Choices`
  + `301` – `Moved Permanently`
  + `302` – `Found`
  + `303` –`See Other`
  + `304` – `Not Modified`
  + `307` – `Temporary Redirect`
  + `308` – `Permanent Redirect`
+ `4xx Client Error `
  + `400` – `Bad Request`
  + `401` – `Unauthorized`
  + `403` – `Forbidden`
  + `404` – `Not Found`
  + `405` – `Method Not Allowed`
  + `408` – `Request Timeout`
  + `409` – `Conflict`
  + `411` – `Length Required`
  + `412` – `Precondition Failed`
  + `413` – `Request Entity Too Large`
  + `414` – `Request-URI Too Long`
  + `415` – `Unsupported Media Type`
  + `416` – `Requested Range Not Satisfiable`
  + `421` – `Misdirected Request`
  + `429` – `Too Many Requests`
+ `5xx Server Error`
  + `500` – `Internal Server Error`
  + `501` – `Not Implemented`
  + `502` – `Bad Gateway`
  + `503` – `Service Unavailable`
  + `504` – `Gateway Timeout`
  + `505` – `HTTP Version Not Supported`