Migracija CA servisa s jednog servera na drugi

Danas si baš nešto razmišljam, to nikad nisam do sad radio, a moglo bi mi zatrebati… Kako migriati Enterprise Root CA s jednog stroja na drugi? Naime, to je vrlo česta pojava, da se Ent Root CA nalazi na nekom stroju koji je već odslužio svoje i trebalo bi ga migrirati na neku drugu lokaciju.

Teoretski gledano, CA je u stvari jedna baza podataka koja sadrži informacije o certifikatima koji su izdani, povučeni ili čekaju na izdavanje. Naravno, u pozadini cijele priče se nalazi servis koji je zadužen da se certifikati izdaju kako spada, da se vodi računa o objavljivanju povučenih certifikata i slično. No, opasnost je velika, ukoliko se nešto netočno ili brzopleto napravi, da cijela infrastruktura koja ovisi o CA servisima jednostavno prestane funkcionirati, zbog recimo nedostupne lokacije CRL-a (Certificate Revocation List).

Microsoft je naravno na svojim stranicama objavio dokument koji opisuje dva moguća scenarija – migracija i upgrade. Migracija podrazumijeva fizičku zamjenu servera, doku upgrade podrazumijeva nadogradnju samog operacijskog sustava (recimo, upgrade s MS Windows Server 2003 na MS Windows Server 2008 R2). Sam dokument je dostupan na ovoj adresi.

Proces migracije, koji sam spomenuo na početku, je poprilično jednostavan, te ću ga u kratim crtama ovdje i opisati. Za početak je potrebno napraviti backup postojećeg CA. Backup je moguće napraviti na dva načina: korištenjem System State-a ili direktnim backupiranjem iz same CA konzole. Pošto se radi migracija, a System State nije nešto na čemu se može birati što će se pohraniti ili ne, tad ta opcija nije primijenjiva. Ostaje opcija samostalne pohrane iz CA konzole. Po izboru, pohranit će se sama CA baza, te će se eksportirati i odgovarajući CA cartifikat. Osim navedenog, potrebno je pohraniti i registry sekciju konfiguracije, koja se nalazi na lokaciji HKLM\SYSTEM\CurrentControlSet\Services\CertSvc. Nakon toga navedeni vodič sugerira da se deinstalira servis CA na starom serveru, no ja Vam to ne bi preporučio – ne još. Jednostavno iz Services konzole (ili na bilo koji drugi način) stopirajte CA servis kako ne bi bio aktivan, no da ga ipak po potrebi možete reaktivirati ukoliko nešto pođe po zlu. Nakon toga, na novom straju instalirajte željeni OS, te napravite instalaciju role AD Certificate Services. Pokrenut će se wizard koji će vas pratiti kroz sam proces. Wizard je isti kao da radite instalaciju novog CA (to zaista i radite), ali vodite računa da prilikom upita o korištenju novog ili postojećeg CA certifikata odabere – postojeći, gdje ćete odabrati .p12 datoteku koja je kreirana prilikom backupa CA. Nakon toga imate, de-facto stari CA, ali potrebno je još napraviti restore podataka, kako bi dobili u njemu podatke sa starog servera. Nemojte također zaboraviti importirati registry postavke, u kojima je potrebno zamijeniti FQDN-ove starog servera s novim. Moja preporuka Vam je da u svakom trenutku vodite računa i pregledavate logove, kako bi eventualne probleme mogli otkloniti za svaki korak posebno, a ne u slučaju da vam ih se nekoliko nagomila. Za kraj ostaje provjeriti AD ovlasti, te testirati da li CA radi očekivano. Po meni je tu najkritičnija provjera objave CRL-a, pošto ukoliko on nije dostupan, niti klijenti neće moći raditi provjeru povlačenja certifikata, a to bi kod pojedinih servisa moglo uzrokovati nefunkcioniranje! Također, vodite računa, ukoliko niste koristili standardne postavke objave CRL-a, da su sve lokacije na kojima su liste objavljene dostupne klijentima, te da novi CA na navedene lokacije može objavljivati nove CRL-ove.

Sve u svemu gledano, proces nije toliko zahtjevan koliko se čini, te se sve lijepo može napraviti jednu večer ili preko vikenda ;)

, , , , , ,

3 Comments

  • ratkom says:

    … a ono… virtualiziraš stoj i onda ga selimo gdje nam treba :) … ?

  • IgorP says:

    Yes… ;) ) a sta ako si recimo partner i moras koristiti najnovije serverske sustave? Ili zelis, samo tako, preci sa starijeg na noviji OS, a ne zelis raditi upgrade? :) onda ti treba ovakva procedura…

    I da, thumbs up za virtualizaciju servera koji hosta ovakve servise ;)

  • Mike says:

    Hi, current blog subscriber here. Love your blog posts. I found it via a friend’s Facebook wall posting.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>