53
4 장 장장 장장장장 발발발 : 발발발 발발발 : 2006 발 7 발 3 발

4 장 관리 메커니즘

  • Upload
    lise

  • View
    92

  • Download
    3

Embed Size (px)

DESCRIPTION

4 장 관리 메커니즘. 발표자 : 정희종 발표일 : 2006 년 7 월 3 일. 기본 메커니즘. 레지스트리 서비스 WMI (Windows Management Instrumentation). 레지스트리. 시스템 전반의 설정 및 각 사용자의 설정에 대한 저장소. 도구. Windows 2000 - Regedit.exe, Regedt32.exe WindowsXP 및 Windows 2003 - Regedit.exe. 레지스트리 사용하는 3 가지 중요한 시기. 부트 프로세트 - 장치 드라이버 로드 등 - PowerPoint PPT Presentation

Citation preview

Page 1: 4 장 관리 메커니즘

4 장 관리 메커니즘4 장 관리 메커니즘

발표자 : 정희종발표일 : 2006 년 7 월 3 일

Page 2: 4 장 관리 메커니즘

기본 메커니즘기본 메커니즘

레지스트리서비스WMI (Windows Management Instrumentation)

Page 3: 4 장 관리 메커니즘

레지스트리레지스트리

시스템 전반의 설정 및 각 사용자의 설정에 대한 저장소

Page 4: 4 장 관리 메커니즘

도구도구

Windows 2000- Regedit.exe, Regedt32.exeWindowsXP 및 Windows 2003- Regedit.exe

Page 5: 4 장 관리 메커니즘

레지스트리 사용하는 3 가지 중요한 시기레지스트리 사용하는 3 가지 중요한 시기

부트 프로세트- 장치 드라이버 로드 등로그인- 바탕화면 등 사용자 설정시동 (During their startup)- 각 app 별 설정

Page 6: 4 장 관리 메커니즘

레지스트리 수정되는 시점레지스트리 수정되는 시점

윈도우 설치응용프로그램 설치장치 드라이버 설치사용자의 설정 변경

Page 7: 4 장 관리 메커니즘

레지스트리 데이터 형식레지스트리 데이터 형식

키 (key) 와 값 (value)

(p269 표 4-1)REG_NONE - No value type.REG_SZ - Fixed-length Unicode string.REG_EXPAND_SZ - Variable-length Unicode string that can have embedded environment variables.REG_BINARY - Arbitrary-length binary data

REG_LINK – 링크

Page 8: 4 장 관리 메커니즘

레지스트리 루트키레지스트리 루트키

p270 표 4-2, 표 4-3

HKEY_CURRENT_USERHKEY_USERSHKEY_CLASSES_ROOTHKEY_LOCAL_MACHINEHKEY_PERFORMANCE_DATAHKEY_CURRENT_CONFIG

이중 3 개의 키는 Link ( 부팅시 동적 생성 )

Page 9: 4 장 관리 메커니즘

HKEY_CURRENT_USERHKEY_CURRENT_USER

현재 로그온 한 사용자의 설정HKEY_USERS 의 링크\Documents and Settings\<username>\Ntuser.datP272 표 4-4

Page 10: 4 장 관리 메커니즘

HKEY_USERSHKEY_USERS

사용자 설정HKU\.DEFAULT – 기본 사용자 프로필 링크

Page 11: 4 장 관리 메커니즘

HKEY_CLASSES_ROOT HKEY_CLASSES_ROOT

파일 확장자COM 클래스 등록

LINK- HKCU\SOFTWARE\Classes - HKLM\SOFTWARE\Classes

Page 12: 4 장 관리 메커니즘

HKEY_LOCAL_MACHINEHKEY_LOCAL_MACHINE

HARDWARE – 하드웨어 정보SAM – 사용자 암호 , 그룹 정의 등SECURITY – 보안 정책 등SOFTWARE – 시스템 구성 , 응용프로그램 정보SYSTEM – 시스템 부팅에 필요한 전반적인 구성 정보 ( 마지막으로 성공한 컨트롤 세트 포함 )

Page 13: 4 장 관리 메커니즘

HKEY_CURRENT_CONFIG HKEY_CURRENT_CONFIG

현재 하드웨어 프로필에 대한 링크링크- HKLM\SYSTEM\CurrentControlSet\Hardware Profiles\Current

Page 14: 4 장 관리 메커니즘

HKEY_PERFORMANCE_DATAHKEY_PERFORMANCE_DATA

성능 카운터 값들에 액세스 하기 위한 메커니즘레지스트리 형태의 서비스의 장점- 원격 성능 모니터링이 자유롭다실제 값을 찾을 수는 없다 , 저장되지 않는다RegQueryValueEx 같은 함수 사용

Page 15: 4 장 관리 메커니즘

Regmon 유틸리티Regmon 유틸리티

레지스트리 모니터링액세스 , 시간 , 형식 , 프로세스 등을 보여줌레지스트리 관련 트러블 슈팅에 유용하다 .

Page 16: 4 장 관리 메커니즘

실습실습

281p ( 실습 )메모장의 폰트를 바꾼다Regmon 에서 모니터링 한것을 살펴본다

Page 17: 4 장 관리 메커니즘

Regmon 트리블 슈팅 기술Regmon 트리블 슈팅 기술

응용 프로그램이 실패하기 전에 수행했던 마지막 작업을 찾아본다“ 내 컴퓨터에서는 잘 되는데 ?”- 작동하는 시스템과 안하는 시스템 비교NOTFOUND or ACCESS DENIED 값을 주의한다BUFROVERFLOW 의심 ( 에러는 아님 )트러블 슈팅 성공 예- 인터넷 익스플로러 시작이 멈춤- HKCU\Software\Microsoft\RAS- 언인스톨할 때 레지스트리를 지우지 않았음권한이 필요한 경우 psexec 사용

Page 18: 4 장 관리 메커니즘

하이브 Hives하이브 Hives

디스크 상에서 레지스트리는 하이브라고 불리는 분리된 파일들의 집합이다 .285p 표 4-5 ( 레지스트리의 디스크 파일 경로 )휘발성 – 파일이 아닌 메모리 상에서만 저장- 하드웨어 정보

Page 19: 4 장 관리 메커니즘

하이브 구조하이브 구조

블록 – 파일 크기 증가분셀 – 데이터 컨테이너빈 – 셀을 포함하는 할당 단위

Page 20: 4 장 관리 메커니즘

셀 데이터 형식들셀 데이터 형식들

290p 표 4-6키 , 값 , 서브키 리스트 , 값 리스트 , 보안 설명자

Page 21: 4 장 관리 메커니즘

셀 맵셀 맵

메모리에서 하이브 데이터가 참조하는 비연속적인 메모리 주소를 다루기 위해 사용셀 맵 디렉터리 – 1024 개의 항목셀 맵 테이블 – 512 개의 항목셀 맵 테이블 – 빈과 셀의 블록 메모리 주소 위치

Page 22: 4 장 관리 메커니즘

셀 맵셀 맵

Page 23: 4 장 관리 메커니즘

레지스트리 이름 공간레지스트리 이름 공간

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet \Registry\Machine\System\CurrentControlSet

키 제어 블락의 사용- 레지스트리 키를 열때 , 키 제어 블락 할당- 최적화 : 가장 가까운 조상으로 부터 시작- 참조 카운트 사용하여 삭제 결정

Page 24: 4 장 관리 메커니즘

견고한 저장소 (Stable Storage)견고한 저장소 (Stable Storage)

각 하이브들은 log have 를 가진다메모리에 로딩한 레지스트리 변경이 즉시 하이브에 반영되지 않음변경된 더티 섹터들을 로그 파일로 덤프한다 .

Page 25: 4 장 관리 메커니즘

레지스트리 최적화레지스트리 최적화

모든 레지스트리 키는 보안 서술자를 가진다- 복사하지 않고 참조한다ASCII 형식으로 이름 저장전체 경로 저장하지 않고 키의 이름만 참조자주 액세스 되는 키 제어 블록을 캐시

Page 26: 4 장 관리 메커니즘

요약 정리요약 정리

271p 표 4-3 레지스트리 6 가지 주요 키Regmon 유틸리티하이브

Page 27: 4 장 관리 메커니즘

WMI (Windows Management Instrumentation)WMI (Windows Management Instrumentation)

시스템 이벤트 모니터링 도구WinNT 서비스팩 4 에 추가산업협회 (DMTF) 표준에 따른 WBEM 구현WBEM – Web Based Enterprise Management

Page 28: 4 장 관리 메커니즘

WMI 아키텍쳐WMI 아키텍쳐

Page 29: 4 장 관리 메커니즘

WMI 아키텍쳐WMI 아키텍쳐

CIM (Common Information Model)common model

A set of classes in the Common Information Model (CIM) that represent objects that are specific to management areas of a system but independent of a particular implementation. These classes are considered an extension of the CIM core model. See also core model.

core model A set of classes in the Common Information Model (CIM) provided as part of the WBEM standard. These classes are CIM's basic language and represent objects that apply to all areas of management. See also common model.

WMI SDK 를 사용하여 서드파티 WMI 공급자 개발

Page 30: 4 장 관리 메커니즘

공급자공급자

정보제공 – 클래스 , 이벤트 등339p 표 4-10

Page 31: 4 장 관리 메커니즘

CIM 및 MOF 언어CIM 및 MOF 언어

CIM 구현을 위해 MOF (Managed Object Format) 언어 사용클래스 (class) 로 설계 표현 ( 객체지향 언어와 유사 )추상화 , 다형성 , 재사용 가능CIM_DataFile -> CIM_LogicalFile -> CIM_LogicalElement341p 아래쪽 MOF 문법class Win32_NTEventlogFile : CIM_DataFile{…}

Page 32: 4 장 관리 메커니즘

도구도구

WMI CIM Studio – MS 다운로드 센터342p 그림 4-20WbemTest – 윈도우 기본 제공실습 : 343p개발자들이 정의한 클래스를 WMI 에 제공 가능

Page 33: 4 장 관리 메커니즘

WMI 이름 공간WMI 이름 공간

루트 디렉터리 – rootRoot 아래 있는것이 WMI 이름공간WMI 이름공간은 하나의 깊이만 가진다\\DARYL\root\CIMV2:Win32_NTLogEvent.Logfile="Application", RecordNumber="1"

Page 34: 4 장 관리 메커니즘

WMI 스크립트를 사용하여 시스템 관리하기WMI 스크립트를 사용하여 시스템 관리하기

WMI 는 스크립팅 언어를 지원한다cscript script.vbs347p 실습ExecNotificationQuery – WQL 실행

Page 35: 4 장 관리 메커니즘

WMI 보안WMI 보안

WMI 보안 속성 관리351p 그림 4-22 WMI 보안 속성들

Page 36: 4 장 관리 메커니즘

WMI 요약 정리WMI 요약 정리

WMI 스크립트 언어 지원WMI CIM Studio, WbemTest

Page 37: 4 장 관리 메커니즘

서비스서비스

시스템 시작시 필요한 프로세스들을 독립적으로 시작하기 위한 메커니즘구성요소 3 가지- 서비스 응용 프로그램- 서비스 제어 프로그램 SCP- 서비스 제어 관리자 SCM

Page 38: 4 장 관리 메커니즘

서비스 생성서비스 생성

CreateService 함수파라미터들 306p 표 4-7Type 파라미터 ( 장치 드라이버에 적용하는 값 )- 장치 드라이버- 파일 시스템 드라이버- 파일 시스템 인식 장치

Page 39: 4 장 관리 메커니즘

서비스 시작서비스 시작

StartServiceCtrlDispatcher- 서비스 스레드 생성 서비스의 진입점 호출RegisterServiceCtrlHandler- 서비스 진입점의 첫번째 동작- “ 컨트롤 핸들러” 함수 포인터 저장- 서비스가 SCM 으로부터 받는 명령 처리 위해SetServiceStatus- SCM 에 주기적으로 상태 메시지 전송

Page 40: 4 장 관리 메커니즘

서비스 프로세스 내부서비스 프로세스 내부

Page 41: 4 장 관리 메커니즘

로컬 시스템 계정로컬 시스템 계정

대부분의 서비스들은 로컬 시스템 계정의 보안 컨텍스트에서 실행한다강력한 권한을 가지며 어떤 계정보다 강력하다

기타 계정- 로컬 서비스 계정- 네트워크 서비스 계정

312p 표 4-9 서비스 계정 특권들

Page 42: 4 장 관리 메커니즘

대체 계정으로 서비스 실행하기대체 계정으로 서비스 실행하기

특정 사용자 계정의 보안 자격으로 실행할 필요가 있을 때 서비스 계정을 설정 해 준다315p 그림 4-10 서비스 계정 설정

Page 43: 4 장 관리 메커니즘

윈도우 스테이션윈도우 스테이션

윈도우 스테이션은 데스크톱을 포함데스크톱은 윈도우 포함하나의 윈도우 스테이션만 볼 수 있다하나의 윈도우 스테이션만 마우스 , 키보드 입력받음가상의 데스크톱 (?)눈에 보이는 것은 WinSta0

Page 44: 4 장 관리 메커니즘

대화식 서비스대화식 서비스

로컬 시스템 계정은 보이지 않는 윈도우 스테이션에서 시작된다보이지도 않고 , 키보드나 마우스 입력도 받을 수 없기 때문에 대화식 서비스는 불가능예외- MB_SERVICE_NOTIFICATION or MB_DEFAULT_DESKTOP_ ONLY is set on the MessageBox call- SERVICE_ INTERACTIVE_PROCESS대화식 서비스는 WinSta0 에 연결된다

Page 45: 4 장 관리 메커니즘

서비스 제어 관리자서비스 제어 관리자

SvcCtrlMain – 부팅시 로그인 상자 나타나기 전 실행SvcCtrlEvent_ A3752DX 동기화 이벤트 생성ScCreateServiceDB – 레지스트리에서 정보를 읽어 서비스 데이터베이스에서 항목 생성LSA_RPC_SERVER_ACTIVE 동기화 이벤트 신호화- 사용자 계정으로 실행되는 서비스 때문에 LSASS 호출이 필요하므로ScGetBootAndSystemDriverState – 자동 시작 서비스 검색

Page 46: 4 장 관리 메커니즘

서비스 시작서비스 시작

자동시작 서비스- SvcCtrlMain 함수에서 ScAutoStartServices 호출- 자동 시작 드라이버 들도 시작ScStartService – 서비스 시작- SERVICE_KERNEL_DRIVER or SERVICE_FILE_SYSTEM_ DRIVER 파라미터가 있으면 드라이버 이므로 ScLoadDeviceDriver 호출

Page 47: 4 장 관리 메커니즘

시동 에러시동 에러

서비스 시작에 실패했을때 ErrorControl 값에 따라 무시하고 진행하거나 이벤트 로그에 기록

Page 48: 4 장 관리 메커니즘

마지막으로 성공한 구성으로 부팅하기마지막으로 성공한 구성으로 부팅하기

ErrorControl 값이 SERVICE_ERROR_SEVERE or SERVICE_ERROR_CRITICAL 으로 설정된 경우에 서비스 시작이 실패하였다면 “ 마지막으로 성공한 구성”으로 전환

Page 49: 4 장 관리 메커니즘

서비스 실패서비스 실패

서비스 실패시 복구 동작 설정

Page 50: 4 장 관리 메커니즘

서비스 종료서비스 종료

Winlogon 이 ExitWindowsEx 호출Csrss ( 서브시스템 프로세스 ) 가 각 프로세스에 종료 메시지 전달ScShutdownAllServices – SCM 서비스 데이터베이스 검색을 반복하여 각각의 서비스에 종료 명령 전송

Page 51: 4 장 관리 메커니즘

공유된 서비스 프로세스공유된 서비스 프로세스

하나의 프로세스에서 여러 서비스를 실행한다장점 – 자원 낭비 방지단점 – 프로세스 종료시 모든 서비스 종료- 같은 계정으로 실행 해야함

Page 52: 4 장 관리 메커니즘

서비스 제어 프로그램서비스 제어 프로그램

OpenSCManager – SCM 통신 채널 열기함수 목록- CreateService, OpenService, StartService, ControlService, QueryServiceStatus, DeleteService친숙한 SCP 의 예 – MMC 스냅인

Page 53: 4 장 관리 메커니즘

요약 정리요약 정리

271p 표 4-3 레지스트리 6 가지 주요 키Regmon 유틸리티하이브

WMI 아키텍쳐

서비스