BitLocker EFS Credentials Roaming
Hands-On-Lab
(C) 2008, Ondřej Ševeček GOPAS a.s
strana
1
Prostředí
SRV1 – Windows Server 2008 Enterprise o
Active Directory, doména podnik.local
o
uživatelské účty (Domain Users, OU=Company): kamil, ondra, jitka, tana
o
sdílený adresář \\Srv1\Users, Everyone: Full Control
o
namapovaný disk Z: s nástroji
Vista1 – Windows Vista SP1 Ultimate o
člen domény
o
všichni doménoví uživatelé jsou členy lokálních Administrators
o
disk E:, FAT32
o
disketa A:, FAT
o
namapovaný disk Z: s nástroji
o
nainstalováno RSAT
Kroky k vyzkoušení Spuštění počítačů (Microsoft Virtual PC)
Nastartovat oba virtuální počítače SRV1 a Vista1
Přihlásit se k Vista1 jako podnik\kamil, heslo Pa$$w0rd Uživatel je členem skupiny Domain Users a lokální skupiny Administrators
Přihlásit se k SRV1 jako podnik\administrator, heslo Pa$$w0rd Všechna hesla vůbec jsou přesně stejná.
Motivace k šifrování (Vista1) Pokud jsou soubory, které máte na disku nešifrovány, dá se k nim offline dostat. Někdo vám ukradně notebook, nebo jen disk. A aniž by znal vaše přihlašovací heslo, soubory si vyzvedne.
přihlásit se jako podnik\kamil
na ploše vytvořit soubor tajne.txt
do souboru vložit nějaký smysluplný text, který si zapamatujete
pravým tlačítkem na souboru – Properties
záložka Security
nastavit zabezpečení tak, že jen Kamil má Full Control, odebrat všechny ostatní
na ploše vytvořit další soubor tajne-sifrovane.txt
do souboru vložit nějaký smysluplný text, který si zapamatujete
pravým tlačítkem na soubor – Properties strana
2
záložka General
tlačítko Advanced
zapnout Encrypt contents to secure data
tlačítko Ok, tlačítko Apply, vybrat Encrypt the file only A máme dva soubory. Jeden je nešifrovaný, chráněný jen ACL. Druhý je zašifrován vaším přihlašovacím heslem (pomocí EFS).
v menu okna Virtual PC vybrat CD a připojit .ISO Instalační DVD Vista A nyní nabootujeme počítač z instalačního CD a zkusíme přistoupit na disk offline.
restartovat Vista1
při bootování stisknout klávesu pro Boot from CD…
buď držet CTRL, nebo vybrat v menu Repair your computer a Command Line
do příkazové řádky zadat C:
cd c:\users\kamil\desktop
dir
type tajne.txt
type tajne-sifrovane.txt V obou případech byste měli obdržet Access Denied. V prním kvůli ACL, v druhém kvůli šifrování. Opravíme tedy ACL a zkusíme to znovu.
icacls tajne.txt /reset
icacls tajne-sifrovane.txt /reset
type tajne.txt
type tajne-sifrovane.txt V případě souboru, který nebyl šifrován by se vám měl vypsat jeho obsah. Můžeme ještě vyzkoušet nahradit nějaký systémový soubor. Normálně bychom zřejmě nahradili něco keyloggerem, nebo keylogger zapsali do registrů. V našem případě si prostě jen umožníme spuštění CMD pod systémovým účtem.
regedit Můžete se podívat i do registrů mrtvého systému.
rozbalit HKEY_LOCAL_MACHINE
v menu File vybrat Load Hive
nahrát z disku soubor C:\Windows\System32\Config\SOFTWARE, nastavit jméno soft
prozkoumat obsah, vyrobit nějaký klíč (jen pro zajímavost), zavřít regedit Můžeme ještě vyzkoušet nahradit nějaký systémový soubor. Normálně bychom zřejmě nahradili něco keyloggerem, nebo keylogger zapsali do registrů. V našem případě si prostě jen umožníme spuštění CMD pod systémovým účtem.
cd c:\windows\system32
ren utilman.exe utilman.old
copy cmd.exe utilman.exe A už jen stačí restartovat. Po restartu si spustíte pomocníka pro usnadnění přístupu. A místo něho se vám spustí příkazová řádka, která běží pod systémovým účtem.
strana
3
restartovat Vista1
před přihlášením kliknout vlevo dole na modrou ikonku Utility Manager
měla by se spustit vaše příkazová řádka
zadat whoami /all Zjistíte, že příkazová řádka běží jako System a je členem skupiny Administrators. Tomuto problému nezabráníte jinak, než pomocí BitLocker šifrování celého disku.
Příprava pro BitLocker (Srv1) BitLocker šifrování vyžaduje hardwarovou čipovou kartu zvanou TPM. Ta je normálně přímo na motherboardu počítače a ukrývá šifrovací klíč. My nic takového nemáme, musíme tedy vypnout jeho vynucování v politice. Použijeme místo toho USB disk, nebo v našem případě disketu. Jako druhou přípravu si zapneme ukládání hesla pro obnovení. Pokud by se TPM, nebo USB disk poškodil, nemohli byste se k počítači už nikdy dostat. Necháme tedy dešifrovací heslo uložit pro jistotu i do Active Directory.
přihlásit se jako Administrator
Start – Administrative Tools – Group Policy Management
rozbalit doménu podnik.local
pravým tlačítkem Create and link Group Policy Object
zadat jméno BitLocker
pravým tlačítkem Edit
rozbalit Computer Configuration – Administrative Templates – Windows Components - BitLocker
zapnout Turn on backup to Active Directory Domain Services
zapnout Enable advanced startup options – Allow BitLocker without a compatible TPM
BitLocker a šifrování disku (pracujte na počítači Vista1) Vista přináší také veleslavnou novinku zvanou BitLocker. Šifrování celého diskového oddílu. Než se vůbec k takovému oddílu dostanete, musíte zadat heslo. Ještě dřív, než se spustí operační systém. Nejprve musíme připravit disky. Budeme šifrovat systémový oddíl. Bez jeho dešifrování nebude možné počítač nastartovat. Budeme tedy potřebovat ještě jeden oddíl, nešifrovaný. Z něho se spustí zavaděč, který dešifruje samostný oddíl systémový. Takovou operaci je možno udělat pomocí nástroje DISKPART a BCDEDIT. S Windows Ultimate Extras však dostáváme do rukou pohodlnější pomůcku.
přihlásit se jako podnik\kamil
Start – Run – gpupdate /force
Start – zadat BitLocker – vybrat BitLocker drive preparation tool
potvrdit licenční podmínky
dokončit průvodce V průzkumníkovi si můžete všimnout, že se vám objevil nový diskový oddíl. Poměrně malý. Má jen 1500 MB. Musí být schopen ukládat jen zavaděč a nějaké dočasné soubory.
strana
4
restartovat počítač
přihlašte se na uživatele podnik\kamil BitLocker používá jeden symetrický šifrovací (AES 256bit) klíč k dešifrování každého oddílu. Tento klíč chce uložit buď na čipovou kartu zvanou TPM, nebo na USB flash disku. Současně vám vždy nabídne i jeho tištěnou podobu pro případ nenadálých problémů. Bohužel nemáme USB flash disk, který bychom použili k uložení hesla. Musíme si tedy pomoci virtuální disketou.
Start – cmd – Run as administrator
zadejte cscript c:\windows\system32\manage-bde.wsf -on C: -rp -sk A:
opište si ze sekce Numerical Password hodnotu Password
restartujte počítač
opět se přihlašte
Start – Control Panel – BitLocker Drive Encryption
ověřte, že disk je ve stavu šifrování Disk se bude nějakou dobu šifrovat. Není nutné čekat až do konce. Tento proces je odolný proti náhlým restartům. Bude případně pokračovat po restartu automaticky, dokud nebude zašifrován celý disk. Pokud od tohoto okamžiku restartujete počítač, při startu to po vás bude chtít vložit váš USB klíč (v našem případě disketu). My se ovšem pokusíme simulovat jeho ztrátu. A následnou záchranu pomocí hesla, které jste si dříve zapsali.
v menu Virtual PC – Floppy
vyberte Release fdd.vhd
v menu Virtual PC – Action
vyberte Reset
na bootovací obrazovce stiskněte Enter a zadejte váš Recovery Password Systém by měl v pořádku nastartovat.
Nalezení dešifrovacího hesla v AD (Srv1) Dešifrovací heslo z minulého příkladu je také uloženo v Active Directory tak, jak jsme si to předem zapnuli.
přihlásit se jako podnik\administrator
Start – Administrative Tools – Active Directory Users and Computers
v menu View vybrat Users and Computers as Containers
rozbalit OU Company
najít a rozbalit objekt počítače Vista1
najít pod-object ve formátu 4754620A96E7} apod.
pravým tlačítkem Properties a v jeho vlastnostech záložka Attributes
najít atribut ms-FVE-RecoveryPassword a prozkoumat jeho hodnotu
2007-08-20T10:18:00-09:00{067EA1E1-280D-4233-BA01-
strana
5
Novinky v řízení EFS (Vista1) Nastavíme nejprve několik parametrů EFS, které jsou nové ve Windows Vista. Prvním je šifrování pagefile.sys. Stránkovací soubor obsahuje části paměti procesů. I když si nějaké soubory zašifrujete pomocí EFS, procesy je načítají nešifrovaně. Takže nějaká nešifrovaná data souborů se mohou objevit v pagefile.sys. To je jistě nežádoucí. Až do Windows Server 2003 bylo nutno se chránit proti této možnosti tím, že jste požadovali mazání stránkovacího souboru při vypínání počítače. To ale spotřebovávalo čas, protože systém musel celý pagefile.sys přepsat náhodnými hodnotami. Při běžné velikosti pagefile.sys okolo několika GB to citelně zpomalovalo výpínání stroje.
Start - Administrative tools - Local Security Policy
rozbalit Security Settings - Public Key Policies
pravým tlačítkem na Encrypting File System - Properties
vybrat Allow
zapnout Enable pagefile encryption
zapnout Display key backup notifications when user key is created or changed
vypnout Allow EFS to generate self-signed certificates when a certification authority is no available Tato možnost dříve citelně chyběla. Měli jste sice klientské počítače v doméně a mohli jste mít i certifikační autoritu. Pokud ale uživatel začal šifrovat soubory v době, kdy byl offline (například doma, nebo na služební cestě), vygeneroval sem u self-signed certifikát. Tomu nešlo zamezit. Jediné řešení bylo buď předem distribuovat certifikáty pomocí autoenrollmentu, nebo se spoléhat na Recovery Agenta.
změnit EFS template for automatic certificate requests na hodnotu User Další příjemnou změnou je pohodlná změna typu certifikátu, který se bude uživateli generovat. Windows XP si uměli říct pouze o Basic EFS šablonu.
záložka Cache
zapnout User locks workstation Toto nastavení nijak neovlivňuje uživatelovu práci. Jedná se jen o následující. Pokud po přihlášení otevřete poprvé šifrovaný soubor, systém si načte vaše šifrovací klíče z profilu/čipové karty do paměti. Ve Windows XP zůstavaly klíče v paměti až do odhlášení uživatele (ve Windows 2000 až do restartu). Zde je možné je nechat odstranit i dříve. Jakmile je budete zase znovu potřebovat, prostě se potichu načtou z vašeho profilu.
Uživatelské ovládání a změny EFS (Vista1) Vista nabízí několik vylepšení a změn vztahujících se k EFS šifrování souborů.
vytvořit nový textový soubor nesifrovano.txt na ploše a vložit do něj nějaký text
vytvořit druhý textový soubor test.txt na ploše a vložit do něj nějaký text
pravým tlačítkem na test.txt - Properties
záložka General
tlačítko Advanced
zapnout Encrypt contents to secure data
tlačítko Ok, tlačítko Apply, vybrat Encrypt the file only strana
6
kliknout na bublinu, nebo ikonku vpravo dole v notification area Vista si je vědoma nutnosti šifrovací klíče zálohovat. Bude vás informovat při každém přihlášení. Tedy pokud jí to explicitně nezakážete.
tlačítko Backup now
průvodce zrušit tlačítkem Cancel Později si klíč můžete zazálohovat ručně, přes vlastnosti souboru.
naploše pravým tlačítkem test.txt - Properties
tlačítko Advanced, tlačítko Details, vybrat certifikát Kamil
tlačítko Backup keys
tlačítko Next
dvakrát zadat heslo Pa$$w0rd
uložit soubor na plochu jako efs-cert
překopírovat soubor test.txt na disk E: V tomto okamžiku se vás Vista zeptá, jestli chcete soubor zkopírovat i přes to, že ztratí svoje šifrování. Jedná se o kopírování na FAT32 disk.
Start - Run - cmd
zadat cd Desktop
zadat copy test.txt E:\test2.txt
operace se nesmí zdařit s chybou The specified file cannot be encrypted Vista poměrně nepříjemně blokuje kopírování šifrovaných souborů do nešifrovatelných oblastí. Některé aplikace, jako například CMD, nebo Servant Salamander s tím mají problémy. Můžete si také příjemně vygenerovat nový šifrovací klíč pomocí panelu User Accounts. Dokonce i do čipové karty.
Start - zadat use - vybrat nahoře User accounts
vlevo kliknout Manage your file encryption certificates
tlačítko Next
vybrat Create new certificate, tlačítko Next V tomto okamžiku nemá smysl generovat nový certifikát. Jednalo se zde pouze u ukázku. Všimněte si možnosti certifikát vygenerovat na čipové kartě pro robustnější bezpečnost.
tlačítko Cancel, všechno zrušit
Zálohování EFS šifrovaných souborů (Vista1)
Start - zadat backup, nahoře vybrat Backup and Restore center
přepnout na To a harddisk, vybrat disk E:
vybrat Documents
tlačítko Next, tlačítko Save settings and start backup
po dokončení zálohování kliknout vlevo Restore files
vybrat Advanced restore
tlačítko Continue strana
7
vybrat Files from the latest backup made on this computer
tlačítko Next, tlačítko Add
vybrat Desktop Zde byste měli vidět soubor nesifrovano.txt i šifrovaný soubor obnoveny. Toto je výchozí chování backupu. Backup zálohuje šifrované soubory v jejich chráněné podobě.
Příprava pro robocopy (Srv1) Použijeme teď robocopy pro ukázku kopírování šifrovaných souborů bez dešifrování (tzv. raw). Přenesou se tak po síti zašifrovaně (to se normálně nestává). K tomu ale musíte nejprve kamilovi přidělit uživatelské právo Restore Files and Folders na síťovém serveru, aby robocopy mohlo provést požadovanou operaci. Obyčejně byste tuto operaci ponechali na Backup Operatorech, nebo administrátorech. Tady se jedná pouze o ukázku možností.
Start - Administrative tools - Domain Controller Security Policy
rozbalit Local Policies - User Rights Assignment
přidat uživatele podnik\kamil do položky Restore files and directories
Start - Run - gpupdate /force
Robocopy (Vista1) Robocopy je užitečné nejen pro zálohování, ale také k přenosu šifrovaných souborů přes síť. Soubory totiž budou šifrovány i při přenosu.
Start - Run - \\srv1\users
vytvořit složku Kamil
Start - Run - cmd
zadat
c:\windows\system32\robocopy %userprofile%\Desktop \\srv1\users\kamil test.txt /COPY:DATSO /EFSRAW Tato operace překopíruje soubor na cílový server bez toho, aby na něm generovala certifikát. Soubor na síťovém disku je od toho okamžiku nepřístupný. Pokud s ním chcete pracovat, musíte si ho stáhnout opět k sobě.
Start - Run - zadat \\srv1\users\kamil\test.txt
musí se zobrazit chybová hláška Access is denied Na serveru není k dispozici EFS certifikát pro příslušného uživatele (kamil). Tento certifikát (lépe řečeno privátní klíč) je jen v profilu uživatele na stanici, na které si ho vygeneroval.
Příprava pro Credentials Roaming (Vista1) Znáte jistě možnost uložit si uživatelská hesla v uživatelském účtu, že? Obvykle je to uloženo jen lokálně (stejně jako EFS privátní klíče). S novinkou zvanou Credentials Roaming se tyto informace ale mohou replikovat do AD a potom zase zpět do uživatelského profilu na libovolné stanici.
Start – zadat User A
spustit nalezenou položku User Accounts
vlevo kliknout na Manage My Network Passwords strana
8
přidat nějaké loginy a jejich hesla
přihlásit se na SRV1 jako Kamil
zkontrolovat v User Accounts, v položce Manage My Network Passwords, že vámi uložená hesla tam nejsou Nemáte cestovní profil ani credentials roaming, bohužel.
strana
9
Ověření Credentials Roaming na DC (Srv1) Špičkovou vlastností Vista (ale i Windows XP Service Pack 2) je, že nabízí Credentials Roaming. Tato vlastnost je obzvláště vhodná pro použití s EFS. Ale i ostatními "certifikátovými" aplikacemi. Problém je následující. Certifikáty uživatele jsou uloženy v jeho profilu. Pokud uživatel nemá profil cestovní (tedy jen místní), certifikáty a jejich dešifrovací klíče jsou dostupné jen na konkrétní stanici uživatele. To dělá problém s EFS při šifrování na síťovém disku. Bez cestovního profilu bude mít uživatel na každém síťovém serveru jiný certifikát a dešifrovací klíč. Zbytečně. Řešením je credentials roaming. Privátní klíče i certifikáty se automaticky uloží jak ve vašem profilu, tak také do vaše účtu v Active Directory.
přihlásit se jako Administrator Technologie používá nové attributy v AD schema. Prohlédneme a ověříme jejich úspěšné zavedení.
Start - Run - regsvr32 schmmgmt.dll
Start - Run - mmc
menu File - Add/Remove snap-in
tlačítko Add
přidat konzoli Active Directory Schema, vše potvrdit
rozbalit Attributes
ověřit existenci nových atributů msPKIRoamingTimeStamp, msPKIDPAPIMasterKeys, msPKIAccountCredentials V těchto atributech uživatelského účtu budou uloženy uživatelovy certifikáty i privátní klíče. Musíme ještě zajistit jejich správné zabezpečení. Tedy aby pouze sám uživatel mohl tyto hodnoty načítat a měnit.
rozbalit Classes Zkontrolujeme i výchozí security descriptor uživatelských objektů.
pravým tlačítkem na třídu User - Properties
záložka Default Security, tlačítko Advanced
najít uživatele SELF (nejlépe je, když to setřídíte podle jména)
v dialogu s permissions záložka Properties
ověřit, že je zapnuto Read Private Information a Write Private Information na Allow
Zapnutí Credentials Roaming v politice (Vista1) Stanicím se musí zapnout tato vlastnost pomocí Group Policy.
příhlásit se jako podnik\administrator
Start - Administrative tools - Group Policy Management
rozbalit Forest - Domains - podnik.local
pravým tlačítkem podnik.local - Create and link a new Group Policy Object
jako jméno zadat Credentials Roaming
pravým tlačítkem Edit na objektu Credentials Roaming strana 10
rozbalit User configuration – Windows Settings – Security Settings – Public Key Policies
vpravo hodnotu Cedential Roaming nastavit na Enabled
Start - Run - gpupdate /force
na Srv1 - Start - Run - gpupdate /force
zpět na Vista1
odhlásit se a znovu se přihlásit jako podnik\kamil
Start - Run - adsiedit.msc
rozbalit Domain - DC=podnik,DC=local - OU=Company
pravým tlačítkem CN=Kamil - Properties
zapnout Show only attributes that have values
vyhledat ony tři attributy msPKIxxx a ověřit, že mají nastavenu nějakou hodnotu To znamená, že se při přihlášení uživatele automaticky do AD přidaly všechny jeho aktuální certifikáty i s privátními klíči.
Vyzkoušení Credentials Roaming (Srv1)
Start - Administrative tools - Domain Controller Security Policy
rozbalit Local Policies - User Rights Assignment
přidat uživatele podnik\kamil do položky Allow logon locally
Start - Run - gpupdate /force
odhlásit se a přihlásit se jako podnik\kamil
Start - Run - certmgr.msc
rozbalit Personal - Certificates
zkontrolovat, že uživatelův certifikát se zde objevil Nemohl se sem dostat jinak, než pomocí Credentials Roaming.
na Vista1 - Start - Run - \\srv1\users\kamil\test.txt Tentokrát by soubor již měl být přístupný, protože klíč již na serveru existuje.
strana 11