[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 CA(s) der unteren Ebene zuerst kommen, gefolgt von den Zertifikaten der CA(s) der höheren Ebene.<br>Zertifikate mehrerer CAs können in einer einzigen 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, Proxys oder Agents kommt, gefolgt von den Zertifikaten der CA(s) der unteren Ebene und abgeschlossen durch die Zertifikate der CA(s) der höheren Ebene.|
|*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-42dcb9db})
#### Konfigurationsbeispiele

Nach dem Einrichten der erforderlichen Zertifikate konfigurieren Sie die Zabbix-Komponenten so, dass sie zertifikatbasierte 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-42dcb9db})

[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 haben, die die selbstsignierten Root-CA-Zertifikate der obersten Ebene enthält.
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 Zwischen-CA-Zertifikat:

```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 sowohl für Client- als auch für Server-Zertifikate nur die oben genannten Attribute, um den Zertifikatsverifizierungsprozess nicht zu beeinflussen.
Beispielsweise kann OpenSSL möglicherweise 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 Servers 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 [Zabbix-Server-Konfigurationsdatei](/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 Dateien mit den CA-Zertifikaten der obersten Ebene, dem Zertifikat/der Zertifikatskette des Zabbix Proxy sowie dem privaten Schlüssel vor, wie im Abschnitt [Zabbix Server](#zabbix-server) beschrieben.
Bearbeiten Sie dann die Parameter `TLSCAFile`, `TLSCertFile` und `TLSKeyFile` entsprechend in der [Zabbix Proxy-Konfigurationsdatei](/manual/appendix/config/zabbix_proxy).

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 Zertifikatsausstellers und -betreffs](#restricting-allowed-certificate-issuer-and-subject).
:::

Die TLS-Parameter in der endgültigen Proxy-Konfigurationsdatei können beispielsweise 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: *Verwaltung → Proxys*.
-   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 Zertifikatsausstellers 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 Zabbix-Agent-Zertifikat/Zertifikatskette und dem privaten Schlüssel vor, wie im Abschnitt [Zabbix Server](#zabbix-server) beschrieben.
Bearbeiten Sie dann die Parameter `TLSCAFile`, `TLSCertFile` und `TLSKeyFile` in der [Zabbix-Agent-Konfigurationsdatei](/manual/appendix/config/zabbix_agentd) entsprechend.

2\. Bearbeiten Sie zusätzliche TLS-Parameter in der [Zabbix-Agent-Konfigurationsdatei](/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` festlegen.
Weitere Informationen finden Sie unter [Einschränken des zulässigen Zertifikatsausstellers und -betreffs](#restricting-allowed-certificate-issuer-and-subject).
:::

Die TLS-Parameter in der endgültigen Agent-Konfigurationsdatei können beispielsweise wie folgt aussehen.
Beachten Sie, dass das Beispiel davon ausgeht, dass der Host von einem Proxy überwacht wird; daher ist dieser als Zertifikatsbetreff 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 *Aussteller* und *Betreff* ausgefüllt.
Weitere Informationen dazu, warum und wie diese Felder verwendet werden, finden Sie unter [Einschränken des zulässigen Zertifikatsausstellers und -betreffs](#restricting-allowed-certificate-issuer-and-subject).

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

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

[comment]: # ({47d65781-94a00d14})
##### Zabbix-Webservice

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

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

Die TLS-Parameter in der endgültigen Webservice-Konfigurationsdatei können 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 zur TLS-konfigurierten Zabbix-Webservice herstellt, indem Sie den Parameter `WebServiceURL` in der [Zabbix-Server-Konfigurationsdatei](/manual/appendix/config/zabbix_server) bearbeiten:

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

[comment]: # ({/47d65781-94a00d14})

[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-5d9c487d})
##### Regeln für den Abgleich von `Issuer`- und `Subject`-Zeichenfolgen

Die Regeln für den Abgleich von `Issuer`- und `Subject`-Zeichenfolgen sind wie folgt:

-   `Issuer`- und `Subject`-Zeichenfolgen werden unabhängig voneinander geprüft.
Beide sind optional.
-   Eine nicht angegebene Zeichenfolge bedeutet, dass jede Zeichenfolge akzeptiert wird.
-   Zeichenfolgen werden *unverändert* verglichen und müssen exakt übereinstimmen.
-   UTF-8-Zeichen werden unterstützt.
Platzhalter (`*`) oder reguläre Ausdrücke werden jedoch nicht unterstützt.
-   Die folgenden Anforderungen aus [RFC 4514](http://tools.ietf.org/html/rfc4514) sind implementiert – Zeichen, die maskiert werden müssen (mit einem Backslash '`\`', U+005C):
    -   an beliebiger Stelle in der Zeichenfolge: '`"`' (U+0022), '`+`' (U+002B), '`,`' (U+002C), '`;`' (U+003B), '`<`' (U+003C), '`>`' (U+003E), '`\\`' (U+005C);
    -   am Anfang der Zeichenfolge: Leerzeichen (' ', U+0020) oder Nummernzeichen ('`#`', U+0023);
    -   am Ende der Zeichenfolge: Leerzeichen (' ', U+0020).
-   Nullzeichen (U+0000) werden nicht unterstützt.
Wenn ein Nullzeichen erkannt wird, schlägt der Abgleich 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 beispielsweise die Organisationszeichenfolgen (`O`) von `Issuer` und `Subject` nachgestellte Leerzeichen enthalten und die Zeichenfolge der Organisationseinheit (`OU`) 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-5d9c487d})

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

Zabbix folgt den Empfehlungen von [RFC 4514](http://tools.ietf.org/html/rfc4514), das 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 mit 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 die Zeichenfolgen `Issuer` und `Subject` standardmäßig 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* für Zabbix korrekt 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-f61c7ebf})

[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})
