Terminal 환경으로 구성된 (Server Based Computing)환경에서 Idle Session 이후 특정 시간이 지날 경우 사용자를 강제로 종료 시킬 수 있는 Option을 구현할 수 있다. 실제로 Active & Idle Session Time Limit 설정이후 해당 시간이 지났을 경우 그 다음 Action을 어떻게 할 수 있는냐를 결정하는 것이다.

 

다음 Mission을 통해 구현방법을 알아보자.

 

[Mission] Terminal 접속시 장기 User가 존재하여 서버 부하를 증가시킨다. Active Session이 1일 이상 지난 사용자에 대해서는 자동 종료될 수 있게 구성한다.

 

[Action Plan]

 

  - Group Policy를 이용하여 문제를 해결함.

 

1. 해당 정책은 컴퓨터 및 사용자 정책 모두에 적용을 할 수 있으며, 일반적인 경우 컴퓨터 정책이 최우선순위다.

 

image

 

그림에 표신된 시간 제한에 도달하면 Session 종료 정책을 "사용함"으로 변경하면, 정책 적용은 끝이다.^^

 

해당 정책이 정상적으로 적용되었는지 확인이 필요하면 관리도구의 Terminal 구성을 확인해 보면 아래와 같이 비활성화 되어 있는것을 확인 할 수 있다.

 

image

신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by hotpoto

Windows Server Initial Setup시 반드시 진행하는 설정중에 하나인, Windows 프로세서 & 메모리 사용계획을 Registry값을 이용해 수정하는 방법에 대해 알아보고자 한다.

 

[내컴퓨터 → 속성 → 고급 → Performance → Setting] 부분에서 해당 Option을 수정 가능

 

이후 Performance Option에서 "프로세서 사용계획" 및 "Memory Usage" 및 Virtual Memory 값을 대부분 Windows Setup

시설정하는데 이 값이 있는 Registry 값을 수정하여, 자동화 한다면 좋은 방법이라 생각이 된다.

 

 

[프로세서 사용계획, Processor scheduling]

어떠한 환경의 Service를 제공하느냐에 따라 Programs을 선택하기도 하고 Backgroupd Services를 선택하기도 한다.
대부분의 서버 환경은 Default로 Background Services로 설정하지만. Terminal 환경이나, Excel과 같은 사용자 Action이
많은 서비스의 경우에는 Program으로 설정하는것이 일반적이며, SQL Services등을 제공할때는 Background Services를
권고한다. 해당 Option을 조절하는 Registry 값의 위치는 다음과 같다.

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl\Win32PrioritySeparation]

Data 형식 : REG_DWORD

값 : Hexadecimal 26 (Program), Hexademical 18 (Background Serivces)

image

 

[Memory Usage]

메모리 사용계획도 Setting 환경에 따라 변할 수 있으며, 대표적으로 권고하는 파일서버의 경우에는 System Cache 사용을
권고하며, 해당 Registry 값에는 Paging File 위치또한 지정할 수 있다.

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\LargeSystemCache]

Data 형식 : REG_DWORD

값 : Hexadecimal 0 (Program), Hexademical 1 (System Cache)

 

image

신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by hotpoto

참조 : 국가사이버안전센터

 

■ 개 요
MS社는 3월 11일 MS 윈도우 및 DNS/Wins 서버에서 시스템 장악 등 해킹에 악용 가능한 보안취약점 3건(긴급 1, 중요 2)을 발표하였는 바, 각급기관은 해당 시스템에 대한 MS社의 보안 업데이트를 조속히 설치하시기 바랍니다.
________________________________________

■ 보안 업데이트에 포함된 취약점 및 관련 사이트

1. 윈도우 커널 취약점으로 인한 원격코드 실행 문제점(긴급, 958690)

o 설 명
GDI 커널 컴포넌트에 원격코드 실행 취약점이 존재하여 공격자는 조작된 EMF, WMF 이미지 파일이 포함된 악의적인 웹페이지를 구축한 후 사용자의 방문을 유도하거나 이메일 첨부파일을 열어보도록 유도하여 취약시스템에 대해 완전한 권한 획득이 가능하다.

* GDI(Graphics Device Interface) : MS 윈도우에서 화면에 스크롤바, 선 등 모든 그래픽 객체들을 그리는 인터페이스
* WMF(Windows Meta File) : 벡터방식의 이미지 파일을 지원하기 위한 wmf 확장자를 가진 파일로 MS Office 등의 클립아트에 주로 이용
* EMF(Enhanced Metafile) : WMF의 32비트 확장형 파일 포맷

o 관련 취약점
    - Windows Kernel Input Validation Vulnerability(CVE-2009-0081)
    - Windows Kernel Handle Validation Vulnerability(CVE-2009-0082)
    - Windows Kernel Invalid Pointer Vulnerability(CVE-2009-0083)

o 영향받는 소프트웨어
    - Microsoft Windows 2000 SP4
    - Windows XP SP2, SP3
    - Windows XP Professional x64 Edition, SP2
    - Windows Server 2003 SP1, SP2
    - Windows Server 2003 x64 Edition, SP2
    - Windows Server 2003 with SP1, SP2 for Itanium-based Systems
    - Windows Vista, SP1
    - Windows Vista x64 Edition, SP1
    - Windows Server 2008 for 32-bit Systems
    - Windows Server 2008 for x64-based Systems
    - Windows Server 2008 for Itanium-based Systems
o 관련사이트
→ 영문 : http://www.microsoft.com/technet/security/Bulletin/MS09-006.mspx
→ 한글 : http://www.microsoft.com/korea/technet/security/Bulletin/MS09-006.mspx
2. SChannel 취약점으로 인한 스푸핑 문제점(중요, 960225)

o 설 명
SChannel 인증 컴포넌트가 공인인증서 기반의 인증을 수행하는 과정에 스푸핑이 가능한 취약점이 존재하여 공격자는 인가된 사용자의 공인인증서를 이용, 비밀키 없이 인증을 우회할 수 있다.

* SChannel(Secure Channel) : MS 윈도우에서 메시지 무결성 및 기밀성을 위해 사용되는 보안프로토콜로서 인터넷 브라우저와 서버에서 사용
* 스푸핑(Spoofing) : 자기 자신의 식별 정보를 속여 대상 시스템을 공격하는 수법

o 관련 취약점
    - SChannel Spoofing Vulnerability(CVE-2009-0085)

o 영향받는 소프트웨어
    - Microsoft Windows 2000 SP4
    - Windows XP SP2, SP3
    - Windows XP Professional x64 Edition, SP2
    - Windows Server 2003 SP1, SP2
    - Windows Server 2003 x64 Edition, SP2
    - Windows Server 2003 with SP1, SP2 for Itanium-based Systems
    - Windows Vista, SP1
    - Windows Vista x64 Edition, SP1
    - Windows Server 2008 for 32-bit Systems
    - Windows Server 2008 for x64-based Systems
    - Windows Server 2008 for Itanium-based Systems
o 관련사이트
→ 영문 : http://www.microsoft.com/technet/security/bulletin/MS09-007.mspx
→ 한글 : http://www.microsoft.com/korea/technet/security/bulletin/MS09-007.mspx
3. DNS와 WINS 서버 취약점으로 인한 스푸핑 문제점(중요, 962238)

o 설 명
MS 윈도우 DNS와 WINS 서버에서 스푸핑이 가능한 취약점이 존재하여 공격자는 DNS 서버에 조작된 쿼리를 보내거나 WINS 서버에 man-in-the-middle-attack을 하여 인터넷 트래픽의 경로를 원하는 곳으로 변경할 수 있다.

* WINS(Windows Internet Name Service) 서버 : TCP/IP환경에서 NetBIOS 이름(컴퓨터 이름)을 IP 주소와 서로 연결시켜주는 역할을 하는 서버
* man-in-the-middle-attack(중간자 공격) : 두 당사자간의 통신 메세지를 공격자가 중간에서 마음대로 가로챌 수 있는 공격

o 관련 취약점
    - DNS Server Query Validation Vulnerability(CVE-2009-0233)
    - DNS Server Response Validation Vulnerability(CVE-2009-0234)
    - DNS Server Vulnerability in WPAD Registration Vulnerability(CVE-2009-0093)
    - WPAD WINS Server Registration Vulnerability(CVE-2009-0094)

o 영향받는 소프트웨어
    - DNS/WINS Server on Microsoft Windows 2000 SP4
    - DNS/WINS Server on Microsoft Windows Server 2003 SP1, SP2
    - DNS/WINS Server on Microsoft Windows Server 2003 x64 Edition, SP2
    - DNS/WINS Server on Microsoft Windows Server 2003 for Itanium-based Systems SP1, SP2
    - DNS Server on Windows Server 2008 for 32-bit Systems
    - DNS Server on Windows Server 2008 for x64-based Systems
o 영향받지 않는 소프트웨어
    - Windows 2000 Professional SP4
    - Windows XP SP2, SP3
    - Windows XP Professional x64 Edition, SP2
    - Microsoft Windows Vista, SP1
    - Microsoft Windows Vista x64 Edition, SP1
    - Microsoft Windows Server 2008 for Itanium-based Systems
o 관련사이트
→ 영문 : http://www.microsoft.com/technet/security/bulletin/MS09-008.mspx
→ 한글 : http://www.microsoft.com/korea/technet/security/bulletin/MS09-008.mspx

________________________________________

신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by hotpoto

Hyper-V에 대한 내용은 이미 많은 공유가 있었던 것으로 알고 있다. 또, 이와 연관된 내용을은 백승주님의 블로그를 가면 자세한 내용을 확인할 수 있을 것이다. 이제 이러한 기술들이 단순히 테스 뿐만이 아닌 실제 서버 운영업무에 이용되고 있다는 느낌을 받는다. 클라우드 컴퓨팅 기반의 가장 핵심적인 기술,,, 바로 Virtualization!!! UC환경 도입을 위한 필수적으로 선택해야 하는 항목이 아닌가 생각이 된다

 

아래 Link에 Download 경로를 이용해 많은 지식을 쌓는 계기가 되시길....

 

Windows 2008 R2 평가판 Download, Microsoft Hyper-V Server 2008

신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by hotpoto

이번 내용은 Terminal Service 이용시에 Session 접속이 어떻게 이루어 지는가에 대해서 자세히 살펴 보려고 한다. 해당 내용은 순하게 RDP Session만 다루는 것은 아니며, CPS (Citrix Presentation Server) 접속 또한 같이 확인해 보려고 한다.

기본적으로 Terminal Service는 RDP Protocal을 이용해 Data 송수신, Server와 Client 간에 변경내역에 대한 정보를 주고 받는다.

image

즉, Client 는 Physical한 마우스와 키보드의 위치 정보값을 전달하면 Server쪽에서는 해당 위치값을 처리하며, 가상 마우스와 키보드의 값을 매핑하여, 입력처리를 하며, 이에 대한 결과값을 서버에서 RDP Graphic Driver를 이용하여(RDPDD.dll) Client에 있는 Win32 Graphic API를 이용함으로써 결과값을 전달받게 된다. CPS서버에서는 Client 와 Server 통신시 이용되는 Protocol을 ICA Protocol을 이용해서 전달(1494)을 하며, 해당 Protocol은 Data는 전달하지 않은체, 순수하게 키보드, 마우스 정보만 송수신 하는 구조로 구성이 된다. 이부분이 RDP Protocol을 이용하는 것과의 차이라 생각되며, 보안적인 측면을 내세울 때  강조하는 면이라고 생각이 된다.

이번 Section은 Client 와 서버간의 정보 전달보다는 Client를 위해 Server에서 어떠한 동작이 이루어 지는지 살펴보려고 한다. 즉, Kernel Mode에서 동작을 확인하는 것이 아닌 User Mode상태에서 어떻게 System 사용을 위해 준비가 되는지 확인해 보려고 한다. (단, 내용에 오류가 있는 부분도 있을 것이라 생각되오니, 수정할 부분이 있으면, 덧글을 달아 주시길....)

 

[참고] LPC 통신 - http://technet.microsoft.com

LPC (자체 프로시저 호출, Local Procedure Call)는 Windows NT 4.0 및 Windows 2000에서 제공되는 메시지-전달 서비스로 쓰레드 (thread)와 프로세스 간의 통신을 지원합니다. 클라이언트 프로세스가 서버 프로세스에서 제공되는 서비스들을 요청할 필요가 있을 때마다, 2개의 프로세스가 서로 통신할 방법이 있어야 합니다. 즉 클라이언트 프로세스 입장에서는 서버에 대한 요청 생성, 서버 입장에서는 클라이언트에 대한 응답 내용 전송, 또한 각기 상호간의 상태를 결정할 방법이 있어야 합니다. 클라이언트와 서버 프로세스가 서로 다른 기기에 위치하고 있을 때, RPC (Remote Procedure Call)이 사용됩니다. 반면 이들이 동일 기기에 위치할 때에는 LPC를 이용할 수 있습니다.

LPC 이용을 통해 얻을 수 있는 장점은 속도가 빠르다는 것입니다. 프로세스들이 동일 기기에 위치하기 때문에, 통신 속도를 높이기 위한 확실한 효율성을 확보할 수 있습니다. 예로, LPC 하에서 두 프로세스는 상호간에 메시지를 전달하기 보다는 공유 메모리 세그먼트를 통해 통신할 수 있습니다. 즉 하나의 프로세스가 공유 세그먼트에 메시지를 두고 상대측에 신호를 보내면 상대측은 공유 세그먼트로부터 메시지를 읽어 들입니다.

image

 

[참고] LPC Port - http://www.zezula.net/en/prog/lpc.html

 

image

  • Connection Port : Connection응답에 사용되며, Server쪽에서 발생되는 통신 Port
  • Server Communication Port : 새로운 Session 통신이 이루어지거나, 연결이 종료될 때 사용됨
  • Client Communication Port : 메세지 송수신 역확을 하는 Port

 

● Terminal Service 이용시 Process간 상호관계

 

  Client 에서 Terminal Server로 접속 요청을 할 경우 과연 서버에서는 무슨일이 일어나는 것일까? Windows 초기 구동 순서에서도 한번 알아 보았지만. Server 쪽에서도 가장먼저 동작하는 주요 Process은 바로 Session Manager Process이다.

image

HKEY_LOCAL_MACHINE\SYSTEM\CCS\Control\Session Manager 아래에 있는 내용을 중심으로 .해당 Module들이 순차적으로 Load되게 된다. 최초, Termsrv.dll (Terminal Service Driver)에서 LPC 통신을 통해 SMSS.exe를 오출하게 되며, SMSS.exe는 Session을 생성하게 되며, 메모리 상에 Session 공간 할당, Device 사용을 위한 Symbolic Link를 생성한다.(예를들면, CMD창 사용 및 COM Port Mapping) 메모리 공간에 상주하는 주요 내용은 Session Paged Pool, Win32K.sys에 의한 Session Data Structure가 메모리 공간에 상주되게 된다. 이후에는 Winlogon.exe와 CSRSS.exe를 실행시키게 되며, LPC Port또한 할당을 한다. 이것과 상세한 내용은 위에 Link 되어 있는 "Windows 초기 구동 순서" 부분에 상세히 명시하였다.

 

● Xen APP 이용시 Terminal Service Architecture

 

  MS의 일반적인 접속 방법을 이해한다면, 이번 Section에서 다루려고 했던 CPS서버와의 연관도에 대해 지금부터 알아보려고 한다. 위에 명시된 내용처럼 초기 구동에 대한 내용은 동일하다. 이후 Winlogon.exe나 CSRSS 이후 진행되는 Logic에서 어떠한 v패턴으로 접속이 진행되는지 살펴 보도록 하자.

image

 

먼저 CSRSS.exe (Client Server Runtime Subsystem) 프로세스 동작에 대해 알아보자. CSRSS.exe가 기동되면서 발생되는 Action은 Process List 초기화, Desktop, Console,. Terminal Service Request, Spooler등등의 Thread들이 시작되게 된다. 이후 GDI 객체 사용을 위한 Win32K.sys를 통한 Citrix Video Driver인 vdtw30.dll을 Load하게 된다. Citrix 기술문서를 보다보면, CSRSS.exe Process과점유 현상이나 Zombie성 Session이 발생하는것을 볼 수 있다. 이때 Process Explorer나 Dump를 보면 주로 vdtw30.dll에서 Lock을 유발하는것을 확인하는 경우가 있는데 막연히 Citrix Graphic Driver 에서 걸리는 구나...하는것보다는 위와 같이 정리를 통해서 살펴보면 좀 더 이해하기가 쉬울 것이라 판단된다.

 

Winlogon.exe에 동작해 대해 알아보자. 이미 로긴을 진행한 상태이기 때문에 User ID와 PW는 Capture되어 Lsass.exe(Local Security authentication Server Process)로 승인을 받게 된다. AD나 SAM에 계정비교를 한 이후 Security reference monitor(LPC통신을통하여) User에게 Ticket을 발급하게 되며(Users Security Profile) 이후 이는 Session 내 Process를 초기화 하는데 사용이 된다.

 

이번에는 초기 구동에 대해 알아보았다. 앞으로 실제적으로 Registry값 확인을 통한 이후 Module에 대해서 알아보야 하겠지만, 이부분은 다음으로 넘겨야 할 듯 하다. 이후 wfshell.exe 등의 기동 관계, 등등을 다음 포스팀 내용으로 채택할 예정이다.

신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by hotpoto

티스토리 툴바