PostgreSQL klasterio sertifikatų tikrinimas¶
Diegimo metu, atnaujinant arba tiesiog norint sužinoti, kada baigiasi PostgreSQL klasterio sertifikatų galiojimas, gali būti naudinga išnagrinėti sugeneruotų sertifikatų turinį.
PostgreSQL klasteris naudoja šiuos sertifikatus:
1 2 3 4 5 6 7 8 9 10 11 | |
ca.crt-
Šakninės sertifikavimo institucijos sertifikatas. Tas pats sertifikatas yra kataloguose
/etc/patroni/ir/etc/etcd/. client.crt-
PostgreSQL mazgo sertifikatas. Tas pats sertifikatas yra kataloguose
/etc/patroni/ir/etc/etcd/. Jįpatroniiretcdnaudoja kliento ryšiams tarp mazgų. client.key-
Raktas, susietas su sertifikatu
client.crt. peer.crt-
Tas pats sertifikatas kaip
client.crt. Jis naudojamas vidiniamsetcdryšiams tarp mazgų. peer.key-
Tas pats raktas kaip
client.key.
Taigi iš viso yra trys elementai:
- šakninės sertifikavimo institucijos sertifikatas (
/etc/etcd/ca.crt,/etc/patroni/ca.crt); - PostgreSQL mazgo sertifikatas (
/etc/etcd/client.crt,/etc/etcd/peer.crt,/etc/patroni/client.crt); - raktas, susietas su PostgreSQL mazgo sertifikatu (
/etc/etcd/client.key,/etc/etcd/peer.key,/etc/patroni/client.key).
Sertifikato galiojimo pabaigos datos tikrinimas¶
Norėdami patikrinti sertifikato galiojimo pabaigos datą, naudokite toliau pateiktą komandą.
Galite pritaikyti šios komandos kintamąjį:
| Pasirinktinė reikšmė | Kintamasis | Komentaras |
|---|---|---|
EXPIRY_CERT |
Sertifikato, kurio galiojimo pabaigos datą reikia patikrinti, kelias. |
Arba užpildykite lauką vienu iš klasterio sertifikatų:
1 | |
Jei galiojimo pabaigos data jau praėjo, sertifikatas laikomas negaliojančiu.
Perspėjimas
Jei sertifikatą išdavusios sertifikavimo institucijos galiojimas pasibaigė, sertifikatas taip pat laikomas negaliojančiu. Todėl patikrinkite ir sertifikavimo institucijos galiojimo pabaigos datą.
Pavyzdys
Norėdami patikrinti sertifikato /etc/patroni/client.crt galiojimo pabaigos datą, naudojame šią komandą:
1 | |
Išvestis panaši į šią:
1 | |
Šiuo atveju sertifikato galiojimas baigiasi 2030 m. gruodžio 18 d. 14:04:09.
Sertifikato Subject Alternative Names tikrinimas¶
Norėdami patikrinti sertifikato SAN (Subject Alternative Names), t. y. vardus ir IP adresus, kuriems jis galioja, naudokite toliau pateiktą komandą.
Galite pritaikyti šios komandos kintamąjį:
| Pasirinktinė reikšmė | Kintamasis | Komentaras |
|---|---|---|
SAN_CERT |
Sertifikato, kurio SAN reikia patikrinti, kelias. |
Arba užpildykite lauką vienu iš mazgų sertifikatų:
1 | |
Jei DNS vardo arba IP adreso, naudojamo jungiantis prie mazgo, nėra jo sertifikato SAN sąraše, ryšys laikomas negaliojančiu. Taip pat, kai mazgas užmezga ryšį su kitu mazgu, o jo pateiktas sertifikatas neatitinka jo paties DNS vardo ar IP adreso, nuotolinis mazgas ryšį atmeta.
Pavyzdys
Norėdami patikrinti sertifikato /etc/etcd/peer.crt SAN, naudojame šią komandą:
1 | |
Komanda grąžina panašų rezultatą:
1 2 | |
Šiuo atveju sertifikatas apima DNS vardus PSQL_VIP ir PSQL_2, taip pat IP adresus 192.168.1.4 ir 192.168.1.2.
Sertifikatą išdavusios sertifikavimo institucijos tikrinimas¶
Generuojant sertifikatą, į jį galima įtraukti X509v3 plėtinį Authority Key Identifier. Šiame plėtinyje gali būti saugoma jo išdavėjo viešojo rakto maišos reikšmė, atitinkanti išdavėjo X509v3 plėtinio Subject Key Identifier turinį.
Informacija
Sertifikatai, sugeneruoti pagal PostgreSQL klasterio diegimo dokumentaciją, turi plėtinius Authority Key Identifier ir Subject Key Identifier.
Jei šie plėtiniai yra, galite gauti sertifikato išdavėjo viešojo rakto maišos reikšmę ir palyginti ją su maišos reikšme, esančia CA, kuri turėjo išduoti sertifikatą, plėtinyje Subject Key Identifier, kad įsitikintumėte, jog tai tinkama CA.
Norėdami gauti sertifikato plėtinio Authority Key Identifier reikšmę, naudokite toliau pateiktą komandą.
Galite pritaikyti šios komandos kintamąjį:
| Pasirinktinė reikšmė | Kintamasis | Komentaras |
|---|---|---|
ISSUED_CERT |
Sertifikato, kurio išdavėją reikia patikrinti, kelias. |
Arba užpildykite lauką vienu iš mazgų sertifikatų:
1 | |
Informacija
Parinktis -issuer gauna išduodančiojo sertifikato CN.
Norėdami gauti sertifikato plėtinio Subject Key Identifier reikšmę, naudokite toliau pateiktą komandą.
Galite pritaikyti šios komandos kintamąjį:
| Pasirinktinė reikšmė | Kintamasis | Komentaras |
|---|---|---|
ISSUER_CA |
Sertifikavimo institucijos, kuri laikoma išdavėja, sertifikato kelias. |
Arba užpildykite lauką vienu iš sertifikavimo institucijos sertifikatų:
1 | |
Informacija
Parinktis -subject gauna sertifikato CN.
Pavyzdys
Norime patikrinti, ar CA, pasirašiusi sertifikatą faile /etc/patroni/client.crt, tikrai yra ta, kuri yra faile /etc/patroni/ca.crt.
Pirmiausia šia komanda gauname sertifikato /etc/patroni/client.crt X509v3 plėtinio Authority Key Identifier turinį:
1 | |
Ji grąžina:
1 2 3 | |
Tada šia komanda gauname CA /etc/patroni/ca.crt X509v3 plėtinio Subject Key Identifier turinį:
1 | |
Ji grąžina:
1 2 3 | |
Palyginus abi išvestis matyti, kad Key Identifier ir CN yra identiški: sertifikatas faile /etc/patroni/ca.crt tikrai yra CA, pasirašiusi sertifikatą faile /etc/patroni/client.crt.