SC.exe(서비스 컨트롤러) 유틸리티는 서비스 컨트롤러 및 설치된 서비스와 통신하며 서비스에 대한 제어 정보를 검색하고 설정합니다. SC.exe를 사용하면 서비스 프로그램을 테스트하고 디버그할 수 있습니다. 서비스 응용 프로그램이 부팅 시에 시작되는 방법 및 백그라운드 프로세스로 실행되는 방법을 제어하기 위해 레지스트리에 저장된 서비스 속성을 설정할 수 있습니다. SC.exe 매개 변수를 통해 특정 서비스를 구성하고 서비스의 현재 상태를 검색하고 서비스를 시작/중지할 수 있습니다. 또한 다양한 SC.exe 명령을 호출하는 배치 파일을 만들어 서비스의 시작 또는 종료 시퀀스를 자동화할 수 있습니다. SC.exe는 제어판의 관리 도구 항목에 있는 서비스와 비슷한 기능을 제공합니다.
SC.exe 유틸리티에 대한 자세한 내용은 다음 Microsoft 웹 사이트를 참조하십시오. http://technet2.microsoft.com/windowsserver/en/library/0A658E97-51D5-4109-B461-A474C799964E1033.mspx (http://technet2.microsoft.com/windowsserver/en/library/0A658E97-51D5-4109-B461-A474C799964E1033.mspx)(영문)
보안 템플릿
보안 템플릿에 대한 자세한 내용은 다음 Microsoft 웹 사이트에서 "최종 시스템의 데이터 보안과 데이터 가용성"을 참조하십시오. http://www.microsoft.com/technet/Security/bestprac/bpent/sec3/datavail.mspx (http://www.microsoft.com/technet/Security/bestprac/bpent/sec3/datavail.mspx)(영문)
Windows XP 보안 가이드 v2에 대한 자세한 내용은 다음 Microsoft 웹 사이트를 참조하십시오. http://www.microsoft.com/downloads/details.aspx?FamilyId=2D3E25BC-F434-4CC6-A5A7-09A8A229F118&displaylang=en (http://www.microsoft.com/downloads/details.aspx?FamilyId=2D3E25BC-F434-4CC6-A5A7-09A8A229F118&displaylang=en)(영문)
보안 템플릿 스냅인을 사용하여 보안 템플릿을 만들고 정의할 수 있습니다. 이렇게 하려면 다음과 같이 하십시오.
1. |
시작, 실행을 차례로 누르고 mmc를 입력한 다음 확인을 누릅니다. |
2. |
콘솔1 창의 파일 메뉴에서 스냅인 추가/제거를 누릅니다. |
3. |
스냅인 추가/제거 대화 상자에서 추가를 누릅니다. |
4. |
독립 실행형 스냅인 추가 대화 상자에서 보안 템플릿, 추가, 닫기를 차례로 누릅니다. |
5. |
스냅인 추가/제거 대화 상자에서 확인을 누릅니다. |
6. |
콘솔1 창에서 보안 템플릿 노드를 확장한 다음, \system_root\Security\Templates 노드를 확장하여 사용 가능한 템플릿 목록을 확인합니다. |
7. |
\system_root\Security\Templates\securews\ 노드를 확장하고 시스템 서비스를 누른 다음 Windows Firewall/Internet Connection Sharing (ICS)을 두 번 눌러 템플릿에 이 정책 설정을 정의합니다. |
프로그래밍 방식으로 사용 권한 할당
LaunchPermission 레지스트리 항목 또는 AccessPermission 레지스트리 항목에 프로그래밍 방식으로 사용 권한을 할당하는 방법에 대한 자세한 내용을 보려면 다음 MSDN 웹 사이트를 방문하여 "DCOMperm: COM 서버 코드에 대한 사용 권한" 예제를 구하십시오. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcsample98/html/vcsmpdcompermpermissionsforcomserver.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcsample98/html/vcsmpdcompermpermissionsforcomserver.asp)(영문)
AccessPermission 레지스트리 항목은 액세스를 결정하는 DACL(임의 액세스 제어 목록)을 설정하고 LaunchPermission 레지스트리 항목은 응용 프로그램을 시작할 수 있는 주체를 결정하는 DACL을 설정합니다.
LaunchPermission 레지스트리 항목은 REG_BINARY입니다. 이 클래스의 서버를 시작하는 로컬 또는 원격 요청을 받으면 클라이언트를 가장하는 동안 이 값에서 설명하는 DACL을 검사하고, 검사 성공 여부에 따라 서버 시작을 허용하거나 허용하지 않습니다. 이 값이 없는 경우에는 기본적으로 시스템 범위의 DefaultLaunchPermission 항목을 같은 방식으로 검사하여 클래스 코드를 시작할 수 있는지 여부를 결정합니다.
AccessPermission 레지스트리 값은 REG_BINARY입니다. 여기에는 이 클래스의 인스턴스에 액세스할 수 있는 보안 사용자의 DACL을 설명하는 데이터가 포함되어 있습니다. 이 클래스의 기존 개체에 연결하는 요청을 받으면 호출자를 가장하는 동안 호출되는 응용 프로그램에서 DACL을 검사하고, 액세스 검사가 실패하면 연결이 허용되지 않습니다. 이 값이 없는 경우에는 기본적으로 시스템 범위의 DefaultAccessPermission DACL을 같은 방식으로 테스트하여 연결을 허용할지 여부를 결정합니다.
DCOMcnfg GUI에서 서비스 권한 설정 보기
DCOMcnfg GUI(그래픽 사용자 인터페이스)에서 서비스 권한 설정을 보려면 다음과 같이 하십시오.
1. |
시작, 실행을 차례로 누르고 열기 상자에 DCOMCNFG를 입력한 다음 확인을 누릅니다. |
2. |
다음 노드를 확장합니다.
구성 요소 서비스
컴퓨터
내 컴퓨터
DCOM 구성 |
3. |
SharedAccess를 마우스 오른쪽 단추로 누른 다음 속성을 누릅니다. |
4. |
일반 탭을 누르고 다음 설정이 구성되어 있는지 확인합니다.
응용 프로그램 이름: SharedAccess
응용 프로그램 ID: {ce166e40-1e72-45b9-94c9-3b2050e8f180}
응용 프로그램 종류: 로컬 서비스
인증 수준: 기본값
서비스 이름: SharedAccess |
5. |
ID 탭을 누르고 시스템 계정(서비스에만 해당)이 선택되어 있는지 확인합니다. |
6. |
보안 탭을 누릅니다. |
7. |
시작 및 활성화 권한 영역에서 사용자 지정을 누른 다음 편집을 누릅니다. |
8. |
그룹 또는 사용자 이름 상자에서 Administrators (MACHINE_NAME\Administrators)를 누르고 허용 열에서 로컬 활성화 확인란이 선택되어 있는지 확인한 다음, 확인을 누릅니다. |
9. |
액세스 권한 영역에서 사용자 지정, 편집을 차례로 누르고 다음 설정이 구성되어 있는지 확인합니다.
• |
그룹 또는 사용자 이름 상자에서 Administrators (MACHINE_NAME \Administrators)를 누르고 허용 열에서 로컬 액세스 확인란이 선택되어 있는지 확인한 다음, 확인을 누릅니다. | |
10. |
구성 권한 영역에서 사용자 지정, 편집을 차례로 누르고 다음 설정이 구성되어 있는지 확인합니다.
• |
그룹 또는 사용자 이름 상자에서 Administrators (MACHINE_NAME\Administrators)를 누르고 허용 열에서 모든 권한 확인란과 읽기 확인란이 선택되어 있는지 확인합니다. |
• |
그룹 또는 사용자 이름 상자에서 Power Users를 누르고 허용 열에서 읽기 확인란이 선택되어 있는지 확인합니다. |
• |
그룹 또는 사용자 이름 상자에서 SYSTEM을 누르고 허용 열에서 모든 권한 확인란과 읽기 확인란이 선택되어 있는지 확인합니다. |
• |
그룹 또는 사용자 이름 상자에서 Users를 누르고 허용 열에서 읽기 확인란이 선택되어 있는지 확인한 다음, 확인을 차례로 두 번 누릅니다. | |
예제 레지스트리 출력
레지스트리 항목의 내용을 내보내려면 명령 프롬프트에서 다음 명령을 입력한 후 Enter 키를 누르십시오.
REG EXPORT HKLM\SOFTWARE\Classes\AppID\{ce166e40-1e72-45b9-94c9-3b2050e8f180} C:\reg_AppID_CLSID.txt
출력 파일 C:\reg_AppID_CLSID.txt에는 다음과 유사한 내용의 텍스트가 포함됩니다.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{ce166e40-1e72-45b9-94c9-3b2050e8f180}]@="SharedAccess""LocalService"="SharedAccess""AccessPermission"=hex:01,00,14,80,34,00,00,00,50,00,00,00,00,00,00,00,14,00,\00,00,02,00,20,00,01,00,00,00,00,00,18,00,03,00,00,00,01,02,00,00,00,00,00,\05,20,00,00,00,20,02,00,00,01,05,00,00,00,00,00,05,15,00,00,00,59,51,b8,17,\66,72,5d,25,64,63,3b,0b,7f,a9,28,00,01,05,00,00,00,00,00,05,15,00,00,00,59,\51,b8,17,66,72,5d,25,64,63,3b,0b,7f,a9,28,00"LaunchPermission"=hex:01,00,04,80,34,00,00,00,50,00,00,00,00,00,00,00,14,00,\00,00,02,00,20,00,01,00,00,00,00,00,18,00,09,00,00,00,01,02,00,00,00,00,00,\05,20,00,00,00,20,02,00,00,01,05,00,00,00,00,00,05,15,00,00,00,a0,5f,84,1f,\5e,2e,6b,49,ce,12,03,03,f4,01,00,00,01,05,00,00,00,00,00,05,15,00,00,00,a0,\5f,84,1f,5e,2e,6b,49,ce,12,03,03,f4,01,00,00
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess 레지스트리 하위 키에 대한 유사한 출력 파일에는 다음과 유사한 내용의 텍스트가 포함됩니다.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\system\currentcontrolset\services\SharedAccess]"DependOnGroup"=hex(7):00,00"DependOnService"=hex(7):4e,00,65,00,74,00,6d,00,61,00,6e,00,00,00,57,00,69,00,\6e,00,4d,00,67,00,6d,00,74,00,00,00,00,00"Description"="Provides network address translation, addressing, name resolution and/or intrusion prevention services for a home or small office network." "DisplayName"="Windows Firewall/Internet Connection Sharing (ICS)""ErrorControl"=dword:00000001"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,\00,76,00,63,00,68,00,6f,00,73,00,74,00,2e,00,65,00,78,00,65,00,20,00,2d,00,\6b,00,20,00,6e,00,65,00,74,00,73,00,76,00,63,00,73,00,00,00"ObjectName"="LocalSystem""Start"=dword:00000002"Type"=dword:00000020
[HKEY_LOCAL_MACHINE\system\currentcontrolset\services\SharedAccess\Epoch]"Epoch"=dword:0000073e
[HKEY_LOCAL_MACHINE\system\currentcontrolset\services\SharedAccess\Parameters]"ServiceDll"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,\00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,\69,00,70,00,6e,00,61,00,74,00,68,00,6c,00,70,00,2e,00,64,00,6c,00,6c,00,00,\00
[HKEY_LOCAL_MACHINE\system\currentcontrolset\services\SharedAccess\Enum]"0"="Root\\LEGACY_SHAREDACCESS\\0000""Count"=dword:00000001"NextInstance"=dword:00000001