Trajanje: ~5 minut
Vloga: PKI operater / Varnost
Prioriteta: VISOKA ob ogroženosti
| Koda | Razlog | Kdaj uporabiti |
| —— | ——– | —————- |
| 0 | unspecified | Privzeto (ni priporočeno) |
| 1 | keyCompromise | Zasebni ključ ogrožen |
| 2 | cACompromise | CA ogrožen |
| 3 | affiliationChanged | Sprememba organizacije |
| 4 | superseded | Nadomeščen z novim certifikatom |
| 5 | cessationOfOperation | Storitev ukinjena |
| 9 | privilegeWithdrawn | Pooblastilo odvzeto |
# Iskanje po serijski stevilki openssl x509 -in certificate.pem -serial -subject -noout # Iskanje v CA bazi podatkov grep -r "CN=server.example.com" /etc/pki/CA/index.txt
# PowerShell: Iskanje certifikata Get-ChildItem Cert:\LocalMachine\My | Where-Object { $_.Subject -like "*server.example.com*" } | Select-Object SerialNumber, Subject, Thumbprint
# Preklic certifikata openssl ca -config openssl.cnf \ -revoke /path/to/certificate.pem \ -crl_reason keyCompromise # Alternativa: Po serijski stevilki openssl ca -config openssl.cnf \ -revoke_by_serial 01234567890ABCDEF \ -crl_reason keyCompromise
// Preklic certifikata in ustvarjanje CRL var crlBuilder = new CertificateRevocationListBuilder(); // Dodajanje preklica crlBuilder.AddEntry( revokedCert.SerialNumber, DateTimeOffset.UtcNow, X509RevocationReason.KeyCompromise); // Podpisovanje CRL (hibridni nacin) using var issuerCert = new X509Certificate2("ca.pfx", "password"); var crlNumber = BigInteger.Parse("42"); var nextUpdate = DateTimeOffset.UtcNow.AddDays(7); byte[] crl = crlBuilder.Build( issuerCert, crlNumber, nextUpdate, HashAlgorithmName.SHA384, CryptoMode.Hybrid); File.WriteAllBytes("crl.der", crl);
# Generiranje novega CRL openssl ca -config openssl.cnf -gencrl -out crl.pem # Pretvorba CRL v DER obliko (za distribucijo) openssl crl -in crl.pem -outform DER -out crl.der # Preverjanje CRL openssl crl -in crl.pem -text -noout
Distribucijske točke:
| Metoda | Cilj | Ukaz |
| ——– | —— | —— |
| HTTP | Spletni strežnik | cp crl.der /var/www/pki/crl.der |
| LDAP | Active Directory | ldapmodify -f update-crl.ldif |
| CDP | V certifikatu | Samodejno preko URL |
# Kopiranje CRL na spletni streznik scp crl.der webserver:/var/www/html/pki/crl.der # Ponoven zagon Nginx/Apache (ce je predpomnilnik) ssh webserver "systemctl reload nginx"
# Posodobitev indeksa OCSP odzivnika (samodejno pri OpenSSL CA) # Odzivnik bere /etc/pki/CA/index.txt # Test OCSP odziva openssl ocsp \ -issuer intermediate.pem \ -cert certificate.pem \ -url http://ocsp.example.com \ -resp_text
Pričakovan odziv po preklicu:
Cert Status: revoked Revocation Time: Dec 15 10:30:00 2024 GMT Revocation Reason: keyCompromise
Obvezna obvestila:
| Prejemnik | Metoda | Vsebina |
| ———– | ——– | ——— |
| Imetnik certifikata | E-pošta | Serijska številka, razlog, naslednji koraki |
| Varnostna ekipa | Zahtevek | Podrobnosti incidenta |
| Prizadeti sistemi | Opozorilo | Samodejno preko nadzora |
# Posiljanje predloge e-poste cat << 'EOF' | mail -s "Certifikat preklican - Zahtevano ukrepanje" admin@example.com Certifikat je bil preklican: Serijska stevilka: 01:23:45:67:89:AB:CD:EF Subject: CN=server.example.com Razlog: Ogroženost ključa Datum: $(date -Iseconds) Zahtevano ukrepanje: 1. Konfiguracija storitve z novim certifikatom 2. Odstranitev starega certifikata iz vseh sistemov Vprašanja: pki-team@example.com EOF
| Polje | Vrednost |
| ——- | ———- |
| Serijska številka | 01:23:45:67:89:AB:CD:EF |
| Subject | CN=server.example.com |
| Razlog preklica | keyCompromise |
| Datum preklica | 2024-12-15 10:30:00 UTC |
| Številka CRL | 42 |
| Operater | Ime operaterja |
| Zahtevek | SEC-2024-0815 |
Ob ogroženosti CA: → Navodilo za nujni preklic
# Preklic vseh certifikatov CA for cert in /etc/pki/CA/newcerts/*.pem; do openssl ca -config openssl.cnf -revoke "$cert" -crl_reason cACompromise done # Nov CRL s kratko veljavnostjo openssl ca -config openssl.cnf -gencrl -crldays 1 -out emergency-crl.pem
| # | Kontrolna točka | |
| — | —————– | — |
| 1 | Certifikat vnesen v CRL | |
| 2 | CRL podpisan in veljaven | |
| 3 | CRL dostopen na vseh CDP | |
| 4 | OCSP odgovarja revoked | |
| 5 | Imetnik certifikata obveščen | |
| 6 | Varnostni zahtevek dokumentiran |
| Težava | Vzrok | Rešitev |
| ——– | ——- | ——— |
already revoked | Dvojni preklic | Prezreti |
unknown serial | Ni od tega CA | Preveriti CA |
| CRL neveljaven | Napaka podpisa | Preveriti CA ključ |
OCSP odgovarja good | Predpomnilnik/sinhronizacija | Ponovno zagnati OCSP odzivnik |
« ← Obnova certifikata | → Pregled zdravja »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional