PostgreSQL-klusterin sertifikaattien tarkistaminen¶
Asennuksen tai uusimisen aikana tai yksinkertaisesti PostgreSQL-klusterin sertifikaattien vanhenemisajankohdan selvittämiseksi voi olla hyödyllistä tarkastella luotujen sertifikaattien sisältöä.
PostgreSQL-klusterin käyttämät sertifikaatit ovat seuraavat:
1 2 3 4 5 6 7 8 9 10 11 | |
ca.crt-
Juurivarmentajan sertifikaatti. Sama sertifikaatti on hakemistoissa
/etc/patroni/ja/etc/etcd/. client.crt-
PostgreSQL-solmun sertifikaatti. Sama sertifikaatti on hakemistoissa
/etc/patroni/ja/etc/etcd/.patronijaetcdkäyttävät sitä solmujen väliseen asiakasviestintään. client.key-
Sertifikaattiin
client.crtliittyvä avain. peer.crt-
Sama sertifikaatti kuin
client.crt. Sitä käytetään solmujen väliseen sisäiseenetcd-viestintään. peer.key-
Sama avain kuin
client.key.
Kohteita on siis kaikkiaan kolme:
- juurivarmentajan sertifikaatti (
/etc/etcd/ca.crt,/etc/patroni/ca.crt); - PostgreSQL-solmun sertifikaatti (
/etc/etcd/client.crt,/etc/etcd/peer.crt,/etc/patroni/client.crt); - PostgreSQL-solmun sertifikaattiin liittyvä avain (
/etc/etcd/client.key,/etc/etcd/peer.key,/etc/patroni/client.key).
Sertifikaatin vanhenemispäivän tarkistaminen¶
Kun haluat tarkistaa sertifikaatin vanhenemispäivän, käytä alla olevaa komentoa.
Voit muokata seuraavan komennon muuttujaa:
| Muokattu arvo | Muuttuja | Kommentti |
|---|---|---|
EXPIRY_CERT |
Sen sertifikaatin polku, jonka vanhenemispäivä tarkistetaan. |
Tai täytä kenttä jollakin klusterin sertifikaateista:
1 | |
Jos vanhenemispäivä on ohitettu, sertifikaattia pidetään kelvottomana.
Varoitus
Jos sertifikaatin myöntänyt varmentaja on vanhentunut, myös sertifikaattia pidetään kelvottomana. Tarkista siksi myös varmentajan vanhenemispäivä.
Esimerkki
Sertifikaatin /etc/patroni/client.crt vanhenemispäivän tarkistamiseen käytämme seuraavaa komentoa:
1 | |
Tuloste näyttää suunnilleen tältä:
1 | |
Tässä sertifikaatti vanhenee 18. joulukuuta 2030 klo 14:04:09.
Sertifikaatin vaihtoehtoisten nimien (Subject Alternative Names) tarkistaminen¶
Kun haluat tarkistaa sertifikaatin SAN-nimet (Subject Alternative Names) eli ne nimet ja IP-osoitteet, joille se on voimassa, käytä alla olevaa komentoa.
Voit muokata seuraavan komennon muuttujaa:
| Muokattu arvo | Muuttuja | Kommentti |
|---|---|---|
SAN_CERT |
Sen sertifikaatin polku, jonka SAN-nimet tarkistetaan. |
Tai täytä kenttä jollakin solmun sertifikaateista:
1 | |
Jos solmuun yhdistämiseen käytetty DNS-nimi tai IP-osoite ei ole sen sertifikaatin SAN-nimissä, yhteyttä pidetään kelvottomana. Vastaavasti kun solmu avaa yhteyden toiseen solmuun eikä sen esittämä sertifikaatti vastaa sen omaa DNS-nimeä tai IP-osoitetta, etäsolmu hylkää yhteyden.
Esimerkki
Sertifikaatin /etc/etcd/peer.crt SAN-nimien tarkistamiseen käytämme seuraavaa komentoa:
1 | |
Komento palauttaa suunnilleen seuraavanlaisen tuloksen:
1 2 | |
Tässä sertifikaatti kattaa DNS-nimet PSQL_VIP ja PSQL_2 sekä IP-osoitteet 192.168.1.4 ja 192.168.1.2.
Sertifikaatin myöntäneen varmentajan tarkistaminen¶
Sertifikaattia luotaessa siihen voidaan lisätä X509v3-laajennus Authority Key Identifier. Tähän laajennukseen voidaan tallentaa sertifikaatin myöntäjän julkisen avaimen tiiviste, joka vastaa myöntäjän X509v3-laajennuksen Subject Key Identifier sisältöä.
Info
Sertifikaateissa, jotka on luotu PostgreSQL-klusterin asennusohjeiden mukaisesti, on laajennukset Authority Key Identifier ja Subject Key Identifier.
Jos nämä laajennukset ovat olemassa, voit hakea sertifikaatin myöntäjän julkisen avaimen tiivisteen ja verrata sitä sen varmentajan (CA), jonka oletetaan myöntäneen sertifikaatin, laajennuksen Subject Key Identifier tiivisteeseen varmistaaksesi, että se on oikea.
Kun haluat hakea sertifikaatin Authority Key Identifier -laajennuksen arvon, käytä alla olevaa komentoa.
Voit muokata seuraavan komennon muuttujaa:
| Muokattu arvo | Muuttuja | Kommentti |
|---|---|---|
ISSUED_CERT |
Sen sertifikaatin polku, jonka myöntäjä tarkistetaan. |
Tai täytä kenttä jollakin solmun sertifikaateista:
1 | |
Info
Valitsin -issuer hakee myöntäjäsertifikaatin CN:n.
Kun haluat hakea sertifikaatin Subject Key Identifier -laajennuksen arvon, käytä alla olevaa komentoa.
Voit muokata seuraavan komennon muuttujaa:
| Muokattu arvo | Muuttuja | Kommentti |
|---|---|---|
ISSUER_CA |
Sen varmentajan sertifikaatin polku, jonka oletetaan olevan myöntäjä. |
Tai täytä kenttä jollakin varmentajan sertifikaateista:
1 | |
Info
Valitsin -subject hakee sertifikaatin CN:n.
Esimerkki
Haluamme tarkistaa, että tiedostossa /etc/patroni/client.crt olevan sertifikaatin allekirjoittanut varmentaja on todella tiedostossa /etc/patroni/ca.crt oleva varmentaja.
Haemme ensin sertifikaatin /etc/patroni/client.crt X509v3-laajennuksen Authority Key Identifier sisällön seuraavalla komennolla:
1 | |
Komento palauttaa:
1 2 3 | |
Haemme sitten varmentajan /etc/patroni/ca.crt X509v3-laajennuksen Subject Key Identifier sisällön seuraavalla komennolla:
1 | |
Komento palauttaa:
1 2 3 | |
Kahden tulosteen vertailu osoittaa, että Key Identifier ja CN ovat samat: tiedostossa /etc/patroni/ca.crt oleva sertifikaatti on todella se varmentaja, joka allekirjoitti tiedostossa /etc/patroni/client.crt olevan sertifikaatin.