http://ntfaq.co.kr/4329

윈도우 비스타 이후의 제품부터는 보안이 대단히 강력해졌다. 보안의 변경 사항 중에서 일반 사용자가 직접 느끼는 부분이 바로 UAC가 아닐까 싶다. UAC가 보안적으로 높은 수준의 서비스를 제공하는 것은 맞지만, 통신상으로 보면 UAC는 보안상의 이점을 제공하지 않는다.

 윈도우 서버 2008이 발표된 후, 새로 발표된 서버 제품들은 이러한 통신 보안에 상당한 중점을 두고 있다. 익스체인지 서버 2003에 있던 RPC over HTTP가 익스체인지 서버 2007에서는 HTTPS로 바뀐 것만 보더라도 Microsoft가 얼마나 보안에 신경 쓰고 있는지 엿볼 수 있는 부분이다. 이러한 변화에 따라 통신을 원활하게 하기 위해서 인증서 관리는 필수적이라 할 수 있다. 인증서 서버는 필요 없지만, 인증서는 필요하다. IIS 리소스 킷에서는 SelfSSL이라는 툴을 제공하고 있다. SelfSSL은 다음과 같은 옵션을 사용할 수 있다.

C:\Program Files\IIS Resources\SelfSSL>selfssl /?
Microsoft (R) SelfSSL Version 1.0
Copyright (C) 2003 Microsoft Corporation. All rights reserved.

Installs self-signed SSL certificate into IIS.
SELFSSL [/T] [/N:cn] [/K:key size] [/S:site id] [/P:port]

/T               Adds the self-signed certificate to "Trusted Certificates"
                 list. The local browser will trust the self-signed certificate
                 if this flag is specified.
/N:cn            Specifies the common name of the certificate. The computer
                 name is used if not specified.
/K:key size      Specifies the key length. Default is 1024.
/V:validity days Specifies the validity of the certificate. Default is 7 days.
/S:site id       Specifies the id of the site. Default is 1 (Default Site).
/P:port          Specifies the SSL port. Default is 443.
/Q               Quiet mode. You will not be prompted when SSL settings are
                 overwritten.

The default behaviour is equivalent with:

selfssl.exe /N:CN=

예를 들어, TEST.NTFAQ.CO.KR의 인증서를 2048비트 암호화를 통해 1년짜리 인증서를 만들고 싶다면 다음과 같이 하면 된다.

C:\Program Files\IIS Resources\SelfSSL>selfssl /T /N:CN=TEST.NTFAQ.CO.KR /K:2048 /V:365
Microsoft (R) SelfSSL Version 1.0
Copyright (C) 2003 Microsoft Corporation. All rights reserved.

Do you want to replace the SSL settings for site 1 (Y/N)?y
The self signed certificate was successfully assigned to site 1.

이렇게 생성된 인증서는 로컬 컴퓨터에 개인용 인증서로 설치된다.

응용 프로그램 인증에 사용되는 코드 서명용 인증서는 Microsoft Office를 설치하면 함께 제공되는 SelfCert.exe를 사용하면 된다. SelfCert는 SelfSSL보다 간단하여 생성할 인증서 이름만 넣으면 된다.

이러한 과정 모두 거치면 서버 인증용 인증서와 응용 프로그램 서명을 위한 코드 서명 인증서를 얻을 수 있다.

  하지만, 이렇게 설치하고 난 뒤 다른 컴퓨터에서 접속을 하면 인증서가 올바르지 않다며 접속을 거부하는데, 이는 접속하는 곳의 인증서를 신뢰된 곳에서 찾을 수 없기 때문이다. 따라서, 해당 인증서를 신뢰할 수 있도록 내보내기 한 후에 인증서가 설치되지 않은 컴퓨터에서 신뢰할 수 있도록 등록시키면 인증서 오류는 해결된다.

공인 인증서를 구입해서 사용하는 것이 가장 좋지만, 비용적인 측면을 생각하면 테스트 환경에서의 공인 인증서 사용은 그다지 환영 받을 수 없다. 인증서 서버를 자체적으로 구축할 수 있다면 좋겠지만, 소규모 서버를 운영하는 경우나 테스트 환경에서는 인증서 서버를 운영하는 것도 공인 인증서를 발급 받는 것 만큼이나 상당한 비용을 요구한다.

 이제는 보안을 위해 반드시 필요한 것이 인증서. 보안 문제를 해결하기 위해 사설 인증서의 사용은 적절한 방법이지만, 사설 인증서의 사용은 인증서 배포 및 설치라는 문제가 따르므로 어느 것이 더 나을지는 환경에 따라 선택하기 바란다.

'Infrastructure' 카테고리의 다른 글

리눅스 응용프로그램 자동 부팅 하게 하는 법  (0) 2009.09.03
공개 웹방화벽(WebKnight) 기술문서 정리  (0) 2009.08.27
TRAC  (0) 2009.08.19
SVN  (0) 2009.08.18
퍼미션  (0) 2009.08.14

+ Recent posts