Provjera certifikata klastera PostgreSQL¶
Tijekom instalacije, tijekom obnove ili jednostavno da biste saznali kada istječu certifikati klastera PostgreSQL, može biti korisno pregledati sadržaj generiranih certifikata.
Klaster PostgreSQL koristi sljedeće certifikate:
1 2 3 4 5 6 7 8 9 10 11 | |
ca.crt-
Certifikat korijenskog certifikacijskog tijela. Isti se certifikat nalazi u direktorijima
/etc/patroni/i/etc/etcd/. client.crt-
Certifikat čvora PostgreSQL. Isti se certifikat nalazi u direktorijima
/etc/patroni/i/etc/etcd/. Koriste gapatroniietcdza klijentsku komunikaciju između čvorova. client.key-
Ključ pridružen certifikatu
client.crt. peer.crt-
Isti certifikat kao
client.crt. Koristi se za internu komunikacijuetcdizmeđu čvorova. peer.key-
Isti ključ kao
client.key.
Ukupno postoje, dakle, tri stavke:
- certifikat korijenskog certifikacijskog tijela (
/etc/etcd/ca.crt,/etc/patroni/ca.crt); - certifikat čvora PostgreSQL (
/etc/etcd/client.crt,/etc/etcd/peer.crt,/etc/patroni/client.crt); - ključ pridružen certifikatu čvora PostgreSQL (
/etc/etcd/client.key,/etc/etcd/peer.key,/etc/patroni/client.key).
Provjera datuma isteka certifikata¶
Da biste provjerili datum isteka certifikata, upotrijebite naredbu u nastavku.
Varijablu za sljedeću naredbu možete prilagoditi:
| Prilagođena vrijednost | Varijabla | Komentar |
|---|---|---|
EXPIRY_CERT |
Put certifikata čiji datum isteka želite provjeriti. |
Ili ispunite polje jednim od certifikata klastera:
1 | |
Ako je datum isteka prošao, certifikat se smatra nevažećim.
Upozorenje
Ako je isteklo certifikacijsko tijelo koje je izdalo certifikat, i certifikat se smatra nevažećim. Stoga provjerite i datum isteka certifikacijskog tijela.
Primjer
Da bismo provjerili datum isteka certifikata /etc/patroni/client.crt, koristimo sljedeću naredbu:
1 | |
Rezultat je sličan sljedećem:
1 | |
Ovdje certifikat istječe 18. prosinca 2030. u 14:04:09.
Provjera alternativnih naziva subjekta (SAN) certifikata¶
Da biste provjerili nazive SAN (Subject Alternative Names) certifikata, odnosno nazive i IP adrese za koje certifikat vrijedi, upotrijebite naredbu u nastavku.
Varijablu za sljedeću naredbu možete prilagoditi:
| Prilagođena vrijednost | Varijabla | Komentar |
|---|---|---|
SAN_CERT |
Put certifikata čije nazive SAN želite provjeriti. |
Ili ispunite polje jednim od certifikata čvora:
1 | |
Ako DNS naziv ili IP adresa upotrijebljeni za povezivanje s čvorom nisu među nazivima SAN njegova certifikata, veza se smatra nevažećom. Isto tako, kada čvor otvara vezu s drugim čvorom, a certifikat koji predočava ne odgovara njegovu vlastitom DNS nazivu ili IP adresi, udaljeni čvor odbija vezu.
Primjer
Da bismo provjerili nazive SAN certifikata /etc/etcd/peer.crt, koristimo sljedeću naredbu:
1 | |
Naredba vraća rezultat sličan sljedećem:
1 2 | |
Ovdje certifikat obuhvaća DNS nazive PSQL_VIP i PSQL_2 te IP adrese 192.168.1.4 i 192.168.1.2.
Provjera koje je certifikacijsko tijelo izdalo certifikat¶
Pri generiranju certifikata može mu se dodati proširenje X509v3 Authority Key Identifier. To proširenje može pohraniti sažetak javnog ključa izdavatelja, koji odgovara sadržaju proširenja X509v3 Subject Key Identifier izdavatelja.
Informacije
Certifikati generirani prema dokumentaciji za instalaciju klastera PostgreSQL imaju proširenja Authority Key Identifier i Subject Key Identifier.
Ako su ta proširenja prisutna, možete dohvatiti sažetak javnog ključa izdavatelja certifikata, a zatim ga usporediti sa sažetkom u proširenju Subject Key Identifier certifikacijskog tijela (CA) koje je trebalo izdati certifikat kako biste potvrdili da je riječ o pravom tijelu.
Da biste dohvatili vrijednost proširenja Authority Key Identifier certifikata, upotrijebite naredbu u nastavku.
Varijablu za sljedeću naredbu možete prilagoditi:
| Prilagođena vrijednost | Varijabla | Komentar |
|---|---|---|
ISSUED_CERT |
Put certifikata čijeg izdavatelja želite provjeriti. |
Ili ispunite polje jednim od certifikata čvora:
1 | |
Informacije
Mogućnost -issuer dohvaća CN certifikata izdavatelja.
Da biste dohvatili vrijednost proširenja Subject Key Identifier certifikata, upotrijebite naredbu u nastavku.
Varijablu za sljedeću naredbu možete prilagoditi:
| Prilagođena vrijednost | Varijabla | Komentar |
|---|---|---|
ISSUER_CA |
Put certifikata certifikacijskog tijela za koje se pretpostavlja da je izdavatelj. |
Ili ispunite polje jednim od certifikata certifikacijskog tijela:
1 | |
Informacije
Mogućnost -subject dohvaća CN certifikata.
Primjer
Želimo provjeriti je li certifikacijsko tijelo (CA) koje je potpisalo certifikat u datoteci /etc/patroni/client.crt doista ono iz datoteke /etc/patroni/ca.crt.
Najprije dohvaćamo sadržaj proširenja X509v3 Authority Key Identifier certifikata /etc/patroni/client.crt sljedećom naredbom:
1 | |
Naredba vraća:
1 2 3 | |
Zatim dohvaćamo sadržaj proširenja X509v3 Subject Key Identifier certifikacijskog tijela /etc/patroni/ca.crt sljedećom naredbom:
1 | |
Naredba vraća:
1 2 3 | |
Usporedba dvaju rezultata pokazuje da su Key Identifier i CN identični: certifikat u datoteci /etc/patroni/ca.crt doista je certifikacijsko tijelo koje je potpisalo certifikat u datoteci /etc/patroni/client.crt.