Aqbeż għall-kontenut

Tiġdid taċ-ċertifikati tal-cluster PostgreSQL

Tħejjijiet

Tiġdid taċ-ċertifikat

Qabel ma twettaq kwalunkwe azzjoni fuq in-nodi tal-cluster PostgreSQL, ipprepara ċertifikati ġodda għal kull wieħed min-nodi tal-cluster. Bħala tfakkira, iċ-ċertifikati jridu jikkonformaw ma’ diversi restrizzjonijiet speċifikati fil-prerekwiżiti tal-cluster PostgreSQL.

Jekk trid tagħmel il-bidla waqt it-tħaddim mingħajr ma taffettwa l-produzzjoni, trid tissodisfa l-kundizzjonijiet li ġejjin:

  • L-awtorità taċ-ċertifikazzjoni ma ġietx imġedda mill-aħħar ġenerazzjoni taċ-ċertifikati tan-nodi PostgreSQL
  • L-awtorità taċ-ċertifikazzjoni mhux se tiskadi matul il-perjodu ta’ validità taċ-ċertifikati l-ġodda
  • Għadek tista’ tiġġenera u tiffirma ċertifikati bl-istess awtorità taċ-ċertifikazzjoni li ntużat meta ġew ġenerati ċ-ċertifikati preċedenti tan-nodi PostgreSQL
  • Iċ-ċertifikati tan-nodi PostgreSQL għadhom ma skadewx

Jekk dawn il-kundizzjonijiet ikunu sodisfatti, tista’ tikkunsidra li ġġedded iċ-ċertifikati waqt it-tħaddim mingħajr ma tinterrompi l-produzzjoni.

Biex tiġġenera mill-ġdid iċ-ċertifikati bl-użu tal-PKI openssl indikata, b’mod fakultattiv, fid-dokumentazzjoni tal-installazzjoni tal-cluster PostgreSQL, trid terġa’ tuża ċ-ċavetta tal-awtorità taċ-ċertifikazzjoni u mbagħad terġa’ tħaddem il-kmandi tal-ġenerazzjoni taċ-ċertifikati.

Jekk ma jkunx possibbli li ġġedded iċ-ċertifikati waqt it-tħaddim u qed tuża PKI permezz ta’ openssl, nirrakkomandaw li toħloq waħda ġdida.

Tħejjija taċ-ċertifikati

Ikollok tibgħat fid-direttorju /tmp/ iċ-ċertifikat tal-awtorità taċ-ċertifikazzjoni għerq b’estensjoni .crt lil kull wieħed min-nodi PostgreSQL.

Ikollok tibgħat ukoll fid-direttorju /tmp/ iċ-ċertifikat u ċ-ċavetta privata assoċjata miegħu lil kull wieħed min-nodi PostgreSQL. Jekk għandek fajl .p12 wieħed biss, ħaddem il-kmandi li ġejjin biex toħroġ iċ-ċertifikat (psql.crt) u ċ-ċavetta privata (psql.key):

1
2
openssl pkcs12 -clcerts -nokeys -out psql.crt -in P12_CERT
openssl pkcs12 -nocerts -out psql.key -in P12_CERT

Fil-kmandi preċedenti, ibdel P12_CERT bl-isem tal-fajl taċ-ċertifikat .p12 tiegħek.

Tiġdid taċ-ċertifikat

Twissija!

Jekk tista’ u trid twettaq aġġornament taċ-ċertifikati waqt it-tħaddim b’waqfien minimu tal-produzzjoni (minuta + skonnettjar tal-utenti), ikollok:

  • Tġedded iċ-ċertifikati fuq kull nodu, wieħed wara l-ieħor
  • Tġedded iċ-ċertifikati fuq nodu REPLICA biss (ara kif tikseb l-informazzjoni dwar in-nodu LEADER)
  • Iżżomm dejjem mill-inqas żewġ nodi PostgreSQL operattivi u taħdem fuq it-tielet wieħed
  • Biex taħdem fuq in-nodu LEADER, taqleb ir-rwol LEADER għal nodu ieħor; din l-azzjoni twassal biex l-utenti jiġu skonnettjati u l-pjattaforma ma tkunx disponibbli għal madwar minuta

Biex tissimplifika l-azzjonijiet li ġejjin, ippersonalizza l-varjabbli fil-kmandi ta’ hawn taħt bil-valuri tiegħek (immodifika l-personalizzazzjoni għal kull nodu PostgreSQL):

Valur Varjabbli Definizzjoni
PSQL_CERT Ċertifikat ġdid tan-nodu PostgreSQL.
PSQL_KEY Ċavetta assoċjata maċ-ċertifikat il-ġdid tan-nodu PostgreSQL.
PSQL_CA Ċertifikat tal-awtorità taċ-ċertifikazzjoni għerq li ntużat biex jiġi ġġenerat iċ-ċertifikat tan-nodu PostgreSQL.

Ikkonnettja permezz ta’ SSH bħala root man-nodu PostgreSQL li trid taġġorna ċ-ċertifikati tiegħu u ħaddem il-kmandi li ġejjin biex tissostitwixxi ċ-ċertifikati:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
cp /tmp/PSQL_CERT /etc/etcd/peer.crt
cp /tmp/PSQL_CERT /etc/etcd/client.crt
cp /tmp/PSQL_CERT /etc/patroni/client.crt
cp /tmp/PSQL_KEY /etc/etcd/peer.key
cp /tmp/PSQL_KEY /etc/etcd/client.key
cp /tmp/PSQL_KEY /etc/patroni/client.key
cp /tmp/PSQL_CA /etc/etcd/ca.crt
cp /tmp/PSQL_CA /etc/patroni/ca.crt
cp /tmp/PSQL_CA /usr/local/share/ca-certificates/PSQL-CA-`date +%G-%m-%d`.crt
update-ca-certificates

Biex tlesti l-bidla taċ-ċertifikati, trid terġa’ tibda n-nodu PostgreSQL:

1
reboot