> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wirespeed.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Cloudflare Zero Trust

> Protokolle zu Cloudflare Access, Konto-Audits, Gateway, Zero-Trust-Netzwerksitzungen, WARP-Änderungen und Firewall-Ereignissen von Zonen erfassen sowie Access- und WARP-Sitzungen widerrufen

## Überblick

Wirespeed verbindet sich über ein Konto-API-Token mit Cloudflare und kann damit:

* **Access-Authentifizierungsprotokolle** erfassen: jede erlaubte und abgelehnte Anmeldung bei einer durch Cloudflare Access geschützten Anwendung, einschließlich Anmeldungen über WARP
* **Audit-Protokolle des Kontos** erfassen: Änderungen an Mitgliedern, Einstellungen und Konfiguration, die im Cloudflare-Dashboard oder über die API vorgenommen wurden
* **Gateway-DNS-, HTTP- und Netzwerkprotokolle**, **Zero-Trust-Netzwerksitzungen**, **Ein-/Ausschaltvorgänge und Konfigurationsänderungen von WARP** sowie **Firewall-Ereignisse** von Zonen aus Cloudflare Logpush empfangen
* **Zero-Trust-Benutzer** synchronisieren, damit sie Ziel von Eindämmungsmaßnahmen sein können
* **Access-Sitzungen** eines kompromittierten Benutzers **widerrufen**, einschließlich seiner registrierten Geräte und seiner WARP-Sitzung

> [!NOTE]
>
> Während der Beta-Phase werden Cloudflare-Ereignisse nur für Suche und Korrelation erfasst. Sie lösen noch keine Detektionen aus.

## Voraussetzungen

Halten Sie Folgendes bereit, bevor Sie Cloudflare in Wirespeed verbinden:

* Ihre Cloudflare-**Account ID**
* Ein Cloudflare-**API-Token** mit den unten aufgeführten Berechtigungen

## API-Token erstellen

1. Öffnen Sie im Cloudflare-Dashboard **Manage Account** > **Account API Tokens**. Alternativ können Sie unter **My Profile** > **API Tokens** ein Benutzer-Token erstellen.
2. Wählen Sie **Create Token** und anschließend **Create Custom Token**.
3. Fügen Sie diese **Account**-Berechtigungen hinzu:

| Berechtigung | Zugriff | Verwendet für |
| - | - | - |
| Access: Audit Logs | Read | Access-Authentifizierungsprotokolle |
| Account Settings | Read | Audit-Protokolle des Kontos |
| Access: Organizations, Identity Providers, and Groups | Edit | Widerrufen von Access-Sitzungen |
| Logs | Edit | Optional. Erstellen der Logpush-Jobs für Gateway-, Zero-Trust-Netzwerksitzungs- und WARP-Änderungsprotokolle |
| Zero Trust: PII | Read | Optional. Zusammen mit **Logs: Edit** erforderlich, um Logpush-Jobs für Zero-Trust-Datensätze zu verwalten |

4. Optional: Um Firewall-Ereignisse zu erfassen, fügen Sie zusätzlich diese **Zone**-Berechtigungen hinzu:

| Berechtigung | Zugriff | Verwendet für |
| - | - | - |
| Zone | Read | Auflisten der Zonen des Kontos |
| Logs | Edit | Erstellen eines Logpush-Jobs für Firewall-Ereignisse in jeder Zone |

5. Wählen Sie unter **Account Resources** nur das Konto aus, das Sie verbinden. Wenn Sie Zonenberechtigungen hinzugefügt haben, setzen Sie **Zone Resources** auf **All zones from an account** und wählen Sie dasselbe Konto aus.
6. Erstellen Sie das Token und kopieren Sie es. Cloudflare zeigt das Token nur einmal an.

Wirespeed benötigt **Edit** für **Access: Organizations, Identity Providers, and Groups** nur, um die Access-Sitzungen eines Benutzers zu widerrufen. Die Cloudflare-API [revoke user](https://developers.cloudflare.com/api/resources/zero_trust/subresources/organizations/methods/revoke_users/) akzeptiert keine Berechtigung auf Leseebene. Wirespeed ändert weder die Einstellungen Ihrer Zero-Trust-Organisation noch Ihre Identitätsanbieter oder Access-Gruppen.

Wenn Sie nur Protokolle erfassen möchten, lassen Sie die Berechtigung **Access: Organizations, Identity Providers, and Groups** weg und aktivieren Sie beim Verbinden der Integration **Schreibgeschützt**.

Cloudflare verlangt sowohl **Logs: Edit** als auch **Zero Trust: PII Read**, um Logpush-Jobs für Zero-Trust-Datensätze wie Gateway zu verwalten. Die Kontorolle **Administrator** enthält **Logs: Edit**, aber nicht **Zero Trust: PII Read**. Siehe die [Logpush-Berechtigungen](https://developers.cloudflare.com/logs/logpush/permissions/) von Cloudflare.

Wenn Sie eine der beiden Berechtigungen weglassen, erstellen Sie die Logpush-Jobs selbst, wie unter [Logpush manuell einrichten](#set-up-logpush-manually) beschrieben.

Details finden Sie in der Cloudflare-Referenz zu den [Berechtigungen von API-Token](https://developers.cloudflare.com/fundamentals/api/reference/permissions/).

## Account ID ermitteln

Öffnen Sie das Konto im Cloudflare-Dashboard. Die 32-stellige **Account ID** steht auf der Startseite des Kontos und in der Dashboard-URL (`https://dash.cloudflare.com/<account-id>/...`).

## Cloudflare in Wirespeed verbinden

1. Gehen Sie in Wirespeed zu **Integrationen** > [**Integration hinzufügen**](https://app.wirespeed.co/settings/integrations?tab=browse).
2. Wählen Sie **Cloudflare Zero Trust** aus.
3. Geben Sie Ihre **Account ID** und Ihr **API-Token** ein.
4. Optional: Aktivieren Sie in den erweiterten Optionen **Schreibgeschützt**, um das Widerrufen von Sitzungen zu verhindern.
5. Speichern Sie die Integration.

## Validierung

Wenn Sie die Integration speichern, ruft Wirespeed einen Eintrag aus dem Access-Authentifizierungsprotokoll ab. Die Verbindung schlägt fehl, wenn das Token ungültig ist, zu einem anderen Konto gehört oder **Access: Audit Logs Read** fehlt.

Nachdem die Integration aktiviert wurde, prüft Wirespeed jede protokollbezogene Berechtigung und zeigt das Ergebnis auf der Integrationsseite an:

| Berechtigung | Bedeutung, wenn sie fehlt |
| - | - |
| Access-Authentifizierungsprotokolle | Dem Token fehlt **Access: Audit Logs Read**. Access-Anmeldungen werden nicht erfasst. |
| Audit-Protokolle des Kontos | Dem Token fehlt **Account Settings Read**. Audit-Protokolle des Kontos werden nicht erfasst. |
| Logpush-Einrichtung | Wirespeed konnte keinen Logpush-Job einrichten. Entweder enthält der Cloudflare-Tarif kein Logpush für diese Datensätze, oder dem Token fehlt eine Logpush-Berechtigung (**Logs: Edit**, **Zero Trust: PII Read** oder die Zonenberechtigungen). Die Integrationsprotokolle nennen den Grund. |
| Logpush: Gateway DNS, Gateway HTTP, Gateway Network, Zero Trust Network Sessions, WARP Toggle Changes, WARP Config Changes | Aus: Cloudflare sendet diesen Datensatz nicht an Wirespeed, meist weil der Tarif des Kontos Logpush dafür nicht enthält. |
| Logpush: Firewall Events | Aus: Keine Zone sendet Firewall-Ereignisse an Wirespeed, weil das Konto keine Enterprise-Zone hat oder dem Token die Zonenberechtigungen fehlen. |

Die Berechtigung zum Widerrufen von Sitzungen lässt sich nicht prüfen, ohne einen Benutzer zu widerrufen. Fehlt sie, schlägt der Widerruf fehl und der Fehler erscheint in den Integrationsprotokollen.

## Protokollerfassung

Wirespeed fragt Access-Authentifizierungsprotokolle und Audit-Protokolle des Kontos nach einem Zeitplan ab und speichert nach jeder Seite seine Position. Nach einem Neustart oder Ausfall wird die Erfassung daher dort fortgesetzt, wo sie unterbrochen wurde, statt von vorn zu beginnen. Die erste Synchronisierung erfasst die vergangenen 7 Tage. Jede Abfrage liest die letzten 10 Minuten erneut, um Ereignisse zu erfassen, die Cloudflare verspätet indiziert, und überspringt bereits erfasste Ereignisse. Bricht die Erfassung ab, nachdem eine Seite erfasst, aber bevor ihre Position gespeichert wurde, kann diese Seite erneut erfasst werden.

## Logpush-Protokolle

Cloudflare exportiert Gateway-, Zero-Trust-Netzwerksitzungs-, WARP-Änderungs- und Firewall-Ereignisprotokolle ausschließlich über [Logpush](https://developers.cloudflare.com/logs/logpush/). Wirespeed empfängt sie über ein Logpush-**HTTP-Ziel**: Ein Logpush-Job pro Datensatz sendet an die Webhook-URL Ihrer Integration. Firewall-Ereignisse gehören zu einer Zone und nicht zum Konto, daher ist pro Zone ein eigener Job nötig.

| Datensatz | Inhalt |
| - | - |
| `gateway_dns` | Von Gateway aufgelöste DNS-Abfragen mit der Entscheidung des Resolvers, den Antworten und der zutreffenden Richtlinie. Werden außerdem als DNS-Ereignisse gespeichert. |
| `gateway_http` | Von Gateway geprüfte HTTP-Anfragen, einschließlich blockierter Downloads, Isolierung und DLP-Treffer |
| `gateway_network` | Von Gateway-Netzwerkrichtlinien ausgewertete Netzwerksitzungen (Layer 4) |
| `zero_trust_network_sessions` | Netzwerksitzungen über WARP und Cloudflare Tunnel mit Ursprung, ausgehender IP, übertragener Datenmenge und Grund für das Schließen |
| `warp_toggle_changes` | Benutzer, die den WARP-Client ein- oder ausschalten, mit dem Titel **Cloudflare WARP turned off** oder **turned on**. Wird WARP ausgeschaltet, prüft Gateway den Datenverkehr des Geräts nicht mehr. |
| `warp_config_changes` | Benutzer, die zwischen WARP-Konfigurationen wechseln, einschließlich des Wechsels zu einem anderen Cloudflare-Konto |
| `firewall_events` | Sicherheitsereignisse von Zonen: Treffer von WAF-, Ratenbegrenzungs-, Bot- und anderen Firewall-Regeln mit der ergriffenen Aktion, der Regel und der Client-Anfrage. Erfordert eine Enterprise-Zone. |

### Automatische Einrichtung

Wenn das API-Token **Logs: Edit** und **Zero Trust: PII Read** besitzt, erstellt Wirespeed bei jeder Aktivierung der Integration einen Job pro Datensatz. Die Jobs heißen `wirespeed-<dataset>` (zum Beispiel `wirespeed-gateway_dns`) und verwenden die Einstellungen aus [Logpush manuell einrichten](#set-up-logpush-manually).

* Wenn für diese Integration bereits ein Job existiert, aktualisiert Wirespeed ihn einschließlich seines Ziels, statt ein Duplikat anzulegen. Ein neu generiertes Webhook-Secret wird also wirksam, wenn Sie die Integration erneut aktivieren.
* Cloudflare bietet jeden Datensatz nur in Tarifen an, die ihn enthalten. Datensätze außerhalb des Tarifs werden übersprungen, und ihre **Logpush**-Berechtigung bleibt ausgeschaltet. Bei jeder Aktivierung der Integration führen die Integrationsprotokolle in einer Zeile auf, welche Datensätze gesendet werden und welche nicht im Tarif enthalten sind.
* Schlägt ein Datensatz aus einem anderen Grund fehl, erscheint der Fehler in den Integrationsprotokollen, und die übrigen Datensätze werden trotzdem eingerichtet.
* Fehlt dem Token eine der beiden Berechtigungen, zeigt die Berechtigung **Logpush-Einrichtung** eine Warnung an, und die Integration wird ohne die Jobs aktiviert. Die Integrationsprotokolle nennen die fehlende Berechtigung und enthalten den Fehler von Cloudflare. Ein fehlendes **Zero Trust: PII Read** meldet Cloudflare als `reading job for product '<product>' is not allowed (1004)`.
* Für `firewall_events` listet Wirespeed die Zonen des Kontos auf und erstellt in jeder Enterprise-Zone einen Job `wirespeed-firewall_events`. Zonen mit anderen Tarifen werden übersprungen. Die Zusammenfassungszeile zeigt, wie viele Zonen senden, zum Beispiel `firewall_events (2 of 5 zones)`. Später hinzugefügte Zonen werden bei der nächsten Aktivierung der Integration berücksichtigt.
* Beim Deaktivieren oder Löschen der Integration werden die Jobs `wirespeed-*` gelöscht, deren Ziel diese Integration ist. Andere Logpush-Jobs ändert oder löscht Wirespeed nie.

Cloudflare validiert beim Erstellen eines Jobs jedes Ziel, indem es eine Testdatei an Wirespeed hochlädt. Die Wirespeed-API muss daher aus dem Internet erreichbar sein.

### Logpush manuell einrichten

Gehen Sie so vor, wenn das Token **Logs: Edit** und **Zero Trust: PII Read** nicht besitzt oder wenn Sie die Jobs selbst verwalten möchten.

#### Webhook-URL und Secret abrufen

1. Öffnen Sie in Wirespeed die Integration Cloudflare Zero Trust und wählen Sie **Webhook-Details**.

2. Kopieren Sie die Webhook-URL für **Logpush-Protokolle empfangen**. Sie sieht so aus:

   ```
   https://api.wirespeed.co/integration/webhook/cloudflare/receive-logpush?teamId=<TEAM_ID>&integrationId=<INTEGRATION_ID>
   ```

3. Kopieren Sie das **Webhook-Secret**. Wirespeed lehnt Logpush-Anfragen ab, die es nicht als `Authorization: Bearer <WEBHOOK_SECRET>` senden.

#### Ziel zusammensetzen

Logpush wandelt jeden Parameter `header_*` in der Ziel-URL in einen Anfrage-Header um und belässt die übrigen Parameter in der URL. Hängen Sie zwei Parameter an die Webhook-URL an:

* `dataset=<DATASET>`: einer der Datensatznamen aus der Tabelle oben. Er teilt Wirespeed mit, in welche Tabelle die Protokolle gehören
* `header_Authorization=Bearer%20<WEBHOOK_SECRET>`: sendet das Secret. Behalten Sie das URL-codierte Leerzeichen `%20` bei.

Für Gateway DNS lautet `destination_conf`:

```
https://api.wirespeed.co/integration/webhook/cloudflare/receive-logpush?teamId=<TEAM_ID>&integrationId=<INTEGRATION_ID>&dataset=gateway_dns&header_Authorization=Bearer%20<WEBHOOK_SECRET>
```

Jeder Job benötigt ein eigenes `destination_conf` mit dem passenden `dataset`.

#### Logpush-Jobs erstellen

Erstellen Sie die Jobs über die Cloudflare-API mit einem Token, das die Kontoberechtigungen **Logs: Edit** (`Logs Write`) und **Zero Trust: PII Read** besitzt. Das API-Token der Integration selbst benötigt sie nicht. Logpush validiert das Ziel beim Erstellen des Jobs, indem es eine Testdatei hochlädt. Wirespeed muss also erreichbar und das Secret korrekt sein, sonst schlägt das Erstellen des Jobs fehl.

```bash theme={null}
curl "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/logpush/jobs" \
  --request POST \
  --header "Authorization: Bearer <LOGPUSH_API_TOKEN>" \
  --json '{
    "name": "wirespeed-gateway_dns",
    "dataset": "gateway_dns",
    "destination_conf": "https://api.wirespeed.co/integration/webhook/cloudflare/receive-logpush?teamId=<TEAM_ID>&integrationId=<INTEGRATION_ID>&dataset=gateway_dns&header_Authorization=Bearer%20<WEBHOOK_SECRET>",
    "max_upload_bytes": 5000000,
    "output_options": {
      "output_type": "ndjson",
      "timestamp_format": "rfc3339",
      "field_names": [
        "AccountID",
        "ApplicationID",
        "ApplicationName",
        "AppliedMaxTTL",
        "AuthoritativeNameServerIPs",
        "CNAMECategoryIDs",
        "CNAMECategoryNames",
        "CNAMEs",
        "CNAMEsReversed",
        "ColoCode",
        "ColoID",
        "CustomResolveDurationMs",
        "CustomResolverAddress",
        "CustomResolverResponse",
        "Datetime",
        "DeviceID",
        "DeviceName",
        "DoHSubdomain",
        "DoTSubdomain",
        "DstIP",
        "DstPort",
        "EDEErrors",
        "Email",
        "InitialCategoryIDs",
        "InitialCategoryNames",
        "InitialResolvedIPs",
        "InternalDNSDurationMs",
        "InternalDNSFallbackStrategy",
        "InternalDNSRCode",
        "InternalDNSViewID",
        "InternalDNSZoneID",
        "IsResponseCached",
        "Location",
        "LocationID",
        "MatchedCategoryIDs",
        "MatchedCategoryNames",
        "MatchedIndicatorFeedIDs",
        "MatchedIndicatorFeedNames",
        "PolicyID",
        "PolicyName",
        "Protocol",
        "QueryApplicationIDs",
        "QueryApplicationNames",
        "QueryCategoryIDs",
        "QueryCategoryNames",
        "QueryID",
        "QueryIndicatorFeedIDs",
        "QueryIndicatorFeedNames",
        "QueryName",
        "QueryNameReversed",
        "QuerySize",
        "QueryType",
        "QueryTypeName",
        "RCode",
        "RedirectTargetURI",
        "RegistrationID",
        "RequestContextCategoryIDs",
        "RequestContextCategoryNames",
        "ResolvedIPCategoryIDs",
        "ResolvedIPCategoryNames",
        "ResolvedIPContinentCodes",
        "ResolvedIPCountryCodes",
        "ResolvedIPs",
        "ResolverDecision",
        "ResolverPolicyID",
        "ResolverPolicyName",
        "ResourceRecords",
        "ResponseTimeMs",
        "SrcIP",
        "SrcIPContinentCode",
        "SrcIPCountryCode",
        "SrcPort",
        "TenantID",
        "TimeZone",
        "TimeZoneInferredMethod",
        "UpstreamRecordTTLs",
        "UserID"
      ]
    },
    "enabled": true
  }'
```

Wiederholen Sie dies für jeden Datensatz. Ändern Sie dabei `name` in `wirespeed-<dataset>` und passen Sie `dataset`, den Parameter `dataset` in `destination_conf` sowie `field_names` an.

* **`max_upload_bytes`**: Setzen Sie den Wert auf `5000000` (5 MB unkomprimierte Protokolle, die kleinste Batchgröße, die Logpush zulässt). Wirespeed akzeptiert Lieferungen von bis zu 5 MiB im komprimierten Zustand, sodass ein Batch von höchstens 5 MB unkomprimiert immer passt. Logpush erlaubt für `max_upload_bytes` Werte bis 1 GB, Wirespeed lehnt größere Lieferungen jedoch mit `413` ab und protokolliert eine Warnung in den Integrationsprotokollen. Behalten Sie daher `5000000` bei. Die Jobs, die Wirespeed automatisch erstellt, verwenden diesen Wert bereits. Wirespeed stellt jede Lieferung so, wie sie eingeht, noch komprimiert in eine Warteschlange und übergibt sie als Ganzes an seine Protokoll-Pipeline, die sie entpackt und jeden Datensatz speichert. Schlägt diese Übergabe fehl, wiederholt Wirespeed den gesamten Batch, und eine von Cloudflare erneut gesendete Lieferung wird nur einmal gespeichert.
* **`timestamp_format`**: Über die API erstellte Jobs verwenden standardmäßig `unixnano`. Wirespeed liest jedes Format, `rfc3339` ist in der Suche aber besser lesbar.
* **`field_names`**: Logpush sendet nur die aufgeführten Felder. Verwenden Sie die vollständigen Listen unten, damit Wirespeed alle Felder erhält.

Sie können die Jobs auch im Cloudflare-Dashboard erstellen: Öffnen Sie die Seite **Logpush** des Kontos, wählen Sie **Create a Logpush job** und **HTTP destination**, und fügen Sie `destination_conf` als Endpunkt ein. Wählen Sie alle Felder des Datensatzes aus. Das Dashboard setzt `max_upload_bytes` nicht. Setzen Sie den Wert daher anschließend über die API [update job](https://developers.cloudflare.com/api/resources/logpush/subresources/jobs/methods/update/). Dieser Aufruf ersetzt `output_options` vollständig, geben Sie die Optionen also erneut an.

##### Feldlisten

Kopieren Sie die Liste für jeden Job in `output_options.field_names`. Veraltete Felder sind nicht enthalten.

##### `gateway_dns`

```json theme={null}
["AccountID", "ApplicationID", "ApplicationName", "AppliedMaxTTL", "AuthoritativeNameServerIPs", "CNAMECategoryIDs", "CNAMECategoryNames", "CNAMEs", "CNAMEsReversed", "ColoCode", "ColoID", "CustomResolveDurationMs", "CustomResolverAddress", "CustomResolverResponse", "Datetime", "DeviceID", "DeviceName", "DoHSubdomain", "DoTSubdomain", "DstIP", "DstPort", "EDEErrors", "Email", "InitialCategoryIDs", "InitialCategoryNames", "InitialResolvedIPs", "InternalDNSDurationMs", "InternalDNSFallbackStrategy", "InternalDNSRCode", "InternalDNSViewID", "InternalDNSZoneID", "IsResponseCached", "Location", "LocationID", "MatchedCategoryIDs", "MatchedCategoryNames", "MatchedIndicatorFeedIDs", "MatchedIndicatorFeedNames", "PolicyID", "PolicyName", "Protocol", "QueryApplicationIDs", "QueryApplicationNames", "QueryCategoryIDs", "QueryCategoryNames", "QueryID", "QueryIndicatorFeedIDs", "QueryIndicatorFeedNames", "QueryName", "QueryNameReversed", "QuerySize", "QueryType", "QueryTypeName", "RCode", "RedirectTargetURI", "RegistrationID", "RequestContextCategoryIDs", "RequestContextCategoryNames", "ResolvedIPCategoryIDs", "ResolvedIPCategoryNames", "ResolvedIPContinentCodes", "ResolvedIPCountryCodes", "ResolvedIPs", "ResolverDecision", "ResolverPolicyID", "ResolverPolicyName", "ResourceRecords", "ResponseTimeMs", "SrcIP", "SrcIPContinentCode", "SrcIPCountryCode", "SrcPort", "TenantID", "TimeZone", "TimeZoneInferredMethod", "UpstreamRecordTTLs", "UserID"]
```

##### `gateway_http`

```json theme={null}
["AccountID", "Action", "AddedHeaders", "AppControlInfo", "ApplicationIDs", "ApplicationNames", "ApplicationStatuses", "BlockedFileHash", "BlockedFileName", "BlockedFileReason", "BlockedFileSize", "BlockedFileType", "CategoryIDs", "CategoryNames", "Datetime", "DeletedHeaders", "DestinationIP", "DestinationIPContinentCode", "DestinationIPCountryCode", "DestinationPort", "DeviceID", "DeviceName", "DownloadMatchedDlpProfileEntries", "DownloadMatchedDlpProfiles", "DownloadedFileNames", "Email", "ExperimentalFeatures", "FileInfo", "ForensicCopyStatus", "HTTPHost", "HTTPMethod", "HTTPStatusCode", "HTTPVersion", "IsIsolated", "Offramp", "Onramp", "PackageInfo", "PolicyID", "PolicyName", "PrivateAppAUD", "ProxyEndpoint", "Quarantined", "RedirectTargetURI", "Referer", "RegistrationID", "RequestID", "SessionID", "SetHeaders", "SourceIP", "SourceIPContinentCode", "SourceIPCountryCode", "SourceInternalIP", "SourcePort", "TenantID", "URL", "UntrustedCertificateAction", "UploadMatchedDlpProfileEntries", "UploadMatchedDlpProfiles", "UploadedFileNames", "UserAgent", "UserID", "VirtualNetworkID", "VirtualNetworkName", "Warnings"]
```

##### `gateway_network`

```json theme={null}
["AccountID", "Action", "ApplicationIDs", "ApplicationNames", "CategoryIDs", "CategoryNames", "Datetime", "DestinationIP", "DestinationIPContinentCode", "DestinationIPCountryCode", "DestinationPort", "DetectedProtocol", "DeviceID", "DeviceName", "Email", "IsIsolated", "Offramp", "Onramp", "OverrideIP", "OverridePort", "PolicyID", "PolicyName", "ProxyEndpoint", "RegistrationID", "SNI", "SessionID", "SourceIP", "SourceIPContinentCode", "SourceIPCountryCode", "SourceInternalIP", "SourcePort", "TenantID", "TransportProtocol", "UserID", "VirtualNetworkID", "VirtualNetworkName"]
```

##### `zero_trust_network_sessions`

```json theme={null}
["AccountID", "BytesReceived", "BytesSent", "ClientTCPHandshakeDurationMs", "ClientTLSCipher", "ClientTLSHandshakeDurationMs", "ClientTLSVersion", "ConnectionCloseReason", "ConnectionReuse", "DestinationReplicaID", "DestinationTunnelID", "DetectedProtocol", "DeviceID", "DeviceName", "EgressColoName", "EgressIP", "EgressPort", "EgressRuleID", "EgressRuleName", "Email", "IngressColoName", "InitialOriginIP", "Offramp", "OnrampType", "OriginIP", "OriginPort", "OriginTLSCertificateIssuer", "OriginTLSCertificateValidationResult", "OriginTLSCipher", "OriginTLSHandshakeDurationMs", "OriginTLSVersion", "Protocol", "RegistrationID", "ResolvedFQDN", "RuleEvaluationDurationMs", "SNI", "SessionEndTime", "SessionID", "SessionStartTime", "SourceID", "SourceIP", "SourceInternalIP", "SourceName", "SourcePort", "TenantID", "UserID", "VirtualNetworkID"]
```

##### `warp_toggle_changes`

```json theme={null}
["AccountID", "AccountName", "DeviceID", "DeviceRegistrationID", "Hostname", "SerialNumber", "Timestamp", "Toggled", "UserEmail"]
```

##### `warp_config_changes`

```json theme={null}
["AccountIDFrom", "AccountIDTo", "AccountNameFrom", "AccountNameTo", "ConfigNameFrom", "ConfigNameTo", "DeviceID", "DeviceRegistrationID", "Hostname", "SerialNumber", "Timestamp", "UserEmail"]
```

##### `firewall_events`

```json theme={null}
["AISecurityCustomTopicCategories", "AISecurityInjectionScore", "AISecurityPIICategories", "AISecurityTokenCount", "AISecurityUnsafeTopicCategories", "Action", "ClientASN", "ClientASNDescription", "ClientCountry", "ClientIP", "ClientIPClass", "ClientRefererHost", "ClientRefererPath", "ClientRefererQuery", "ClientRefererScheme", "ClientRequestHost", "ClientRequestMethod", "ClientRequestPath", "ClientRequestProtocol", "ClientRequestQuery", "ClientRequestScheme", "ClientRequestUserAgent", "ContentScanObjResults", "ContentScanObjSizes", "ContentScanObjTypes", "Datetime", "Description", "EdgeColoCode", "EdgeResponseStatus", "FraudUserID", "Kind", "LeakedCredentialCheckResult", "MatchIndex", "Metadata", "OriginResponseStatus", "OriginatorRayID", "RayID", "Ref", "RuleID", "Source", "WAFRequestSignatureCategories", "WAFRequestSignatureRefs", "ZoneName"]
```

Details finden Sie in den Cloudflare-Referenzen zu [HTTP-Zielen](https://developers.cloudflare.com/logs/logpush/logpush-job/enable-destinations/http/), [Ausgabeoptionen](https://developers.cloudflare.com/logs/logpush/logpush-job/log-output-options/) und [Datensatzfeldern](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/).

## Benutzersynchronisierung

Wirespeed synchronisiert Ihre Zero-Trust-Benutzer über die Cloudflare-API [users](https://developers.cloudflare.com/api/resources/zero_trust/subresources/access/subresources/users/methods/list/), sodass sie als Verzeichnisbenutzer erscheinen und Ziel von **Access-Sitzungen widerrufen** sein können. Die Synchronisierung verwendet die Berechtigung **Access: Audit Logs Read** und benötigt nichts weiter.

Cloudflare nimmt einen Benutzer in diese Liste auf, sobald er sich zum ersten Mal authentifiziert, indem er sich bei einer Access-Anwendung anmeldet oder ein WARP-Gerät verbindet. Benutzer, die in Ihrem Identitätsanbieter existieren, einschließlich per SCIM bereitgestellter Benutzer, sich aber noch nie authentifiziert haben, werden nicht aufgeführt. Sie haben keine Access- oder WARP-Sitzung, die widerrufen werden könnte.

Wirespeed ordnet synchronisierte Benutzer anhand der E-Mail-Adresse derselben Person in Ihren anderen Identitätsintegrationen zu. Wird ein Benutzer auch aus einem Identitätsanbieter wie Okta synchronisiert, führt Wirespeed jede Behebungsmaßnahme über genau einen Anbieter aus. Widerrufen Sie die Cloudflare-Sitzungen des Benutzers daher über den Cloudflare-Verzeichnisbenutzer, wenn auch seine Access- und WARP-Sitzungen beendet werden müssen.

## Widerruf von Sitzungen

**Access-Sitzungen widerrufen** ruft die Cloudflare-API [revoke user](https://developers.cloudflare.com/api/resources/zero_trust/subresources/organizations/methods/revoke_users/) mit der E-Mail-Adresse des Benutzers auf und, sofern der Benutzer synchronisiert wurde, mit seiner Cloudflare-Benutzer-ID. Die Aktion:

* Beendet alle aktiven Cloudflare-Access-Sitzungen des Benutzers
* Widerruft die registrierten Geräte des Benutzers
* Verlangt vom Benutzer eine erneute Authentifizierung bei WARP für Gateway-Richtlinien, die eine WARP-Sitzungsdauer erzwingen

Cloudflare kann einen Widerruf nicht rückgängig machen, daher gibt es keine Aktion zur Freigabe. Der Benutzer kann sich wieder anmelden, sobald Ihr Identitätsanbieter es zulässt. Um einen kompromittierten Benutzer dauerhaft auszusperren, deaktivieren Sie zusätzlich das Konto in Ihrem Identitätsanbieter.

## Fehlerbehebung

| Fehler | Ursache |
| - | - |
| `Cloudflare Account ID must be 32 hexadecimal characters` | Das Feld Account ID enthält keine Cloudflare-Account-ID. Kopieren Sie sie von der Startseite des Kontos. |
| `HTTP 400` | Cloudflare hat die Anfrageparameter abgelehnt. Der Fehlertext nach dem Status nennt den Parameter. |
| `HTTP 401` | Das Token ist ungültig, abgelaufen oder widerrufen. |
| `HTTP 403` | Dem Token fehlt eine erforderliche Berechtigung, oder es ist nicht auf das Konto beschränkt. |
| `HTTP 404` | Das Token kann die Account ID nicht sehen. |
| Das Erstellen des Logpush-Jobs schlägt mit `error validating destination` fehl | Die Webhook-URL, `integrationId` oder das Secret in `header_Authorization` ist falsch, oder das Leerzeichen in `Bearer%20` ist nicht URL-codiert. |
| Logpush-Lieferungen schlagen mit `400` fehl | Der Parameter `dataset` fehlt oder ist keiner der unterstützten Datensätze. |
| Logpush-Lieferungen schlagen mit `413` fehl, oder die Integrationsprotokolle zeigen „Rejected a Cloudflare Logpush delivery larger than 5 MiB compressed“ | `max_upload_bytes` des Logpush-Jobs liegt über `5000000`, sodass seine komprimierten Batches 5 MiB überschreiten. Setzen Sie `max_upload_bytes` auf `5000000`. |
| Warnung bei der Berechtigung **Logpush-Einrichtung** | Kein Datensatz konnte eingerichtet werden. Die Integrationsprotokolle nennen als Ursache entweder den Tarif oder eine Berechtigung (**Logs: Edit** oder **Zero Trust: PII Read**). Ändern Sie den Tarif oder ergänzen Sie die Berechtigung und aktivieren Sie die Integration erneut, oder richten Sie Logpush manuell ein. |
| Logpush-Fehler `reading job for product '<product>' is not allowed (1004)` | Dem Token fehlt **Zero Trust: PII Read**, das Zero-Trust-Datensätze zusätzlich zu **Logs: Edit** benötigen. |
| Logpush-Fehler `exceeded max jobs allowed` | Cloudflare begrenzt die Anzahl der Logpush-Jobs pro Datensatz und Konto (5 für Gateway DNS und HTTP, siehe [Kontolimits](https://developers.cloudflare.com/cloudflare-one/account-limits/)). Wenn das Konto bereits Jobs für den Datensatz hat, löschen Sie einen nicht genutzten, etwa einen `wirespeed-<dataset>`-Job, der von einer entfernten Integration übrig geblieben ist, und aktivieren Sie die Integration erneut. Hat es keine, enthält der Cloudflare-Tarif des Kontos kein Logpush für diesen Datensatz. Wenden Sie sich in diesem Fall an Ihr Cloudflare-Account-Team. |
| Die Logpush-Zusammenfassung zeigt `firewall_events (0 of N zones)` oder lässt Zonen aus | Logpush für Firewall-Ereignisse ist nur für Enterprise-Zonen verfügbar. Andere Zonen werden übersprungen. |
| Die Integrationsprotokolle melden, dass dem Token **Zone > Zone > Read** oder **Zone > Logs > Edit** fehlt | Das Token hat keine Zonenberechtigungen, oder seine **Zone Resources** umfassen die Zone nicht. Ergänzen Sie die Berechtigungen für **All zones from an account** und aktivieren Sie die Integration erneut. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.