포커스 윈도운영체제에서원격시스템관리프로그램기술동향 장승주 * 최근의 IT 기술은눈부시게발전하고있다. 2010 년들어서서는스마트폰이란화두가등장하면서차세대 IT 기술을견인하고있다. 이러한 IT 기술의발전과더불어편리성을추구하는소프트웨어기술이발전하고있다. 본고에서는편리성을추구하는소프트웨어기술중에서원격으로원하는시스템을관리하는기술동향에대해서살펴본다. 이기술은두가지측면을가지고있다. 시간과공간적인제약을극복하게해주는편리한측면과이기술을이용하여상대컴퓨터의동작을엿보게되는나쁜측면이있다. 본고에서는윈도운영체제에서원격시스템을편리하게관리할수있는기술로 RFB 프로토콜과 RDP 프로토콜에대해서살펴본다. 목 I. 서론 차 I. 서론 원격시스템관리소프트웨어는우리에게많은편 리성을안겨준다. 지리적으로떨어져있는사용자컴 II. 원격시스템관리프로그램 III. 원격시스템관리프로그램에적용가능한주요프로토콜 IV. 결론 퓨터를원격으로관리할수있기때문이다. 지리적으로멀리떨어진시스템을원격으로관리할수있다는것은시간적, 경제적으로많은이점을가져다준다. 원격시스템관리는다양한국제표준으로제공하는프로토콜을일반적으로사용한다. 이표준프로토콜은 RFB(Remote Frame Buffer) 프로토콜과 RDP(Remote Desktop Protocol) 프로토콜이다. RFB 프로토콜은일반적으로 VNC(Virtual Network Computing) 프로그램에서주로사용하는프로토콜이다. RFB 프로토콜은 VNC, RealVNC UltraVNC 등의프로그램에서사용하고있다. RFB 는 GUI 기능 * 동의대학교컴퓨터공학과 / 교수 을이용하여원격시스템에접근할수있도록해주 13
주간기술동향통권 1458 호 2010. 8. 11. 는단순한구조이다. 왜냐하면이것은프레임버퍼수준에서동작하는것으로 X11, 윈도시스템, 메킨토시등의응용프로그램에서동작하기때문이다. 특히, 이 RFB 는 VNC 에서사용한다. 원격시스템의종단을 RFB 클라이언트또는 RFB 뷰어라고부른다. 프레임버퍼가변경되는종단은 RFB 서버라고한다. RDP 프로토콜은마이크로소프트사에서개발한윈도운영체제에서주로사용하는프로토콜이다. RDP 프로토콜은기본적으로원격컴퓨터시스템과의연결에있어서그래픽적인기능을만족하도록설계되어있다. 또한 RDP 프로토콜은사용자의컴퓨터와원격컴퓨터시스템과의동작사이에확장적인전송메커니즘을제공한다. RDP 프로토콜의표준연결순서는클라이언트와서버의설정정보를상호교환한후, 입력, 그래픽정보, 데이터등을상호교환하면서클라이언트와서버간에연결을진행하는것이다. II. 원격시스템관리프로그램 원격시스템관리프로그램으로는많은버전들이존재한다. 상용화된버전과프리웨어버전 들이있다. < 표 1> 은원격시스템관리프로그램으로사용되고있는것들을정리한것이다. < 표 1> 원격시스템관리프로그램 [11] Software Protocol License Client/server Linux Microsoft Windows AnywhereTS RDP, ICA Proprietary Client Only Apple Remote Desktop RFB(VNC) Proprietary Client & Server Apple Screen Sharing (ichat) Proprietary, RFB(VNC) Proprietary Client & Server Chicken of the VNC RFB(VNC) GPL Client Only Citrix XenApp RDP, ICA Proprietary Client & Server Crossloop RFB(VNC) Proprietary Client & Server DameWare Mini Remote Control RDP, Proprietary Proprietary Client & Server EchoVNC RFB(VNC) GPL Client & Server FreeNX NX, RDP, RFB(VNC) GPL Client & Server GoToMyPC Proprietary Proprietary Client & Server IBM Director Remote Control Proprietary Proprietary Client & Server LogMeIn Free Proprietary Proprietary Client & Server LogMeIn Pro Proprietary Proprietary Client & Server Netman Proprietary Proprietary Client & Server Netsupport Manager Proprietary Proprietary Client & Server rdesktop RDP GPL Client Only RealVNC Free RFB(VNC) GPL Client & Server 14
Software Protocol License Client/server Linux Microsoft Windows RealVNC Personal RFB(VNC) Proprietary Client & Server Remote Administrator Proprietary Proprietary Client & Server Remote Desktop Connection/ Terminal Services RDP Proprietary Client & Server Remote Graphics Software Proprietary Proprietary Client & Server RemoteVNC RFB(VNC) GPL Client & Server SSH with X forwarding X11 BSD Client & Server Sun Secure Global Desktop Software AIP Proprietary Client & Server Symantec pcanywhere Proprietary Proprietary Client & Server TeamViewer Proprietary Proprietary Client & Server TightVNC RFB(VNC) GPL Client & Server Timbuktu Proprietary Proprietary Client & Server < 표 1> 과같이원격시스템관리프로그램에서사용하는프로토콜은여러가지를사용한다. 그중에서 RFB 프로토콜과 RDP 프로토콜을주로사용한다. 이두가지프로토콜에대해서다 음장에정리한다. III. 원격시스템관리프로그램에적용가능한주요프로토콜 원격시스템관리프로그램을위한국제표준네트워크프로토콜로많이사용하는것이 RFB 와 RDP 이다. 본자료에서는이두가지네트워크프로토콜의기술에대해서살펴본다. 1. RFB 프로토콜 RFB 프로토콜은 VNC, RealVNC UltraVNC 등의프로그램에서사용하고있다 [1]-[3]. RFB 는 GUI 기능을이용하여원격시스템에접근할수있도록해주는단순한구조이다. 왜냐하면이것은프레임버퍼수준에서동작하는것으로 X11, 윈도시스템, 메킨토시등의응용프로그램에 RFB Server RFB Client RFB Protocol ( 그림 1) RFB 프로토콜의구조 15
주간기술동향통권 1458 호 2010. 8. 11. 서동작하기때문이다. 특히, 이 RFB 는 VNC 에서사용한다. 원격시스템의종단을 RFB 클라이언트또는 RFB 뷰어라고부른다. 프레임버퍼가변경되는종단은 RFB 서버라고한다 [7]. RFB 프로토콜은아주슬림한네트워크프로토콜이다. RFB 프로토콜은클라이언트에최소한의요구사항을가지도록설계되었다. 따라서, 클라이언트프로그램은다양한하드웨어에서구동이가능하도록되어있다. 2. RDP 프로토콜 RDP 프로토콜은기본적으로원격컴퓨터시스템과의연결에있어서그래픽적인기능을만 Client X.224 Connection Request PDU X.224 Connection Request PDU MCS Connect Initial PDU with GCC Conference Create Request MCS Connect Response PDU with GCC Conference Create Response MCS Erect Domain Request PDU MCS Attach User Request PDU MCS Attach User Confirm PDU MCS Channel Join Request PDU(s) MCS Channel Join Confirm PDU(s) Security Exchange PDU Client Info PDU License Error PDU Valid Client Demand Active PDU Confirm Active PDU Synchronize PDU Control PDU - Cooperate Control PDU Request Control Persistent Key List PDU(s) Font List PDU Synchronize PDU Control PDU - Cooperate Control PDU Granted Control Font Map PDU Server Connection Initiation Basic Settings Exchange Channel Connection RDP Security Commencement: Secure Settings Exchange Licensing Capabilities Negotiation Connection Finalization ( 그림 2) RDP 프로토콜의동작과정 16
족하도록설계되어있다. RDP 프로토콜은또한사용자의컴퓨터와원격컴퓨터시스템과의동작사이에확장적인전송메커니즘을제공한다. RDP 프로토콜의표준연결순서는클라이언트와서버의설정정보를상호교환하면서입력하게된다. 그래픽정보, 데이터등을상호교환하면서클라이언트와서버간에연결을진행하는것이다. ( 그림 2) 는 RDP 프로토콜의이러한진행과정을나타낸다 [4]-[6],[8]-[11]. RDP 프로토콜에서연결순서는 7 단계로구분되어진다. 가. 연결초기화단계클라이언트는 X.224 연결요청 PDU(class 0) 를서버에전송함으로써연결이이루어진다. 서버는 X.224 연결확인 PDU(class 0) 에반응을하게된다. 이러한관점에서클라이언트와서버사이의다음단계데이타는 X.224 데이터 PDU(Protocol Data Unit) 으로포장되어전송된다. 나. 기본설정교환단계기본설정은클라이언트와서버사이에 MCS 초기화와 MCS 연결반은 PDU 로이루어진다. 연결초기화 PDU 는 GCC 컨퍼런스생성요구를갖는다. 다음은이러한 PCD 연결초기화 PDU 를나타낸다. Connect Initial Fields GCC Conference Create Request Fields Conference Create Request Fields Client Core Data Client Security Data Client Network Data (Optional) Client Cluster Data (Optional) Conference Create Request User Data (Order of data blocks may vary) Connect Initial User Data ( 그림 3) RDP 프로토콜에서기본설정정보교환구조 17
주간기술동향통권 1458 호 2010. 8. 11. 다. 채널연결 클라이언트는 MCS Erect Domain Request PDU 를보내게된다. 서버는이것에대해서사 용자채널 ID 를갖는 MCS Attach User Response PDU 로반응을보내게된다. 라. RDP 보안동작만약표준 RDP 보안방법이설정되어있으면클라이언트는 Security Exchange PDU 를보내게된다. 이 PDU 는 32- 바이트랜덤번호를서버에게전송하게된다. 이랜덤번호는서버의 public key 를가지고암호화하게된다. 마. 보안설정교환 보안클라이언트데이터는 Client Info PDU 를사용하여서버에전송된다. 바. Licensing 라이센싱교환의목적은서버에서클라이언트로라이센스를전송하는것이다. 클라이언트는 이러한라이센스와이후연결에서서버에게검증을받기위한수단으로사용된다. 한다. 사. Capabilities Negotiation 서버는 capabilities 집합을전송한다. 이것은 Demand Active PDU 내의클라이언트를지원 아. 연결마무리 클라이언트와서버는연결을마무리짓는 PDU 를전송한다. 클라이언트와서버는 PDU 를 상호교신한다. IV. 결론 윈도운영체제에서원격시스템지원을위한프로그램기술은날로발전하고있다. 본고에서는이러한기술중에서널리사용되고있는원격시스템관리프로그램에서주로사용하고있는주요프로토콜인 RFB 네트워크프로토콜, RDP 네트워크프로토콜에대해서살펴보았다. RFB 네트워크프로토콜, RDP 네트워크프로토콜을사용하는상용프로그램, 프리웨어프로그램도소개하였다. 이러한네트워크프로토콜을사용한프로그램을이용하게되면여러가지편리성을가진다. 18
우선적으로원격으로떨어진사용자가컴퓨터시스템에쉽게접근하여작업이가능하다. 이것은경제적, 시간적인비용을절감하게해준다. 따라서, 많은종류의소프트웨어들이개발되어사용이되고있다. 스마트폰이활성화되면서국내 IT 산업이하드웨어중심에서소프트웨어중심으로무게중심이이동하고있다. 본고는소프트웨어분야로널리활용이가능한원격시스템지원프로그램기술동향에대해살펴보았다. 이러한프로토콜은개발자에게쉽게원격관리프로그램을개발할수있는환경을제공한다. 컴퓨터사용자는이러한프로그램을이용하여원격으로시스템전문가의도움을받아서쉽게자신의컴퓨터를관리할수있는장점이있다. 그러나이프로그램의사용은여러가지기술적인약점을가지고있다. 보안문제에있어서취약성을갖는다는것이다. 보안문제는원격시스템지원프로그램을개발할경우에반드시함께고려해서해결해야할기술분야라고할수있다. < 참고문헌 > [1] VNC(Virtual Network Computing), www.wikipedia.org, 2010. 5. [2] Tristan Richardson, Quentin Stafford-Fraser, Kenneth R. Wood and Andy Hopper, Virtual Network Computing, IEEE Internet Computing, 1998. 2. [3] 차주헌, 인터넷기반원격모니터링시스템개발, 2004. [4] 김병채, 인터넷을이용한원격제어시스템의구현, 광주대학교산업대학원석사학위논문, 2001. 11. [5] 윤병선, 모바일환경에서원격지시스템의고장진단을위한로그인덱싱, 공주대학교대학원석사학위논문, 2003. 11. [6] 차지혜, 효율적인원격시스템의자원활용을위한네트워크상의시스템관리, 홍익대학교대학원석사학위논문, 2001. 12. [7] Tristan Richardson, The RFB Protocol, RealVNC Ltd, 2009. 11. [8] 이창희외 3 인, 웹을통한원격제어시스템, 전자공학회논문지, 제 39 권, 제 3 호, 2002. 9. [9] 이철, 김상철, 김중환, 원격제어프로그램의설계및구현, 한국정보과학회가을학술논문집, Vol.28. No.2., 2001.10. [10] Microsoft, Remote Desktop Protocol(RDP) Features and Performance, Microsoft, 2009. [11] RDP protocol, www.wikipedia.org, 2010. 5. * 본내용은필자의주관적인의견이며 NIPA 의공식적인입장이아님을밝힙니다. 19