A PostgreSQL-fürt tanúsítványainak ellenőrzése¶
A telepítés vagy egy megújítás során, illetve egyszerűen annak megállapításához, hogy mikor járnak le a PostgreSQL-fürt tanúsítványai, hasznos lehet megvizsgálni a létrehozott tanúsítványok tartalmát.
A PostgreSQL-fürt a következő tanúsítványokat használja:
1 2 3 4 5 6 7 8 9 10 11 | |
ca.crt-
A legfelső szintű hitelesítésszolgáltató tanúsítványa. Ugyanez a tanúsítvány megtalálható a következő könyvtárakban:
/etc/patroni/és/etc/etcd/. client.crt-
A PostgreSQL-csomópont tanúsítványa. Ugyanez a tanúsítvány megtalálható a következő könyvtárakban:
/etc/patroni/és/etc/etcd/. Apatroniés azetcdezt használja a csomópontok közötti ügyfélkommunikációhoz. client.key-
A
client.crttanúsítványhoz tartozó kulcs. peer.crt-
Ugyanaz a tanúsítvány, mint a
client.crt. Azetcdcsomópontok közötti belső kommunikációjához használatos. peer.key-
Ugyanaz a kulcs, mint a
client.key.
Összesen tehát három elemről van szó:
- a legfelső szintű hitelesítésszolgáltató tanúsítványa (
/etc/etcd/ca.crt,/etc/patroni/ca.crt); - a PostgreSQL-csomópont tanúsítványa (
/etc/etcd/client.crt,/etc/etcd/peer.crt,/etc/patroni/client.crt); - a PostgreSQL-csomópont tanúsítványához tartozó kulcs (
/etc/etcd/client.key,/etc/etcd/peer.key,/etc/patroni/client.key).
Tanúsítvány lejárati dátumának ellenőrzése¶
Egy tanúsítvány lejárati dátumának ellenőrzéséhez használja az alábbi parancsot.
A következő parancs változóját testre szabhatja:
| Egyéni érték | Változó | Megjegyzés |
|---|---|---|
EXPIRY_CERT |
Annak a tanúsítványnak az elérési útja, amelynek a lejárati dátumát ellenőrizni szeretné. |
Vagy töltse ki a mezőt a fürt valamelyik tanúsítványával:
1 | |
Ha a lejárati dátum elmúlt, a tanúsítvány érvénytelennek minősül.
Figyelmeztetés
Ha a tanúsítványt kibocsátó hitelesítésszolgáltató lejárt, a tanúsítvány szintén érvénytelennek minősül. Ezért a hitelesítésszolgáltató lejárati dátumát is ellenőrizze.
Példa
Az /etc/patroni/client.crt tanúsítvány lejárati dátumának ellenőrzéséhez a következő parancsot használjuk:
1 | |
A kimenet ehhez hasonló:
1 | |
Itt a tanúsítvány 2030. december 18-án 14:04:09-kor jár le.
Tanúsítvány alternatív tulajdonosneveinek (Subject Alternative Names) ellenőrzése¶
Egy tanúsítvány SAN-jainak (Subject Alternative Names), vagyis azoknak a neveknek és IP-címeknek az ellenőrzéséhez, amelyekre a tanúsítvány érvényes, használja az alábbi parancsot.
A következő parancs változóját testre szabhatja:
| Egyéni érték | Változó | Megjegyzés |
|---|---|---|
SAN_CERT |
Annak a tanúsítványnak az elérési útja, amelynek a SAN-jait ellenőrizni szeretné. |
Vagy töltse ki a mezőt valamelyik csomóponttanúsítvánnyal:
1 | |
Ha a csomóponthoz való csatlakozáshoz használt DNS-név vagy IP-cím nem szerepel a csomópont tanúsítványának SAN-jai között, a kapcsolat érvénytelennek minősül. Hasonlóképpen, ha egy csomópont kapcsolatot nyit egy másik csomóponttal, és az általa bemutatott tanúsítvány nem egyezik a saját DNS-nevével vagy IP-címével, a távoli csomópont elutasítja a kapcsolatot.
Példa
Az /etc/etcd/peer.crt tanúsítvány SAN-jainak ellenőrzéséhez a következő parancsot használjuk:
1 | |
A parancs ehhez hasonló eredményt ad vissza:
1 2 | |
Itt a tanúsítvány a PSQL_VIP és a PSQL_2 DNS-nevet, valamint a 192.168.1.4 és a 192.168.1.2 IP-címet fedi le.
Annak ellenőrzése, hogy melyik hitelesítésszolgáltató bocsátotta ki a tanúsítványt¶
Tanúsítvány létrehozásakor hozzáadható az X509v3 Authority Key Identifier bővítmény. Ez a bővítmény tárolhatja a kibocsátó nyilvános kulcsának kivonatát, amely megegyezik a kibocsátó X509v3 Subject Key Identifier bővítményének tartalmával.
Információ
A PostgreSQL-fürt telepítési dokumentációját követve létrehozott tanúsítványok rendelkeznek az Authority Key Identifier és a Subject Key Identifier bővítménnyel.
Ha ezek a bővítmények megvannak, lekérheti a tanúsítvány kibocsátója nyilvános kulcsának kivonatát, majd összehasonlíthatja azzal a kivonattal, amely a tanúsítványt feltehetően kibocsátó hitelesítésszolgáltató Subject Key Identifier bővítményében található, így meggyőződhet arról, hogy valóban a megfelelő hitelesítésszolgáltatóról van szó.
Egy tanúsítvány Authority Key Identifier bővítménye értékének lekéréséhez használja az alábbi parancsot.
A következő parancs változóját testre szabhatja:
| Egyéni érték | Változó | Megjegyzés |
|---|---|---|
ISSUED_CERT |
Annak a tanúsítványnak az elérési útja, amelynek a kibocsátóját ellenőrizni szeretné. |
Vagy töltse ki a mezőt valamelyik csomóponttanúsítvánnyal:
1 | |
Információ
Az -issuer kapcsoló a kibocsátó tanúsítvány CN-jét kéri le.
Egy tanúsítvány Subject Key Identifier bővítménye értékének lekéréséhez használja az alábbi parancsot.
A következő parancs változóját testre szabhatja:
| Egyéni érték | Változó | Megjegyzés |
|---|---|---|
ISSUER_CA |
A feltételezett kibocsátó hitelesítésszolgáltató tanúsítványának elérési útja. |
Vagy töltse ki a mezőt a hitelesítésszolgáltató valamelyik tanúsítványával:
1 | |
Információ
A -subject kapcsoló a tanúsítvány CN-jét kéri le.
Példa
Ellenőrizni szeretnénk, hogy az /etc/patroni/client.crt fájlban lévő tanúsítványt aláíró hitelesítésszolgáltató valóban az /etc/patroni/ca.crt fájlban található-e.
Először a következő paranccsal lekérjük az /etc/patroni/client.crt tanúsítvány X509v3 Authority Key Identifier bővítményének tartalmát:
1 | |
Ennek eredménye:
1 2 3 | |
Ezután a következő paranccsal lekérjük az /etc/patroni/ca.crt hitelesítésszolgáltató X509v3 Subject Key Identifier bővítményének tartalmát:
1 | |
Ennek eredménye:
1 2 3 | |
A két kimenet összehasonlítása azt mutatja, hogy a Key Identifier és a CN azonos: az /etc/patroni/ca.crt fájlban lévő tanúsítvány valóban az a hitelesítésszolgáltató, amely az /etc/patroni/client.crt fájlban lévő tanúsítványt aláírta.