11-7. 시스템 관리를 위한 도구
시스템 관리를 위해 제공되는 몇가지 도구에 대한 소개를 하고자 한다. MMC, 보안구성 도구, 서버 지원도구, 리소스 킷 등에 대해서 알아본다.
MMC는 한마디로 컨테이너라고 부를수 있다. 컨테이너는 그 자체만으로는 보잘 것이 없다. 제대로 사용이 되려면 컨테이너 안에 화물이 들어차야 유용하게 쓰일수 있을 것이다. MMC도 그런것이다. MMC라는 컨테이너만으로 할 수 있는 작업은 없다. 하지만 이 MMC라는 껍데기에 관리를 위한 구성요소들을 하나씩 하나씩 추가하여 비로소 “관리도구”가 되는 것이다. 이렇듯이 MMC에 집어넣어서 관리도구가 될 수 있는 구성요소들을 가리켜서 “스냅인 개체 (Snap-in Object)”라고 부른다.
이렇듯 관리도구가 개체화되어 MMC라는 커다란 컨테이너를 통해서 관리될 수 있도록 한 것에는 상당한 장점이 제공된다. 관리도구의 관리인터페이스가 하나로 통일된다는 것을 의미한다. 더 이상 이전버전의 관리도구들처럼 각각 저마다의 인터페이스를 가지는 것이 아니라 MMC라는 하나의 인터페이스에 통합되어 있기 때문에 관리자들이 보다 쉽게 관리업무를 할 수 있는 환경을 제공한다. 또한 관리자는 자신만의 관리도구를 커스터마이징할 수 있어서 편리하며 개발자적 관점에서 보자면 관리도구를 만드는데 크게 시간낭비를 하지 않고 스냅인개체로 만드는 작업으로써 관리도구를 만드는 작업을 마무리하게 된다. SQL Server 2000, Exchange Server 2000, ISA Server 2004 등 각종 서버제품군들의 관리인터페이스 역시 이 MMC를 채택하고 있어서 통합된 관리환경을 제공하고 있다.
MMC를 실행하기 위해 시작à실행창에 “mmc”라고 입력하였다. |
|
mmc.exe는 MMC를 실행하는 실행파일이다. mmc를 실행하니 하나의 컨테이너가 열렸다. 콘솔메뉴à스냅인 추가/제거를 누른다. |
|
‘독립 실행형 스냅인 추가’화면이 열리면 눈에 익숙한 메뉴들이 펼쳐진다. 시작à프로그램à관리도구에서 찾아볼 수 있는 메뉴들이다. 자주 사용하는 몇가지 스냅인을 [추가]버튼을 이용하여 추가하였다. |
<그림11-165. MMC-독립실행형 스냅인 추가> |
다섯가지의 스냅인이 추가된 관리콘솔을 보여준다. 이제 당신만의 관리도구가 만들어진 것이다. |
<그림11-166. MMC에 스냅인이 추가된 화면> |
우리가 ‘시작à프로그램à관리도구’를 통해서 접근할 수 있는 많은 관리도구들도 이러한 MMC콘솔을 통해서 미리 만들어진 관리도구의 단축아이콘일 따름이다. |
<그림11-167. 제어판-관리도구> |
콘솔메뉴에서 ‘저장’을 누른다. |
<그림11-168. 사용자정의된 MMC저장> |
방금 당신이 정의한 관리도구를 저장할 수 있다. 확장자가 .msc 인것을 기억하자. |
<그림11-169. 관리도구 폴더에 MMC저장 |
Msc (Microsoft Management Console)확장자는 MMC 를 필요로 하는 확장자이다. 많이 접근하는 관리도구인 ‘컴퓨터 관리’도구를 명령줄에서 불러오기 위해서는 compmgmt.msc 를 입력하면 된다. 시작à프로그램à관리도구à컴퓨터관리를 눌렀을때와 동일한 결과를 볼 수 있다. |
<그림11-170. 컴퓨터 관리도구 실행> |
서버에서 ‘보안’을 고려하는 것은 매우 중요한 작업이다. 보안이라고 하면 사실 그 범위는 너무나 광범위하다. 하지만 서버에서 기본 제공되는 보안정책을 구성하기 위해서 ‘시작à프로그램à관리도구à로컬 보안 정책’을 실행하여 접근할 수 있다.
<그림11-171. 로컬 보안 정책 메뉴>
<그림11-171>을 보면 왼쪽 패널에서 계정정책, 로컬정책, 공개키 정책, 로컬컴퓨터의 IP보안 정책등 몇가지 큰 항목들을 보여주고, 오른쪽 패널에서는 세세히 개별적인 정책들의 리스트를 보여주고 있다. 살펴보니 암호관련한 정책을 보여주고 있는데 로컬 컴퓨터의 디렉터리 데이터베이스에서 생성되는 사용자계정에 대한 암호의 사용기간, 암호의 길이 등 보안관련된 정보중에서도 암호와 관련된 정책을 보여주고 있다. 이것은 하나의 단편적인 항목일 뿐이다.
하나하나의 모든 항목들을 열어서 관리자가 원하는 수준의 보안을 구성한다는 것은 상당히 부담스러운 일이 아닐수 없다. 또 여러대의 서버가 있을 때 모든 서버를 이렇게 동일수준의 보안을 구성하는 작업을 하는 것도 번거로운 일일 것이다. 무엇보다도 꽤 많은 항목에서 보안설정을 지원해 주고 있기 때문에 각각의 보안구성 항목에 대해서 완전한 지식이 없으면 현실적으로 제대로 사용하기도 어려울 수 밖에 없다는 것이 문제이다.
마이크로소프트는 이러한 보안설정을 보다 쉽고 정확하게 할 수 있도록 몇 개의 보안템플릿을 제공하고 있다. 관리자는 이러한 보안 템플릿의 사용방법을 잘 익혀서 시스템에 반영할 수 있다면 직접 처음부터 작업을 하는 것보다는 만족할 만한 수준의 보안을 구현할 수 있게 된다.
‘보안 구성 및 분석’도구는 보안템플릿을 효과적으로 사용할 수 있도록 지원해 주는 관리 스냅인이다. 과정을 단계별로 접근해 보겠다.
‘보안구성 및 분석’관리도구는 기본제공되는 관리도구의 메뉴에서 찾을 수 없다. 스냅인 개체만을 제공하고 있다. ‘보안구성 및 분석’스냅인을 추가하기 위해서 mmc를 실행한다.
<그림11-172. 보안 구성 도구 1>
콘솔메뉴에서 스냅인 추가/제거를 이용하여 ‘보안 구성 및 분석’스냅인을 추가한다.
<그림11-173. 보안 구성 도구 2>
왼쪽패널에서 ‘보안 구성 및 분석’스냅인이 추가된 것을 볼 수 있다. 오른쪽 패널에서는 친절하게도 사용법에 대한 설명을 해 주고 있다.
<그림11-174. 보안 구성 도구 3>
보안 구성 데이터베이스를 생성해야 한다. ‘보안 구성 및 분석’에서 마우스 오른쪽 클릭하여 ‘데이터 베이스 열기’를 선택한다.
<그림11-175. 보안 구성 도구 4>
인터페이스가 조금 맞지 않는다는 생각이 든다. 새로운 데이터베이스를 만드는 것이기에 ‘파일이름’상자에 원하는 데이터베이스 파일 이름을 직접 입력하고 [열기]를 누른다. 예제에서는 test.sdb 라고 입력했다.
<그림11-176. 보안 구성 도구 5>
다음은 템플릿 가져오기 화면이 열린다. 위에서 생성하는 test.sdb 데이터베이스 파일에 연결할 템플릿을 선택해야 한다. 템플릿이 저장된 위치는 %Systemroot%\security\templates 폴더이다. *.inf 확장자를 가진 파일들이 보이는데 이것이 기본제공되는 템플릿 파일들이다.
<그림11-177. 보안 구성 도구 6>
basic으로 시작하는 파일은 Windows Server 2003을 처음 설치했을 때 가지는 기본보안설정을 담은 템플릿이다. 보안을 한단계 올리고 싶다면 secure로 시작하는 파일을, 제공되는 템플릿중의 최상위 보안을 구성하려면 hisec로 시작되는 템플릿 파일을 선택한다. 파일이름의 끝에 있는 dc, sv, ws 등의 이름은 각각 도메인 컨트롤러(dc), 서버(sv), 워크스테이션(ws)등을 나타내는 표기이다. 도메인 컨트롤러라면 dc를 일반서버라면 sv나 ws를 선택한다. 어떤 것을 선택할 것인가보다는 일단 이 툴의 사용법을 잘 익혀두자. 예제에서는 hisecws.inf를 선택했다. [열기]를 누른다.
<그림11-178. 보안 구성 도구 7>
처음 화면과 달라진게 없는 것 처럼 보인다. 다시 ‘보안 구성 및 분석’을 마우스 오른쪽 클릭하면 ‘지금 컴퓨터 분석’과 ‘지금 컴퓨터 구성’이라는 메뉴가 보인다. ‘지금 컴퓨터 구성’을 클릭하여 실행하면 불러온 템플릿 파일인 hisecws.inf 파일의 보안설정을 현재 이 시스템에 적용시키겠다는 것을 의미한다. 그렇게 되면 이 시스템의 로컬 보안정책은 템플릿의 내용대로 바뀌게 된다. 그냥 하기엔 뭔가 미심쩍어 보인다. ‘지금 컴퓨터 분석’을 누르면 현재 이 시스템에 적용되고 있는 보안정책과 템플릿의 보안정책을 비교할 수 있도록 해 준다. 좋은 옵션이다. ‘지금 컴퓨터 분석’을 실행했다.
이어서 오류로그를 저장할 파일의 위치를 입력해 준다.
<그림11-179. 보안 구성 도구 8>
[확인]을 누르니 7가지 카테고리에 대해서 보안분석을 하고 있는 화면이 나온다. 오래 걸리진 않는다.
<그림11-180. 보안 구성 도구 9>
보안분석이 끝나고 나면 각 항목마다 ‘데이터베이스 설정’과 ‘컴퓨터 설정’을 비교해 주는 화면이 보인다. 데이터베이스 설정은 템플릿의 설정을 의미하고 컴퓨터 설정은 이 컴퓨터에 현재 설정된 정책을 의미한다. 각 항목을 더블클릭하여 직접 사용자정의하는 것도 가능하다. 녹색 체크아이콘은 데이터베이스 설정과 컴퓨터설정이 일치하는 것을 보여주고, 빨간색 x 표시는 두 설정이 다른 것을 나타낸다.
<그림11-181. 보안 구성 도구 10>
이렇게 각각 항목을 차근차근 살펴서 원하는 설정을 정의한 다음 컴퓨터에 적용시키려면 그때 ‘지금 컴퓨터 구성’메뉴를 이용한다.
<그림11-182. 보안 구성 도구 11>
컴퓨터 구성을 마치고 나면 모든 아이콘이 녹색체크 표시로 바뀐 것을 보게 되는데 이것은 데이터베이스의 설정이 컴퓨터설정으로 완전히 반영되었음을 나타낸다.
<그림11-183. 보안 구성 도구 12>
이렇게 구성한 컴퓨터설정을 다른 컴퓨터에도 동일하게 적용하길 원하거나 테스트시스템에서 작업을 한 보안설정을 실제 적용시킬 서버로 옮긴다거나 할 경우를 위해서 ‘템플릿 내보내기’메뉴를 이용한다.
<그림11-184. 보안 구성 도구 13>
이렇게 해서 *.inf 파일로 저장을 하면 사용자정의된 보안템플릿이 만들어진다. 이 파일을 다른 서버에서 앞의 절차와 같은 방법으로 구성하면 해당 서버는 이 서버와 동일한 보안설정을 가지게 된다.
<그림11-185. 보안 구성 도구 14>
Windows Server 에서는 OS와 함께 기본적으로 설치되지는 않지만 관리에 도움이 되는 유용한 도구를 원본CD에서 제공하고 있다. 일반적인 관리작업에는 필요하지 않을 수 있지만 조금 더 깊은 내용을 공부하고자 한다면 설치할 필요가 있다.
‘원본CD-Support-Tools-Setup.exe’를 통해서 설치한다.
<그림11-186. Support tools 설치>
설치를 하고 나면 ADSI Edit, Replication Monitor, SNMPutil, Netdiag.exe 등 여러가지 유용한 툴들과 그들의 사용법에 대한 도움말을 얻을 수 있다. 기본적인 설치위치는 \Program files\Support Tools이다. 설치후 이 폴더를 열어서 툴들을 살펴보라.
Windows NT기반의 시스템에서 무엇인가 작업을 하기 위해서는 반드시 “로그온”이라는 과정을 거쳐야만 한다. 로그온을 하면 사용자는 자신의 존재를 시스템으로부터 “인증(Authentication)”을 받게 되고 이 인증받은 자격(Security Context)으로서 시스템의 모든 작업을 진행하게 된다.
시스템 관리자들이 흔히 하는 실수가 있다. 서버룸에 서버가 있고 시스템 관리자는 사무실에서 업무를 보고 있다. 서버를 관리해야 하는 경우는 극히 일부분의 업무이고 대부분의 업무는 개인의 일상적인 업무임에도 불구하고 많은 시스템 관리자들은 자신의 데스크탑에서 시스템관리자의 계정으로서 로그온을 해 있다거나 혹은 자신의 계정이 도메인의 관리자그룹의 멤버로 되어 있다거나는 하는 경우가 많다. 이것은 보안상의 허점을 노출하게 된다. 네트워크상에서 다른 사용자들이 관리자계정을 알게 하는 등의 허점을 노출시킬 수 있으며 혹은 우습게도 관리자가 잠깐 자리를 비운 사이에 다른 사용자가 관리자의 시스템을 사용한다면 회사의 네트워크에 심각한 문제를 초래할 수도 있기 때문이다.
이것에 대해 RunAs 서비스를 이용하는 것은 관리자에게 매우 유용한 기능이라고 할 수 있다. 기본적으로 관리자라고 하더라도 일상적인 작업을 할때는 일반계정을 사용해야 한다. (관리자가 wssong 이라는 계정을 쓰는 사람이었다면 이 wssong이라는 사용자계정은 Domain Admins나 Administrators 그룹의 멤버로 만들어서는 안된다는 것이다.) 관리업무를 해야 할 필요가 있다면 그때 관리자계정으로써 새롭게 로그온을 할 것이 아니라 RunAs 서비스를 이용하여 다른 사용자계정으로서 해당 작업을 열 수가 있다. 그렇게 되면 그 작업에 한정해서만 관리자로서 작업을 하는 것이기에 보다 편하면서도 안전하게 작업을 할 수 있다.
시스템에서 이 기능을 사용하기 위해서는 RunAs서비스가 동작하고 있어야 한다. <그림11-187>에서는 RunAs서비스가 시작되어 있음을 보여준다.
<그림11-187. RunAs Service>
RunAs를 이용해서 관리도구를 실행하는 방법은 2가지가 있다. 먼저 마우스를 이용해서 접근해 보자. 예제에서는 ‘Active Directory 사용자 및 컴퓨터’를 실행하고자 한다. 이 관리도구가 있는 곳까지 마우스를 이동한 다음 키보드 [Shift]키를 누르채로 마우스 오른쪽 버튼을 누르면 ‘다음 계정으로 실행’이라는 메뉴가 활성화된다. 이 화면에서 [다음 계정으로 실행]을 누른다.
<그림11-188. GUI 환경에서 RunAs 사용 1>
‘다음 사용자 계정으로 실행’창이 열리면 하고자 하는 작업의 권한이 있는 사용자 계정과 암호를 넣어준다.
<그림11-189. GUI 환경에서 RunAs 사용 2>
다음은 명령프롬프트에서 RunAs 사용법에 대해서도 익혀보자. <그림11-200>에서 runas /?를 이용하여 사용법을 들여다 보았다. 다음에 아래와 같이 타이핑했다.
runas /user:wssong "mmc %windir%\system32\compmgmt.msc"
이것은 wssong 계정의 권한으로써 mmc 로써 compmgmt.msc (컴퓨터 관리도구)를 실행하는 것을 보여준다. 잠시후 관리도구가 실행되고 해당 관리도구를 닫는 순간 RunAs를 이용한 Secondary logon 권한은 없어진다.
<그림11-190. 명령프롬프트에서 RunAs 사용>
Net.exe는 명령프롬프트에서 사용되는 도구로써 둘째가라면 서러워할만큼 자주 사용되는 도구이다. 옵션도 다양하여 상당히 많은 작업을 이 도구를 통해서 해낼수가 있다.
D:\>net (net 명령어에 대해서 알아본다.) 이 명령에 대한 구문: NET [ ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE | GROUP | HELP | HELPMSG | LOCALGROUP | NAME | PAUSE | PRINT | SEND | SESSION | SHARE | START | STATISTICS | STOP | TIME | USE | USER | VIEW ] D:\>net help use (net use의 사용법을 물어본다.) 이 명령에 대한 구문: NET USE [장치이름| *] [\\컴퓨터이름\공유이름[\볼륨] [암호| *]] [/USER:[도메인이름\]사용자이름] [/USER:[점있는 도메인이름\]사용자이름] [/USER:[사용자이름@점있는 도메인이름] [[/DELETE] | [/PERSISTENT:{YES | NO}]] NET USE {장치이름 | *} [암호 | *] /HOME NET USE [/PERSISTENT:{YES | NO}] NET USE는 컴퓨터를 공유되는 리소스에 연결시키거나 연결을 끊습니다. 옵션 없이 사용될 경우에는 해당 컴퓨터의 연결 상태를 열거해 줍니다. 장치이름 리소스에 연결시킬 이름을 설정하거나 연결을 끊을 장치를 지정합니다. 장치는 두 종류인데 하나는 디스크 드라이브 (D: 에서 Z:까지)이고 다른 하나는 프린터(LPT1: 에서 LPT3:까지 )입니다. 다음 차례의 사용 가능한 장치이름를 지정하고 싶을 경우 특정 장치이름 대신 *를 치면 됩니다. \\컴퓨터이름 공유 리소스를 제어하는 컴퓨터의 이름입니다. 컴퓨터이름에 공백이 있을 경우, \\(두개의 백슬래시)와 컴퓨터 이름을 인용부호(" ") 안에 넣어줍니다. 컴퓨터이름은 1에서 15자 까지 쓸 수 있습니다. \공유이름 공유되고 있는 리소스의 네트워크이름입니다. \볼륨 서버상의 NetWare 볼륨을 지정합니다. NetWare 서버에 연결되기 위해서는 NetWare용 클라이언트 서비스(Windows 워크스테이션) 혹은 NetWare용 게이트웨이 서비스(Windows 서버)가 설치되어 실행되고 있어야 합니다. 암호 공유 리소스에 연결하는 데 필요한 암호입니다. * 암호를 칠 수 있는 프롬프트 상태를 만들어줍니다. 암호 프롬프트 에서는 암호를 쳐도 암호가 보이지 않습니다. /USER 연결에 사용할 다른 사용자 이름을 지정합니다. 도메인이름 다른 도메인을 지정합니다. 도메인을 생략하면 현재 로그온 되어있는 도메인이 사용됩니다. 사용자이름 로그온할 때 쓸 사용자이름을 지정합니다. /HOME 사용자를 홈 디렉터리에 연결시킵니다. /DELETE 네트워크 연결을 취소시키고 영구 연결 목록에서 연결을 삭제 합니다. /PERSISTENT 영구적인 네트워크 연결의 사용을 제어합니다. 기본 설정은 이전에 사용된 설정입니다. YES 이루어진 연결을 저장하여 다음 번 로그온시 연결을 복원합니다. NO 이루어진 연결 혹은 후속 연결을 저장하지 않습니다. 기존의 연결은 다음번 로그온시 복원됩니다. 영구 연결을 제거하려면 /DELETE 스위치를 사용합니다. NET HELP 명령 | MORE은 도움말을 한번에 한 화면씩 보여줍니다. D:\>net help use >>d:\netuse.txt (net use의 사용법을 화면에 디스플레이 하지 말고 d:\netuse.txt파일로 저장하라는 명령이다. >>는 명령을 파일로 Redirection해 주는 역할을 한다.) D:\>notepad d:\netuse.txt (메모장을 사용해서 저장된 파일을 열어본다.) |
D:\>net use (클라이언트로서 현재 다른 서버에 연결된 정보를 보여준다.) 새 연결 정보가 저장됩니다. 목록에 항목이 없습니다. D:\>net use \\redapple\ipc$ /user:wssong (redapple 서버에 wssong 이라는 계정을 이용해서 세션을 맺고 있다.) \\redapple\ipc$에 대한 암호나 사용자 이름이 잘못되었습니다. \\redapple\ipc$에 대한 암호를 입력하십시오: 명령을 잘 실행했습니다. D:\>net view \\redapple (redapple 이라는 이름의 서버의 공유자원을 보여달라는 명령) \\redapple의 공유 리소스 공유 이름 종류 다음으로 사용 설명 -------------------------------------------------------------------------- icons Disk source Disk 명령을 잘 실행했습니다. D:\>start \\redapple (blueapple서버로의 연결을 시도하고 있다.) <그림11-201> D:\>net use (다시 net use를 실행하니 위에서 연결한 정보를 보여주고 있다.) 새 연결 정보가 저장됩니다. 상태 로컬 원격 네트워크 --------------------------------------------------------------------------- OK \\redapple\ipc$ Microsoft Windows Network 명령을 잘 실행했습니다. D:\>net use t: \\redapple\icons (로컬 T:에 blueapple의 work 공유폴더를 매핑시키고 있다) 명령을 잘 실행했습니다. D:\>t: T:\>dir/w (로컬자원처럼 보이지만 실제로는 blueapple의 work공유폴더의 자원을 보여준다) T 드라이브의 볼륨: ADserver 볼륨 일련 번호: 649F-4C9B T:\ 디렉터리 [.] [..] 010100100504SM.zip 100-0019_IMG copy.jpg 100-0020_IMG copy.jpg 100-0030_IMG copy.jpg [2000SETUP] 5.DNS.doc [ex2000] Image1.psp Image2.psp schema.doc [SEcTools] [terminal] test.sdb yongha_name.jpg 14개 파일 15,144,284 바이트 7 디렉터리 3,940,126,720 바이트 남음 T:\>c: C:\>net use 새 연결 정보가 저장됩니다. 상태 로컬 원격 네트워크 ---------------------------------------------------------------------------OK T: \\redapple\icons Microsoft Windows Network OK \\redapple\ipc$ Microsoft Windows Network 명령을 잘 실행했습니다. C:\>net use t: /d (로컬 t:의 연결을 끊는 명령) t:이(가) 제거되었습니다. C:\>net use 새 연결 정보가 저장됩니다. 상태 로컬 원격 네트워크 --------------------------------------------------------------------------- OK \\redapple\ipc$ Microsoft Windows Network 명령을 잘 실행했습니다. C:\>net send bluexp "Send 메시지를 테스트하고 있습니다. 나 누구게?" (네트워크에서 bluexp라는 이름을 찾아서 “ “ 안의 메시지를 전송한다) BLUEXP에 메시지를 보냈습니다. <그림11-202> (bluexp에서는 위의 화면이 팝업된다. bluexp에서는 Messenger서비스가 동작하고 있어야 한다.) C:\>net user thkim 1234 /Add (서버의 디렉터리 데이터베이스에 1234라는 암호를 사용하는 thkim계정을 생성하고 있다.) 명령을 잘 실행했습니다. |
이상으로 Net.exe에 대한 몇가지 사용예를 알아보았다. 위의 예제에 있는 내용 정도는 차근차근 테스트해 보기를 권장한다. 시스템이 두대가 있다면 좋겠지만 한대만 있어도 테스트는 가능하다. 자신의 컴퓨터에 공유폴더를 몇 개 생성하고 테스트를 해 보라. 다른 옵션들은 각각 help를 참고하여 접근해 보라. 잘 안풀리는 명령어가 있다면 필자의 개인홈페이지 Q&A에 글을 올려서 같이 해결해 볼 수 있었으면 한다.
지금까지 꽤 많은 지면을 할애하여 Windows Server 의 몇가지 기능들을 알아보았다. 윈도우 서버의 전체기능을 설명하고자 하지는 않았다. 다만 사용될만한 기능들을 위주로 다룬 것이니 독자들이 미처 몰랐던 내용이 있다면 잘 정리해 두길 바란다.