Chapter 6 레지스터리이해와활용 레지스터리에는매우중요한정보와자료가있으며, 시스템부팅과정을도와주는 역할및운영에필요한수많은정보를담고있다. 시스템다운의해결방법중레 지스터리를이용하는것역시자주사용되는것중의하나이다.
126 Disaster Recovery and Restore 6. 레지스터리이해와활용 1. 레지스터리개요 윈도우운영체제에서레지스터리는매우중요한시스템데이터베이스파일로, 시스템부팅과서비스, 응용프로그램의설정등, 시스템운영에필수적인내용들이삽입되어있다. 윈도우 2000에서도시스템부팅과동시에레지스터리데이터가읽히며, 장치제어기와서비스등의정보는레지스터리에보관된다. 레지스터리는시스템시작의방법과파일정보구성 ( 연결정보 ) 등이삽입되어있으며레지스터리의손상은시스템부팅을불가능하게할수도있다. 따라서, 레지스터리는다음과같은역할을하고있는것으로요약된다. 운영체제동작의핵심적인역할 중앙데이터저장소역할 부팅과정부터로그인, 응용프로그램과서비스사용등컴퓨터의동작거의대부분의작업과연관된다. 시스템관리자는레지스터리수정작업으로시스템과관계된설정을종종변경한다. 그러나이러한변경은시스템의문제를야기할수있으며, 혹시문제가야기된다면원래대로복구하는것이쉽지않다. 레지스터리의복원작업은서드파티프로그램을통한모니터와복구도구들 (Resplendent Registrar 툴참조 ) 을사용하는것으로주로이루어지며, 윈도우 2000에서는복구방법으로안전모드의 마지막으로성공한구성작업 등으로문제를해결하려하고있다. 모든복구작업을통해항상만족할만한복구를수행할수는없으며, 안전모드에 마지막으로성공한구성 으로복원하려고한다면복원시점을잘알아두어야한다. 2장에부팅진행과정과 4장의안전모드를
6 장. 레지스터리에대한이해와활용 127 참조하면도움을얻을수있다. 윈도우 2000은일부중요한레지스터리접근에대해로컬보안정책도구를사용하여접근하도록유도하며, 사용자가컴퓨터의정보를보다쉽게수정할수있도록도움을제공하는것이다. 이정책작업들을수정하면곧바로레지스터리값과연결된다. 따라서, 정책을편집한것을다시원상태로복구하기위해서도마지막으로성공한구성메뉴를사용할수있다. 레지스터리모니터에등에대한추가서드파티도구들이존재하며, Active Registry Monitor(ARM), Resplendent Registrar 등이현재잘사용되고있는제품이다. 한번쯤사용해보면좋을것이다. Resplendent Registrar 사용방법소개 : 현재사용하고있는레지스터리에디터툴의단점을보완했으며수정후문제가있다면모니터링이나복구 (Undo) 를통해서복원작업이바로진행이되고, 반복되는작업을한번에수행할수있도록메뉴가제공된다. 단이제품은상용제품이라무료로사용할수는없다. 책의뒷부분에서이툴을통한복원작업을설명하도록하겠다. Regedit.exe - 기존윈도우 95/98 에서도같이사용할수있었던기능으로보안설정이나권한의일부작업을수행할수없다. 검색기능만을놓고보았을때는, Regedt32.exe 보다는좋은기능을가지고있다. 내보내기기능등을통해서병합기술활용함, 확장자 *.reg Regedt32.exe - 32비트응용프로그램에서사용을할수있으며레지스터리키별사용권한을편집할수있도록되어있다. ( 위치폴더 : %systemroot%\system32) 하이브로드기능이포함되어있으며키저장으로레지스터리값을저장함. 바이너리파일로구성참고자료 : 윈도우 2000 서드파트소개난 http://www.ntfaq.co.kr/notice/content.asp?tname=w2k_tool_view&pid=2 그림 6-1 에는 Regedt32 에서만볼수있는기능을나타내었으며, 이편집기를사용 하면권한을편집할수있다. 또한, 이권한작업을편집하기위해서는관리자권한으 로레지스터리를사용하여야한다. Regedt32 을사용하지않는다면이화면은나타나
128 Disaster Recovery and Restore 지않을것이며, SAM 파일과연결된것을볼수있을것이다. 아래그림 6-2는실제사용자리스트정보까지나타나있는것을볼수있다. SAM은보편적으로파일연결정보만제공된다고알려져있지만, 더욱자세한내용을이도구로확인할수있다. 또한이기능을응용하면관리자비밀번호의변경까지가능하다. [ 그림 6-1] Regedt32 의보안메뉴에서권한편집메뉴 [ 그림 6-2] Regedt32 에서사용자목록출력 그림 6-2 에서사용자이름을변경하면정말해당사용자명이변경된 다. 그러나, 이변경사항을적용하기위해서는시스템재시작이필요 하다. 따라서, 단순히 SAM 과연결만된것이아니라 SAM 을레지스터
6 장. 레지스터리에대한이해와활용 129 리를사용하여편집할수도있다. 자세한사항은 SAM 에대한자료를 MS 기술문서를참고하기를바란다. 아래부분은윈도우 2000 도움말에서발췌한레지스터리에대한이야기이며한번쯤 읽어보기를바란다. 레지스터리편집기는컴퓨터실행방법에대한정보를포함하고있는시스템레지스터리설정변경에사용하는고급도구입니다. Windows 2000은트리형식으로구성된데이터베이스 ( 레지스터리 ) 에구성정보를저장합니다. 레지스터리편집기를사용하여레지스터리를수정할수있지만대개는그렇게할필요가없습니다. 잘못변경하게되면시스템이손상될수있습니다. 레지스터리편집과복원에대해잘알고있는고급사용자는중복항목을제거하거나이전에제거되거나삭제된프로그램항목을삭제하는등의작업에레지스터리편집기를사용할수있습니다. 레지스터리는시스템을올바로이해하고있는고급사용자에한해서직접편집하는것 을권한다. 레지스터리는매우중요한기능을하고있는데이터베이스이기때문에순 간의잘못으로시스템이다시부팅되지않는사태가벌어질수있다. [ 그림 6-3] Regedt32 편집기
130 Disaster Recovery and Restore [ 그림 6-4] Regedit 편집기 여기까지레지스터리도구및기본개념에대해서설명하였으며, 앞으로는레지스터리 의구조와세부적인기능을설명하도록하겠다. 또한레지스터리복원부분에대해서 좀더많은할애를할것이다. 2. 레지스터리구조 레지스터리는여러디렉터리구조로구성되어있다는것을볼수있으며그디렉터리를모두이해하는것은결코쉽지는않을것이다. 하지만실제적용되고있는응용프로그램및서비스등과관계된부분은그렇게많지않으므로, 조금씩이해를해나가면된다. 필자도역시책으로도움을얻기보다는수많은시스템을망가뜨리며지식을획득했던것으로생각된다. 독자들도최소한한대의데모시스템을준비하는것이좋다. 아래디렉터리구조는위그림 6-4에서나타낸것과동일한내용을간단하게설명을덧붙여보았다. HKEY_CLASSES_ROOT 파일연관성과 COM 개최등록정보 HKEY_CURRENT_USER 최근에로그온한사용자와관련된데이터를저장 HKEY_LOCAL_MACHINE 시스템과관련된정보저장 HKEY_USERS - 컴퓨터에있는모든계정에관한정보저장 HKEY_CURRENT_CONFIG 현재하드웨어프로파일에관련된일부정보를저장 이키들은하나의파일에모두저장된것이아니라, 몇개의파일에분산되어저장되 어있고, 레지스터리가읽히면서하나의데이터베이스처럼사용하는것이다.
6 장. 레지스터리에대한이해와활용 131 레지스터리가존재하는폴더 %systemroot%\system32\config 현재운영중인파일 %systemroot%\repair 초기설치시제공한값 %systemroot%\repair\regback 응급복구디스크로백업한레지스터리백업본이위치하는곳현재운영되고있는파일은모두잠금상태라복사하거나지울수없으며, 백업된내용에만접근할수있다. 만일, 현재운영되는파일을 이제부터는레지스터리디렉터리구조및레지스터리와연결된파일 ( 하이브파일 ) 에 대한정보를알아보도록하겠다. 레지스터리파일의위치 : %systemroot%\system32\config HKEY_CLASSES_ROOT HKEY_CURRENT_USER 지역적으로로그온한사용자의소프트웨어조작과사용자구성과관련된데이터를포함 HKEY_USERS\<security ID of username> \Documents and Settings\<username>\Ntuser.dat HKEY_LOCAL_MACHINE 특정컴퓨터와관련해시스템전체에적용되는설정데이터, 부팅조차할수없는문제가발생했을때사용하는하드웨어구성데이터포함, 컴퓨터의네트워크연결설정, 보안설정, 장치드라이버설정 HKEY_USERS 로컬컴퓨터를이용하는사람의모든프로필과사용환경설정내용을가지고있다. 시스템정책편집기를통해서어느정도제어를할수있다. 1 HKEY_USERS\UserProfile Profile 처음부터만들어지는 administrator 계정사용자가로그온할때, 사용자프로필과사용자클래스등록데이터베이스의하위키포함 2 HKEY_USERS\.DEFAULT 프로필이들어있지않은사용자가로그온할때적용 HKEY_CURRENT_CONFIG.- 현재컴퓨터를구성하고있는하드웨어관련데이터로서부팅할때현재하드웨어설정을반영하는프로필이어떤것인지선택가능한곳
132 Disaster Recovery and Restore 레지스터리디렉터리위치 HKEY_LOCAL_MACHINE\SYSTEM HKEY_LOCAL_MACHINE\SAM HKEY_LOCAL_MACHINE\SECURITY HKEY_LOCAL_MACHINE\SOFTWARE HKEY_LOCAL_MACHINE\HARDWARE HKEY_LOCAL_MACHINE\SYSTEM\Clone HKEY_USERS\<security ID of username> 윈도우파일위치 \winnt\system32\config\system \winnt\system32\config\sam \winnt\system32\config\security \winnt\system32\config\software Volatile hive Volatile hive \Documents and Settings\<username> \Ntuser.dat HKEY_USERS \<security ID of username>_classes \Documents and Settings\<username> \Local Settings\Apllication Data \Microsoft\Windows\Usrclass.dat UserProfile Profile; HKEY_USERS\.DEFAULT usually under \winnt\profiles\usere \winnt\system32\config\default [ 표 6-1] 각레지스터리의세부적인내용 그외다른사용자영역과시스템영역에대해서살펴보자 일반적으로윈도우 95/98/NT/2000 은모두사용자영역과시스템영역으로나누어레지스터리를저장한다. 사용자영역파일은 NTUSER.DAT 그리고, 윈도우 9x는 user.dat 이며시스템 / 컴퓨터영역파일은 SYSTEM.DAT 파일이다. 사용자영역파일에는해당사용자가어떤화면, 색상, 배경등을지정했는지또는 MY Documents 폴더는어디에위치되었는지기록한다. NTUSER.DAT.Log 는저장후로그파일이라고생각하면된다. 시스템영역은하드웨어와관계된것이라고생각하면된다. NTUSER.DAT 폴더의위치는 Documents and Settings\All Users\NTUSER.DAT 로지정된다. HKEY_CURRENT_USER 의세부내용을알아보도록하자. " 레지스터리의 HKEY_CURRENT_USER 서브트리는현재로그온되어있는사용자에대한영구적인정보를담고있다. 이정보는주로다양한어플리케이션에대한구성설정과약간의시스템설정들을포함한
6 장. 레지스터리에대한이해와활용 133 다. 그러므로여러분이이가상서브트리를보기위해레지스터리에디터를사용할때, 설치된응용프로그램들의리스트목록을보게될것이다. 이러한이유때문에, HKEY_CURRENT_USER 는다른레지스터리서브트리들만큼흥미롭지않게보일지도모른다. 그러나, 응용프로그램은사용자인터페이스보다훨씬더많은내용들을레지스터리에저장하며, 이서브트리를연구하면매우유용한정보를얻을수있다. 만약응용프로그램의레지스터리세팅들에대해어느정도지식이있다면, 응용프로그램의사용자인터페이스로설정할수없는기능들을활용할수있다. 즉, 쉽게말하면 HKEY_CURRENT_USER 서브트리를필요에따라조작하여, 응용프로그램의모양과세부적인동작을사용자나름대로변형할수있다. 3. 레지스터리백업 일반적으로레지스터리백업은파일을직접백업하는방법과백업프로그램으로백업하는두가지로이루어진다. 일단시스템상태데이터백업에관한지식이필요하며먼저상태데이터백업에대해서언급하도록하겠다. 시스템상태데이터백업시백업되는것들 레지스터리정보 (%systemroot%\system32\config\ 파일들 ) 시스템부트파일 COM+ Class Registration 데이터베이스 ( 재설치를해야할경우서버를복구하는데필요한시스템구성정보 ) Certificate Services 데이터베이스 도메인컨트롤러에서는액티브디렉터리정보와 SYSVOL 디렉터리복사본을포함 필자가경험으로는응용프로그램서비스백업중에 IIS 메타베이스설정정보가포함되어서백업이되었으며, 그럴경우는실제메타베이스파일을가지고복원작업이가능할수있다는이야기다. 메타베이스에대해서는 9장 IIS 백업및복원을참조해보시길바란다. 그외백업은직접체험을해보기를바란다.
134 Disaster Recovery and Restore 수동으로백업 레지스터리를수동으로백업하는것은그냥복사하는것과동일하다. 응급복구디스크를통해서작업할수있으며, 또한리소스킷에서제공하는툴 (Regback.exe) 을통해서도가능하다. 여기서는응급복구디스크를통해서백업하는방법을소개하겠다. [ 그림 6-5] 백업프로그램의실행 그림에서나타난 응급복구디스크 아이콘아래내용은윈도우가손상된경우윈도우를다시시작하고복구하기위해응급복구디스크를만들도록권장하고있다. 실제로응급복구디스크는이말이상의효용성을지닌다. 윈도우 NT 4.0은레지스터리용량이윈도우 2000과는비교도되지않을만큼작았으므로, 레지스터리를디스크에백업하여사용하였지만, 윈도우 2000에서는디스크하나에레지스터리전체가들어갈수없다. 또한, 사용자정보등이응급복구디스크로유출되지않도록하드디스크에저장하는방식을사용한다. 저장폴더는 %systemroot%\repair\regback 이며, 활용방안은 7장백업과복원 을참고하기바란다. 파일 NTLDR Boot.ini Bootsect.dos ( 멀티부팅일때만 ) Ntdetect.com Ntbootdd.sys (SCSI 일경우만 ) 위치 (Location) Active Partition (c:\) Active Partition (c:\) Active Partition (c:\) Active Partition (c:\) Active Partition (c:\)
6 장. 레지스터리에대한이해와활용 135 Ntoskrnl.exe Hal.dll SYSTEM key 장치드라이버들 (Device drivers) %systemroot%\system32 %systemroot%\system32 %systemroot%\system32\config %systemroot%\system32\drivers [ 표 6-2] 시스템부팅에필요한파일들정리 [ 그림 6-6] 작업하기전 Repair 디렉터리내용 [ 그림 6-7] 작업하기후 Repair 디렉터리내용 응급복구디스크를제작하지않거나, 제작하였다고할지라도레지스터리백업폴더에
136 Disaster Recovery and Restore 백업을하지않으면 Regback 폴더가나타나지않을것이다. Repair라는폴더는초기설치작업이끝나면나타나게되며, 초기레지스터리파일과초기설치값을기준으로한 Setuo.log 파일등을가지고있는폴더이다. 응급복구디스크를설명하면서한번언급하였지만, 응급복구디스크가없이윈도우 2000 CD 로만복원이이루어진다면 Repair 폴더의내용으로복원이이루어진다. 백업이되었다면, Regback 폴더의내용으로백업된다. 따라서레지스터리백업이이루어지지않았다며그림 6-6 과같은화면을볼수있으 며백업이이루어졌다면그림 6-7 과같은화면을볼수있을것이다. 레지스터리를 수동으로백업하는것은 Regback 폴더내의내용과연관되어있다. Setup.log 파일은언제를기준으로설치된다. 보통많은서적은서비스팩이업그레이드되면이파일역시새로형성된다고나타나있지만, 필자가테스트해본결과이날짜가초기설치날짜와동일한것으로나타나있었다. 혹시 %systemroot%\repair\regback 이라는폴더가형성되지않았다면응급복구디스크작업중일부를빠뜨린것이다. 그림 6-8과같은메시지가나타났을때체크박스에체크를한뒤재작업을할것을권한다. 이체크박스는레지스터리파일백업의사를물어보는것으로추후복구시복원을할수있는방법이다. 응급복구디스크에레지스터리백업에대한내용은직접실습하여익힐것을권한다. [ 그림 6-8] 응급복구디스크실행시레지스터리백업파일을체크여부 이작업을실행하게되면 Regback 라는폴더가생성된다. 이폴더에레지스터리가백 업되며, 또한, 전체백업은아니지만부분적으로백업작업을진행할수있는데
6 장. 레지스터리에대한이해와활용 137 Regedit/Regedt32 을통해서내보내기또는가져오기를통해서작업이가능하다. 리소스킷의 Regback.exe 프로그램을사용한백업역시가능하다. Regback 에있는백업된것의복원방법은수동으로원래에폴더에복사를해줄수있으며 ( 복구콘솔로가능 ) 또는응급복구디스크작업을통해서복원을할수있다. Regedit/Regedt32 에디터작업은가져오기역할등으로복원작업을할수있다. Regedit/Regedt32 내보내기가져오기방식이약간에차이가있다. 일반적으로 Regedit 는내보내기방식으로확장자 *.reg 파일을가지며바로해당파일로작업이이루어질수있다. Regedt32 는키저장이라는것을통해서내보내기역할을할수있고키복원이라는것으로통해서가져오기기능을수행할수있다. 4. 레지스터리병합기술 마이크로소프트계열에서레지스터리를마음대로다루는것은일종의금기사항이다. 무엇을수정하면곧잘못되어시스템이다시시작되지않을것같은뉘앙스를풍기고있기때문이다. 물론, 레지스터리를수정하는것과백업판으로복원하는것은때로는큰위험부담이존재하는일이다. 일반적인레지스터리의병합기술작업은 Regedit 로만작업해야만한다. 레지스터리병합은내보내기와가져오기를통해서작업이가능하며그러한작업을그림과자료를통해서하나씩설명하도록하겠다. 명령프롬프트를원하는위치에서탐색기에서실행하기 이작업은윈도우 2000 을사용하게되면많은도스명령어를사용하게되는데자주긴 디렉터리를찾아가기가곤란할때쉽게탐색기에서바로접근할수있는방법이다.
138 Disaster Recovery and Restore [ 그림 6-9] 탐색기에서도스프롬프트로바로가기 그림 6-9은명령프롬프트를레지스터리에서수정하면화면이새롭게변경된다. ( 도스프롬프트라고나타난다 ) 이러한설정의일부분을내보낸뒤다른사용자가해당설정값을받아들여사용할수있도록처리할수있다. 아래그림 6-10에서는작업한값을그대로내보내기를통해서다른사용자에게보낼수도있고저장후추후사용하도록할수도있다. 이러한방법을통해서백업효과도같이가질수있는데, 이내용은 8장 DNS 백업및복원 에서도많은부분이다루어진다. [ 그림 6-10] 레지스터리에서 opennew 내보내기화면
6 장. 레지스터리에대한이해와활용 139 레지스터리에서위그림 6-10처럼내보내기를하게될경우는확장자가 *.reg로되는데이파일을탐색기에서더블클릭해서바로적용이된다. 적용이되면시스템에바로영향이올수도있기때문에아주위험한경우까지초래가되는점주의하기를바란다 [ 그림 6-11] 실제작업내용을메모장으로불러온화면 자동로그온설정하기 ( 부팅시패스워드자동삽입 ) 이작업은실제서버보다는워크스테이션으로동작하는시스템에서많이볼수있다. 일반적으로윈도우 2000 프로페셔널버전은기본적으로이기능이제공되나서버버전부터는이부분에대해서는레지스터리수정을해야만한다. 여기서든예제에서사용된비밀번호를제외하고는동일한방법을통해독자들의시스템의레지스터리도변경하면된다. 잘못작업하게되면시스템에문제가생길수있으므로주의하기바라며, 이텍스트파일을원하는이들에게전송해주면유용하게사용될수도있다. [ 그림 6-12] 자동로그온설정에대한작업화면 윈도우 2000 에서자동로그온은복구콘솔에서의자동로그온과레지스 터리키를변경하여자동으로로그온하는두가지방법이있으며, 모두 서버에사용하기에는적합하지않으니주의해서사용하기를바란다.
140 Disaster Recovery and Restore 윈도우 2000 보안부분설정아래보안부분은널세션에대한부분과 관리자적공유디렉터리 (C$) 부분을막기위해사용하는키값들이다. 다음과같이파일을편집하면이기능들을수정할수있으며, 추가기능들역시같은방법으로수정이가능하다. [ 그림 6-13] 레지스터리보안부분수정화면 위 3가지기능을한번에적용할수있나이러한작업이서로연관성이있으면서서버에모두필요한상황이라면분리하여저장할필요없이하나의파일로편집하여사용할수있다. 또한, 모든시스템은특유의설정작업을갖고있으며, 이설정작업을하나의파일에편집하여적용하는것도가능하다. 내보내기를통해받은레지스터리내용도마찬가지이며, 불필요한부분이있다면제외하고 *reg 파일로제작할수있다. [ 그림 6-14] 3 가지기능을한번에편집한예
6 장. 레지스터리에대한이해와활용 141 5. 응용프로그램제거방법 대부분응용프로그램들은추가및제거옵션을가지고있다. 그러나, 응용프로그램이추가되거나제거될경우레지스터리에있는내용이완벽하게삽입되고삭제되어깨끗한상태를유지할것인가. 실제로는그렇지않다. 경우에따라운영체제를 2달정도사용하였는데도불구하고, 불필요한레지스터리영역이많아져오류가자주나타난다. 따라서, 레지스터리의정리역시하나의문제로다가온다. 서버에서사용하는많은응용프로그램중잘못지워서문제를일으키거나, 삭제하는과정에서문제가발생할때손대기가쉽지않다. 또한, 서비스와같은경우도이러한문제가종종발생한다. 이제이런문제점들에대해언급하도록하겠다. 프로그램추가삭제 응용프로그램을제거하고자해도쉽게제거가안되는경우가종종발생한다. 레지스터리와해당응용프로그램에대해잘알고있다면일일이레지스터리를편집하는것을생각해볼수있지만, 그렇지않다면서드파티도구들을사용하는것도좋다. 아래소개하는도구는레지스터리의정보를깨끗이하는것이다. RegCleaner 라는도구는 NTFAQ 채널에서도제공되고있으며간단하게나마소개하겠다. RegCleaner 란이름에서알수있듯레지스터리를청소해주는프로그램이다. 프리웨어 (Freeware) 임에도불구하고기능면에서는막강하기에많은사용자가애용하는프로그램중에하나이다. 이프로그램은기존의 Regedit.exe 나 Regedt32.exe 를대처할수는없으나초보자나단순한작업을많이하는사용자들에게는반가울만한도구이다. [ 그림 6-15] Regcleaner 실행화면
142 Disaster Recovery and Restore 위에서제시된글은이종량님이제공해주신문서이며, 여러종류의서드파티관리도구들에대한분석을주로해주시는분이다. 자세한자료와내용은 MCSE/NTFAQ 사이트에잘설명되었기때문에따로설명은드리지않겠다. 참고자료 : http://www.ntfaq.co.kr/notice/content.asp?tname=w2k_tool_view&pid=1 서비스목록제거방법 일반적으로서비스로추가되는프로그램은제거프로그램까지같이제공되지만, 간혹제거프로그램이존재하지않는경우가있다. 그런상황은다음과정을따르면된다. 아래화면에서나타나는것처럼하드웨어추가마법사의하단부에있는 숨김장치표시 를선택하면서비스목록이나타난다. 작업방법 1. 제어판에서하드웨어추가 / 제거마법사를실행한다. 2. 하드웨어마법사에서 장치제거 / 분리 을선택한다. 3. 다음화면에서 장치제거 을선택한다. 4. 다음화면서 " 장치제거 " 을선택하게되면아래와같은그림을볼수있다. 이곳에서 숨김장치표시 체크를하게되면서비스에올라온내용들을모두볼수있다. [ 그림 6-16] 하드웨어추가마법사화면
6 장. 레지스터리에대한이해와활용 143 [ 그림 6-17] 장치제거화면 ] 5. 제거되었는지확인한다. 서비스목록제거기능사용도중, 엉뚱한서비스를제거하면복구가 힘들게된다. 따라서주의할필요가있다. 6. 관리자계정암호재설정방법 이문서는 MS 기술문서에서찾아볼수있는내용으로윈도우닷넷매거진에도실렸던내용이다. 사실관리자패스워드를변경하는것을제공한다는이야기는다소위험도가따른다. 하지만 MS에서도오픈된내용이니좋은쪽으로활용할수있도록필자는바란다. 이부분에대해서는필자도매우놀란것이실제사용자패스워드가레지스터리에존재한다는것이다. 기본값은보이지않으며추가적으로설정작업이필요한데이작업을하기위해서는 Regedt32.exe 을실행해야만가능하다. 보안설정작업을해줄수있기때문이며설정권한을먼저관리자가읽고쓸수있도록권한설정을제공해주어야만한다.
144 Disaster Recovery and Restore [ 그림 6-18] Regedt32 에서 SAM 값에대한보안에사용권한수정선택화면 그림과같이사용권한을관리자가읽고쓸수있도록변경해주어야만하며여러번반복하여작업이필요할수도있다. 하위디렉터리에전부같은과정을반복해주어야한다. 그러나, 원격레지스터리서비스로접속하여문제가일어날수있으므로, 아주주의하여적용하여야하며, 관리자이외의사용자가접근할수없도록처리하여야한다. 하이브로드와하이브언로드라고있는무슨뜻인가? HKEY_USERS 또는 HKEY_LOCAL_MACHINE 에서만제공되는것으로하이브로드와하이브언로드라는기능이있다. 하이브언로드는로딩된하이브를제거한다는의미이다.. 그럼하이브란무엇인가? 레지스터리하위트리는하이브 ( 벌집구조와비슷하여붙여진이름 ) 로나눈다. 하이브개별적인키, 하위키, 값구역이며레지스터리계층구조와맨위에위치한다. 하이브는 %systemroot%\system32\config 또는 %systemroot%\profiles\username 폴더에있는단일파일과로그파일의지원을받는다. 결국하이브파일은 (sam, system, security, software) 파일들을이야기한다. 관리자계정의암호를담고있는키는다음과같다. HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4\F 이값을실행하게그아래비밀번호가나타난다. 그값은아래그림 6-22 와같이보일것이다. 또한 Users 밑에보면 Names 라는서브트리가있으며그안에사용자목록을볼수도있다.
6 장. 레지스터리에대한이해와활용 145 [ 그림 6-19] SAM 파일을불러와서 New_sam 라는이름을주었고그값화면 듀얼부팅을하는경우는다른위치에설치된 SAM 파일을불러올수있다. 또한복 구콘솔이나다른방법을통해 SAM 파일을복사할수있으며, 원래의위치에복원하 는방법을생각해볼수있다. 필자는듀얼부팅을하는경우만테스트해보았다. 지금까지설명한이론을바탕으로실제적용을해보도록하자 1. Regedt32 을실행한다. 2. 레지스터리 (R) 기능에서하이브를로드하는메뉴를선택하여, SAM 파일을로드를한다. 다른하이브파일도로드가가능하다는의미로, 이경우자신의시스템이아닌부팅이되지않는시스템의하이브를로드하여복원할수도있다. [ 그림 6-20] 레지스터리에서하이브로드옵션메뉴화면
146 Disaster Recovery and Restore 3. SAM을읽어들일때중복될수있으므로, SAM 값을달리 New_sam 라는이라고변경하였다. 4. 레지스터리에서 SAM 에설정된권한을변경한다. ( 그림 6-18 참조 ) 5. 관리자패스워드가담긴서브키에 NULL 에해당하는값을입력한다. 이값은해시되어보관되므로, NULL 을윈도우규칙에맞게해시하여삽입하면된다. 이작업을할경우키저장과복원이라는방법을사용한다. 000001F4 선택후키저장을해서값을저장을하며차후그값을복원을한다. 6. 레지스터리값위치 : HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4 [ 그림 6-21 ] 000001F4 선택후키저장한화면 [ 그림 6-22] 관리자서브키값을실행화면 7. 비밀번호가새로설정된운영체제로부팅한다. 이렇게다른시스템의레지스터리값을수정하여다시복원을할수있으며, 레지스터 리에대한정보와복구콘솔의사용법을알고있다면더많은응용을생각해볼수있 을것이다.
6 장. 레지스터리에대한이해와활용 147 Regedit32에서 SAM 하이브에서작업을하다보면실제사용자리스트를볼수있다. 그곳에서실제사용자를제거한다면실제사용자계정에서도지워진다는것을알수있을것이다. 물론하나추가한다면동일한것이존재하는것도볼수있으며, 이런상황을보면서로연관되어서작동을하는것을알수있을것이다. ( 권한설정변경후가능함 ) 7. 내부데이터를백업할수있도록수정하는작업 이제부팅이되지않거나시스템에문제가있는경우데이터를외부로출력하거나, 유사작업을수행하여시스템을수리하는방법에대해서설명하기로한다. 이런방법으로시스템을복구하려면최소한레지스터리데이터를외부로가져올수있어야한다는조건이필요하다. 따라서, 지금부터예를드는작업을통해서도시스템을유지및관리할수있는방법으로활용할수있다는것을생각하고, 같이실습을병행하기바란다. 사전지식과준비사항 일단정상적으로운영되는두대의시스템에서테스트를해보기를바란다. 그리고사전지식및준비사항은상당히많으며, 아래의경우는극한상황에서작업을할수있도록고려하고있다. 복구콘솔에대한작업방법을익혀야함 실제레지스터리 Regedt32.exe 에서하이브로드라는작업을해봐야만함 실제테스트하고자할경우 - 물리적으로시스템을연결해서다른윈도우 2000 운영체제에서불러올수있도록구성한다. ( 레지스터리에대한값하이브로드 )
148 Disaster Recovery and Restore 일반적으로복구콘솔은내부데이터를외부로가져오는방법은기본값으로존재하지않는다. 그래서기본적으로로컬보안정책에서 복구콘솔 : 모든드라이브및폴더에플로피복사및액세스허용 에대한부분을사용을해주어야만내부에있는데이터를 A 드라이브라도내보내기가가능하다는뜻이다. ( 만약레지스터리의크기가디스켓의용량을넘었을경우에는문제가아주복잡해진다.) 이부분은 3장복구콘솔부분에서 복구콘솔을통해서내부시스템을작업할때 winnt 폴더이외에접근방법 을참고하기를바란다. 문제가되어서정상부팅이되지않는시스템에대한현상 만약다운된시스템이 복구콘솔 : 모든드라이브및폴더에플로피복사및액세스허용 부분이활성화되지않았다면데이터를외부로가져오기위해서운영되는다른시스템의추가하드디스크로연결할수밖에없다. 다른방법으로는시스템의데이터를외부로가져오지못한다 일단레지스터리파일을외부로가져오기위해서는복구콘솔에서외부로데이터를가 져올수있도록정책을변경해야한다. 여기서는레지스터리값을변경하여처리하는 방법을예로들도록하겠다. 복구콘솔에대한레지스터리수정값의위치 레지스터리에서 복구콘솔 : 모든드라이브및폴더에플로피복사및액세스허용 은레지스터리다음키에서수정이가능하다. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Setup\RecoveryConsole 복구콘솔 : 모든드라이브및폴더에플로피복사및액세스허용 SetCommand 기본값 0이며이것을 1로변경한다. 추가적으로알아두면좋은것은 복구콘솔 : 자동관리자적로그온허용 에대한 값은 SecurityLevel 이며기본값 0 이다. 1 로변경을하게되면복구콘솔이자동 으로로그온을하게된다. 아래그림은복구콘솔에위치한값의레지스터리화면이다.
6 장. 레지스터리에대한이해와활용 149 [ 그림 6-23] 복구콘솔을제어할수있는레지스터리설정 위그림에서나타낸레지스터리에서수정작업을하게되면동시에로컬보안정책의 값이변한다. 아래그림은타시스템의레지스터리를하이브로드과정을거친결과를보여주고있다. 새이름을부여하여연결시킨것을볼수있다.(note_software 라는이름으로올라왔다.) 레지스터리에대한하이브로드작업이가능하기때문에레지스터리의문제로인해다운된시스템인경우백업파일이존재하지않더라도하이브로드를통해다른시스템에서처리할수있으며, 이러한과정을통해문제를해결할수있다. [ 그림 6-24 ] Regedt32 에서 software 레지스터리하이브로드화면 하이브로드된것을저장하거나제거하려면레지스터리메뉴에서하이브언로드기 능을사용하면가능하다. 작업방법 이방법은이론적으로완벽하지않지만, 많은업체에서문제해결을위해서아주유용 한자료로활용될수있다.
150 Disaster Recovery and Restore 1. 문제가있는레지스터리값을불러들일수있도록준비한다. 2. Regedt32 작업을실행한다. 3. 메뉴에서기존에사용하고있는이름과다른이름으로하이브를로드한다. 4. 로드된자료를일반적인레지스터리작업과동일하게수정한다. ( 로딩된이후해당파일은잠금상태로변경되며, 재시자또는하이브언로드를하면된다.) 5. 원래시스템에복원된파일을삽입한다. 6. 경우에따라서타시스템에하드디스크를연결하여복원된파일을적용할수있다. 아래그림은다운된시스템에서필요한레지스터리파일을복사또는다른방법으로 가져와서수정된것을복원하는그림이다. 작업한방법에대한기본적인환경과구성이 라고생각하면된다. [ 그림 2-25] 레지스터리를복사해서수정후복원하는화면 이방법의응용 다운된시스템에서사용자계정을밖으로유출할수있다. 실수로레지스터리를잘못건드려부팅이안되는경우, 마지막성공한구성작업으로도작업이실패한다면, 이러한작업을고려할수있다. 문제가있는시스템의특정한레지스터리값을변경변경하기위해사용가
6 장. 레지스터리에대한이해와활용 151 능하다. 8. 마무리 이장에서는주로레지스터리의활용위주로설명하였으며, 이론적인측면에대해서는깊게다루지않았다. 레지스터리에대한자세한내용을알고자한다면마이크로소프트기술자료를참고하기바란다. 이장에서는레지스터리와관계된도구들을시스템문제해결의방법으로도사용가능하다는것을서술하였으며, 레지스터리는시스템의동작과밀접한연관이있다는사실을강조하였다. 간단한보안정책이나응용프로그램에대한문제들은시스템복원과밀접하게연관되어있으며, 항상시스템의백업및복원에대한대비책을마련하여시스템을운영할것을권한다.
152 Disaster Recovery and Restore 참고문헌 Windows Registry Guide http://www.winguides.com/registry/ How to Identify the User Who Changed the Administrator Password http://support.microsoft.com/default.aspx?scid=kb;en-us;q173939 Resplendent Registrar 사용방법소개 http://www.ntfaq.co.kr/notice/content.asp?tname=w2k_tool_view&pid=2 RegCleaner 사용방법 http://www.ntfaq.co.kr/notice/content.asp?tname=w2k_tool_view&pid=1