Obnova certifikační autority ze zálohy systemstate
Byl jednou jeden AD řadič W2003 Server Standard R2 CZ x86. Ten sloužil jako AD, GC, DNS, DHCP, DFRS, TS licensing server a enterprise CA. Základní deska tohoto řadiče se odebrala do věčných lovišť a teprve poté se ukázalo, že jediným dědictvím je 5 dní starý systemstate backup.
V síti byl naštěstí ještě druhý AD řadič, který byl taktéž GC, DNS a DFRS. Vcelku snadno se tak rozjelo nové DHCP a vytvořil nový TS licensing server. Horší to však bylo s enterprise CA, která vydávala certifikáty nejen interním uživatelům, ale též interním zařízením (web serverům) v několika zemích. A tím začala mission imposible.
Ačkoliv to MS oficiálně nepodporuje, pokusil jsem se obnovit zálohu systemstate na zcela odlišný hardware, konkrétně na virtuální stroj ve Vmware Server 2.0. Nastudoval jsem si raději předem, jak se vyvarovat zcela jistých BSOD při pokusu o obnovu. Předejít jim lze dodržením těchto bodů:
- nový HW musí mít stejnou HAL, tj. buď uni nebo multiprocesor
- boot.ini musí být shodné u nového i starého serveru (když tam byl jen disk C:, tak je vyhráno)
- musí odpovídat technologie bootovacího zařízení (tj. buď SCSI/SAS nebo ATA/SATA)
- musí odpovídat OS, edice, jazyk, bitová platforma, service pack a v ideálním případě i hotfixy
Restore proběhl do virtuálního stroje nesoucího shodné jméno s tím pochovaným, nicméně byl pouze v pracovní skupině. Po restartu se znovu nalezla všechna zařízení virtuálního stroje (především síťová karta). Již po prvním startu jsem se mohl přihlásit do domény. Systém není zcela zdravý, některé služby po startu havarují, ale to v tuto chvíli není vůbec podstatné. Cílem je zjistit, zdali se ze systemstate obnovila i certifikační autorita, tu poté zazálohovat a přenést na nový, korektně nainstalovaný finální fyzický počítač.
K mému překvapení se konzole certifikační autority otevřela. Mohl jsem provést export certifikátu a privátního klíče CA, stejně tak provést export vydaných/odvolaných certifikátů. Zbývalo provést už jen restore takto získaných dat na fyzickém novém stroji – a ejhle, v tom je krapet zádrhelů.
Základní podmínkou úspěšného dokončení obnovy je dodržení všech kroků v MSKB 298138 How to move a certification authority to another server. Jelikož jsem si několikrát nabil ústa, sepisuji si zde základní kroky:
- adresář se zálohou z původního serveru musí být i na novém serveru umístěn na zcela stejném místě. Když jsem na původním serveru vytvořil C:\ca_backup\ a na novém to umístil do D:\ca_backup\, mohl jsem se vztekat, jak jsem chtěl, obnova nefungovala.
- kromě zálohy CA je bezpodmínečně nutné vyexportovat i část registrů původního stroje – naštěstí je i ta obnovena ze systemstate. Konkrétně jde o export větve HKLM\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration
- na novém serveru musí být CA nainstalována s volbou specifických uživatelských nastavení, následovaných importem PFX souboru, jenž je součástí zálohy původní CA.
Výsledkem těchto kroků je plná obnova CA.
- poté se na novém serveru musí zastavit služba CA, následně se musí naimportovat ta větev registrů z kroku 2
- služba CA se ještě nesmí nastartovat, místo toho se pustí konzole CA a zvolí Obnova CA a databáze certifikátů. Přitom se průvodce musí nasměrovat na C:\ca_backup\ z kroku 1. Při obnově je nutné zvolit znovu certifikát CA a pak konečně i databázi vydaných certifikátů.