Áú»¢¶Ä²© pot emprar certificats RSA en format PEM, signats per una autoritat de certificaci¨® (CA) p¨²blica o interna.
La verificaci¨® del certificat es realitza en una CA de certificat preconfigurada. Opcionalment es poden emprar les llistes de revocaci¨® de certificats (CRL).
Cada component Áú»¢¶Ä²© nom¨¦s pot tindre un certificat configurat.
Per obtindre m¨¦s informaci¨® sobre la configuraci¨® i l'¨²s de l'autoritat de certificaci¨® interna, la generaci¨® de peticions de certificats i la seva signatura, la revocaci¨® de certificats, trobareu un gran nombre de manuals d'usuari en l¨ªnia, per exemple, [OpenSSL PKI Tutorial v2.0] (http://pki-tutorial.readthedocs.org/en/latest/).
Reviseu i proveu amb cura les extensions de certificat.
Veieu les Limitacions a les extensions de certificat X.509 v3 per obtindre m¨¦s detalls.
±Ê²¹°ù¨¤³¾±ð³Ù°ù±ð | Obligatori | ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨® |
---|---|---|
TLSCAFile | ²õ¨ª | Cam¨ª complet a un fitxer que cont¨¦ els certificats de nivell superior de CA per a la verificaci¨® de certificats entre iguals. En cas d'una cadena de certificats amb diversos membres, s'han d'ordenar: primer els certificats de CA de nivell inferior, seguits de certificats de nivell superior. Els certificats de diverses CA es poden incloure en un sol fitxer. |
TLSCRLFile | no | Cam¨ª complet a un fitxer que cont¨¦ llistes de revocaci¨® de certificats. Veieu Llistes de revocaci¨® de certificats (CRL). |
TLSCertFile | yes | Cam¨ª complet d'un fitxer que cont¨¦ un certificat (cadena de certificats). En el cas d'una cadena de certificats amb diversos membres, s'han d'ordenar: primer certificat de servidor, certificat de proxy o agent, seguit de certificats d'inferior nivell i despr¨¦s certificats de CA de nivell superior. |
TLSKeyFile | yes | Cam¨ª complet d'un fitxer que cont¨¦ una clau privada. Estableix els drets d'acc¨¦s a aquest fitxer: nom¨¦s hauria de ser llegible per l'usuari de Áú»¢¶Ä²©. |
TLSServerCertIssuer | no | Emissor del certificat del servidor es permet. |
TLSServerCertSubject | no | Titular autoritzat del certificat del servidor. |
Despr¨¦s de configurar els certificats necessaris, configureu els components de Áú»¢¶Ä²© per utilitzar el xifrat basat en certificats.
Tot seguit es mostren les passes detallades per a la configuraci¨®:
1. Per tal de verificar els certificats dels parells, el servidor Áú»¢¶Ä²© ha de tindre acc¨¦s al fitxer amb els seus certificats de CA arrel autosignats de primer nivell. Per exemple, si esperem certificats de dues CA arrel independents, podem posar els seus certificats al fitxer /home/zabbix/zabbix_ca_file
:
```
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 1 (0x1)
Signature Algorithm: sha1WithRSAEncryption
Issuer: DC=com, DC=zabbix, O=Áú»¢¶Ä²© SIA, OU=Development group, CN=Root1 CA
...
Subject: DC=com, DC=zabbix, O=Áú»¢¶Ä²© 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=Áú»¢¶Ä²© SIA, OU=Development group, CN=Root2 CA
...
Subject: DC=com, DC=zabbix, O=Áú»¢¶Ä²© 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. Poseu la cadena de certificats del servidor Áú»¢¶Ä²© a un arxiu, com ara /home/zabbix/zabbix_server.crt
:
```ini
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 1 (0x1)
Signature Algorithm: sha1WithRSAEncryption
Issuer: DC=com, DC=zabbix, O=Áú»¢¶Ä²© SIA, OU=Development group, CN=Signing CA
...
Subject: DC=com, DC=zabbix, O=Áú»¢¶Ä²© SIA, OU=Development group, CN=Áú»¢¶Ä²© 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=Áú»¢¶Ä²© SIA, OU=Development group, CN=Root1 CA
...
Subject: DC=com, DC=zabbix, O=Áú»¢¶Ä²© 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-----
Aqu¨ª el primer ¨¦s el certificat del servidor Áú»¢¶Ä²©, seguit del certificat de la CA intermitja.
:::noteclassic
Es desaconsella l'¨²s de qualsevol atribut, excepte els esmentats anteriorment, tant per als certificats de client com de servidor, perqu¨¨ pot afectar el proc¨¦s de verificaci¨® del certificat. Per exemple, l'OpenSSL pot no establir una connexi¨® xifrada si s'estableix *X509v3 Extended Key Usage* o *Netscape Cert Type*. Veieu tamb¨¦: [Limitacions en l'¨²s de les extensions de certificat X.509 v3](/manual/encryption/using_certificates#limitations_on_using_x509_v3_certificate_extensions).
:::
3\. Poseu la clau privada del servidor Áú»¢¶Ä²© a un arxiu, com ara `/home/zabbix/zabbix_server.key`:
```
-----BEGIN PRIVATE KEY-----
MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQC9tIXIJoVnNXDl
...
IJLkhbybBYEf47MLhffWa7XvZTY=
-----END PRIVATE KEY-----
```
4\. Editeu els par¨¤metres TLS a l'arxiu de configuraci¨® del servidor Áú»¢¶Ä²©, amb aquest valors:
```ini
TLSCAFile=/home/zabbix/zabbix_ca_file
TLSCertFile=/home/zabbix/zabbix_server.crt
TLSKeyFile=/home/zabbix/zabbix_server.key
1. Prepareu fitxers amb certificats de CA de primer nivell, certificat de proxy (cadena) i clau privada tal com es descriu a °ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® del certificat al servidor Áú»¢¶Ä²©. Modifiqueu els par¨¤metres TLSCAFile
, TLSCertFile
, TLSKeyFile
a la configuraci¨® del proxy en conseq¨¹¨¨ncia.
2. Editeu els par¨¤metres adicionals a l'arxiu de configuraci¨® del proxy Áú»¢¶Ä²©:
Per al proxy actiu: TLSConnect=cert
Per a un proxy passiu: TLSAccept=cert
Per millorar la seguretat del proxy, podeu configurar els par¨¤metres TLSServerCertIssuer
i TLSServerCertSubject
. Per a m¨¦s informaci¨®, veieu les restriccions permeses de l'emissor i de l'assumpte.
Al fitxer de configuraci¨® del proxy final, la configuraci¨® de TLS podria semblar aix¨ª:
```ini
TLSConnect=cert
TLSAccept=cert
TLSCAFile=/home/zabbix/zabbix_ca_file
TLSServerCertIssuer=CN=Signing CA,OU=Grup de desenvolupament,O=Áú»¢¶Ä²© SIA,DC=zabbix,DC=com
TLSServerCertSubject=CN=Servidor Áú»¢¶Ä²©,OU=Grup de desenvolupament,O=Áú»¢¶Ä²© SIA,DC=zabbix,DC=com
TLSCertFile=/home/zabbix/zabbix_proxy.crt
TLSKeyFile=/home/zabbix/zabbix_proxy.key
```
3. Configureu el xifrat per a aquest proxy a la interf¨ªcie Áú»¢¶Ä²©:
En els exemples seg¨¹ents, s'emplenen els camps Emissor i Assumpte. Veieu a restricci¨® d'emissor i subjecte permesos per qu¨¨ i com emprar aquests camps.
Per a un proxy actiu:
Per a un proxy passiu:
1. Prepareu fitxers amb certificats de CA de nivell superior, certificat d'agent (cadena) i clau privada tal com es descriu a la configuraci¨® del certificat al servidor Áú»¢¶Ä²©. Modifiqueu els par¨¤metres TLSCAFile
, TLSCertFile
, TLSKeyFile
a l'arxiu de configuraci¨® de l'agent Áú»¢¶Ä²© com pertoqui.
2. Editeu els par¨¤metres TLS addicionals a l'arxiu de configuraci¨® de l'agent Áú»¢¶Ä²©:
Per al monitoratge actiu: TLSConnect=cert
Per al monitoratge passiu: TLSAccept=cert
Podeu millorar la seguretat de l'agent configurant els par¨¤metres TLSServerCertIssuer' i
TLSServerCertSubject` (veieu Restricci¨® de l'emissor i del assumpte permesos).
Els par¨¤metres TLS a la configuraci¨® final de l'agent serien com tot seguit. Fixeu-vos que l'exemple assumeix que l'equip ¨¦s monitorat per un proxy; per tant, s'especifica com a Assumpte el certificat:
```ini
TLSConnect=cert
TLSAccept=cert
TLSCAFile=/home/zabbix/zabbix_ca_file
TLSServerCertIssuer=CN=Signing CA,OU=Grup de desenvolupament,O=Áú»¢¶Ä²© SIA,DC=zabbix,DC=com
TLSServerCertSubject=CN=Proxy Áú»¢¶Ä²©,OU=Grup de desenvolupament,O=Áú»¢¶Ä²© SIA,DC=zabbix,DC=com
TLSCertFile=/home/zabbix/zabbix_agentd.crt
TLSKeyFile=/home/zabbix/zabbix_agentd.key
```
3. Configureu el xifrat per a aquest agent a la interf¨ªcie Áú»¢¶Ä²©:
A l'exemple seg¨¹ent, s'emplenen els camps Emissor i Assumpte. Veieu a restricci¨® de l'emissor i l'assumpte permesos per qu¨¨ i com emprar aquests camps.
1. Prepareu fitxers amb els certificats de CA de nivell superior, el certificat/cadena de certificats del servei web Áú»¢¶Ä²© i la clau privada tal com es descriu a la secci¨® Servidor Áú»¢¶Ä²©. A continuaci¨®, editeu els par¨¤metres TLSCAFile
, TLSCertFile
i TLSKeyFile
al fitxer de configuraci¨® del servei web Áú»¢¶Ä²© en conseq¨¹¨¨ncia.
2. Editeu un par¨¤metre TLS addicional al fitxer de configuraci¨® del servei web Áú»¢¶Ä²©: TLSAccept=cert
Els par¨¤metres TLS del fitxer de configuraci¨® del servei web final poden tenir el seg¨¹ent aspecte:
TLSAccept=cert
TLSCAFile=/home/zabbix/zabbix_ca_file
TLSCertFile=/home/zabbix/zabbix_web_service.crt
TLSKeyFile=/home/zabbix/zabbix_web_service.key
3. Configureu el servidor Áú»¢¶Ä²© per connectar-se al servei web Áú»¢¶Ä²© configurat per TLS editant el par¨¤metre WebServiceURL
al fitxer de configuraci¨® del servidor Áú»¢¶Ä²©:
Quan dos components (per exemple, el servidor Áú»¢¶Ä²© i l'agent) estableixen una connexi¨® TLS, cadascun comprova els certificats de l'altre. Si un certificat igual signat per una CA de confian?a (amb un certificat de nivell superior preconfigurat a TLSCAFile
) ¨¦s v¨¤lid, no ha caducat i passa m¨¦s comprovacions, la comunicaci¨® pot continuar. L'emissor i el subjecte del certificat no es comprova en aquest cas m¨¦s senzill.
Hi ha el risc que qualsevol persona amb un certificat v¨¤lid pugui suplantar la identitat d'una altra persona (per exemple, es pot emprar un certificat d'equip per suplantar la identitat d'un servidor). Aix¨° pot ser acceptable en entorns petits on els certificats s¨®n signats per una CA interna dedicada i el risc de suplantaci¨® d'identitat ¨¦s baix.
Si la vostra CA de nivell superior s'empra per emetre altres certificats que Áú»¢¶Ä²© no hauria d'acceptar o si voleu reduir el risc de falsificaci¨®, podeu restringir els certificats permesos especificant-ne el remitent i l'assumpte.
Per exemple, podeu escriure al fitxer de configuraci¨® del proxy Áú»¢¶Ä²©:
TLSServerCertIssuer=CN=Signing CA,OU=Grup de desenvolupament,O=Áú»¢¶Ä²© SIA,DC=zabbix,DC=com
TLSServerCertSubject=CN=Servidor Áú»¢¶Ä²©,OU=Grup de desenvolupament,O=Áú»¢¶Ä²© SIA,DC=zabbix,DC=com
Amb aquesta configuraci¨®, el proxy actiu no es comunicar¨¤ amb el servidor Áú»¢¶Ä²© amb una cadena d'emissor o una cadena de subjecte diferent al certificat, i el proxy passiu no acceptar¨¤ peticions d'aquest servidor.
Emissor
i Assumpte
Les regles per fer coincidir les cadenes Emissor
i Assumpte
s¨®n les seg¨¹ents:
Emissor
i Assumpte
es comproven de manera independent. Tots dos s¨®n opcionals.*
) ni les expressions regulars.\
', U+005C):
"
' (U+0022), '+
' (U+002B), ',
' (U+002C), ';
' (U+003B), '<
' (U+003C), '>
' (U+003E), '`\'' (U+005C);Per exemple, si les cadenes d'organitzaci¨® Emissor
i Assumpte
(O
) contenen espais al final i la cadena de la unitat organitzativa Assumpte
(OU
) cont¨¦ cometes dobles, aquests car¨¤cters s'han d'escapar:
TLSServerCertIssuer=CN=Signing CA,OU=Cap de desenvolupament,O=\ Exemple SIA\ ,DC=exemple,DC=com
TLSServerCertSubject=CN=Servidor Áú»¢¶Ä²©,OU=Grup de desenvolupament \"5\",O=\ Exemple SIA\ ,DC=exemple,DC=com
Áú»¢¶Ä²© segueix les recomanacions de , que especifica un ordre "invers" per a aquests camps, comen?ant pels camps de nivell m¨¦s baix (CN
), continuant als camps de nivell mig (OU
, O
) i concloent amb els camps de nivell m¨¦s alt (DC
).
TLSServerCertIssuer=CN=Signing CA,OU=Grup de desenvolupament,O=Áú»¢¶Ä²© SIA,DC=zabbix,DC=com
TLSServerCertSubject=CN=Proxy Áú»¢¶Ä²©,OU=Grup de desenvolupament,O=Áú»¢¶Ä²© SIA,DC=zabbix,DC=com
En canvi, OpenSSL mostra per defecte les cadenes Emissor
i Assumpte
en ordre de nivell superior a nivell inferior. A l'exemple seg¨¹ent, els camps Emissor
i Assumpte
comencen al nivell superior ("DC") i acaben amb el camp de nivell inferior ("CN"). El format amb espais i separadors de camps tamb¨¦ varia en funci¨® de les opcions emprades i, per tant, no coincidir¨¤ amb el format requerit per Áú»¢¶Ä²©.
$ openssl x509 -noout -in /home/zabbix/zabbix_proxy.crt -issuer -subject
issuer= /DC=com/DC=zabbix/O=Áú»¢¶Ä²© SIA/OU=Grup de desenvolupament/CN=Signing CA
subject= /DC=com/DC=zabbix/O=Áú»¢¶Ä²© SIA/OU=Grup de desenvolupament/CN=Proxy Áú»¢¶Ä²©
$ openssl x509 -noout -text -in /home/zabbix/zabbix_proxy.crt
Certificate:
...
Issuer: DC=com, DC=zabbix, O=Áú»¢¶Ä²© SIA, OU=Grup de desenvolupament, CN=Signing CA
...
Subect: DC=com, DC=zabbix, O=Áú»¢¶Ä²© SIA, OU=Grup de desenvolupament, CN=proxy Áú»¢¶Ä²©
Per formatar correctament les cadenes Emissor i Subject per a Áú»¢¶Ä²©, invoqueu OpenSSL amb les opcions seg¨¹ents:
$ openssl x509 -noout -issuer -subject \
-nameopt esc_2253,esc_ctrl,utf8,dump_nostr,dump_unknown,dump_der,sep_comma_plus,dn_rev,sname\
-a /home/zabbix/zabbix_proxy.crt
Aleshores, la sortida estar¨¤ en ordre invers, separada per comes i es podr¨¤ emprar als fitxers de configuraci¨® i a la interf¨ªcie de Áú»¢¶Ä²©:
issuer= CN= Signatura CA, OU= grup de desenvolupament, O= Áú»¢¶Ä²© SIA, DC=zabbix, DC=com
subject= CN=proxy Áú»¢¶Ä²©,OU=Grup de desenvolupament,O=Áú»¢¶Ä²© SIA,DC=zabbix,DC=com
Quan s'implementen certificats X.509 v3 dins de Áú»¢¶Ä²©, ¨¦s possible que algunes extensions no siguin totalment compatibles o poden provocar un comportament inconsistent.
Extensi¨® Subject Alternative Name
Áú»¢¶Ä²© no admet l'extensi¨® Subject Alternative Name, que s'empra per especificar noms DNS alternatius, com ara adreces IP o adreces de correu electr¨°nic. Áú»¢¶Ä²© nom¨¦s pot validar el valor del camp Assumpte del certificat (vegeu Restricci¨® de l'emissor i l'assumpte de certificats permesos). Si els certificats inclouen el camp subjectAltName
, el resultat de la validaci¨® del certificat pot variar en funci¨® dels conjunts d'eines de criptografia espec¨ªfics utilitzats per compilar components Áú»¢¶Ä²©. Com a resultat, Áú»¢¶Ä²© pot acceptar o rebutjar certificats basats en aquestes combinacions.
Extensi¨® Extended Key Usage
Áú»¢¶Ä²© admet l'extensi¨® Extended Key Usage. Tanmateix, si s'empra, generalment es requereix que s'especifiquin tant els atributs clientAuth (per a l'autenticaci¨® de client TLS WWW) com serverAuth (per a l'autenticaci¨® de servidor TLS WWW). Per exemple:
Tot i que GnuTLS pot emetre un av¨ªs per infraccions d'¨²s de claus, normalment permet que la comunicaci¨® continu? malgrat aquests avisos.
Extensi¨® Name Constraints
El suport per a l'extensi¨® Name Constraints varia entre els kits d'eines de criptografia. Assegureu-vos que el conjunt d'eines que trieu admet aquesta extensi¨®. Aquesta extensi¨® pot restringir Áú»¢¶Ä²© de carregar certificats de CA si aquesta secci¨® ¨¦s marcada com a cr¨ªtica, depenent del conjunt d'eines espec¨ªfic que s'empra.
Si un certificat ¨¦s comprom¨¨s, l'autoritat de certificaci¨® pot revocar-lo incloent-lo a la llista de revocaci¨® de certificats. Els CRL es poden configurar al fitxer de configuraci¨® del servidor, el proxy i l'agent mitjan?ant el par¨¤metre TLSCRLFile
. Per exemple:
on zabbix_crl_file
pot contindre llistes de revocaci¨® de certificats de diverses autoritats de certificaci¨® i assemblar-se a:
-----BEGIN X509 CRL-----
MIIB/DCB5QIBATANBgkqhkiG9w0BAQUFADCBgTETMBEGCgmSJomT8ixkARkWA2Nv
...
treZeUPjb7LSmZ3K2hpbZN7SoOZcAoHQ3GWd9npuctg=
-----END X509 CRL-----
-----BEGIN X509 CRL-----
MIIB+TCB4gIBATANBgkqhkiG9w0BAQUFADB/MRMwEQYKCZImiZPyLGQBGRYDY29t
...
CAEebS2CND3ShBedZ8YSil59O6JvaDP61lR5lNs=
-----END X509 CRL-----
El fitxer CRL nom¨¦s es carrega a l'inici de Áú»¢¶Ä²©. L'actualitzaci¨® de la llista de revocaci¨® de certificats requereix un reinici.
Si el component Áú»¢¶Ä²© es compila amb OpenSSL i s'empren llistes de revocaci¨® de certificats, cada CA de nivell superior i mitj¨¤ de les cadenes de certificats ha de tindre una llista de revocaci¨® de certificats (pot ¨¦sser buida) a TLSCRLFile
.