[comment]: # ({09d7d659-09d7d659})
# 1 Verwendung von Zertifikaten

[comment]: # ({/09d7d659-09d7d659})

[comment]: # ({109d2e4c-685d1488})
#### Übersicht

Zabbix kann RSA-Zertifikate im PEM-Format verwenden, die von einer öffentlichen oder einer internen Zertifizierungsstelle (CA) signiert sind.

Die Zertifikatsprüfung wird anhand eines vorkonfigurierten CA-Zertifikats durchgeführt.
Optional können [Certificate Revocation Lists (CRL)](#certificate-revocation-lists-crl) verwendet werden.

Jede Zabbix-Komponente kann nur ein Zertifikat konfiguriert haben.

Weitere Informationen zum Einrichten und Betreiben einer internen CA, zum Erstellen und Signieren von Zertifikatsanfragen sowie zum Widerrufen von Zertifikaten finden Sie in Anleitungen wie dem [OpenSSL PKI Tutorial v2.0](http://pki-tutorial.readthedocs.org/en/latest/).

Prüfen und testen Sie Ihre Zertifikatserweiterungen sorgfältig.
Weitere Details finden Sie unter [Einschränkungen bei der Verwendung von X.509 v3-Zertifikatserweiterungen](#limitations-on-using-x.509-v3-certificate-extensions).

[comment]: # ({/109d2e4c-685d1488})

[comment]: # ({77ce4f81-a572d979})
#### Zertifikatskonfigurationsparameter

Die folgenden Konfigurationsparameter werden für die Einrichtung von Zertifikaten auf Zabbix-Komponenten unterstützt.

|Parameter|Mandatory|Description|
|--|-|--------|
|*TLSCAFile*|yes|Vollständiger Pfadname einer Datei, die die Zertifikate der obersten CA(s) für die Überprüfung von Peer-Zertifikaten enthält.<br>Wenn eine Zertifikatskette mit mehreren Mitgliedern verwendet wird, ordnen Sie die Zertifikate so an, dass die Zertifikate der unteren CA(s) zuerst und anschließend die Zertifikate der höheren CA(s) folgen.<br>Zertifikate mehrerer CAs können in einer einzelnen Datei enthalten sein.|
|*TLSCRLFile*|no|Vollständiger Pfadname einer Datei, die [Certificate Revocation Lists (CRL)](#certificate-revocation-lists-crl) enthält.|
|*TLSCertFile*|yes|Vollständiger Pfadname einer Datei, die das Zertifikat enthält.<br>Wenn eine Zertifikatskette mit mehreren Mitgliedern verwendet wird, ordnen Sie die Zertifikate so an, dass zuerst das Zertifikat des Servers, Proxy oder Agenten folgt, anschließend die Zertifikate der unteren CA(s) und abschließend die Zertifikate der höheren CA(s).|
|*TLSKeyFile*|yes|Vollständiger Pfadname einer Datei, die den privaten Schlüssel enthält.<br>Stellen Sie sicher, dass diese Datei nur für den [Zabbix-Benutzer](/manual/installation/install#create-user-account) lesbar ist, indem Sie geeignete Zugriffsrechte festlegen.|
|*TLSServerCertIssuer*|no|Zulässiger Aussteller des Serverzertifikats.|
|*TLSServerCertSubject*|no|Zulässiger Betreff des Serverzertifikats.|

[comment]: # ({/77ce4f81-a572d979})

[comment]: # ({bc3e0bad-042f95c2})
#### Konfigurationsbeispiele

Nachdem die erforderlichen Zertifikate eingerichtet wurden, konfigurieren Sie die Zabbix-Komponenten so, dass sie eine zertifikatsbasierte Verschlüsselung verwenden.

Nachfolgend finden Sie detaillierte Schritte zur Konfiguration von:

-   [Zabbix server](#zabbix-server)
-   [Zabbix proxy](#zabbix-proxy)
-   [Zabbix Agent](#zabbix-agent)

[comment]: # ({/bc3e0bad-042f95c2})

[comment]: # ({72103762-34bcf646})
##### Zabbix Server

1\. Bereiten Sie die CA-Zertifikatsdatei vor.

Um Peer-Zertifikate zu verifizieren, muss der Zabbix Server Zugriff auf die Datei mit den selbstsignierten Root-CA-Zertifikaten der obersten Ebene haben.
Wenn beispielsweise Zertifikate von zwei unabhängigen Root-CAs benötigt werden, legen Sie sie in einer Datei unter `/home/zabbix/zabbix_ca_file.crt` ab:

```ini
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 1 (0x1)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: DC=com, DC=zabbix, O=Zabbix SIA, OU=Development group, CN=Root1 CA
            ...
        Subject: DC=com, DC=zabbix, O=Zabbix SIA, OU=Development group, CN=Root1 CA
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
            ...
        X509v3 extensions:
            X509v3 Key Usage: critical
                Certificate Sign, CRL Sign
            X509v3 Basic Constraints: critical
                CA:TRUE
            ...
-----BEGIN CERTIFICATE-----
MIID2jCCAsKgAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MRMwEQYKCZImiZPyLGQB
....
9wEzdN8uTrqoyU78gi12npLj08LegRKjb5hFTVmO
-----END CERTIFICATE-----
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 1 (0x1)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: DC=com, DC=zabbix, O=Zabbix SIA, OU=Development group, CN=Root2 CA
            ...
        Subject: DC=com, DC=zabbix, O=Zabbix SIA, OU=Development group, CN=Root2 CA
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
            ....
        X509v3 extensions:
            X509v3 Key Usage: critical
                Certificate Sign, CRL Sign
            X509v3 Basic Constraints: critical
                CA:TRUE
            ....       
-----BEGIN CERTIFICATE-----
MIID3DCCAsSgAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MRMwEQYKCZImiZPyLGQB
...
vdGNYoSfvu41GQAR5Vj5FnRJRzv5XQOZ3B6894GY1zY=
-----END CERTIFICATE-----
```

2\. Legen Sie das Zabbix Server-Zertifikat bzw. die Zertifikatskette in einer Datei ab, zum Beispiel unter `/home/zabbix/zabbix_server.crt`.
Das erste Zertifikat ist das Zabbix Server-Zertifikat, gefolgt vom Zwischenzertifikat der CA:

```ini
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 1 (0x1)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: DC=com, DC=zabbix, O=Zabbix SIA, OU=Development group, CN=Signing CA
        ...
        Subject: DC=com, DC=zabbix, O=Zabbix SIA, OU=Development group, CN=Zabbix server
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                ...
        X509v3 extensions:
            X509v3 Key Usage: critical
                Digital Signature, Key Encipherment
            X509v3 Basic Constraints: 
                CA:FALSE
            ...
-----BEGIN CERTIFICATE-----
MIIECDCCAvCgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgTETMBEGCgmSJomT8ixk
...
h02u1GHiy46GI+xfR3LsPwFKlkTaaLaL/6aaoQ==
-----END CERTIFICATE-----
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 2 (0x2)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: DC=com, DC=zabbix, O=Zabbix SIA, OU=Development group, CN=Root1 CA
        ...
        Subject: DC=com, DC=zabbix, O=Zabbix SIA, OU=Development group, CN=Signing CA
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
            ...
        X509v3 extensions:
            X509v3 Key Usage: critical
                Certificate Sign, CRL Sign
            X509v3 Basic Constraints: critical
                CA:TRUE, pathlen:0
        ...
-----BEGIN CERTIFICATE-----
MIID4TCCAsmgAwIBAgIBAjANBgkqhkiG9w0BAQUFADB+MRMwEQYKCZImiZPyLGQB
...
dyCeWnvL7u5sd6ffo8iRny0QzbHKmQt/wUtcVIvWXdMIFJM0Hw==
-----END CERTIFICATE-----
```

::: noteclassic
Verwenden Sie für Client- und Serverzertifikate nur die oben genannten Attribute, um den Zertifikatsprüfungsprozess nicht zu beeinträchtigen.
Beispielsweise kann OpenSSL keine verschlüsselte Verbindung herstellen, wenn die Erweiterungen *X509v3 Subject Alternative Name* oder *Netscape Cert Type* verwendet werden.
Weitere Informationen finden Sie unter [Einschränkungen bei der Verwendung von X.509-v3-Zertifikatserweiterungen](#limitations-on-using-x.509-v3-certificate-extensions).
:::

3\. Legen Sie den privaten Schlüssel des Zabbix Server in einer Datei ab, zum Beispiel unter `/home/zabbix/zabbix_server.key`:

```ini
-----BEGIN PRIVATE KEY-----
MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQC9tIXIJoVnNXDl
...
IJLkhbybBYEf47MLhffWa7XvZTY=
-----END PRIVATE KEY-----
```

4\. Bearbeiten Sie die TLS-Konfigurationsparameter in der [Konfigurationsdatei des Zabbix Server](/manual/appendix/config/zabbix_server):

```ini
TLSCAFile=/home/zabbix/zabbix_ca_file.crt
TLSCertFile=/home/zabbix/zabbix_server.crt
TLSKeyFile=/home/zabbix/zabbix_server.key
```

[comment]: # ({/72103762-34bcf646})

[comment]: # ({04167a1b-54ac87c7})
##### Zabbix Proxy

1\. Bereiten Sie die Dateien mit den CA-Zertifikaten der obersten Ebene, dem Zabbix Proxy-Zertifikat bzw. der Zertifikatskette und dem privaten Schlüssel vor, wie im Abschnitt [Zabbix Server](#zabbix-server) beschrieben.
Bearbeiten Sie anschließend die Parameter `TLSCAFile`, `TLSCertFile` und `TLSKeyFile` in der [Zabbix Proxy-Konfigurationsdatei](/manual/appendix/config/zabbix_proxy) entsprechend.

2\. Bearbeiten Sie zusätzliche TLS-Parameter in der [Zabbix Proxy-Konfigurationsdatei](/manual/appendix/config/zabbix_proxy):

-   Für aktiven Proxy: `TLSConnect=cert`
-   Für passiven Proxy: `TLSAccept=cert`

::: noteclassic
Um die Sicherheit des Proxy zu verbessern, können Sie auch die Parameter `TLSServerCertIssuer` und `TLSServerCertSubject` festlegen.
Weitere Informationen finden Sie unter [Einschränken des zulässigen Zertifikatausstellers und -betreffs](#restricting-allowed-certificate-issuer-and-subject).
:::

TLS-Parameter in der endgültigen Proxy-Konfigurationsdatei können wie folgt aussehen:

```ini
TLSConnect=cert
TLSAccept=cert
TLSCAFile=/home/zabbix/zabbix_ca_file.crt
TLSServerCertIssuer=CN=Signing CA,OU=Development group,O=Zabbix SIA,DC=zabbix,DC=com
TLSServerCertSubject=CN=Zabbix server,OU=Development group,O=Zabbix SIA,DC=zabbix,DC=com
TLSCertFile=/home/zabbix/zabbix_proxy.crt
TLSKeyFile=/home/zabbix/zabbix_proxy.key
```

3\. Konfigurieren Sie die Verschlüsselung für diesen Proxy im Zabbix Frontend:

-   Gehen Sie zu: *Administration → Proxies*.
-   Wählen Sie den Proxy aus und klicken Sie auf die Registerkarte *Verschlüsselung*.

In den folgenden Beispielen sind die Felder *Issuer* und *Subject* ausgefüllt.
Weitere Informationen dazu, warum und wie diese Felder verwendet werden, finden Sie unter [Einschränken des zulässigen Zertifikatausstellers und -betreffs](#restricting-allowed-certificate-issuer-and-subject).

Für aktiven Proxy:

![](../../../assets/en/manual/encryption/proxy_active_cert.png){width="600"}

Für passiven Proxy:

![](../../../assets/en/manual/encryption/proxy_passive_cert.png){width="600"}

[comment]: # ({/04167a1b-54ac87c7})

[comment]: # ({e2b2b9c2-d2f8a033})
##### Zabbix Agent

1\. Bereiten Sie Dateien mit den CA-Zertifikaten der obersten Ebene, dem Zertifikat/Zertifikats-Chain des Zabbix Agent und dem privaten Schlüssel vor, wie im Abschnitt [Zabbix Server](#zabbix-server) beschrieben.  
Bearbeiten Sie anschließend die Parameter `TLSCAFile`, `TLSCertFile` und `TLSKeyFile` in der [Konfigurationsdatei des Zabbix Agent](/manual/appendix/config/zabbix_agentd) entsprechend.

2\. Bearbeiten Sie zusätzliche TLS-Parameter in der [Konfigurationsdatei des Zabbix Agent](/manual/appendix/config/zabbix_agentd):

-   Für aktiven Agent: `TLSConnect=cert`
-   Für passiven Agent: `TLSAccept=cert`

::: noteclassic
Um die Sicherheit des Agent zu verbessern, können Sie die Parameter `TLSServerCertIssuer` und `TLSServerCertSubject` setzen.  
Weitere Informationen finden Sie unter [Einschränken des zulässigen Zertifikatausstellers und -subjects](#restricting-allowed-certificate-issuer-and-subject).
:::

Die TLS-Parameter in der endgültigen Agent-Konfiguration können wie folgt aussehen.  
Beachten Sie, dass das Beispiel davon ausgeht, dass der Host von einem Proxy überwacht wird; daher ist er als Zertifikats-Subject angegeben:

```ini
TLSConnect=cert
TLSAccept=cert
TLSCAFile=/home/zabbix/zabbix_ca_file.crt
TLSServerCertIssuer=CN=Signing CA,OU=Development group,O=Zabbix SIA,DC=zabbix,DC=com
TLSServerCertSubject=CN=Zabbix proxy,OU=Development group,O=Zabbix SIA,DC=zabbix,DC=com
TLSCertFile=/home/zabbix/zabbix_agentd.crt
TLSKeyFile=/home/zabbix/zabbix_agentd.key
```

3\. Konfigurieren Sie die Verschlüsselung im Zabbix Frontend für den von diesem Agent überwachten Host.

-   Gehen Sie zu: *Datenerfassung → Hosts*.
-   Wählen Sie den Host aus und klicken Sie auf die Registerkarte *Verschlüsselung*.

Im folgenden Beispiel sind die Felder *Issuer* und *Subject* ausgefüllt.  
Weitere Informationen dazu, warum und wie diese Felder verwendet werden, finden Sie unter [Einschränken des zulässigen Zertifikatausstellers und -subjects](#restricting-allowed-certificate-issuer-and-subject).

![](../../../assets/en/manual/encryption/agent_config.png){width="600"}

[comment]: # ({/e2b2b9c2-d2f8a033})

[comment]: # ({47d65781-8b579779})
##### Zabbix web service

1\. Bereiten Sie Dateien mit den CA-Zertifikaten der obersten Ebene, dem Zertifikat/Zertifikats-Chain des Zabbix web service und dem privaten Schlüssel vor, wie im Abschnitt [Zabbix server](#zabbix-server) beschrieben.  
Bearbeiten Sie anschließend die Parameter `TLSCAFile`, `TLSCertFile` und `TLSKeyFile` in der [Konfigurationsdatei des Zabbix web service](/manual/appendix/config/zabbix_web_service) entsprechend.

2\. Bearbeiten Sie einen zusätzlichen TLS-Parameter in der [Konfigurationsdatei des Zabbix web service](/manual/appendix/config/zabbix_web_service): `TLSAccept=cert`

TLS-Parameter in der endgültigen Konfigurationsdatei des web service können beispielsweise wie folgt aussehen:

```ini
TLSAccept=cert
TLSCAFile=/home/zabbix/zabbix_ca_file.crt
TLSCertFile=/home/zabbix/zabbix_web_service.crt
TLSKeyFile=/home/zabbix/zabbix_web_service.key
```

3\. Konfigurieren Sie den Zabbix server so, dass er eine Verbindung zum TLS-konfigurierten Zabbix web service herstellt, indem Sie den Parameter `WebServiceURL` in der [Konfigurationsdatei des Zabbix server](/manual/appendix/config/zabbix_server) bearbeiten:

```ini
WebServiceURL=https://example.com:443/report
```

[comment]: # ({/47d65781-8b579779})

[comment]: # ({70caa4a5-0f34d758})
#### Einschränkung zulässiger Zertifikatsaussteller und -subjekte

Wenn zwei Zabbix-Komponenten (zum Beispiel Server und Agent) eine TLS-Verbindung aufbauen, prüfen sie die Zertifikate der jeweils anderen Seite.
Wenn ein Zertifikat der Gegenstelle von einer vertrauenswürdigen CA signiert ist (mit einem vorkonfigurierten Stammzertifikat in `TLSCAFile`), gültig ist, nicht abgelaufen ist und andere Prüfungen besteht, kann die Kommunikation zwischen den Komponenten fortgesetzt werden.
In diesem einfachsten Fall werden Zertifikatsaussteller und -subjekt nicht überprüft.

Dies birgt jedoch ein Risiko: Jeder mit einem gültigen Zertifikat kann sich als jemand anderes ausgeben (zum Beispiel könnte ein Host-Zertifikat verwendet werden, um sich als Server auszugeben).
Dies kann in kleinen Umgebungen akzeptabel sein, in denen Zertifikate von einer dedizierten internen CA signiert werden und das Risiko einer Identitätsvortäuschung gering ist, reicht jedoch in größeren oder sicherheitssensibleren Umgebungen möglicherweise nicht aus.

Wenn Ihre Stamm-CA Zertifikate ausstellt, die von Zabbix nicht akzeptiert werden sollen, oder wenn Sie das Risiko einer Identitätsvortäuschung verringern möchten, können Sie zulässige Zertifikate einschränken, indem Sie deren Aussteller und Subjekt angeben.

Zum Beispiel könnten Sie in der Zabbix-Proxy-Konfigurationsdatei Folgendes angeben:

```ini
TLSServerCertIssuer=CN=Signing CA,OU=Development group,O=Zabbix SIA,DC=zabbix,DC=com
TLSServerCertSubject=CN=Zabbix server,OU=Development group,O=Zabbix SIA,DC=zabbix,DC=com
```

Mit diesen Einstellungen kommuniziert ein aktiver Proxy nicht mit einem Zabbix-Server, dessen Zertifikat einen anderen Aussteller oder ein anderes Subjekt hat.
Ebenso akzeptiert ein passiver Proxy keine Anfragen von einem solchen Server.

[comment]: # ({/70caa4a5-0f34d758})

[comment]: # ({bd9b46b2-0d8ce487})
##### Regeln für die Übereinstimmung von `Issuer`- und `Subject`-Strings

Die Regeln für die Übereinstimmung von `Issuer`- und `Subject`-Strings lauten wie folgt:

-   `Issuer`- und `Subject`-Strings werden unabhängig voneinander geprüft.
Beide sind optional.
-   Ein nicht angegebener String bedeutet, dass jeder String akzeptiert wird.
-   Strings werden *wie sie sind* verglichen und müssen exakt übereinstimmen.
-   UTF-8-Zeichen werden unterstützt.
Allerdings werden Platzhalter (`*`) oder reguläre Ausdrücke nicht unterstützt.
-   Die folgenden Anforderungen aus [RFC 4514](http://tools.ietf.org/html/rfc4514) werden implementiert - Zeichen, die ein Escaping erfordern (mit einem '`\`'-Backslash, U+005C):
    -   überall im String: '`"`' (U+0022), '`+`' (U+002B), '`,`' (U+002C), '`;`' (U+003B), '`<`' (U+003C), '`>`' (U+003E), '`\\`' (U+005C);
    -   am Anfang des Strings: Leerzeichen (' ', U+0020) oder Nummernzeichen ('`#`', U+0023);
    -   am Ende des Strings: Leerzeichen (' ', U+0020).
-   Nullzeichen (U+0000) werden nicht unterstützt.
Wenn ein Nullzeichen gefunden wird, schlägt die Übereinstimmung fehl.
-   Die Standards [RFC 4517](http://tools.ietf.org/html/rfc4517) und [RFC 4518](http://tools.ietf.org/html/rfc4518) werden nicht unterstützt.

Wenn zum Beispiel die Organisations-(`O`)-Strings von `Issuer` und `Subject` nachgestellte Leerzeichen enthalten und der organisatorische Einheit-(`OU`)-String von `Subject` doppelte Anführungszeichen enthält, müssen diese Zeichen maskiert werden:

```ini
TLSServerCertIssuer=CN=Signing CA,OU=Development head,O=\ Example SIA\ ,DC=example,DC=com
TLSServerCertSubject=CN=Zabbix server,OU=Development group \"5\",O=\ Example SIA\ ,DC=example,DC=com
```

[comment]: # ({/bd9b46b2-0d8ce487})

[comment]: # ({630eea16-68f11ffd})
##### Feldreihenfolge und Formatierung

Zabbix folgt den Empfehlungen von [RFC 4514](http://tools.ietf.org/html/rfc4514), der eine "umgekehrte" Reihenfolge für diese Felder festlegt: beginnend mit den Feldern der niedrigsten Ebene (`CN`), weiter zu den Feldern der mittleren Ebene (`OU`, `O`) und abschließend zu den Feldern der höchsten Ebene (`DC`).

```ini
TLSServerCertIssuer=CN=Signing CA,OU=Development group,O=Zabbix SIA,DC=zabbix,DC=com
TLSServerCertSubject=CN=Zabbix proxy,OU=Development group,O=Zabbix SIA,DC=zabbix,DC=com
```

Im Gegensatz dazu zeigt OpenSSL standardmäßig die Zeichenfolgen `Issuer` und `Subject` in der Reihenfolge von der höchsten zur niedrigsten Ebene an.
Im folgenden Beispiel beginnen die Felder `Issuer` und `Subject` mit der höchsten Ebene (`DC`) und enden mit dem Feld der niedrigsten Ebene (`CN`).
Auch die Formatierung mit Leerzeichen und Feldtrennzeichen variiert je nach verwendeten Optionen und entspricht daher nicht dem von Zabbix geforderten Format.

```bash
$ openssl x509 -noout -in /home/zabbix/zabbix_proxy.crt -issuer -subject
issuer= /DC=com/DC=zabbix/O=Zabbix SIA/OU=Development group/CN=Signing CA
subject= /DC=com/DC=zabbix/O=Zabbix SIA/OU=Development group/CN=Zabbix proxy

$ openssl x509 -noout -text -in /home/zabbix/zabbix_proxy.crt
Certificate:
    ...
        Issuer: DC=com, DC=zabbix, O=Zabbix SIA, OU=Development group, CN=Signing CA
        ...
        Subject: DC=com, DC=zabbix, O=Zabbix SIA, OU=Development group, CN=Zabbix proxy
```

Um die Zeichenfolgen *Issuer* und *Subject* korrekt für Zabbix zu formatieren, rufen Sie OpenSSL mit den folgenden Optionen auf:

```bash
$ openssl x509 -noout -issuer -subject \
    -nameopt esc_2253,esc_ctrl,utf8,dump_nostr,dump_unknown,dump_der,sep_comma_plus,dn_rev,sname\
    -in /home/zabbix/zabbix_proxy.crt
```

Die Ausgabe erfolgt dann in umgekehrter Reihenfolge, durch Kommas getrennt und kann in Zabbix-Konfigurationsdateien und im Frontend verwendet werden:

```bash
issuer=CN=Signing CA,OU=Development group,O=Zabbix SIA,DC=zabbix,DC=com
subject=CN=Zabbix proxy,OU=Development group,O=Zabbix SIA,DC=zabbix,DC=com
```

[comment]: # ({/630eea16-68f11ffd})

[comment]: # ({cb3afa18-29732466})
#### Einschränkungen bei der Verwendung von X.509-v3-Zertifikaterweiterungen

Bei der Implementierung von X.509-v3-Zertifikaten in Zabbix werden bestimmte Erweiterungen möglicherweise nicht vollständig unterstützt oder können zu inkonsistentem Verhalten führen.

**Erweiterung „Subject Alternative Name“**

Zabbix unterstützt die Erweiterung *Subject Alternative Name* nicht, die zur Angabe alternativer DNS-Namen wie IP-Adressen oder E-Mail-Adressen verwendet wird.
Zabbix kann nur den Wert im Feld *Subject* des Zertifikats validieren (siehe [Einschränken des zulässigen Zertifikatausstellers und Subject](#restricting-allowed-certificate-issuer-and-subject)).
Wenn Zertifikate das Feld `subjectAltName` enthalten, kann das Ergebnis der Zertifikatsvalidierung je nach den spezifischen Kryptografie-Toolkits variieren, mit denen die Zabbix-Komponenten kompiliert wurden.
Daher kann Zabbix Zertifikate abhängig von diesen Kombinationen entweder akzeptieren oder ablehnen.

**Erweiterung „Extended Key Usage“**

Zabbix unterstützt die Erweiterung *Extended Key Usage*.
Wenn sie jedoch verwendet wird, ist es im Allgemeinen erforderlich, dass sowohl die Attribute *clientAuth* (für TLS-WWW-Client-Authentifizierung) als auch *serverAuth* (für TLS-WWW-Server-Authentifizierung) angegeben werden.
Zum Beispiel:

-   Bei passiven Prüfungen, bei denen der Zabbix Agent als TLS-Server arbeitet, muss das Attribut *serverAuth* im Zertifikat des Agent enthalten sein.
-   Bei aktiven Prüfungen, bei denen der Agent als TLS-Client arbeitet, muss das Attribut *clientAuth* im Zertifikat des Agent enthalten sein.

Während GnuTLS bei Verstößen gegen die Schlüsselnutzung möglicherweise eine Warnung ausgibt, wird die Kommunikation trotz dieser Warnungen in der Regel zugelassen.

**Erweiterung „Name Constraints“**

Die Unterstützung für die Erweiterung *Name Constraints* variiert zwischen Kryptografie-Toolkits.
Stellen Sie sicher, dass das von Ihnen gewählte Toolkit diese Erweiterung unterstützt.
Je nach verwendetem Toolkit kann diese Erweiterung Zabbix daran hindern, CA-Zertifikate zu laden, wenn dieser Abschnitt als kritisch markiert ist.

[comment]: # ({/cb3afa18-29732466})

[comment]: # ({1be6201b-35b25767})
#### Zertifikatsperrlisten (CRL)

Wenn ein Zertifikat kompromittiert ist, kann die Zertifizierungsstelle (CA) es widerrufen, indem sie das Zertifikat in eine Zertifikatsperrliste (CRL) aufnimmt.
CRLs werden über Konfigurationsdateien verwaltet und können mit dem Parameter `TLSCRLFile` in den Konfigurationsdateien von Server, Proxy und Agent angegeben werden.
Zum Beispiel:

```ini
TLSCRLFile=/home/zabbix/zabbix_crl_file.crt
```

In diesem Fall kann `zabbix_crl_file.crt` CRLs von mehreren CAs enthalten und könnte wie folgt aussehen:

```ini
-----BEGIN X509 CRL-----
MIIB/DCB5QIBATANBgkqhkiG9w0BAQUFADCBgTETMBEGCgmSJomT8ixkARkWA2Nv
...
treZeUPjb7LSmZ3K2hpbZN7SoOZcAoHQ3GWd9npuctg=
-----END X509 CRL-----
-----BEGIN X509 CRL-----
MIIB+TCB4gIBATANBgkqhkiG9w0BAQUFADB/MRMwEQYKCZImiZPyLGQBGRYDY29t
...
CAEebS2CND3ShBedZ8YSil59O6JvaDP61lR5lNs=
-----END X509 CRL-----
```

Die CRL-Datei wird nur beim Start von Zabbix geladen.
Um die CRL zu aktualisieren, starten Sie Zabbix neu.

::: noteimportant
Wenn Zabbix-Komponenten mit OpenSSL kompiliert werden und CRLs verwendet werden, stellen Sie sicher, dass für jede Stamm-CA und Zwischen-CA in den Zertifikatsketten eine entsprechende CRL (auch wenn sie leer ist) in `TLSCRLFile` enthalten ist.
:::

[comment]: # ({/1be6201b-35b25767})
