달력

11

« 2024/11 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
2008. 11. 20. 18:46

10-1.Internet Information Server (IIS) Windows Networking2008. 11. 20. 18:46

 

웹서버라고 하면 (Web)서비스를 제공하는 컴퓨터가 되겠다. 이러한 웹서버로 가장 많이 구현되는 2가지가 있는데 바로 윈도우즈기반의 IIS서버와 유닉스(리눅스)기반의 아파치 서버이다. 마이크로소프트가 자사의 Windows 계열의 서버제품군에서 제공하는 IIS (Internet Information Server)는 웹서비스 하나로만 이루어진 것은 아니다. 실제로는 FTP (File Transfer Protocol)서버, NNTP (Network News Transfer Protocol)서버, SMTP (Simple Mail Transfer Protocol)서버, 그리고 마지막으로 WWW (World Wide Web)서버, 이렇게 몇가지의 서비스가 묶여서 하나의 IIS라는 제품을 구성하고 있다.


<그림10-1. IIS의 하위 구성요소>

 

IIS가 지금의 모양새를 가진 것은 NT Server 4.0 에서 추가로 설치하게 되는 NT Option Pack 이라는 이름으로 발표된 패키지에 포함된 IIS 4.0 버전부터이다. Windows 2000에서는 IIS 5.0이 기본설치되며, 윈도우 서버 2003에서는 IIS 6.0을 제공하면서 버전업되고 있다.

 

IIS에 포함된 각각의 서비스들에 대해서 간단히 정리를 해 보자.


l  FTP (File Transfer Protocol)서버 : 파일을 주고 받을 때 사용하는 서버.

l  NNTP (Network News Transfer Protocol)서버 : Outlook Express와 같은 뉴스 읽기 프로그램을 사용하여 뉴스그룹을 이용할 수 있도록 뉴스그룹게시판을 서비스하는 서버.

l  SMTP (Simple Mail Transfer Protocol)서버 : 전자메일을 발송하는 서버.

l  WWW (World Wide Web)서버 : 웹페이지를 호스팅 하는 서버.

 

한가지 확실한 것은 IIS의 전체 옵션을 체크하여 전체설치를 하게 되면 그만큼 성능도 떨어질 뿐더러 보다 열악한 보안의 위험에 노출되게 된다는 점을 명심하자. 반드시 필요한 서비스만 동작할 수 있도록 해야 한다. 이 점에 대해서는 이 장의 마지막에서 자세히 설명하도록 한다.

:
Posted by 새벽예찬

 

흔히들 착각하는 것중의 하나가 전자메일 메시지는 안전하다라는 생각이다. 하지만 아쉽게도 전자메일로 날아다니는 수많은 정보들은 암호화가 되지 않은 깨끗한 상태로 전송이 된다. 중요한 메시지를 전송하고 있다면 이러한 점을 고려해야 한다. PKI는 보안 전자메일을 위해서 2가지 기능을 제공한다. 첫번째는 메시지 암호화이며, 두번째는 발신자의 신원증명이다.

 

3PKI에서 설명한 기본개념을 그대로 적용시켜 보면 된다. 앨리스가 밥에게 보안 전자메일을 보내고자 한다면? 먼저 할 일은 앨리스는 밥의 공용키를 구하는 일이다. 이 공용키에 신뢰성을 부여하는 작업은 인증기관(CA)’이 해 줄 것이다. 결국 앨리스는 밥의 공용키가 포함된 인증서를 구하면 되는 것이다. 이번엔 alice@secure.pe.kr 메일계정을 사용하는 앨리스가 밥에게 메일을 보냈는데, 밥은 메일 메시지의 From 헤더에 찍힌 정보를 확인해서 alice@secure.pe.kr 가 보낸 메일이라는 것은 확인할 수 있지만 정말 앨리스가 보낸 것이 맞는지에 대한 신뢰를 할 수가 없다. 사실 스팸메일이 극성을 부리고 있고 그러한 스팸메일의 발신자는 전혀 엉뚱한 사이트의 전자메일 주소가 찍혀있는 경우가 허다하다. 언뜻 봐서는 스팸메일이라고 판단하기 어려울 정도의 메일들을 받는 것은 너무나 흔한 일중의 하나이다. 앨리스는 밥에게 메일을 보낼 때 전자서명(Digital Sign)’을 해서 보내고 싶다. 앞에서 전자서명은 자신의 개인키로써 암호화하는 과정이라고 설명하였다. 앨리스가 서명한 메일을 받은 밥은 앨리스의 공용키로써 해독을 하게 되고 진짜 앨리스가 보낸 메일이라는 확인이 가능하다.

 

이러한 것들을 구현하기 위해서는 어떻게 접근을 해야 하는지 예제를 통해서 설명하도록 하겠다. 예제에서는 apple 메일계정을 사용하는 사용자가 wonsuk 메일계정을 사용하는 사람에게 전자메일을 보내려 하고 있다. apple 은 자신이 보내는 메일 메시지에 전자서명을 해서 상대방에게 신뢰해도 좋다는 표시를 하고 싶다. 먼저 할일은 인증서를 발급받는 작업이다. 예제는 상업용CA를 서비스하고 있는 베리사인(http://www.verisign.com)”으로부터 Trial Certificate를 발급받는 것부터 시작된다. 한국전자인증(http://www.crosscert.com)등의 사이트에서 60 Trial version 인증서를 발급받을 수 있다.


<그림9-10. 인증서 발급요청 1>


Verisign
E-mail 인증서 발급 웹사이트에서 60일간 사용할 수 있는 “Trial ID”를 받고자 한다.

 


<그림9-11. 인증서 발급요청 2>

인증서에 포함될 정보를 제공해 주어야 한다. Name=”Wonsuk Song”, E-mail Address=apple@secure.pe.kr, 나머지 사항은 당장은 중요하지 않다. 정보를 입력하고 [다음]으로 진행한다.


<그림9-12. 인증서 발급요청 3>

E-mail로 인증서를 전송하였다는 메시지를 보여준다. 잠시후 apple@secure.pe.kr 의 메일주소로 베리사인으로부터 인증서가 전송되어 올 것이다.

<그림9-13. 인증서 발급요청 4>

 

apple@secure.pe.kr 전자메일로 인증서가 발급되었음을 알리는 메일이 왔다. 메시지의 [Continue]링크를 클릭하여 인증서를 받기 위해 이동한다.


<그림9-14. 인증서 발급요청 5>

다시 베리사인의 웹사이트에 접속하였다. Digital ID가 발급되었고, 인스톨 할 수 있는 화면이다. [INSTALL]버튼을 클릭한다.


<그림9-15. 인증서 발급요청 6>

설치가 되었다. 인터넷 익스플로러-도구-인터넷 옵션을 클릭한다.


<그림9-16. 인증서 발급요청 7>

인터넷옵션의 내용탭을 열고 [인증서]버튼을 클릭해서 인증서를 확인한다.


<그림9-17. 인증서 발급요청 8>

Verisign으로부터 Wonsuk Song에게 발급된 인증서가 있는 것을 보여준다. [보기]를 눌러서 인증서를 확인해 보자.


<그림9-18. 인증서 발급요청 9>

인증서의 일반탭에서는 인증서의 용도가 전자메일 보호’ ‘원격 컴퓨터에 사용자의 신분을 증명이라는 용도가 기록되어 있다. 발급대상은 Wonsuk Song 이고, 발급자는 Verisign Class 1 CA 임을 알 수 있다.


<그림9-19. 인증서 발급요청 10>

자세히탭을 눌러 보니 이번에는 또 다른 여러가지 정보를 보여주고 있다. 다 빼놓을 수 없는 정보이긴 하지만 중요한 정보는 주체에 담겨있는 정보이다. apple@secure.pe.kr 에게 발급되었음을 보여준다. 바로 아래의 공개키를 보면 RSA프로토콜 1,024비트라는 표기가 되어 있다. 인증서에 저장된 apple@secure.pe.kr의 공개(공용)키이다.


<그림9-20. 인증서 발급요청 11>

마지막으로 인증경로탭을 열어보니 인증기관에 대한 정보를 보여주고 있다. 이것은 인증서에 인증기관이 서명을 했음을 보여주는 것이다. 인증기관의 이름을 클릭하고 [인증서 보기]버튼을 누르면 인증기관의 인증서를 확인할 수 있다.

 

이제 apple@secure.pe.kr 은 외부CA로부터 전자메일용 인증서를 발급받았다. 또한 자신의 컴퓨터에는 인증서에 저장된 공용키와 한쌍이 되는 개인키가 저장되어 있다. 이제 apple 은 메일을 전송할 때 전자서명을 할 수 있게 되었다. 전자서명을 해서 메일을 보내보도록 하자.


<그림9-21. 전자서명된 메일 전송 1>

Outlook Express를 이용해서 메일 메시지를 작성하고 있다. 메시지를 작성한 다음 전자서명을 하기 위해 도구메뉴à디지털서명을 클릭했다.


<그림9-22. 전자서명된 메일 전송 2>

보낸 사람 메일주소 오른편에 빨간색으로 인증서 표시가 보인다. 전자서명을 이용하겠다는 것이다. 메일을 보내기 위해서 [보내기]버튼을 눌렀다.


<그림9-23. 전자서명된 메일 전송 3>

전자서명은 개인키로 암호화하는 과정을 일컫는 말이라고 한 바 있다. 전자서명을 하기 위해 개인키를 이용하겠다는 화면이 나왔다. [확인]을 눌러 계속 진행하면 메일이 전송된다.


<그림9-24. 전자서명된 메일 전송 4>

wonsuk 의 계정으로 메일이 도착했다. 미리보기 창에서 메시지에 전자서명이 되어 있음을 가르쳐 준다. 전자서명된 메시지는 메일 상대방의 신원을 증명해 준다는 문구를 찾을 수 있을 것이다. 메시지중 아래의 [Continue]를 클릭하면 메시지를 확인할 수 있다.


<그림9-25. 전자서명된 메일 전송 5>

apple@secure.pe.kr 로부터 전송된 메일을 확인할 수 있다. Security 항목을 보니 “Digitally signed and verified”라는 메시지가 보인다. 아무런 문제가 발생하지 않았다. apple@secure.pe.kr 가 사용한 인증서(디지털ID)를 발행한 Verisign이 신뢰된 인증기관(CA)이므로 받는 사람측에서는 정상적으로 확인이 가능했던 것이다.

 

다음 작업은 Wonsuk Apple 에게 보내는 메일 메시지를 암호화해서 보내는 과정을 예제로 설명한다. wonsuk먼저 apple 의 공용키를 얻어야 한다. 즉 디지털 ID (인증서)를 구해야 한다는 것이다. 앞에서 wonsuk apple 로부터 인증서가 포함된 메일을 받은 적이 있으므로 주소록을 확인하면 apple의 메일주소를 찾을 수 있고, 거기에는 이미 인증서가 있음을 알 수 있다. 이 인증서를 통해서 암호화된 메일을 전송할 수 있다.

 


<그림9-26. 암호화된 메일 전송1>

Wonsuk은 새로운 메일을 작성하고 있다. 받는사람을 선택하기 위해서 주소록을 열었더니 거기에는 Apple 메일주소가 등록되어 있었다. 일전에 메일을 받은적이 있었기 때문이다. Apple이 메일을 보낼 때 전자서명을 해서 보냈기 때문에 Apple의 디지털ID(인증서)도 가지고 있는 상태이다. Apple에게 메일을 보내기 위해 받는사람에 apple@secure.pe.kr 을 추가했다.


<그림9-27. 암호화된 메일 전송2>

메시지에 암호화를 하기 위해 도구메뉴-암호화(Encrypt)를 선택했다. 이제 보내기버튼을 누르면 Apple의 공용키로 암호화된 메시지는 중간에 제3자가 해독하지 못하고 오직 Apple만이 자신의 개인키로 해독해서 읽을 수가 있다.

하지만 위와 같은 형태로 암호화 메일을 보내기 위해서는 먼저 Apple이 전자서명된 메일을 보냈다는 것을 조건으로 하고 있다. 그렇지 않고 Wonsuk이 먼저 Apple에게 메일을 보내는데 메시지를 암호화하고자 한다면 어떻게 할까? 당연히 Apple의 공용키를 구해야 한다. 그렇지 않고서 암호화된 메일을 보낼 수는 없는 것이다. 역시 주소록에서 [찾기]기능을 이용하여 검색을 하는 것이 가능하다.


<그림9-28. 암호화된 메일 전송3>

받는사람을 선택하기 위해 주소록을 열었지만 상대방의 주소를 찾을 수가 없었다. <그림9-28> [찾기]버튼을 클릭한다.


<그림9-29. 암호화된 메일 전송4>

찾는위치를 ‘Verisign 인터넷 디렉터리 서비스로 바꾼 다음 전자메일 창에 메일을 보내고자 하는 상대방의 인증서를 찾기 위해 ‘apple@secure.pe.kr’라고 입력하고 [지금 찾기]버튼을 클릭했다. 그랬더니 잠시후 검색된 결과를 보여준다. Verisign에서 발행한 인증서를 찾아낸 것이다. [주소록에 추가]버튼을 클릭했다.


<그림9-30. 암호화된 메일 전송5>

Outlook Express 메일 클라이언트 프로그램의 주소록에 추가될 상대방의 정보를 입력한다. 마지막에 있는 디지털ID’탭을 클릭한다.


<그림9-31. 암호화된 메일 전송6>

디지털ID탭을 클릭하니 Wonsuk Song (기본값)이라는 목록이 보인다. [속성]을 클릭한다.


<그림9-32. 암호화된 메일 전송7>

인증서를 확인할 수 있다. Verisign Class 1 CA로부터 Wonsuk Song 에게 인증서가 발급되었음을 알 수 있고, 현재 인증서 상태는 올바른 인증서입니다.’라고 되어 있다.


<그림9-33. 암호화된 메일 전송8>

이제 상대방의 인증서를 구했으니 암호화된 메시지를 전송할 수 있게 되었다. 도구-암호화를 선택하여 메시지를 암호화하도록 설정한 다음 메시지를 전송하기 위해 [보내기]를 클릭했다.


<그림9-34. 암호화된 메일 전송9>

에러메시지처럼 보이는데 그렇지는 않다. 이 메일 메시지는 암호화된다. 해독할 수 있는 사람은? 당연히 Apple이다. Apple은 자신이 가진 개인키를 이용해서 암호문을 해독할 것이다.

이 메시지는 전송하고 나면 보낸편지함에서 이 메시지를 읽을 수 없다는 것을 설명하고 있다. 자신이 보낸 메시지를 자신이 보지 못한다는 것이 어폐가 있어보이긴 하지만 필자는 해결할 방법을 찾지 못했다. 한편으로는 오히려 보안상 확실한 방법이라는 생각도 든다. 메일을 받은 Apple쪽에서는 어떻게 보이는지 살펴보자.


<그림9-35. 암호화된 메일 수신1>

Apple의 컴퓨터에서 메일프로그램을 열고 wonsuk으로부터 온 메일에 접근하자 개인키에 액세스하겠다는 메시지를 보여준다. 메일 메시지는 Apple의 공용키로 암호화되었다는 것을 상기하자. 당연히 해독하기 위해서는 Apple의 개인키가 필요하다. 그러한 메시지이다.


<그림9-36. 암호화된 메일 수신2>

화면에서 메일의 상태를 잘 설명해 주고 있다. 암호화가 되었고 다른 사람이 읽지 않았음을 나타낸다는 문구를 찾을 수 있다. 메일을 읽기 위해서는 [계속]을 누른다.


<그림9-37. 암호화된 메일 수신3>

메일을 읽을 수 있었다. 복호화가 이루어진 것이다. 보안의 상태가 암호화가 되었음을 나타낸다.

이번에는 확실하게 이해하기 위해 2가지를 동시에 사용해 보자. Wonsuk은 자신의 회사에 있는 내부CA로부터 받은 인증서를 이용하여 자신의 인증서로 서명되고, 또한 Apple의 공용키로 암호화된 메시지를 Apple에게 전송하고자 한다. 먼저 Secure.pe.kr CA라는 이름의 내부CA로부터 전자메일 보안을 위한 인증서를 발급받는 과정부터 시작된다.


<그림9-38. 보안메일 전송1>

인터넷 익스플로러를 열고 인증기관 서비스에 연결해 주는 웹서버에 접근했다.

 

http://ca.secure.pe.kr/certsrv URL을 입력하니 인증서 요청 화면이 열린다. Request a Certificate를 선택하고 [Next]를 누른다.


<그림9-39. 보안메일 전송2>

User Certification request 항목에서 E-mail Protection Certificate를 선택하고, [Next]버튼을 눌렀다.


<그림9-40. 보안메일 전송3>

인증서에 사용될 이름, 전자메일, 회사 등의 정보를 입력한 다음 [제출]을 누른다.


<그림9-41. 보안메일 전송4>

인증서가 발급되었다. Install this certificate 링크를 클릭하여 인증서를 컴퓨터에 설치한다.


<그림9-42. 보안메일 전송5>

확인하기 위하여 인터넷익스플로러-도구-인터넷옵션-내용탭-인증서를 클릭한다.


<그림9-43. 보안메일 전송6>

Secure.pe.kr CA로부터 원석에게 발급된 인증서를 확인할 수 있다.


<그림9-44. 보안메일 전송7>

이제 이 인증서를 이용해서 전자서명을 할 수 있게 되었다. 메일의 상대방인 Apple의 인증서로 메시지를 암호화하고, Wonsuk의 인증서로 전자서명을 하도록 2가지를 모두 선택하고 [보내기]를 눌러 메일을 전송하였다.


<그림9-45. 보안메일 전송8>

메일을 받은 Apple측에서 메시지를 열었을 때 보이는 화면이다. ‘디지털 서명되고 암호화된 메시지라는 정보를 보여주는데, 하이라이트된 부분을 보면 디지털 ID서명을 신뢰할 수 없습니다.’라고 되어 있다. [계속]버튼을 클릭한다.


<그림9-46. 보안메일 전송9>

보기에도 음침해 보이는 화면을 보여준다. 보안문제를 경고하고 있는데, ‘이 메시지에 사용된 디지털ID를 신뢰할 것인지 여부를 결정하지 않았습니다.’라는 내용이 굵은 글씨체로 되어 있다.

 

Wonsuk Secure.pe.kr CA로부터 인증서를 받아서 전자서명을 했는데 이 Secure.pe.kr CA가 내부CA이므로 Apple의 컴퓨터에서는 Secure.pe.kr CA가 신뢰할 수 있는 CA의 목록에 없기 때문에 이런 경고가 발생한 것이다. 아래쪽의 [디지털 ID 보기]를 눌러보았다.


<그림9-47. 보안메일 전송10>

발급자와 발급대상을 볼 수 있는데 인증서 정보는 완전하지 않다는 것을 알 수 있다.

 

 


<그림9-48. 보안메일 전송11>

<그림9-46>의 화면에서 [메시지 열기]버튼을 누르면 경고를 무시하고 메시지를 열어서 볼 수 있다. 또한 [신뢰편집]을 눌러서 인증서를 신뢰함으로 설정을 해 주면 다음부터는 이 인증서에 대해서 보안경고를 발생시키지 않는다.

 

이상으로 보안 전자메일에서 PKI가 어떻게 사용되는지 알아보았다. 위의 순서를 따라서 직접 구현해 볼것을 권장한다. 눈으로 보는 것은 금새 잊혀진다. 솔직히 이것은 상당히 번거로운 작업이 아닐 수 없다. 그런 이유로 몇몇 업체에서는 대칭키를 이용한 전자메일 보안에 관한 솔루션을 내놓고 사용하기도 하는데 이러한 것들을 통해서 우리는 데이터 보호, 보안 이라는 분야가 업계에서 점점 더 필요성이 커져 가고 있다는 사실을 짐작해 볼 수 있을 것이다. 개념적인 부분은 잘 익혀두고 관심을 가져보길 권하며 이번 장을 마친다.

:
Posted by 새벽예찬
2008. 11. 20. 12:55

9-1. 인증기관(CA) Windows Networking2008. 11. 20. 12:55

 

윈도우 서버 2003을 이용하여 인증기관(CA)을 만들 수 있다. 이 인증기관에서는 인증서를 필요로 하는 서버나 클라이언트에게 인증서를 발급하고 인증한다. 3장에서 이러한 내부CA상업적인 목적의 사용이라는 측면에서는 완전하지 못하다는 설명을 한 바 있지만, 회사 내부적인 목적의 사용이라면 당연히 비싼 돈을 들여서 외부의 CA를 이용할 이유가 없다. 다만 신뢰성이 떨어진다는 측면만 고려하면 되는 것이었다. 여기서 말하는 신뢰성이라고 하는 측면은 클라이언트가 자신이 접속하고자 하는 서버로부터 인증서를 받았을 때 이것을 신뢰할 것인지의 여부에 달려있다. 회사의 네트워크 환경에서는 모든 클라이언트 컴퓨터의 신뢰할 수 있는 인증기관의 목록에 회사 내부에서 구성한 CA를 추가시켜 주면 해결된다. 기업에 Active Directory 환경을 구성하면 자동으로 클라이언트들의 목록에 내부CA의 목록이 추가된다. 또한 그룹정책을 사용하여 목록을 클라이언트들에게 일괄적으로 배포하는 작업도 가능하다. 뒤에서 Active Directory에 대해서는 자세히 설명하기로 한다.

 

또 다른 측면은 윈도우 서버 2003에 상업용 외부CA에 대한 자식CA를 구성하는 방법이 있다. 상업용외부 CA로부터 인증서를 발급받은 후 자신이 하부CA로서 클라이언트에게 인증서를 발급하도록 구성 할 수도 있다. 그렇다면 윈도우 서버2003 CA는 더 이상 내부CA라고만 하기에는 어렵다. 외부CA처럼 자신이 발급하는 인증서는 제3의 클라이이언트들이 신뢰할 수 있기 때문이다.

 

윈도우 서버 2003 CA서비스는 크게 2가지, 또 거기서 다시 2가지로 세분화된다. 먼저 엔터프라이즈CA와 독립실행형 CA로 나눌 수가 있고, 이것은 각각 루트CA와 하위CA로 세분화된다. 엔터프라이즈CA와 독립실행형 CA를 구분하면 이것은 Active Directory의 유무를 근거로 판단할 수 있다. 엔터프라이즈CA를 구성하기 위해서는 Active Directory가 있어야 한다. 그밖의 경우는 독립실행형CA를 사용할 수 있다. 웹서버에서 SQL서버 데이터베이스에 저장된 사용자들에게 인증서를 발행해야 한다면 그때는 독립실행형CA를 사용해야 한다. 예제에서는 독립실행형CA를 구축해 보도록 하자.

 


<그림9-1. 독립실행형 인증기관(CA)설치 1>

제어판à프로그램추가/제거àWindows구성요소à인증서서비스를 체크하고 [다음]을 누른다.


<그림9-2. 독립실행형 인증기관(CA)설치 2>

인증서서비스를 설치하면 컴퓨터의 이름을 바꾸거나 도메인의 멤버가 되는 등의 작업은 할 수가 없다. 그럴 필요가 있다면 그것은 CA서비스를 제거한 후에나 가능한 일이다.


<그림9-3. 독립실행형 인증기관(CA)설치 3>

인증기관 종류 화면에서는 윈도우 서버 2003이 지원하는 4가지의 인증기관 종류를 보여준다. 필자의 테스트 환경에서 이 컴퓨터는 도메인 컨트롤러이고 현재 작업을 하는 사용자는 도메인의 관리자였다. 만일 당신의 테스트환경이 독립실행형 서버라면 엔터프라이즈 CA”를 구성하는 옵션을 비활성화된다. 웹서버를 위한 인증서 발행을 목적으로 인증기관을 설치하고 있다면 세번째 메뉴인 독립 실행형 루트 CA’를 선택한다.


<그림9-4. 독립실행형 인증기관(CA)설치 4>

‘CA확인정보화면에서는 인증기관의 정보를 입력해 준다. CA의 공통이름(Common Name; CN)정보가 앞으로 자신이 발행할 인증서에 표기되는 정보이니 정확히 입력해야 한다. 예제에서는 “WindowsNetwork CA”라고 인증기관 이름을 결정하고 5년 기한의 유효기간을 설정하였다.


<그림9-5. 독립실행형 인증기관(CA)설치 5>

인증서 데이터베이스와 로그를 저장할 경로를 지정한다. 기본경로는 %WinDir%\system32\CertLog 이다.


<그림9-6. 독립실행형 인증기관(CA)설치 6>

IIS서비스를 멈추었다가 다시 시작해야 한다. 클라이언트가 인증기관에게 인증서 발급요청을 할 때 IIS를 통한 웹인터페이스를 통해서 접근하도록 이때 certsrv라는 가상디렉터리를 생성하게 된다.


<그림9-7. 독립실행형 인증기관(CA)설치 7>

설치가 진행되고 있다.


<그림9-8. 독립실행형 인증기관(CA)설치 8>

설치가 끝나면 관리도구에서 인증 기관관리콘솔을 찾을 수 있다. 실행해 보자. WindowsNetwork CA가 동작하고 있고, 해지된 인증서, 발급된 인증서, 대기 중인 요청, 실패된 요청 등의 메뉴를 볼 수 있다. 인증기관 설치가 완료되었다.


엔터프라이즈 CA가 설치되었다면 클라이언트는 인증서 관리콘솔과 웹브라우저, 이 두가지 방법을 통해서 인증서 발급요청을 할 수 있지만, 독립실행형 CA가 설치되었다면 오직 웹브라우저를 통해서만 인증서 발급요청을 할 수 있다.



<그림9-9. 인증서 발급 요청 화면>

IIS가 동작하고 있는 서버에서 인증기관이 설치되면 IIS서버의 기본웹사이트에는 %WinDir%\System32\CertSrv 를 물리적 경로로 하는 Certsrv 가상 디렉터리가 자동으로 생성된다. 인증서 발급요청을 하고자 하는 클라이언트는 http://서버의 IP 혹은 호스트이름/certsrv URL을 이용하여 인증서 발급 페이지에 연결할 수 있다. 아래의 <그림9-9>에서는http://192.168.0.16/certsrv 를 이용하여 인증서 서비스 웹페이지에 연결한 것을 보여준다.

:
Posted by 새벽예찬

 

회사 내부의 사용자계정정보, 네트워크의 각종 자원들, 이러한 정보들은 분명히 외부로부터 보호되어야 한다. 가장 좋은 방법은 회사의 네트워크를 Active Directory등을 담고 있는 내부(Internal) 네트워크와 외부로 공개해야 할 웹서버, 메일 서버, DNS서버 등을 담고 있는 외부(External)네트워크로 분리하는 방법이다.

 

추가로 인터넷에서 내부의 네트워크에 접근하기 위해 먼저 알아야 하는 컴퓨터의 주소, IP Address를 감춰야 할 필요가 있는데 이것은 DNS서버에 대한 보안을 유지함으로써 챙겨줄 수 있다. 방법은 외부DNS와 내부DNS를 구분하여 공개된 네트워크에 배치하는 외부 DNS는 웹서버, 메일서버, VPN서버등의 레코드를 가지도록 구성하며, 내부DNS Active Directory, 파일서버 등의 내부네트워크에서만 접근할 수 있도록 레코드를 구성하는 것이다. 이것은 가장 먼저 고려해야 할 간단하지만 아주 좋은 구성이라고 하겠다.

 

또한 클라이언트 컴퓨터들중 일부가 IP Address가 부족하여 어쩔 수 없이 개인네트워크의 IP Address를 사용하고 NAT서버나 프록시서버를 통해서 인터넷에 접근하도록 할 수는 있지만, 이제는 어쩔수 없는 상황이 아니라 IP Address가 충분하더라도 반드시 고려해야 할 필수적인 환경이 개인네트워크를 구성하는 것이다.

 

이러한 사항들을 토대로 구현해 본 네트워크 디자인이 아래의 <그림8-33>과 같다.


<그림8-33. ,외부 네트워크로 분리된 모습>

 

그림을 주의깊게 살펴보라. 라우터의 이더넷 포트에는 방화벽이 물려있고 이곳을 통과한 패킷들은 다시 스위치를 통하여 확장되고 있다. 스위치로 확장된 네트워크를 통하여 프록시서버(또는 파이어월), 메일서버, 웹서버, DNS서버 등을 배치하였다. 이들 4개의 서버가 물리적으로는 한대의 서버에서 구현될 수도 있다. 어디까지나 기능적인 측면이다. 이들 4개의 서버들은 공용 네트워크에 배치하였다. 역시 공인 IP Address를 가지게 된다. 여기서 내부네트워크로 들어오기 위한 관문이 프록시서버 혹은 내부 방화벽이 된다. 이 사이 구간을 가리켜서 비무장지대(D.M.Z)라고 부른다. 그리고 프록시 서버에서는 내부로 하나의 스위치로 네트워크를 확장하여 여기에 모든 클라이언트 컴퓨터를 배치하고 내부 네트워크를 구현하였다. 프록시서버를 통해서 한단계 더 걸러지는 개인네트워크를 구현한 것이다. 이것은 당연히 공용네트워크에 있는 컴퓨터들보다는 안전하다.

 

회사가 Active Directory도메인과 메일,웹서버의 도메인으로 Secure.pe.kr 이라는 도메인을 사용하고 있을 때, 외부 네트워크의 DNS서버는 secure.pe.kr이라는 영역(Zone)을 주영역으로 생성하고 외부에서 접근해야 하는 자원들, 웹서버(www), 메일서버(MX) 등의 레코드를 가지고 있어야 한다. DNS서버가 내부의 자원의 목록을 가지지 않도록 주의해야 한다. 또한 내부 네트워크의 DNS서버 역시 secure.pe.kr 영역을 주영역으로 생성하며 도메인 컨트롤러의 정보(SRV)를 포함한 내부네트워크의 모든 서버들의 정보를 담고 있어야 한다. 관리자는 이 DNS서버에 외부 네트워크에 있는 www, MX 등의 레코드들을 수작업을 통해 구성하는 것을 잊지 말아야 할 것이다. 또한 내부DNS서버가 외부DNS서버를 포워더 서버로 구성해서 내부네트워크의 클라이언트가 인터넷에 접근할 수 있도록 구성해 주어야 한다.

 

포워더 서버 구성은 내부 DNS서버에서 DNS관리콘솔을 열고 왼쪽 패널의 서버이름을 마우스 오른쪽 클릭하여 등록정보로 접근한 후, ‘전달자탭에서 구성할 수 있다.


<그림8-34. DNS 포워더 서버 구성>

 

외부네트워크와 내부네트워크의 경계 역할을 하는 프록시서버(파이어월)은 프로토콜, IP필터링을 통해서 DNS트래픽이 통과할 수 있도록 구성해 줄 필요가 있다.

 

큰 개념적인 내용은 위에서 정리한 바와 같다. 하지만 현실적으로 생각해 볼 필요가 있다. 회사가 중요하게 고려해야 할 부분이 어느것인가 하는 부분이다. 네트워크의 성능이 가장 중요한지, 보안이 가장 중요한 것인지, 아니면 비용을 줄이는 것이 가장 중요한 것인지, 관리자에게는 여기에 바로 선택의 여지를 남겨둘 것이다. 시스템관리자들에게는 가급적이면 위와 같은 네트워크 구성을 권하고 싶다. 잘 구성된 초기네트워크와 잘 설정된 방화벽의 필터규칙들은 관리자에게 네트워크의 문제점을 줄여줄 수 있는 기반이 될 수 있다.

 

보안이나 성능도 무시할 수 없지만, 위와 같은 모델을 채택하기에는 상대적으로 비용부담이 너무나 크다고 생각되었다면 기본모델을 유지하는 상태에서 조금씩 타협점을 찾아갈 수 있다. 중요한 것은 관리자가 지속적으로 흐름은 잃지 말아야 한다는 것이다. 아래에 비용이 조금 덜 들어가는 모델을 두가지 더 구성해 보았다.


<그림8-35. 멀티 홈 프록시 서버로 구성된 네트워크 환경>

 

위의 그림 역시 기본적으로 개인네트워크와 공용네트워크를 구분한 모델이다. 프록시 서버가 내부네트워크로 2가지의 연결을 가지고 있다. <그림8-33>에 비해 방화벽이 하나 줄어들었다. 성능면에서는 떨어질 수 있지만 보안 측면에서는 메일서버, 웹서버, DNS서버 등을 프록시서버 안쪽의 개인네트워크에 배치함으로써 여전히 안전성 있는 네트워크 환경을 구축하였다.


<그림8-36. 멀티 홈드 프록시 서버로 구성된 네트워크 환경>

 

<그림8-36>은 가장 간단하면서도 중소규모 회사에서는 큰 비용부담없이 검토해 볼만한 보안을 생각한 네트워크 모델이다. 프록시서버에서 Publishing(인터넷에서 개인네트워크에 접근할 수 있도록 허용해 주는 작업)을 해야 할 서버들은 메일서버, 웹서버, DNS서버(외부)이다. 내부DNS서버와 외부DNS서버가 각각 가지고 있어야 하는 레코드들에는 차이가 없다. 역시 내부DNS서버는 외부DNS서버를 포워더 서버로 지정해 주어야 하며, 내부DNS서버가 인터넷에서 감춰짐으로써 내부 자원들의 목록을 보호할 수 있는 방법을 제공한다. 중소규모 회사에서는 전혀 무방비 상태의 회사에 비한다면 한결 안전해 지는 네트워크 환경을 구성하는 것이다. 웹서버의 응답속도 등의 성능이 우선시 되어야 한다면 상대적으로 권장하지 않는 모델이다.

 

몇가지 모델을 살펴보았지만 이들은 한결같이 네트워크를 보호하고자 하는데 초점이 맞춰져 있다는 것을 알 수 있다. 회사의 여건이 어느 것을 먼저 필요로 하는지 잘 검토해 보아야 할 것이고 일단 회사의 여건에 따른 요구사항이 명확히 결정되었다면 기술적인 구현은 여러분들이 생각하는 방향대로 얼마든지 구현할 수 있을 것이다.

 

현재 대부분의 회사환경에 개인(사설) 네트워크를 도입하는 것은 선택이 아니라 필수이다.


:
Posted by 새벽예찬
2008. 11. 20. 08:59

8-4. NAT 고급기능 Windows Networking2008. 11. 20. 08:59

 

위에서는 개인네트워크의 클라이언트들이 인터넷을 사용하기 위한 기본적인 기능을 설명했다. 추가로 NAT 가지는 몇가지 유용한 기능에 대해서도 설명한다.

 

8-4-1. DHCP서비스

 

개인네트워크의 클라이언트들은 NAT서버의 개인네트워크 인터페이스와 같은 네트워크ID IP Address 할당되어야 한다. 이러한 작업을 수동으로 해도 되겠지만 만일 많은 수의 NAT클라이언트들을 관리해야 한다면 DHCP서비스를 고려할 있을 것이다. 별도의 DHCP서버를 두지 않고 NAT서버에서 DHCP서버 역할을 제공할 있다. 라우팅 원격 액세스 서비스 관리콘솔에서 왼쪽패널의 NAT 클릭하고 등록정보로 접근하면 <그림8-25> 메뉴를 있다.


"
주소할당"탭에서 'DHCP 사용하여 IP주소 자동 할당'옵션을 체크하면 DHCP서비스를 제공할 있다. IP주소 항목에는 NAT서버의 개인 네트워크 인터페이스에 해당하는 네트워크 ID 적어준다. 예를 들어서 NAT서버의 개인네트워크 IP 192.168.200.1이라면 IP 주소항목에는 192.168.200.0 된다.


 <그림8-23. NAT 등록정보 - DHCP구성 >

 

위와 같이 구성하면 클라이언트는 IP주소와 서브넷마스크를 NAT에서 설정한 대로 할당받게 되고, NAT 개인네트워크 인터페이스에 할당된 IP주소를 클라이언트의 기본 게이트웨이로 사용하도록 구성된다.  TCP/IP환경에서 클라이언트가 인터넷을 쓰기 위해서는 추가로 구성되어야 항목이 있다. 바로 DNS서버의 IP 가져야 하는데 이것까지도 NAT서버를 통해서 받게 하고 싶다면 추가로 "이름확인"탭까지 구성을 주면 된다.


 <그림8-24. NAT 등록정보 - 이름확인 구성 >

 

<그림8-24>에서 '이름확인'탭에서 '클라이언트가 DNS 사용'이라는 옵션을 체크하였다. 이렇게 하면 NAT 클라이언트는 IP주소, 서브넷마스크, 기본게이트웨이 뿐만 아니라 DNS IP까지도 할당받을 있게 된다

 

NAT서버의 이러한 설정을 클라이언트가 사용하고 싶다면 클라이언트의 시스템에서는 TCP/IP설정을 DHCP클라이언트로 변경해야 한다. <그림8-25>에서는 클라이언트의 TCP/IP설정을 '자동으로 IP받기' 선택함으로써 DHCP클라이언트로서 셋팅한 것을 보여준다.


<그림8-25. TCP/IP설정을 DHCP클라이언트로 구성>

 

8-4-2. 외부 네트워크에서의 개인네트워크 액세스 허용

 

ICS, NAT 제공하는 다른 측면이라면 그것은 정반대의 기능도 제공한다는 것이다. 개인네트워크의 클라이언트들이 외부 인터넷으로 접근하도록 지원하지만 다른 측면은 인터넷상의 클라이언트들이 개인네트워크의 서버로 연결할 있도록 지원하는 것도 역시 ICS, NAT등의 기능이다.


< 그림8-26. 개인네트워크에 웹서버 배치하기 >

 

<그림8-26> 예제에서 보여지듯이 인터넷에서 접근하는 사용자에게 웹서비스를 제공하고자 하는데, 만일 웹서버를 공용네트워크에 두는 것이 아니라 개인네트워크에 배치하고 싶다면 어떻게 할까? 당연히 웹서버는 개인네트워크 IP Address 가지게 것이고, 외부에서 IP Address 접근을 시도하더라도 웹서버까지 요청은 도달될 없다. InterNIC에서는 개인 네트워크 IP주소를 위해 특별히 네트워크 ID 예약해 두었고, IP 인터넷에서는 통용되지 않는 개인네트워크를 위해서 사용이 되고 있다. 192.168.x.x 네트워크 ID 역시 개인 네트워크 용도로 할당된 ID이다. 이것을 목적지로 패킷은 갈곳이 없다.

  

방법은 있다. NAT서버에서 약간의 설정을 통하여 내부의 서버가 공용네트워크에 서비스를 제공할 있게 있다. 2가지 방법이 제공되는데 각각의 기능은 차이점을 보이게 된다.

먼저, 특수포트 매핑 방법이 있다.

 

NAT서버의 공인IP 211.232.71.131라고 가정해 보자. DNS서버의 www레코드는 211.232.71.131 가리키고 있어야 한다. 외부에서 보기에는 NAT서버가 회사의 웹서버가 되는 것이다. 클라이언트의 http요청은 NAT서버에게 날아올 것이다. 이때 NAT서버에서는 요청을 자신이 처리하는 것이 아니라 개인 네트워크로 요청을 포워딩 주면 된다.

 

아래와 같이 구성한다.


 <그림8-27. NAT 인터페이스 등록정보 >


라우팅 원격 액세스관리콘솔에서 NAT프로토콜을 선택하고, Public 인터페이스를 선택한 다음 등록정보를 연다.

 


 <그림8-28. 특수포트 매핑 1>


'
서비스 포트'탭을 클릭하면 이미 몇가지 주요한 네트워크 서비스 템플릿이 구성되어 있다. 웹서버를 구성하고자 하기 때문에 서버(HTTP)’ 선택하고 [편집] 눌렀다.

 


 <그림8-29. 특수포트 매핑 2>


<
그림8-29> 서비스 편집 화면에서 211.232.71.131  HTTP요청이 왔을 포워딩하여 내부네트워크에서 웹서비스를 제공할 서버의 IP 주소를 입력해야 한다. 예제 화면에서는 192.168.200.15 입력했다.

 

 

다른 방법은 Address Pool (주소풀) 이용하는 방법이다. 이것은 공인 IP 추가로 필요하다. 하나의 IP 가지고 있을 경우에는 구현할 없는 방법이다. NAT서버에게 여러개의 공인 IP주소를 할당해 두고 공인 IP 내부의 사설IP 예약해 두겠다는 것인데, 이렇게 하면 NAT서버에게 할당해 공인 IP에게 요청이 들어오면 내부의 예약된 개인IP 가진 컴퓨터들에게 요청을 포워딩 수가 있게 된다.

 


 <그림8-30. NAT 인터페이스 등록정보 - 주소풀 추가 >



NAT
Public인터페이스의 등록정보에서 '주소풀' 선택하면 아래의 <그림8-23> 수가 있다. 먼저 [추가]버튼을 클릭하여 NAT서버가 추가로 가지고 있게 IP주소를 입력한다. 예제에서는 192.168.0.201 부터 192.168.0.253까지의 IP 추가했다.

 


 <그림8-31. NAT 인터페이스 등록정보 주소예약>

다음에 [예약]버튼을 클릭하여 위에서 할당한 공인 IP 개인네트워크 내부의 시스템의 개인 IP 매핑시킨다. 예제에서는 192.168.0.251 192.168.200.15 매핑시켰다. 다음에 ' 주소로 들어오는 세션 허용' 항목을 체크하고 [확인] 눌러 마친다.

이렇게 하면 NAT서버는 192.168.0.251 목적지로 하는 모든 패킷들을 개인 네트워크의 192.168.200.15 서버에게 포워딩하게 된다. 결과적으로는 인터넷상의 사용자가 개인네트워크 내의 컴퓨터에게 접속할 있게 구성이 것이다.

DNS서버의 www 레코드는 이상 NAT서버의 공용IP Address 가리키고 있어서는 안된다. <그림8-31>에서 예약한 192.168.0.251 가리키고 있어야 것이다.

  

8-4-3. NAT 지원하지 못하는 것들

 

NAT서버는 단점이 있다. 클라이언트의 숫자가 늘어날수록 성능면에서 상당한 저하를 가져올 밖에 없다는 것이다. 보통 20명에서 최대 30여명 정도의 클라이언트가 있는 환경에서는 그런대로 쓸만 하지만 보다 많은 사용자를 지원해야 한다면 NAT 권장할만한 솔루션은 아니다.

 

또한 NAT서버가 개인네트워크와 공용네트워크간의 연결성을 훌륭하게 수행하긴 하지만 아쉽게도 모든 프로토콜이 허용되는 것은 아니다. 일반적으로 사용하는 http, ftp, smtp, pop3등은 동작하지만 Kerberos, IPSec, DCOM, LDAP등의 프로토콜을 NAT에서 지원이 되지 않는다. 개인네트워크의 NAT 클라이언트가 NAT서버를 이용해서 외부의 서버와 통신을 , 만일 이러한 NAT에서 지원되지 않는 프로토콜이 필요하다면 때는 NAT서버를 사용할 수는 없다. 예를 들면, 도메인 환경에서 클라이언트가 로그온을 한다든가, Active Directory 쿼리를 한다든가, L2TP 이용한 VPN 구현한다든가 하는 경우가 있다.

 

또한 NAT 개인네트워크에 여러 개의 서브넷을 지원하지 못한다. 공용인터페이스 하나, 개인 인터페이스 하나, 이걸로 끝이다. 여러 개의 서브넷을 만들고 각각 서로 다른 수준의 보안설정을 하는 작업을 지원하지 않는다는 것이다.

 

또한 NAT 사용자 인증을 지원하지 않는다. 물리적으로 개인 네트워크에 있는 클라이언트가 NAT서버의 IP Address 알고 있다면 누구라도 NAT 이용해서 인터넷에 액세스하는 것이 가능하다.

 

프로토콜 필터링 또한 지원하지 않는다. 물론 이것은 라우팅 원격액세스의 필터링 기능과 연동하여 사용하면 가능하긴 하지만 NAT자체적으로 필터링을 지원하는 것은 아니다. 이를 테면 관리자들은 FTP 사용하게 하고, 영업부 직원들은 http 사용하지 못하게 하는 등의 사용자별 프로토콜별 필터링을 통한 통제가 되지 않는다는 것이다.

 

.. 적고 보니 되는 기능이 너무 많은 하다. 하지만 소규모의 기업네트워크 환경이라면 위의 단점으로 지적한 기능들이 현실적으로 문제가 되지는 않는다.

 

그렇다면 이런 경우에는 해결책이 없는가? 물론 있다. MS 솔루션으로는 ISA (Internet Security & Acceleration) Server 있다. 현재 ISA Server 2004 출시되어 있다.

  

ISA Server 제품이름에서 있듯이 단순히 개인네트워크와 공용네트워크와의 연결성 뿐만이 아니라 웹캐싱 기능을 통해서 보다 빠른 인터넷 액세스를 제공하고, 사용자관리를 통한 인터넷 액세스 제한, 특정 사이트 접근 제한 등의 부가적인 기능을 가지고 있으며 이전버전에 비해 향상된 파이어월의 기능을 제공하여 Microsoft 야심작인 닷넷플랫폼에 있어서 보안을 담당하는 중요한 인프라의 관문역할을 담당하고 있다. 마이크로소프트 웹사이트 ( http://www.microsoft.com/korea/isaserver/ ) 참고한다.


:
Posted by 새벽예찬
2008. 11. 20. 08:53

8-3. Network Address Translation (NAT) Windows Networking2008. 11. 20. 08:53

 

개인네트워크와 공용네트워크 사이의 인터페이스 역할로 번째로 고려할 있는 서비스로는 NAT 있다. 이것은 Windows 2000 Server이상에서 지원되는 기능이다. ICS 비해서는 OS 서버여야 한다는 제약이 있지만 그만큼 추가기능들을 지원하므로 작은 규모의 회사환경에서 ICS보다는 권장할 만한 기능이다.

 

예제의 상황은 동일하다. 다만 개인네트워크와 공인 네트워크를 연결하는 방법으로 ICS 아니라 NAT라는 서비스를 이용하는 것이라는 차이만 있다.

 


 <그림8-8. ipconfig 결과 >

<그림8-8>에서는 NAT서비스를 구현하고자 하는 서버에서 ipconfig 입력한 결과를 보여준다

 

NAT ICS 비교해서 설치하는 방법부터가 다르다. '관리도구à라우팅 원격액세스' 이용해서 관리한다.

 

 

 

 

 예제의 화면은 Windows Server 2003에서 작업한 화면을 캡처한 것이다.


 <그림8-9. 라우팅 원격 액세스 1 >

관리도구à라우팅 원격액세스 실행했다. Blueapple이라는 이름의 서버가 있고, 상태를 보면 서비스가 시작되지 않았음을 보여준다. 마우스 오른쪽 버튼을 클릭하여 '라우팅 원격 액세스 사용 구성' 클릭하여 마법사를 실행한다.


<그림8-10. 라우팅 원격 액세스 2 >

서비스 정보를 보여주는 화면이 나온다. [다음] 눌러 진행한다.

 


<그림8-11. 라우팅 원격 액세스 3 >

'구성'메뉴가 나온다. 5개의 구성을 있는데 이들이 바로 Windows Server 2003 라우팅 원격 액세스 서비스 (RRAS)로써 구현할 있는 서비스들이다. 마지막 옵션인 '사용자 지정 구성' 선택했다.


<그림8-12. 라우팅 원격 액세스 4 >

<그림8-12> 사용자 지정구성화면이다. ‘NAT 기본 방화벽옵션과 ‘LAN라우팅옵션을 선택하고 [다음]으로 진행한다.

 

<그림8-13. 라우팅 원격 액세스 5 >

요약정보를 확인하고 NAT서비스 추가를 마친다.


<그림8-14. 라우팅 원격 액세스 5 >

[마침] 누르면 <그림8-14>에서 서비스를 시작하겠다는 메시지가 나온다. [] 눌러 서비스를 시작시킨다.

 


<그림8-15. 라우팅 원격 액세스 8 >

<그림8-15>에서 NAT 프로토콜이 추가된 것을 있는데, 여기서 추가작업을 해야 한다. 어떤 네트워크 인터페이스를 NAT용도로 것인지를 결정해 주어야 한다. NAT프로토콜에서 마우스 오른쪽을 클릭하여 ' 인터페이스' 선택한다.

 


<그림8-16. 라우팅 원격 액세스 9 >

private public이라는 2개의 인터페이스를 확인할 있다. 어느것을 먼저 해도 상관은 없다. 먼저 Private 네트워크 쪽을 구성해 보자. Private 선택하고 [확인] 누른다

 

 


<그림8-17. 라우팅 원격 액세스 10 >

[확인]버튼을 누르면 선택한 인터페이스가 '개인 네트워크'인지 '공용 네트워크'인지를 묻는 화면이 나온다.  Private인터페이스는 사내네트워크에 연결된 네트워크 이므로 '개인 인터페이스를 개인 네트워크에 연결'옵션을 선택하고 [확인] 누른다.

 


<그림8-18. 라우팅 원격 액세스 11 >

다음엔 공용 네트워크 인터페이스를 추가해야 한다. 같은 방법으로 Public인터페이스를 선택하고 '공용 인터페이스를 인터넷에 연결'옵션을 선택한 다음 인터페이스에 NAT사용옵션을 선택한다.

 

 


 <그림8-19. 라우팅 원격 액세스 13 >

이제 서버 구성을 마쳤다. NAT프로토콜이 추가 되었고, 거기에는 Public Private 이라는 개의 인터페이스가 구성되어 있다. 클라이언트 설정은 ICS에서의 설정과 차이가 없다. 이제 개인 네트워크의 모든 클라이언트들은 NAT서버를 통해서 인터넷으로 접근이 가능해졌다.


<그림8-20. NAT 클라이언트의 IP 구성 >

 

개인네트워크에 있는 클라이언트중 하나의 TCP/IP설정을 살펴보았다. 기본 게이트웨이가 NAT서버의 Private 인터페이스에 할당된 IP임을 있다.

 

NAT 개인네트워크에서 클라이언트의 인터넷으로의 요청을 받아서 통신이 가능하도록 서비스해 준다. 개인네트워크에 100대의 클라이언트가 하나의 NAT서버를 통해서 인터넷을 이용한다면 100대가 동시에 인터넷을 쓰더라도 실제로 인터넷 상에서는 이들 100대의 클라이언트들은 찾아 없다. 인터넷에서 찾을 있는 IP주소는 오로지 하나, NAT서버의 public 인터페이스에 해당하는 IP주소뿐이다. NAT 사설 IP 사용하는 클라이언트의 IP Packet 자신의 공인 IP 변환시켜서 인터넷에 서비스를 대행해 주고 있는 것이다.

 

한가지 의문이 생긴다. 개인네트워크에 컴퓨터가 대가 아니라 많은 수의 컴퓨터가 있는데 어떻게 서버는 각각의 시스템들을 구분하고 인터넷으로 요청을 보내고, 응답을 받아서 다시 클라이언트에게 제공할 있는 것일까? 비밀은 바로 NAT "세션 매핑 테이블" 있다.


<그림8-21. NAT 매핑 보기 >

 <그림8-21>에서 public 인터페이스를 마우스 오른쪽 클릭하여 '매핑보기' 클릭한다.


<그림8-22. NAT 세션 매핑 테이블 >

<그림8-22>에서는 NAT 세션 매핑 테이블을 보여준다. 개인 네트워크에서 접근하는 클라이언트의 요청을 받은 다음, 클라이언트의 TCP나 UDP 포트번호와 IP 주소를 기록하고, 이것을 자신의 IP Address로 변환한 다음, 자신이 인터넷에 요청을 보낼 때의 TCP나 UDP포트번호와 매핑을 시킨 테이블을 유지하는 것이다. 이것으로써 인터넷에서의 응답이 돌아왔을 때는 매핑테이블을 살펴보고 이 응답이 어떤 클라이언트의 요청이었는지를 판단하고 다시 개인네트워크로 IP주소를 변환하여 클라이언트에게 응답을 제공하게 된다.


 

:
Posted by 새벽예찬

가장 간단하게 이용할 있는 방법이고, 서버 운영체제 뿐만이 아니라 Windows 2000, Windows XP등에서도 같은 방법으로 손쉽게 구현할 있는 기능이다. 제어판의 '네트워크 전화접속연결' 통해서 접근한다.


<그림8-5. 네트워크 전화접속 연결 >

 

<그림8-5>에서는 2개의 네트워크 어댑터 카드가 설치된 화면을 보여준다. 작업의 편의성을 위하여 인터페이스의 이름을 바꿔준다. 화면에서는 public private 이라고 이름붙여진 카드가 있다. 이렇게 놓으면 서비스를 구성할 구분하기가 편해진다. 권장하는 방식이다. 해당 인터페이스를 클릭하고 [이름바꾸기] 이용하면 된다.

 

개의 인터페이스 중에서 인터넷을 공유하기를 원하는 카드를 선택한다. 당연히 public 인터페이스가 인터넷 연결이 되어 있는 네트워크이므로public 클릭하고 마우스 오른쪽 버튼을 눌러서 속성을 연다.


<그림8-6. 인터넷 연결 공유 설정 >

 

Public 연결의 속성을 열면 고급탭이 보인다. [고급]탭을 클릭하면 <그림8-6> ' 인터넷 연결 공유'라는 항목이 있고, ‘다른 네트워크 사용자가 컴퓨터의 인터넷 연결을 통해 연결할 있도록 허용이라는 옵션이 있다. 옵션을 체크해 주면 인터넷 연결공유를 사용하겠다는 것이다.  옵션을 체크하고  [확인]버튼을 눌렀다.

 

 <그림8-7. 인터넷 연결공유 팝업 메시지 >

 

<그림8-7> 같은 메시지가 팝업된다. 그냥 무시해 버리면 클라이언트는 정상적인 통신이 되지 않는다. 메시지를 확인하자. "사용자 LAN 어댑터가 IP주소 169.254.0.1 사용할 있도록 설정됩니다"라는 문구를 담고 있다. 한글 Windows Server 버그이다. 169.254.0.1 아닌 192.168.0.1 잘못 옮긴 것으로 보인다. "개인네트워크에 해당하는 LAN 어댑터가 IP주소 192.168.0.1 사용할 있도록 설정됩니다" 이해하면 되겠다. 개인 네트워크 인터페이스인 "private" 어떤 IP Address 설정되어 있었더라도 '인터넷 연결 공유' 활성화 시키면 자동적으로 'private' 네트워크 카드의 TCP/IP 설정은 192.168.0.1 바뀌게 된다.

 

이것으로 ICS 서버측의 설정은 끝났다. 서버측의 IP설정을 정리해보면 아래의 표와 같다.

 

Public Interface

IP Address : w.x.y.z  (공인 IP Address)

subnetmask : 255.255.255.0  (C class IP 경우)

default Gateway : w.x.y.z  (인터넷으로 가기위해 경유해야 하는 라우터에 해당)

DNS Server : w.x.y.z  (공인 IP Address 가진 실제 DNS서버)

 

Private Interface

IP Address : 192.168.0.1

subnetmask : 255.255.255.0

default Gateway : (Blank)

DNS Server : (Blank)

 

다음엔 클라이언트 설정을 구성해야 한다. 클라이언트의 TCP/IP설정은 당연히 ICS서버의 private 인터페이스에 할당된 것과 동일한 네트워크 ID 구성이 되어야 하며 IP Address 개인네트워크 내에서 유일해야 한다. default gateway ICS서버의 Private 인터페이스에 할당된 IP Address 사용해야 한다. DNS 실제로 사용가능한 DNS서버를 입력해 주면 된다. 클라이언트의 IP설정을 정리해 보면 아래의 표와 같다.


Local Area Network

IP Address : 192.168.0.2~ 254

subnetmask : 255.255.255.0

default Gateway : 192.168.0.1

DNS Server : 192.168.0.1 ( ICS서버가 DNS서비스는 하지 않고 있다면 다른 DNS사용가능)

 

클라이언트를 설정하는 훨씬 간단한 방법이 있다. ICS서비스를 Windows Server 2003, 2000등에서 구현하면 기본적으로 ICS서버는 DHCP기능을 포함하고 있다. 이것은 네트워크 서비스로 추가되어야 하는 DHCP서비스와는 구별된다. ICS서비스를 구현하고 클라이언트의 TCP/IP등록정보에서 DHCP클라이언트로 설정했다면 클라이언트는 자동적으로 ICS 통해서 인터넷에 접근할 있도록 구성된다.

 

이상으로 ICS(Internet Connection Sharing)서버 클라이언트 구성을 마쳤다.

:
Posted by 새벽예찬
2008. 11. 18. 08:57

8-1. 사설네트워크의 필요성 Windows Networking2008. 11. 18. 08:57

 

회사에서 외부 인터넷과는 격리되는 자신들의 개인 네트워크를 만들게 되면 보안의 수준은 한층 올라갈 있게 된다. 하지만 모든 클라이언트들은 여전히 인터넷에 접근하기를 원한다. 사실 시점에서 하루종일 인터넷에 접근을 하지 못하도록 통제를 한다면 업무의 상당부분은 차질을 빚을 밖에 없을 것이다. 결국 인터넷과 분리된 개인 네트워크의 사용자라고 하더라도 사용자들의 인터넷 접근은 제공해 있어야 한다는 것이다.

 

한가지 측면은 선택이 아니라 필수적으로 제공해야 하는 경우도 있다. 회사의 직원들이 50명인데 공인 IP 10개밖에 할당받지 못했다면 어떻게 할까? , ADSL모뎀이나 케이블모뎀등의 서비스를 이용해서 하나의 공인IP 사용할 있는데 IP Address 하나를 이용해서 내부의 다른 사용자들까지 인터넷을 방법이 없을까? 간단한 경우는 집에서 컴퓨터는 2대인데 하나의 외부라인을 가지고 둘다 인터넷을 쓰고 싶을 때는 어떻게 할까? 이런 상황에서 Windows 2000, 2003에서 제공하는 기능들을 이용하여 효과적인 인터넷 환경을 구현해 있다.


개인 네트워크를 구현하고자 하는 이유는 크게 두가지가 있다. 첫번째는 공용 IP Address 절약하면서 여러대의 컴퓨터들이 동시에 인터넷에 접속하고자 할때이고, 두번째는 네트워크의 보안을 향상시키기 위한 방법으로 개인네트워크를 구성하는 것이다. 네트워크의 안전을 고려한다면 이제 개인네트워크는 IP부족으로 인한 어쩔수 없는 선택이라는 측면보다는, 회사 네트워크와 컴퓨터들의 안전 나아가서는 정보의 보호를 위해서 필수적인 선택이라는 생각으로 개인(사설) 네트워크의 도입을 검토해 보아야 한다.

 

시나리오를 통해서 개인네트워크를 구성해 보도록 하자.

 

<그림8-4. Public Network Private Network >

 

<그림8-4>에서 보는 바와 같이 192.168.0.0 네트워크 ID 사용하는 개인 네트워크가 있고, 개인네트워크에는 1대의 웹서버와 2대의 클라이언트 컴퓨터가 있다. 컴퓨터들을 인터넷에 연결할 있게 하기 위하여 공인IP 하나를 받았고, 하나의 공인IP 통하여 개인네트워크의 모든 컴퓨터들이 인터넷을 사용하기를 원한다. 당신은 Windows Server 2003 설치하고 네트워크 어댑터 카드 2장을 설치했다. 장의 카드에는 공인IP 할당하고, 다른 장의 카드에는 개인네트워크에 연결되기 위한 192.168.0.1 IP Address 할당했다. 이제 기본구성은 되었다. 남은 것은 서버가 개인네트워크에 있는 클라이언트의 요청을 외부 인터넷으로 연결될 있도록 구성해 주면 되는 것이다.


:
Posted by 새벽예찬
2008. 11. 17. 21:57

7-4. 인터넷 인증 서버 (IAS) Windows Networking2008. 11. 17. 21:57

 

RAS서버의 정책은 RAS 서버에 로컬로 저장된다. Active Directory등의 중앙에 집중된 별도의 디렉토리에 저장되는 것이 아니라는 것을 의미한다. 그러므로 RAS서버가 여러대일 경우 RAS서버마다 일관성 있게 정책을 관리하거나 혹은 VPN, 무선랜, 전화접속 등 다양한 형태의 접속서버(혹은 디바이스)들을 위한 정책을 개별적으로 관리하는 것은 관리자에게 오버헤드가 되며, 실수로 인한 보안의 누수를 초래할 수도 있는 위험을 내포하고 있다.

 

이 경우 RADIUS(Remote Authentication Dial-in User Service)프로토콜을 이용한 원격 인증서비스를 이용하여 정책을 집중적으로 관리할 수 있는 방안이 제공된다. 마이크로소프트는 Windows서버에서 IAS(Internet Authentication Service) 를 제공함으로써 RADIUS를 지원하고 있다. 이 경우 IAS서버는 RADIUS 서버로서 동작하고, RAS 서버는 RADIUS클라이언트로 동작한다.

 

IAS서비스를 설치하고 구성하는 방법에 대해서 알아보자. ‘제어판à프로그램추가/제거à’Windows구성요소à네트워킹 서비스에서 인터넷 인증 서비스를 선택함으로써 IAS서비스를 설치할 수 있다.



<
그림7-78. IAS서비스 추가>

 

7-4-1. IAS서버 구성 (RADIUS 서버)

 

IAS서비스를 추가한 후 서버를 구성해 주어야 한다. 서버에서 할 일은 자신을 통해서 인증을 얻을 수 있는 클라이언트(RAS서버, 802.1x를 지원한 무선랜AP)를 추가하고, 해당 클라이언트와 공유할 수 있는 키를 입력해 주어야 한다.

<그림7-79. IAS서버 구성1>


관리도구à인터넷 인증 서비스를 클릭하여 관리콘솔을 열고, 왼쪽 패널에서 ‘RADIUS클라이언트를 마우스 오른쪽 클릭하여 RADIUS클라이언트를 선택한다.


<그림7-80. IAS서버 구성2>



이름 및 주소창에서는 클라이언트를 식별할 수 있는 이름을 입력하고 RADIUS클라이언트의 IP주소나 DNS이름(FQDN)을 입력해야 한다.


<그림7-81. IAS서버 구성3>



추가정보창에서 클라이언트 공급업체에서 RADIUS Standard를 선택한 후 RADIUS클라이언트와 공유할 암호를 입력한다. 암호는 대/소문자,특수문자 등을 조합하여 22자까지 생성할 수 있다. 보안을 위하여 최대한 복잡한 암호를 사용하는 것이 좋다.

 

요청에 메시지 인증자 특성이 포함되어야 함옵션을 체크하면 위의 공유암호를 키로써 RADIUS서버와 클라이언트간의 메시지를 암호화한다. 보안상 좋은 설정이다.


<그림7-82. IAS서버 구성4>



Active Directory
환경에서는 IAS서버를 Active Directory로부터 인증받아야 한다. 인터넷 인증 서비스를 마우스 오른쪽 클릭한 후 ‘Active Directory에 서버 등록을 선택한다.


<그림7-83. IAS서버 구성5>



권한설정을 하겠다는 메시지가 팝업된다. [확인]을 눌러서 다음으로 진행한다.


<그림7-84. IAS서버 구성6>



권한이 추가되었음을 보여준다.

 

7-4-2. IAS클라이언트 구성 (RADIUS 클라이언트)

 

RADIUS는 산업표준 프로토콜이다. RADIUS클라이언트는 마이크로소프트의 RAS서버는 물론, 다양한 디바이스들에서 널리 지원하고 있다. 예제에서는 Windows Server 2003으로 구현된 RAS서버가 RADIUS클라이언트 역할을 할 것이다.

 

<그림7-85. IAS클라이언트 구성1>

관리도구’->’라우팅 및 원격액세스관리콜솔을 열고, 서버이름을 마우스 오른쪽 클릭하여 속성을 선택한다.


<그림7-86. IAS클라이언트 구성2>


서버의 등록정보가 나오면 보안탭을 열고 인증공급자항목을 확인한다. 기본값은 ‘Windows인증이다. RADIUS인증으로 공급자를 바꾼다.


<그림7-87. IAS클라이언트 구성3>



이어서 RADIUS인증을 위해 RADIUS서버를 지정해 주어야 한다. 인증공급자 항목 옆의 [구성]버튼을 클릭한다.


<그림7-88 IAS클라이언트 구성4>


RADIUS
서버를 추가할 수 있는 화면이 나온다. [추가]버튼을 누른다.


<그림7-89. IAS클라이언트 구성5>



RADIUS
서버추가 화면에서 서버 이름 항목에 RADIUS서버의 IPFQDN을 입력한다. 암호 항목에는 RADIUS에서 지정했던 것과 동일한 암호를 입력해 주어야 한다.


<그림7-90. IAS클라이언트 구성6>



RADIUS
서버가 추가된 것을 볼 수 있다. 여러대의 RADIUS서버가 있다면 초기점수에 있는 점수가 낮은 순서대로 사용된다.


<그림7-91. IAS클라이언트 구성7>



같은 방법으로 계정 공급자항목도 RADIUS를 이용하도록 구성할 수 있다. 여기서 계정은 사용자 계정등을 의미하는 계정이 아니라 과금을 위한 계정에 해당한다. 계정 공급자를 RADIUS로 변경하지 않으면 모니터링을 위한 로깅 등은 여전히 RAS서버에서 관리된다.


<그림7-92. IAS클라이언트 구성8>



서비스를 구성하고 나면 원격 액세스 서비스가 재 시작된다.


<그림7-93. IAS클라이언트 구성후 변경된 화면>



RADIUS
클라이언트 구성을 마쳤다. <그림7-85>의 화면과 비교해 보면 원격 액세스 정책원격 액세스 로깅항목이 없어진 것을 알 수 있다. 이제부터 정책 및 로깅은 RADIUS서버역할을 하는 IAS서버에서 관리되는 것이다.

 

RADIUS를 구성한 후 VPN을 통해 해당 RAS서버에 접근해 보았다. <그림7-94>에서는 WINDOWSNETWORK도메인의 wonsuk이라는 사용자가 연결된 것을 보여준다.

<그림7-94. RAS클라이언트 접속화면>

 

IAS서버에서는 로그를 확인할 수 있다. %windir%\system32\LogFiles가 로그파일의 기본위치이다. 서버의 라우팅 및 원격 액세스 관리콘솔의 왼쪽패널에서 원격 액세스 로깅을 클릭하면 오른쪽에서 확인할 수 있다. 기본설정은 로깅을 하지 않도록 되어 있다.

<그림7-95. IAS서버의 접속로그 화면>

 

로그는 텍스트로 저장하거나 SQL데이터베이스로 저장할 수 있다. <그림7-95> Deepsoftware사의 IAS Log Viewer를 통해서 로그파일을 열어본 화면이다. 로깅된 다양한 정보를 확인할 수 있다.


:
Posted by 새벽예찬
2008. 11. 17. 21:37

7-3. RAS 정책의 이해 Windows Networking2008. 11. 17. 21:37

 

 

특정한 사용자들이나 부서단위로 회사의 RAS서버에 접속하도록 허용하거나 제한하는 것 등의 결정은 RAS 정책이 어떻게 만들어져 있는지에 달려있다. 단순하게 RAS를 사용하는 것은 특별한 정책이 필요한 것은 아니지만 이러한 정책이 802.1x무선인증, 디렉토리와 연동한 네트워크 디바이스 등에도 적용가능하여 그 활용도가 증가하고 있기 때문에 정리해 두면 도움이 될 것이다.

 

7-3-1. RAS정책 생성하기

 

간단하게 정책을 생성하는 방법을 예제를 통해 알아 보도록 하자.


<그림7-60. RAS정책 추가하기1>



라우팅 및 원격액세스관리도구를 열면 왼쪽 패널에서 원격 액세스 정책을 찾을 수 있다. 오른쪽 패널에서 기본정책이 2가지 있는 것을 볼 수 있다.


<그림7-61. RAS정책 추가하기2>



새로운 정책을 추가해 보도록 하자. 예제에서는 SalesTeam 그룹에 속한 사용자들에게 VPN접속 권한을 할당하는 정책을 생성한다.

 

왼쪽패널의 원격 액세스 정책을 마우스 오른쪽 클릭하여 새 원격 액세스 정책을 선택한다.<그림7-61>


<그림7-62. RAS정책 추가하기3>



마법사 화면이 나온다.<그림7-62>


<그림7-63. RAS정책 추가하기4>



정책을 설정하는 방법은 2가지이다. 마법사를 이용하는 것과 사용자가 정책을 직접 만드는 방법이 있다. 마법사를 이용하여 만들어보도록 하자. 정책이름 항목에는 나중에 정책을 알아보기 쉽도록 직관적인 이름을 사용하자. ‘SalesTeamRAS정책이라고 입력했다.


<그림7-64. RAS정책 추가하기5>



이 정책에 해당하는 연결을 선택한다.
예제에서는 ‘VPN’을 선택했다.


<그림7-65. RAS정책 추가하기6>



접근을 허용하고자 하는 사용자나 그룹을 선택할 수 있다. <그림7-65> 그룹을 선택한 후 [추가]버튼을 클릭하여 SalesTeams 그룹을 추가했다. [다음]으로 진행한다.


<그림7-66. RAS정책 추가하기7>



인증방법을 결정한다. 기본값은 MS-CHAPv2이다. 클라이언트가 Windows 2000 이상이라면 기본설정을 하고 진행하면 된다. <그림7-66>


<그림7-67. RAS정책 추가하기8>



암호화 수준을 선택하고 [다음]으로 진행한다.


<그림7-68. RAS정책 추가하기9>



새 원격 액세스 정책 마법사가 완료되었다. 요약 내용을 확인한 후 [다음]을 눌러 정책생성을 완료한다.<그림7-68>


<그림7-69. RAS정책 추가하기10>



<
그림7-69>를 보면 ‘SalesTeamRAS정책이 추가된 것이 보인다. 정책이름옆의 숫자에 주목하라. 순서를 나타내는데 최근에 추가한 항목이 기본적으로 맨 위에 올라가 있고, 순서로는 1에 해당한다.

이제 SalesTeams 그룹에 속한 사용자가 위의 RAS서버에 VPN을 통해 접속하면 접속이 허용된다.

 

7-3-2. RAS정책의 이해

 

이러한 RAS 정책이 구체적으로 어떻게 이루어져 있는지 알아보자. 차근차근 이해해서 꼭 알아두도록 하자. 다양하게 사용할 기회가 있을 것이다.



<그림7-70. RAS정책 등록정보>


RAS
정책중의 하나를 더블클릭하여 열어보면 <그림7-70>과 같은 화면을 볼 수 있다. RAS정책은 조건(Condition), 접근권한(Permission), 프로필(Profile)의 세가지 요소로 구성되어 있다. RAS클라이언트가 전화접속이나 VPN접속을 통해서 서버에 접근하면 RAS서버는 정책을 보고 클라이언트의 접근에 대한 판단을 내린다. 맨 처음에 정책의 조건에 사용자가 접근한 상황이 만족하는지를 살펴본다. 조건에 부합하면 이번에는 접근권한을 살펴서 접근이 허용되었는지 거부되었는지를 확인한다. 정책은 접근을 허용하기 위한 것만은 분명히 아니다. ‘특별한 조건에 만족하면 접근거부라는 배타적인 접근권한도 있을 수 있다. 접근이 허용된다면 마지막의 요건인 프로필에서는 추가적인 제한, 연결지속시간 제한 등의 추가설정을 확인한다.

 

예제를 통하여 정책을 이해해 보도록 하자. 예제를 위해 다음의 상황을 가정한다. RAS서버는 다음의 정책1, 정책2 2가지 RAS정책을 가지고 있다. RAS 클라이언트가 접근할 때 RAS서버는 어떻게 판단하는지 설명한다.

순서

정책이름

정책조건(Condition)

접근권한(Permission)

프로필(Profile)

1

정책1

Sales그룹멤버

접근허용

연결허용시간10

2

정책2

오전9~오후6시접근

접근거부

128bit암호화

l  정책1 : Sales그룹에 소속된 멤버가 RAS서버에 접근하면 접근을 허용하는데, 허용시간은 10분으로 제한된다.

l  정책2 : 오전9부터 오후6 사이에 접근하면 접근을 거부한다. (이 경우 프로필의 설정은 의미없는 설정이다)


<그림7-71. RAS정책 적용의 흐름>

 

<그림7-71>에서는 이해를 돕기 위해 정책의 흐름을 도식화하였다. Sales그룹에 속한 RAS클라이언트가 이 RAS서버에 접근했다고 가정하자. 이 때 RAS서버는 2개의 정책중 순서상으로 위에 있는 정책1’을 먼저 판단한다. 그림에서 첫번째 질문은 현재 사용자의 연결이 정책1의 조건에 만족하는가?’이다. 정책1의 조건은 ‘sales그룹의 멤버이다. 조건에 만족하므로 다음의 판단항목인 사용자 계정에 대한 전화접속 권한 설정은 무엇인가?’로 진행한다. 여기서 주의해야 한다. 정책1의 접근권한이 접근허용으로 되어 있다고 해서 무조건 서버에 접근이 허용되는 것이 아니다. 그것은 사용자 개개인의 전화 접속 로그인권한에 달려 있다. <그림7-72>의 사용자 계정에 대한 전화 접속 로그인탭을 보면 원격 액세스 권한항목이 있고, 세가지의 옵션이 있는 것을 확인할 수 있다.


<그림7-72. 사용자 계정의 원격 액세스 권한>

 

이 설정이 어떻게 되어 있는지가 접근권한이 결정되는데 중요한 요소가 된다. <그림7-71>의 흐름을 따라가 보도록 하자. <그림7-72>에서 만일 현재 접근하는 사용자 계정에 대한 원격 액세스 권한이 액세스 거부로 되어 있으면 RAS서버는 사용자의 연결을 거부한다. ‘액세스 허용으로 되어 있으면 RAS서버는 정책1의 권한설정값과는 무관하게 사용자의 연결을 허용한다. 사용자 계정에 대한 원격 액세스 권한이 원격 액세스 정책을 통해 액세스 제어로 되어 있을때만 RAS정책의 접근권한의 설정값이 유효하다는 것이다.

 

여기서 생각해 볼 것이 있다. 사용자 개개인의 계정에 대해서 원격 액세스 권한설정을 한다면 관리적인 측면에서 쉽지 않을 것이다. 누구는 허용하고, 누구는 거부하고.. 사용자가 많아질수록 일관성이 결여되는 정책이 될 수 밖에 없다. 필자가 생각하는 가장 좋은 설정은 원격 액세스 정책을 통해 액세스 제어이다. 사용자 계정에 대한 권한설정은 이대로 두고, RAS정책을 통해서 접근권한을 제어하는 것이 관리의 오버헤드를 줄여주고 관리자 실수에 의해 불필요하게 RAS서버로의 접근을 허용하는 실수를 막을 수 있는 좋은 방법이다.

 

어떻게든 접근허용이라는 결과가 나왔다면 그 다음에 RAS서버는 프로필에 만족하는지를 판단한다. 프로필에 결격사유(?)가 없으면 최종적으로 접근허가라는 판정이 내려지고 클라이언트 접속은 허용된다.

 

만일 현재 접근하고자 하는 클라이언트가 Sales그룹의 멤버가 아니라면 어떻게 될까? RAS서버는 클라이언트가 정책1의 조건에 만족하지 못하고 있음을 알 것이고, 다음의 정책인 정책2의 조건에 만족하는지를 판단한다. 현재 클라이언트가 접속하고 있는 시간이 오전11라면 조건에 만족한다. 그 다음 판단요소인 접근권한검토를 시작한다. 이 클라이언트의 원격 액세스 권한 설정이 <그림7-72>와 같이  원격 액세스 정책을 통해 액세스 제어로 되어있다면 정책2의 접근권한 설정값인 접근거부가 반영되어 클라이언트의 연결은 거절되겠지만 액세스 허용으로 설정되어 있다면 RAS정책에서는 접근거부라고 되어 있지만 사용자는 접근이 허용되고 말 것이다. 정책이 반영되지 않는 의도하지 않은 상황이 발생할 수도 있다는 것이다. 주의를 기울여야 할 부분이다.

 

만일 정책의 순서가 아래와 같이 바뀌어 있다면 어떻게 될 것인지도 검토해 보자.

순서

구분

정책조건(Condition)

접근권한(Permission)

프로필(Profile)

1

정책2

오전9~오후6시접근

접근거부

128bit암호화

2

정책1

Sales그룹멤버

접근허용

연결허용시간10

 

이 경우 오후3시경에 Sales그룹의 멤버가 이 RAS서버에 접근했다면? 결과는 접근거부이다. 앞에서는 정책1이 적용되어 접근이 허용된 반면에 이번에는 정책2가 먼저 적용되어 접근이 거부된 것이다. 이처럼 2가지의 정책이 있을 때 첫 번째 정책에서 접근거부 판단이 내려졌다고 해서 두 번째 정책을 적용받는 것이 아니다. 첫 번째 정책의 조건에 만족되지 않을 때는 두 번째 정책을 판단하게 되지만 일단 조건에 만족되면 더 이상 그 다음 정책으로 넘어가지는 않는다는 것을 알 수 있다.

 


* Active Directory
환경에서 사용자 계정에 대해 원격 액세스 정책을 통한 액세스 제어활성화하기

 

사용자 계정에 대한 원격 액세스 권한을 설정하기 위해 계정의 등록정보를 열어 보면 원격 액세스 권한중 원격 액세스 정책을 통한 액세스 제어옵션이 비활성화 되어 있는 경우가 있다.


<그림7-73. 사용자 계정의 원격 액세스 권한 옵션>


그것은 해당 도메인이 Windows Server 2003 이전버전인 Windows NT4.0, Windows 2000 Server 등의 도메인 컨트롤러와의 호환성을 유지하는 "mixed mode(혼합모드)"로 도메인 기능수준 (Domain Functional Level)설정이 되어 있기 때문이다. Active Directory를 셋업했을 때 기본설정이 '혼합모드'이므로 특별히 설정을 바꾸지 않았다면 '혼합모드'로 되어 있을 것이다. 도메인 기능 수준을 올려주어야 한다. 이 작업을 하기 전에 도메인에는 Windows Server 2003 서버만이 도메인 컨트롤러 역할을 수행하고 있어야 한다.



<그림7-74. 도메인 기능 수준 올리기1>


시작à프로그램à관리도구à’Active Directory사용자 및 컴퓨터를 선택한 후 왼쪽 패널에서 도메인 이름을 마우스 오른쪽 클릭한 후 도메인 기능 수준 올리기를 클릭한다.


<그림7-75. 도메인 기능 수준 올리기2>


사용 가능한 도메인 기능수준 선택에서 ‘Windows Server 2003’을 선택하고 [수준 올리기]를 클릭한다.


<그림7-76. 도메인 기능 수준 올리기3>



<그림7-77. 도메인 기능 수준 올리기4>

 

:
Posted by 새벽예찬
2008. 11. 17. 21:33

7-2. VPN (Virtual Private Network) Windows Networking2008. 11. 17. 21:33

 

7-2-1. VPN의 필요성

 

먼저 한가지 개념을 정리해 보자. 회사와 회사간의 연결하는 방법을 놓고 사설 네트워크와 공용네트워크로 나눠볼 수 있다. <그림7-32>의 예제에서 서울에 본사가 있고, 여수와 부산에 지사가 있고, 재택근무를 하는 클라이언트가 있는 회사가 있다고 가정하자. 서울에서는 ISP를 통해서 인터넷에 접근하도록 구성되어 있다. 서울과 여수, 서울과 부산을 각각 연결하는 방법으로는 2가지를 이용할 수 있는데, 첫번째 방법은 전용회선을 사용하는 것이다. 서울과 여수간에 전용회선을 사용하도록 네트워크가 구성되었다면 이 전용회선은 다른 회사와는 무관해진다. 두 지점간에만 전용으로(Dedicated, Leased) 할당된 회선을 사용하기 때문에 보다 안전하고 빠르다는 장점이 있다. 하지만 단점이라면 상대적으로 비싼 고정비용을 부담해야 한다는 것이다. 이러한 네트워크를 가리켜서 사설네트워크, 혹은 전용 네트워크라고 부른다.



<그림7-32. 개인(전용) 네트워크와 공용네트워크>

 

본사와 지사를 연결할 수 있는 두번째 방법은 인터넷을 사용하는 것이다. 부산에 있는 지사의 환경이 부산에 있는 로컬 ISP를 통해서 인터넷으로의 연결이 가능한 상태라면, 인터넷을 통해서 서울의 본사로 연결이 가능하다. 이러한 네트워크는 공용 네트워크라고 부른다. 또한 재택근무를 하는 클라이언트 역시 인터넷을 사용할 수 있다. 데이콤, KT등의 사업자에게 전화접속을 통해서 인터넷에 접근할 수도 있을 것이고, ADSL, 케이블모뎀 등의 초고속인터넷망을 통해서 인터넷에 접근할 수도 있을 것이다. 클라이언트는 이 연결을 통해서 인터넷을 통한 서울본사와의 연결이 가능하다.


이렇듯 인터넷을 통해서 본지점간, 그리고 클라이언트들까지 회사의 모든 사용자들이 서로간에 데이터를 주고 받을 수 있도록 구성되었는데, 문제는 보안이다. 서울본사와 부산지사 그리고 재택근무 클라이언트들간의 통신은 인터넷을 통해서 이루어지기 때문에 회사의 중요한 데이터가 인터넷의 수 많은 위험요소에 노출된다는 것이다. 이 부분이 해결되지 못한다면 정보보안을 고려하는 회사에서는 부담이 되더라도 전체조직간에 개인네트워크를 구현할 수 밖에 없다.

 

회사의 조직들간에서만 데이터를 들여다 볼 수 있고, 인터넷의 제3자는 들여다 보지 못하게 하기 위한 방법이라면 그것은 암호화기능을 떠 올릴 수 있는데, VPN(Virtual Private Network)은 이름 그대로 가상 개인(사설) 네트워크를 지원한다. 실제로는 인터넷이라는 공용네트워크를 사용하고 있지만 이 공용네트워크에 가상의 사설 네트워크를 가지는것과 같은 네트워크 환경을 제공하겠다는 것이다. 그것은 바로 VPN연결을 통해 암호화된 터널을 제공함으로써 가능해진다.

 

<그림7-33>에서 보면 서울본사와 부산지사간에는 VPN디바이스들이 배치되어 있어서 이들 네트워크간의 트래픽을 VPN터널을 통해서 전송할 수 있도록 지원한다. 재택근무 클라이언트는 별도의 VPN디바이스를 가진 것이 아니라 다만 VPN클라이언트 소프트웨어를 통해서 VPN서버에 접속함으로써 인터넷에서 안전한 트래픽을 사용할 수 있도록 지원하고 있다.

 

실제로 많은 기업들이 도입하고 있고 구현이 되고 있는 방법들이다.


<그림7-33. VPN 의 구성 >

 

마이크로소프트는 Windows운영체제에서 VPN서버, 클라이언트 기능을 소프트웨어적으로 지원하고 있다. 이것은 VPN전용 하드웨어 장비들과도 호환성이 유지되는 만큼, 응용을 해 볼 만한 기능이다. Windows Server 2003 Windows XP Professional을 이용해서 VPN서버와 클라이언트를 구현해 보도록 하자.

 

7-2-2. VPN서버, VPN클라이언트 구현

 

이미 우리는 VPN서버 구축에 대해서는 다루었다. 언제? 앞에서 전화접속서버를 구현하였다면 이미 VPN서버 구축도 완료되었다. 기본적으로 전화접속서버는 PPTP, L2TP 각각 5개씩의 포트를 활성화시켜서 클라이언트의 VPN접속을 허용하고 있다. VPN서버 전용으로 구현하고자 했다면 앞의 <그림7-4> 라우팅 및 원격액세스 서버 설치 마법사를 수행할 때 일반구성화면에서 가상 사설망 액세스 및 NAT’를 선택하여 진행하면 된다. 그것은 전화접속 서버를 구성하는 것과 동일한 과정이지만 과정을 마치면 PPTP, L2TP 각각 128개씩의 VPN포트를 구성하게 된다.

 

VPN클라이언트 구성을 해보도록 하자. 예제의 환경은 Windows XP Professional에서 클라이언트를 구성한 화면이다.

 

<그림7-34. VPN 클라이언트 구성 1>

제어판à'네트워크 연결을 클릭했다. 바탕화면의 네트워크환경의 등록정보를 통해서 접근할 수도 있다. 새 연결 마법사를 실행한다.


<그림7-35. VPN 클라이언트 구성 2>



새 연결 마법사가 시작되었다.


<그림7-36. VPN 클라이언트 구성 3>



네트워크 연결형식 선택화면에서 회사 네트워크에 연결을 선택하고 [다음]으로 진행한다.


<그림7-37. VPN 클라이언트 구성 4>



이번에는 전화접속이 아니라 VPN접속을 하고자 하는 것이니 가상 사설망 연결을 선택하고 [다음]으로 진행한다.


<그림7-38. VPN 클라이언트 구성 5>



연결의 이름을 지정해 준다. 여러 개의 연결이 있을 때 구분할 수 있는 이름을 사용한다
.


<그림7-39. VPN 클라이언트 구성 6>


현재 생성하고 있는 연결을 사용하기 전에 미리 필요한 연결이 있으면 지정한다. 예를 들어서 현재 클라이언트가 데이콤에 전화접속을 하고 나서 그 연결을 통해서 회사의 네트워크에 VPN을 이용한 접속을 하고자 하는 상황이라면 초기연결이 데이콤 접속이어야 한다.

 

ADSL, 케이블모뎀, 전용선 등의 연결이 이미 맺어져 있다면 필요없는 설정이다. ‘초기 연결을 사용 안함을 선택했다.


<그림7-40. VPN 클라이언트 구성 7>



VPN
서버의 IP address hostname을 입력해 준다. 예제에서는 VPN서버의 IP Address를 입력하였다. VPN서버가 유동적이라거나 여러대의 VPN서버가 구성되어 있다면 hostname을 입력하는 것이 좋다. 예를 들면 vpn.mscs.co.kr과 같은 형태를 의미한다.

 

<그림7-41. VPN 클라이언트 구성 8>



새 연결 마법사가 완료되었다.


<그림7-42. VPN 클라이언트 구성 9>



[
마침]버튼을 누르면 <그림7-42>의 창이 열린다. 바로 vpn서버에 접속을 해 보자. VPN서버에 미리 만들어둔 wonsuk 계정을 사용하여 접근을 하였다. [속성]메뉴를 이용하여 클라이언트의 설정을 수정할 수도 있다. [연결]을 누르면 VPN서버에 접속할 수 있다.

 

이 과정은 앞에서 전화접속 서버에 연결했던 것과 별 차이가 없다.


한가지 고려할 사항이 있다. VPN클라이언트는 일단 VPN서버에 접속이 되고 나면 자신의 기존 TCP/IP설정의 기본 게이트웨이 경로 대신에 VPN서버로의 연결을 기본 게이트웨이로 설정하게 된다. 그 결과 자신의 로컬 네트워크를 제외한 모든 네트워크 트래픽을 VPN서버를 통해서 시도하게 된다.

 

VPN클라이언트가 VPN서버로 연결을 맺은 것은 특별한 이유가 있어서이다. 예를 들어 재택근무하는 클라이언트가 회사로 중요한 데이터를 전송하고 있다거나, 지사와 본사간에 안전한 데이터 전송을 위함이었는데, 사용자들의 웹서핑과 같은 일상적인 트래픽이 VPN서버로 보내질 필요는 없을 것이다. 이것을 해결하기 위해서는 한가지 설정을 바꿔줘야 한다.


<그림7-43. VPN 클라이언트 구성 10>



네트워크 연결을 열고 VPN접속을 위해서 만든 연결의 등록정보(속성)를 연다.


<그림7-44. VPN 클라이언트 구성 11>


[속성]의 네트워킹 탭의 TCP/IP등록정보를 열고, 고급옵션의 일반탭에서 원격 네트워크에 기본 게이트웨이 사용옵션을 해제한다.

 

이것은 VPN클라이언트가 VPN서버에 접속을 맺고 나서 인터넷 서핑과 같은 일상적인 트래픽은 자신의 네트워크를 사용하고, VPN서버가 있는 네트워크로 가는 트래픽만 VPN을 사용할 수 있도록 해 준다.

 


7-2-3. 네트워크간 VPN터널 구현 (Demand dial VPN Routing)

 


<그림7-45. 본지점간의 VPN터널 구성>

 

시나리오를 하나 생각해 보자. <그림7-45>에서 본사와 지사간의 네트워크는 인터넷을 통한 공용네트워크로 연결되어 있다. 지사에서는 중요한 데이터를 본사의 SQL Server에 업데이트하여야 한다. 인터넷상에서의 도청의 위험에서 벗어나 안전한 데이터 전송을 필요로 한다면 어떠한 솔루션을 제공할 수 있을까? 윈도우 서버에서 제공하는 VPN솔루션으로 해결책을 제시할 수 있다. 인터넷이라는 공용망에 VPN (Virtual Private Network)을 통하여 암호화된 트래픽을 전달할 수 있도록 구성하면 본사와 지사간에는 안전한 통신을 할 수가 있게 된다. 그렇다고 지사의 클라이언트가 본사와만 통신하는 것은 아니다. 사용자들의 인터넷 서핑같은 일반적인 트래픽의 경우는 그냥 통과시키고 본사로 전송되는 트래픽은 VPN을 통해서 전송하고자 한다.

이러한 경우에 Demand-dial 은 최상의 솔루션을 제공할 수 있다. 물론 대용량의 트래픽과 보다 안정적인 VPN솔루션을 원한다면 VPN전용장비를 이용하는 것이 바람직하겠으나 회사에서 추가로 비용을 들이지 않고 이미 존재하는 Windows기반의 파일서버나 기타 서비스를 하는 서버에 추가로 네트워크 어댑터 카드 하나만 추가해서 간단히 구현할 수 있는 방법이기에 가장 저렴하게 원하는 결과를 얻을 수 있다
.

본사에서의 서버 설정과 지사에서의 서버설정을 차근차근 알아보도록 하자. , 지점 공히 Multi-homed (멀티홈드; 네트워크 어댑터 카드를 여러 개 가진 컴퓨터)로 구현된 Windows 서버 시스템을 필요로 한다
.

7-2-3 –1. 본사의 VPN서버 설정


앞에서의 VPN서버 설정과 동일하다. 다만 VPN서버 구성의 마지막 작업으로 2가지 옵션을 체크한다. 먼저 라우팅 및 원격 액세스 관리콘솔의 왼쪽패널에서 서버이름을 마우스 오른쪽 클릭하여 등록정보로 접근한 다음, ‘LAN및 필요시 전화접속라우팅이 선택되어야 한다.



<그림7-46. Demand dial VPN Routing구현 1>

 

포트의 등록정보를 확인하여 장치에서 [구성]을 선택하여 필요시 전화접속 라우팅 연결(인바운드 및 아웃바운드)’가 선택되도록 설정한다.



<그림7-47. Demand dial VPN Routing구현 2>

 

본사의 VPN서버는 간단히 설정을 할 수 있다. 지사의 라우터를 구성하기에 앞서 본사의 서버가 설정이 제대로 되었는지, 지사에서 본사의 VPN라우터로 접근하는데 문제는 없는지 검증해 볼 필요가 있다. 이러한 작업이 번거로워 보이지만, 무턱대고 지사의 VPN서버를 구성했을 때 생길 수 있는 문제를 보다 손쉽게 해결할 수 있을 것이다. 항상 트러블슈팅을 할 때는 문제의 원인을 분석한후 문제의 원인이 될 수 있는 부분을 격리시키든지, 문제의 출발점이 되는 부분을 찾아나가는 것이 제대로 문제해결을 할 수 있는 방법이 된다.

 

앞에서 VPN클라이언트 설정을 하는 방법을 사용하여 본사의 VPN서버에 잘 접속되는지를 확인하고 이상이 없다면 이번에 지사의 RAS서버를 구현해 보자.


7-2-3-2. 지사의 RAS서버 설정

지사의 RAS서버를 구성해 보자. 기본설정은 본사의 VPN서버와 유사하다.


개념은 간단하다. 지사의 RAS서버에서 VPN연결을 하나 만들고, 지사의 클라이언트가 본사로 가야하는 네트워크 트래픽을 발생시킬 때 이 VPN연결을 통해서 본사의 라우터까지 패킷을 전송할 수 있도록 구성하면 될 것이다. 라우팅 및 원격액세스 서비스는 수동 라우팅 테이블을 만들 수 있도록 지원하고 있다.

<그림7-48. Demand dial VPN Routing구현 3>

먼저 라우팅 및 원격액세스 관리콘솔의 왼쪽패널의 서버이름을 확장해서 보면 아래쪽에 '라우팅 인터페이스'를 찾을 수 있다. 마우스 오른쪽 클릭하여 '새 필요시 전화 접속 인터페이스'를 클릭한다.


<그림7-49. Demand dial VPN Routing구현 4>



마법사가 시작된다.


<그림7-50. Demand dial VPN Routing구현 5>



구성을 해 보자. 인터페이스 이름에는 구별하기 쉽도록 '본사VPN서버'라고 입력한 후 [다음]으로 진행한다.<그림7-50>


<그림7-51. Demand dial VPN Routing구현 6>



연결방법은 VPN을 선택했다. ?냐고 물어본다면 맨앞의 시나리오를 참고하라고 얘기해 줄 것이다.<그림7-51>


<그림7-52. Demand dial VPN Routing구현 7>



VPN
에서 사용할 프로토콜을 선택한다. 자동 선택을 이용해도 좋다. 기본적으로 PPTP를 사용한다. IPSec을 통한 보안의 강화를 지원하고자 한다면 L2TP를 선택해야 할 것이다.<그림7-52>


<그림7-53. Demand dial VPN Routing구현 8>



VPN
서버의 호스트이름 또는 IP주소를 입력한다. <그림7-53>


<그림7-54. Demand dial VPN Routing구현 9>



프로토콜 설정을 한다. 예제에서는 IP패킷만 라우트 하도록 구성을 하였다.<그림
7-54>


<그림7-55. Demand dial VPN Routing구현 10>



지사의 라우터에서 본사의 라우터로 연결을 할 때 사용할 계정정보를 입력한다. 물론 이 계정에는 다이얼인 권한이 부여되어 있어야 한다
.


<그림7-56. Demand dial VPN Routing구현 11>



인터페이스 설치가 완료되었다. [마침]을 눌러서 마법사를 마친다
.


<그림7-57. Demand dial VPN Routing구현 12>



관리콘솔의 오른쪽 패널에 '본사VPN서버'가 추가된 것을 볼 수 있다. 연결상태를 확인해 보라. '연결끊김'으로 표시된 것을 확인할 수 있다. 필요할 때 연결이 만들어지는
Demana-dial
연결이다
.


<그림7-58. Demand dial VPN Routing구현 13>



지사에서 본사로 가는 트래픽이 이 인터페이스를 이용하도록 구성을 해야 할 것이다. IP라우팅을 확장하고 '고정경로'를 선택한 수 마우스 오른쪽 클릭하면 '새 고정경로'를 추가할 수 있다
.


<그림7-59. Demand dial VPN Routing구현 14>



인터페이스가 위에서 추가한 '본사VPN서버'가 됨을 상기하라. 대상에는 목적지 네트워크를 입력한다. <그림7-45>에서 지사에서 본사의 SQL서버에 데이터를 업데이트하고자 했다. SQL서버는 192.168.7.11을 사용하고 있고, 192.168.7.0 네트워크에 위치해 있다.

 

 

이제 작업이 완료되었다. 지사에서 본사로 가는 트래픽이 발생하면 이 지사의 VPN라우터는 본사의 VPN서버로 VPN접속을 한 다음 트래픽을 전달해 주게 된다.


:
Posted by 새벽예찬
2008. 11. 17. 21:20

7-1-2. RAS 사용자 보안설정 Windows Networking2008. 11. 17. 21:20

 

7-1-2-1. 원격 액세스 권한

 

RAS 서비스를 하는 서버가 네트워크에서 어떤 역할을 하는지, 어떤 OS로 구성이 되어 있는지에 따라 구성메뉴가 다르다. 만일, 도메인컨트롤러나 도메인의 멤버서버에서 서비스를 한다면 '관리도구àActive Directory 사용자 및 컴퓨터'를 통해서 접근하고, 독립실행형 서버에서 RAS서비스를 구현한다면 '관리도구à컴퓨터관리'도구를 이용한다. 어떤 환경이든지 사용자 계정의 등록정보를 연 다음 '전화 접속 로그인'탭을 열면 아래의 <그림7-16>와 같은 화면을 볼 수 있다. '액세스 허용'으로 구성하면 된다. 이것은 가장 간단하게 사용자에게 권한설정을 하는 방법이지만 실제로는 RAS정책을 통하여 구현하는 것이 바람직하다. 이 장의 후반부에서 RAS정책에 대해 다루도록 한다.



<그림7-16. 전화 접속 로그인 권한 설정 화면 >

 

원격 액세스 권한을 허용하는 것만으로도 사용자는 RAS 서버로부터 인증을 얻을 수 있게 된다. 하지만 추가로 설정할 수 있는 보안옵션들을 기억할 필요가 있다. 경우에 따라서 유용하게 사용할 수 있는 옵션이다.

 

7-1-2-2. 콜백 옵션

 

기본설정은 '콜백안함'으로 되어 있다. 콜백은 2가지 경우에 사용된다. 첫 번째는 전화요금 부담의 주체가 누구인지, 두 번째는 보안이 중요한 경우에 사용될 수 있다. 콜백옵션을 '호출자가 설정'을 셋팅하면 RAS 클라이언트가 서버에 전화를 걸어서 인증을 얻고 나면 서버는 사용자의 화면에 전화받을 위치를 입력할 것을 요구하게 된다. 이때 사용자가 현재 자신의 전화번호를 입력해 주면 서버가 클라이언트에게 전화 되걸기를 해 준다. 당연히 전화를 거는 쪽이 요금 부담을 하므로 클라이언트는 전화비용의 부담이 없이 RAS 서버에 연결해서 회사의 서버에 접속이 가능해 지는 것이다. RAS 클라이언트가 회사의 업무를 위하여 재택근무시 혹은 출장지에서 접속을 하게 되므로 전화비 부담을 회사에서 하는 것이 형평성에 맞을 것이다. 우리나라의 훌륭한 인터넷 인프라를 고려한다면 현실성이 떨어지긴 하지만.

 

콜백옵션을 '항상 콜백'으로 셋팅하는 것은 상황이 조금 다르다. 디렉토리 데이터베이스의 사용자 등록정보에 미리 전화번호를 입력해 두어야 한다. 그리고, RAS 클라이언트가 서버로 전화를 걸었을 때, 연결이 되고 나면 서버는 클라이언트에게 반드시 전화 되걸기를 해야만 연결이 되게 된다. 클라이언트쪽에서 별도로 전화번호를 지정할 수가 없기 때문에 RAS 사용자의 계정, 패스워드, RAS 서버의 전화번호 등이 외부에 유출이 되었다고 할지라도 상대방이 전화번호까지 도용하지 않는 이상 연결을 허용하지 않게 되는 것이다. 이것은 콜백옵션이 주는 보안중에서 가장 강력한 보안기능을 제공한다. 실제 동작하는 과정은 클라이언트쪽에서 연결을 하면서 체크해 보도록 하겠다. 이제 서버 구성은 마쳤고, RAS 서버에 접속할 클라이언트를 구성하도록 한다.

 

7-1-3. 전화접속 클라이언트 구성

 

전화접속 서버에 접속하기 위해서는 클라이언트 역시 설정이 필요하다. Windows 9x 계열이나, Windows NT 4.0의 경우라면 "전화접속 네트워킹"을 통해서 설정하고, Windows 2000, XP등을 사용한다면 "네트워크 연결"을 통해서 설정할 수 있다. 예제의 화면은 Windows XP Professional에서 전화접속 서버로 연결하기 위해 구성하는 화면이다. 당연히 전화접속 서버에 연결하고자 하는 클라이언트는 역시 전화회선이 연결된 아날로그 모뎀이 필요하다.

 


<그림7-17. 네트워크 및 전화 접속 연결 화면 >

제어판à네트워크 연결로 접근했다. ‘새 연결 마법사를 클릭한다.



<그림7-18. 위치정보 입력화면 >



처음 접근할 때 위치정보를 물어보는 화면이 팝업된다. 클라이언트가 있는 위치에 대한 정보를 입력해 준다.

 

이 정보는 나중에 제어판à전화 및 모뎀옵션을 통해서 수정할 수 있다.



<그림7-19. 전화 및 모뎀 옵션 >



전화 및 모뎀 옵션을 설정하고 [확인]을 누른다.



<그림7-20. 네트워크 연결 마법사 시작 >

 



이제 네트워크 연결 마법사가 시작된다.

<그림7-21. 네트워크 연결 형식 선택 화면 >

네트워크 연결 형식에서 '회사 네트워크에 연결'을 선택한다. <그림7-21>

 


<그림7-22. RAS 서버의 전화번호 지정 >



전화접속 연결인지 가상사설망(VPN)연결인지를 선택해야 한다. 예제에서 모뎀을 가진 전화접속 서버에 연결하고자 함으로 '전화 접속 연결'을 선택했다.

 


<그림7-23. RAS 서버의 전화번호 지정 >



연결의 이름을 입력한다. 알기 쉬운 이름을 사용하면 된다. 예제에서는 회사서버라고 입력했다.


<그림7-24. RAS 서버의 전화번호 지정 >



'
전화 걸 번호'창에서 전화접속 서버의 전화번호를 입력한다. 컴퓨터대 컴퓨터가 아니라 사람대 사람의 전화통화를 하는 것이라고 생각하면 쉽다.


<그림7-25. 네트워크 연결 마법사 완료 >



이제 설정을 마쳤다. [마침]을 눌러서 마법사를 마친다.


<그림7-26. RAS 서버로의 전화 접속 연결이 추가된 화면 >



마법사를 완료하고 나면 '네트워크 연결'화면의 전화접속 항목아래에 회사서버라는 새로운 연결이 추가된 것이 보인다. <그림7-26>


자 이제 제대로 접속이 될 것인지 테스트를 해 보자. <그림7-26>에서 회사서버아이콘을 더블클릭했다.


<그림7-27. RAS 서버 연결 테스트 >



사용자 이름과 암호를 입력하고 [전화걸기]를 클릭했다.

 


<그림7-28. RAS 서버에 전화 거는 중 >



해당 전화번호로 전화를 걸고 있다.


<그림7-29. RAS 서버에 전화 거는 중 >


연결이 되었다. 사용자 이름과 암호를 확인하는 인증과정을 거치고 있다. 이 때 해당 사용자가 전화접속서버에 다이얼인권한을 가지고 있지 않다면 권한이 없다는 메시지가 나온다.


<그림7-30. 컴퓨터를 네트워크에 등록하는 과정 >



인증이 되었다. 클라이언트 컴퓨터를 RAS서버가 속해있는 네트워크에 등록하는 과정이 나온다.


<그림7-31. 서버에 연결이 완료된 상태 >



등록이 성공적으로 되었다면 등록이 되었음을 보여주는 메시지가 나오고 작업표시줄에서 '네트워크'아이콘을 볼 수 있다.

 

일단 연결이 맺어지고 나면 클라이언트가 사용하는 컴퓨터가 회사의 네트워크의 로컬LAN에 직접 물려있는 것과 동일하게 생각하면 된다. 상대적으로 속도가 느리다는 것 (그런대로 쓸만 하긴 하지만) 말고는 별 차이가 없다. 회사의 파일서버, 프린트서버에 접근은 물론, 메일서버나 웹서버, 또 회사의 라우터를 이용해서 인터넷에 접근 등 로컬LAN의 다른 컴퓨터들과 동일한 작업을 할 수 있다.
:
Posted by 새벽예찬
2008. 11. 17. 20:59

7-1. 전화접속 서버 (Dial-up Server) Windows Networking2008. 11. 17. 20:59


재택근무를 하는 직원이 회사의 서버에 접속을 원한다면? 출장지에서 근무를 하는 직원이 회사의 파일서버에 접근해서 데이터에 액세스해야 할 필요가 있다면? , IIS 웹서버에 데이터베이스서버로 구성된 SQL Server가 사설네트워크로 구성되어 네트워크를 통해서는 접속을 할 수 없는 상황일 때 서버의 관리를 위해서는? 이러한 경우에 제공될 수 있는 솔루션이 원격 접속 서비스 (RAS)의 전화접속 서버 기능이다.

 

용어가 조금 낯설게 느껴질 수도 있겠지만 쉽게 생각하면 된다. 요즘은 초고속 인터넷이라는 이름으로 KT, 하나로통신 등의 사업자들이 ADSL, Cable 과 같은 인터넷 접속 서비스를 제공하고 있지만 불과 몇 년전만 하더라도 인터넷을 사용하기 위해서는 전화전속(dial-up)을 이용했다. 아날로그 모뎀을 가지고 천리안, 하이텔 등 PC통신회사의 통신서버로 전화를 걸어서 접속을 하고 인증을 얻은 다음 IP Address를 할당받고 PC통신회사의 통신서버 및 인터넷에 접속이 가능해 진다. 이때 통신서버는 사용자들의 전화접속 연결을 처리해 주는 전화 접속 서버역할을 한다.

 

Windows Server 2003RAS가 제공하는 기능중 하나인 전화접속서버도 이것과 동일하다. 사용자들이 외부의 전화접속서버를 이용하는 것이 아니라 회사에서 설치한 전화접속서버로 접속하는 것일 뿐이다. 그렇게 하기 위해서는 먼저 회사의 네트워크에 전화접속서버를 설치해야 한다.

 

7-1-1. 전화접속 서버 구성

 

예제에서는 Windows Server 2003을 통해서 구현하였다.

 


<그림7-1. 장치관리자 화면 >


먼저 RAS서버로 구현하고자 하는 시스템에 전화회선이 연결된 모뎀이 있어야 한다. 모뎀을 추가하고 나면 제대로 동작하는지 "장치관리자"를 통해서 확인한다.<그림7-1>

 



<그림7-2. 라우팅 및 원격액세스 관리콘솔 >



모뎀을 제대로 설치했다면 RAS서비스를 설정해야 한다. '관리도구
à라우팅 및 원격액세스'를 통해서 관리콘솔로 접근한 다음, 서버이름을 더블클릭해 본다. <그림7-2>처럼 빨간색 화살표가 아래로 향해 있는 것이 보인다. 서비스가 멈춰 있다는 뜻이다. 서버 이름을 클릭하고 마우스 오른쪽 단추를 눌러서 '라우팅 및 원격액세스 사용 및 구성을 클릭한다.

 



<그림7-3. 라우팅 및 원격액세스 서버 설치 마법사 >

 



라우팅 및 원격 액세스 서버 설치 마법사가 시작되었다.


<그림7-4. 라우팅 및 원격액세스 서버 설치 마법사 - 일반구성>


일반구성 창에서 "원격 액세스(전화 접속 또는 VPN)"를 클릭하고 [다음]을 누른다. 5가지 메뉴 중 하나를 선택할 수 있다. 각각 용도가 다르며, 지금 설정할 수도 있고 나중에 각각 추가로 구현할 수도 있다.

 

첫번째 항목인 원격 액세스를 선택하였다.

 



<그림7-5. 라우팅 및 원격액세스 서버 설치 마법사 원격액세스 >



VPN
서비스를 할 것인지, 전화접속 서버로 동작할 것인지를 선택한다. <그림7-5>

 



<그림7-6. 라우팅 및 원격액세스 서버 설치 마법사 네트워크 선택>

 



네트워크를 선택하라는 화면이 나온다. 클라이언트가 전화접속을 통해 접근했을 때 내부의 어떠한 네트워크에 연결하도록 허용할 것인지가 결정된다.

 


<그림7-7. 라우팅 및 원격액세스 서버 설치 마법사 - IP주소할당>


TCP/IP
를 사용하기 때문에 당연히 IP Address 구성이 있어야 한다. 방법은 두 가지가 제공된다. DHCP Server를 사용하거나 RAS서버에서 직접 IP 범위를 셋팅할 수 있다. DHCP Server를 사용하겠다고 구성하면 별도의 DHCP 서비스를 구현해야 할 것이다. 예제에서는 직접 이 서버에 IP범위를 구성하도록 한다.<그림7-7>


<그림7-8. 라우팅 및 원격액세스 서버 설치 마법사 - 주소 범위 할당>

 



예제에서 RAS서버의 IP 192.168.0.15이다. 클라이언트를 위해 설정하는 주소범위는 RAS서버의 IP와 같은 네트워크ID를 사용하는 IP Address범위를 지정한다. 예제에서는 192.168.0.56 ~ 192.168.0.60까지 5개의 IP Address를 범위로 지정하였다.

 


<그림7-9. 라우팅 및 원격액세스 서버 설치 마법사 - 다중 원격 액세스 서버관리 >

 


RADIUS
를 사용할 것인가를 묻는 화면이 나온다. 기본설정은 '아니오'이다. RADIUS에 대한 설명은 이 장의 마지막에서 다룬다. 기본설정을 그대로 두고 [다음]으로 진행한다.

 

<그림7-10. 라우팅 및 원격액세스 서버 설치 마법사 - 완료 >

 


'
라우팅 및 원격액세스 서버 설치마법사'완료 화면이 나오면 요약정보를 확인하고 [마침]을 눌러서 마법사를 마친다.

 

<그림7-11. 라우팅 및 원격액세스 서버 설치 마법사 - DHCP Relay Agent 구성 메시지 >

 

DHCP릴레이 관련한 메시지가 팝업된다. <그림7-8>의 경우처럼 RAS서버에서 IP범위를 만들 경우에는 필요없는 옵션이다. 무시해도 좋다. 하지만, DHCP Server로부터 IP Address를 받도록 설정을 했다면 DHCP Relay agent를 구성해 주어야 한다.

<그림7-12. 라우팅 및 원격액세스 서버 설치 마법사 - 일반구성>

라우팅 및 원격 액세스 서비스를 시작하고 있다.



<그림7-13. 서버 등록정보 >

 



설정에 문제가 없었다면 서비스는 시작되고, 서버이름을 확인해 보면 녹색의 화살표가 up되어 있는 것을 확인할 수 있다. 서버이름을 마우스 오른쪽 클릭하여 속성을 선택한다.

 

<그림7-14. RRAS - 포트 등록정보 >

서버의 등록정보를 확인하면 <그림7-14>와 같다. 원격액세스 서버 항목에 체크되어 있는 것을 확인할 수 있다. 이 서버를 추가로 라우터로도 사용하기를 원한다면? 라우터 항목에 체크를 하고 구성을 할 수 있다. 된다. 처음 서비스를 구성할 때는 마법사를 통해서 접근하지만, 이미 서비스가 시작되어 있을 때는 마법사를 이용한 설정은 할 수 없다. 등록정보를 이용해서 추가를 해 주어야 한다.

 

이제 RAS클라이언트가 서버로 전화를 걸면 서버는 전화연결을 받을 수 있도록 구성이 되었다. 여기까지 셋업을 하면 서버구성은 끝났지만, 추가로 생각해 봐야 할 옵션이 있다. 만일 특별한 RAS사용자에 대해서 서버측에서 "콜백(call back)"옵션을 지정했다면 그때는 클라이언트로부터 전화를 받은 서버가 전화를 클라이언트 컴퓨터로 되걸어 주어야 할 필요가 생긴다.

<그림7-15. RRAS - 포트 등록정보 >

그럴 경우를 고려한다면 추가로 <그림7-15>의 옵션을 체크해 주어야 한다. 관리콘솔의 왼쪽 패널의 서버이름 아래에 '포트'를 클릭하고, 등록정보를 연 다음 모뎀의 [구성]을 클릭하면 접근할 수 있다. 기본설정은 '원격 액세스 연결(인 바운드만)'으로 되어 있다. '필요시 전화접속 라우팅 연결(인 바운드 및 아웃바운드)'옵션도 체크를 해 주면 된다.

 

이것으로 RAS서버의 구성은 완료되었다. RAS서버는 구성하였지만 RAS서버에 접근할 사용자가 있어야 할 것이다. 당연하지만, 설정을 빠트리면 어떤 사용자도 RAS서버에 접근을 할 수 없게 된다.

:
Posted by 새벽예찬
2008. 11. 17. 20:48

7장. 원격 액세스 서비스 Windows Networking2008. 11. 17. 20:48

 

윈도우 서버는 전화접속, VPN접속, 인터넷 연결공유, 라우터 등 다양한 기능의 연결서비스를 제공한다. 이번 장에서는 접속서버 기능과 정책, 인증서비스를 살펴보도록 한다. Windows Server 2003을 기준으로 설명하였지만Windows 2000 Server의 서비스와 기능이나 인터페이스 측면에서 큰 차이는 없다.


:
Posted by 새벽예찬
2008. 11. 17. 20:42

6-6. Lmhosts 파일 Windows Networking2008. 11. 17. 20:42

 

WINS서버를 사용하지 않고 라우트된 도메인 환경에서 서로간에 자원공유가 가능하도록 할 수 있을까? RFC 표준만 그대로 지원한다면 방법은 없다. 하지만 마이크로소프트는 추가로 Lmhosts 파일을 통해서 NetBIOS 이름풀이를 지원하고 있다.


<그림6-16. 'Color' 도메인의 예제 >

 

<그림6-16>을 예제로 설명하도록 한다. 회사의 도메인 이름은 Color 이다. 이 회사는 서울과 대전으로 지역이 나뉘어 있고 서울에는 Red 라는 이름의 도메인 컨트롤러가 위치해 있다. 서울과 대전에는 각각 Blue White 라는 파일서버가 있고, 서울과 대전의 클라이언트들은 도메인으로 로그온을 하고 Blue White 2대의 자원을 공유해서 사용하고 있다. 지역별로 구분을 한 예제이지만 서울과 대전이라는 WAN 구간의 경우에 한정된 것은 아니다. 한 지역에서도 라우터로써 네트워크가 나뉘어 있는 상황이라면 <그림6-16>의 예제와 같은 형태로 볼 수 있다. 서울과 대전이라는 지역적인 측면보다는 2개의 서로 다른 네트워크라고 이해하도록 하겠다. WINS서버가 없더라도 같은 네트워크 안에서 클라이언트들은 서버를 찾는데 어려움이 없다. 브로드캐스트라는 차선의 방법이 제공되기 때문이다. 하지만, 문제는 자신과 다른 네트워크 즉 라우터 건너편에 존재하는 서버에게 접근하려면 그때는 문제가 생긴다. 브로드캐스트가 라우터를 넘지 못하므로 서버를 찾을 방법이 없는 것이다.

 

이것을 해결하기 위해서 클라이언트 컴퓨터에서 lmhosts 파일을 이용할 수 있다. lmhosts 파일은 %systemroot%\system32\drivers\etc 폴더에 위치해 있다. (%systemroot% NT기반의 컴퓨터에서는 winnt 폴더를 의미한다.) <그림6-17> 해당폴더에는 몇가지 파일이 더 보인다. 다른 파일들 역시 TCP/IP 환경에서 각각 필요에 따라 사용된다. lmhosts 파일을 자세히 보면 다른 파일과 다른 것을 알 수 있다. hosts, protocol 등의 파일과 비교해서 '종류'를 살펴보면 'SAM 파일'로 되어 있는 것을 알 수 있다. 다른 파일들은 확장자가 없지만 lmhosts 파일은 실제로는 lmhosts.sam 이라는 파일명을 가지고 있다. 윈도우탐색기에서 도구à폴더옵션à보기 메뉴에서 '알려진 파일 형식의 파일 확장명 숨김'옵션을 지워주면 확장자까지를 확인할 수 있다.


<그림6-17. lmhosts 파일 >

 

lmhosts 파일을 사용하기 위해서는 확장자를 지워줘야 한다. <그림6-17>을 보면 예제의 PC에서는 기본적으로 lmhosts 파일을 사용하지 않고 있음을 알 수 있다. 메모장을 사용해서 lmhosts.sam파일을 열어본다. 이 파일은 텍스트 파일이므로 텍스트를 읽을 수 있는 프로그램이면 뭐든 상관없다. 아래의 <그림6-18>은 메모장을 사용해서 열어본 파일을 보여준다.


<그림6-18.
메모장으로 열은 lmhosts 파일 >

 

파일에 대한 설명이 있고, 텍스트의 맨 앞에는 한결같이 '#'이 붙어 있다. 이것은 주석처리됨을 의미한다. 끝까지 읽어봐도 #이 붙어 있음을 알 수 있다. 기본적으로는 아무런 내용이 존재하지 않는 빈 파일과 같다. <그림6-11>의 파란박스부분을 보면 #PRE, #DOM 등의 문자들이 보인다. 여기서의 #은 의미를 가진다. 이러한 것들은 특별한 의미가 있는 '태그(tag)'들이다. 사용법은 파일에 기록된 설명을 참고하겠다. 그렇다면 이 파일을 어떻게 사용할까? 예제를 들어서 작성을 해 보자.

 

<그림6-16>의 예제에서 Green 이라는 컴퓨터의 사용자는 color 도메인으로 로그온 하기 위해서 도메인 컨트롤러인 Red를 찾아야 하고, Blue 라는 서버에 연결하여 자원에 접근도 해야 한다. 이것을 가능하게 하기 위한 방법은 Green 컴퓨터의 lmhosts 파일을 편집함으로써 해결할 수 있다. lmhosts 파일을 열고 <그림6-19>와 같이 기록을 하면 된다.


<그림6-19. lmhosts 파일 편집 >

 

<그림6-19>화면에서는 blue 서버가 192.168.10.200 IP Address를 사용하고 있음을 기록했고, #PRE #DOM 태그를 이용하여 Color 도메인의 도메인 컨트롤러가 Red 이고 Red 192.168.10.2 IP Address를 사용하고 있음을 나타내고 있다. 여기서 #DOM 은 도메인명을 지정해 주는 것이고, #PRE는 시스템 시작과 동시에 PreLoad 시키는 것을 의미한다. #PRE 태그를 이용하면 시스템이 시작될 때 #PRE 태그가 붙어 있는 라인의 내용을 메모리에 로딩을 하게 되고 이것은 시스템을 끌 때까지는 계속 메모리에 올라와 있게 된다. 또는 명령프롬프트에서 'nbtstat -R'을 이용해서 로딩 시킬 수도 있다. Green 컴퓨터에서 nbtstat 유틸리티를 이용해서 잠시 들여다 보자.

< lmhosts 파일 설정 전 >


D:\>net view \\blue  (
net.exe 유틸리티를 이용하여 blue 서버의 공유자원 리스트를 요청하고 있다.)

시스템 오류 53() 생겼다.

 

네트워크 경로를 찾지 못했다. (blue 라는 서버를 찾을 수 없음을 보여준다.)

 

< lmhosts 파일 설정 후 >


D:\>net view \\blue

\\blue의 공유 리소스

 

공유 이름   유형         용도  설명

---------------------------------------------------------------------

Address      Disk                  "Access to address objects"

Down         Disk

HANKOOK.log  Disk                  "Exchange message tracking logs"

NETLOGON     Disk                  Logon server share

SYSVOL       Disk                  Logon server share

명령을 잘 실행했다.

 

D:\>nbtstat -c  (NetBIOS 이름을 성공적으로 해석(resolution)하면 NetBIOS 캐쉬에 일시적으로 저장한다. 기본적으로 10분이라는 시간동안 저장된다. 캐쉬를 보기 위한 스위치 '-c' 를 이용했다.)

Node IpAddress: [192.168.20.112] Scope Id: []

 

                  NetBIOS Remote Cache Name Table

 

        Name           Type           Host Address      Life [sec]

    ------------------------------------------------------------

       BLUE           <20>  UNIQUE   192.168.10.200      595    (blue <20>이 캐쉬에 등록되었다.  캐쉬에서 사라질 때까지의 남은 시간 (TTL) 595초임을 알 수 있다.)

 

D:\>nbtstat -R  (NetBIOS Cache를 모두 삭제하고, lmhosts 파일에서 #PRE 태그가 붙은 레코드를 캐쉬에 로딩시키는 명령이다.)

    Successful purge and preload of the NBT Remote Cache Name Table.

 

D:\>nbtstat -c

NIC:

Node IpAddress: [203.239.61.109] Scope Id: []

 

                  NetBIOS Remote Cache Name Table

 

   Name           Type                     Host Address    Life [sec]

    ------------------------------------------------------------

    RED            <03>  UNIQUE          192.168.10.2        -1

    RED            <00>  UNIQUE          192.168.10.2        -1

    RED            <20>  UNIQUE          192.168.10.2        -1

    COLOR         <1C>  GROUP          192.168.10.2        -1

(다시 캐쉬를 확인하니 BLUE 의 레코드는 삭제되고, #PRE 태그가 붙어있던 레코드가 추가된 것이 보인다. TTL -1 (무한대)임을 확인할 수 있다.)

D:\>

 

Lmhosts파일에 원하는 정보를 입력했다면 파일을 저장한다. 저장할 때 다른 이름으로 저장을 선택하여 lmhosts파일을 큰 따옴표로 묶어서 확장자 없이 저장한다. 그렇지 않으면 lmhosts.txt 파일로 저장되어 이 파일은 동작하지 않는다. Lmhosts.sam 파일에서 확장자만 제거해도 무방하다.


<그림6-20. lmhosts 파일 저장>

 

예제에서 서울에 있는 Black 컴퓨터가 대전의 White를 찾을 수 있도록 하기 위해서는 역시 Black 컴퓨터의 lmhosts 파일에 White 의 정보를 추가해 주어야 한다. WINS 서버를 사용하지 못할 때 해결할 수 있는 차선책이긴 하지만, 어디까지나 차선책일 뿐이다. 사실상 번거롭다. 수많은 클라이언트들을 관리해야 하는 관리자라면 이러한 작업들이 보통 귀찮은 작업이 아니다. lmhosts WINS 서버의 오류시 사용하게 될 백업 측면에서 접근을 하는 것 정도라면 고려해 볼만 하지만, lmhosts 파일보다는 WINS서버의 오류시 그것을 대체하게 될 WINS서버를 추가로 구현하는 방법으로 접근하는 것이 바람직한다고 생각한다. 

 

이러한 WINS서버 역시 장기적으로는 사용되지 않을 서비스이다. 현재 시점에서 만일 회사의 네트워크 환경이 Windows2000이상의 환경으로 완전히 전환되고(이것은 서버뿐이 아니라 클라이언트 시스템까지 Windows 2000, Windows XP등으로 바뀌는 것을 의미한다.) 도메인 환경이 구축되었다면, 더 이상 WINS 설정을 하지 않아도 좋다. 이들은 DNS 쿼리를 통하여 자원에 접근하는 것이 가능하기 때문이다. 또한 컴퓨터들의 TCP/IP설정에서 “TCP/IP에서 NetBIOS 사용안함옵션을 활성화시키는 바람직하다. 이것은 불필요한 네트워크 트래픽을 상당부분 감소시켜 줄 수 있다. 하지만 지금은 분명히 이러한 점에 있어서는 과도기이다. 당분간은 여전히 이전 버전의 클라이언트들을 지원해야 하기 때문에 WINS의 존재는 분명히 필요하다. 제대로 WINS서비스를 잘 구성해 놓는것만으로도 여러분은 네트워크상에서 문제점이 상당히 줄어들었다는 실감할 수 있을 것이다.


:
Posted by 새벽예찬