Remote X 순제군용 1
원격제어 ? 작동원리 -rlogind/Telnet/SSH -VNC 방법 Remote X 순제군용 2
원격 제어 Remote X 순제군용 3
원격 제어란 ? 선로 또는 전파를 이용해서 멀리 떨어진 기 기나 인간이 직접 손을 쓸 수 없는 물체를 제어하는 것. Remote X 순제군용 4
동작 방식 원격제어를 당하는 PC 는 실시간으로 자신의 화면을 원격제어를 하는 PC 로 전송 해주고, 원격제어를 하는 PC 는 마우스, 키보드 등 입력 장치로 입력되는 정보를 실시간으로 원 격제어를 당하는 PC 로 보냄 으로써 실제로 원격지에 있는 PC 를 제어할 수 있게 되는 것이다. Remote X 순제군용 5
동작 방식 서버에서는 클라이 언트에게 화면을 분할하여 지속적으로 보냄 클라이언트에서 서버로 명령을 보냄 Remote X 순제군용 6
작동 원리 Remote X 순제군용 7
1. rlogind Remote X 순제군용 8
rlogind 구성 원격 명령들 가운데 하나 주로 같은 네트워크 내에서 접속 유닉스 시스템에 원격 접속 클라이언트 - > 서버 방식 옵션이 적어 구성이 쉬움 보안 매우 취약 Remote X 순제군용 9
rlogind 접속 제어 /etc/hosts.equiv - 시스템 전반에 걸친 구성파일. - 모든 사용자 원격 서비스 가능 ~/.rhosts - 개별로 신뢰 있는 클라이언트 명시 Remote X 순제군용 10
rlogind 보안 1. 클라이언트가 연결을 요청한 포트 점검 2. 서버는 연결한 클라이언트의 IP 주소에 대해 검색 3. 서버에 동일한 도메인 또는 호스트가 나올 경우 IP 주소 검색 4. IP 일치 여부 확인 후 접속 또는 패스워드 재입력 Remote X 순제군용 11
2. Telnet Remote X 순제군용 12
Telnet 구성 잘 알려진 로그인 포로토콜 패키지 설치, 슈퍼 서버 활성화로 작동 보안은 취약 NVT( 네트워크 가상 단말기 ) 표준 포맷으로 텍스트 전달 NVT 는 클라이언트와 서버의 커넥션 양측 에 있는 실제 데이터 매핑 Remote X 순제군용 13
Telnet 옵션 D debugmode - 텔넷 연결의 결함을 디버깅 하는 목적 h - 로그인 배너를 전송하여 쉬운 식별 L loginprog - 로그인 상호 동작 제어 n - 클라이언트 상태 점검, 링크 종료 Remote X 순제군용 14
Telnet 동작 diagram Remote X 순제군용 15
Telnet 보안 이름 / 패스워드 방식 인증 암호화 하지 않는 다는 단점 클라이언트와 서버 사이에서 데이터가 가 로채일 수 있음 비암호화 특성으로 데이터 역시 손상 가능 Remote X 순제군용 16
3. SSH Remote X 순제군용 17
SSH 구성 안전한 셸 전송 내용을 디지털로 스크램블 데이터가 보안상 손상된 라우터들에게 또는 패킷 스니퍼 프로그램의 해킹 방지 클라이언트와 서버 사이에 네트워크 포트 들을 전달하거나 터널로 연결 가능 암호화의 자동과 X 에 대해 자동으로 연결 Remote X 순제군용 18
SSH 인증 다양한 암호화 수단들을 동원하여 모든 통신 내용을 암호화 호스트 인증을 사용하려 시도 안전 호스트 방식과 RSA 인증 방식을 혼성하여 접속 로그인 자동화 및 보안 기능 향상을 위한 키 생성 Remote X 순제군용 19
SSH 암호화 방식 클라이언트는 SSH 서버에 공개 를 요청, SSH 서버는 SSH 접속용 공개 를 전송해 준다. Remote X 순제군용 20
SSH 암호화 방식 클라이언트는 자신의 개인키로 데이터를 암호화 하고 이를 다시 서버의 공개키로 암 호화 하여 서버로 전송한다. Remote X 순제군용 21
SSH 암호화 방식 서버는 클라이언트로부터 전송 받은 암호화 된 데이터를 자신의 개인키로 먼저 복호화 한 후, 이를 다시 클라이언트의 공개키로 복 호화 하여 데이터를 읽는다. Remote X 순제군용 22
Telnet VS SSH 무엇이 다른가 ? Remote X 순제군용 23
Telnet VS SSH SSH 는 encryption 과 hashing 이 된 데이터 를 전송한다 Remote X 순제군용 24
Telnet VS SSH SSH Telnet Remote X 순제군용 25
4. TCP/IP, UDP Remote X 순제군용 26
TCP/IP 점대점, 전이중 서비스 신뢰적인 데이터 전달 - seq no. 와 ack no. 를 이용하여 흐름 장애시 재전송 - 패킷을 순서를 확인하여 재조립 연결지향형 Remote X 순제군용 27
UDP 점대점, 지점 대 다중지점간 통신 비연결형 ( 신뢰성을 보장하지 않음 ) 프로세스 대 프로세스 데이터 전달 TCP 보다 오버헤드가 작아 속도가 빠름 TCP 와 달리 메세지를 데이터 그램으로 나 누고, 재조립 기능이 없다 도착 여부 확인 불가 Remote X 순제군용 28
TCP/IP VS UDP TCPUDP 1. 연결형 프로토콜 - 두 시스템 간에 연결이 성공한 후에 데이터 통신 시작 2. 신뢰성 보장 - 순차적으로 데이터 전달 - 데이터 재전송 3. 데이터의 경계를 구분하지 않음. - Byte System Service 1. 비연결형 프로토콜 - 연결 없이 통신가능 2. 비신뢰적인 데이터 전송 - 전송순서에 상관없이 가장 빠른 전송을 취함 - 전송 도중 데이터가 손실되어도 재전송하지 않음 3. 데이터의 경계를 구분함. - Datagram Service Remote X 순제군용 29
TCP/IP VS UDP 구분 TCPUDP Connection TypeConnection orientedConnectionless Data Sequence 순서 유지순서 유지하지 않음 Data loss 손실 없음손실 가능 Flow/Congestion/Error Control GBN, SR, ARQ 사용해당 제어기능 없음 Packet Overhead20Byte8Byte 사용 예대부분의 protocol DNS, RIP, NFS Remote X 순제군용 30
5. Virtual Network Computing Remote X 순제군용 31
Virtual Network Computing VNC GUI 환경 제어 Server/Client 방식 AT&T 社 개발 독자적인 프로토콜 사용 독자적인 프로토콜 사용 Remote X 순제군용 32
그래픽 모드 지원 (GUI) 원도우 환경에서 작업 가능 쉬운 접속 OpenSource & 무료 그래픽 모드 지원 (GUI) 원도우 환경에서 작업 가능 쉬운 접속 OpenSource & 무료 장 점 Remote X 순제군용 33
Virtual Network Computing 속도가 느림 저사양에서는 힘듬 보안이 취약 속도가 느림 저사양에서는 힘듬 보안이 취약 단 점 Remote X 순제군용 34
Remote X 순제군용 35 TelnetOpenSSHVNC 속도빠름 느림 Graphic 지원 XXO 보안취약강함취약 사용 가능 명령어 Only Text 제한없음 Client OS 기본지원 Linux 기본 Windows 별도설치 별도 설치 전체 비교
VNC- 동작원리 VNC Server VNC Viewer VNC Protocol Remote X 순제군용 36
VNC- 동작원리 그래픽 화면 인터넷 캡쳐 이미지 전송 ( 대용량 ) 그래픽 화면 VNC 서버 VNC 클라이언트 Remote X 순제군용 37
VNC Protocol 독자적인 프로토콜 사용 Remote Frame Buffer(RFB) 를 기반으로 하는 프로토콜 Remote X 순제군용 38 Application Layer 에서 동작
VNC Protocol GUI 시스템에서 화면에 나타나게 될 데이터를 임시로 저장하는 공간 RFB Remote X 순제군용 39
VNC Protocol VNC Server VNC Viewer VNC Protocol RFB Remote X 순제군용 40
VNC 환경 Windows – 서버의 IP 와 암호 필요 Linux – 여러 데스크탑을 띄울 수 있음 – 서버의 IP 와 암호 외에 데스크탑 번호 필요 Remote X 순제군용 41
VNC 환경 Linux … Vncserver:1Vncserver:2 Vncserver:n 각 번호는 Desktop 번호이며, 정확히는 port 번호 offsetVNC 는 보통 5900 포트 사용하며, 이것을 기준으로 offset 을 1, 2, 3.. 같이 할당한다. 따라서 vncserver:1 을 실행하면 5901 포트가 실행된다 Remote X 순제군용 42
Secure 한 VNC 기본적으로 VNC 는 보안에 취약 보안에 강한 SSH SSH Tunneling 을 이용한 VNC 접속 Remote X 순제군용 43
Secure 한 VNC SSH Tunneling 은 Port Forwarding 을 사용 상대방의 포트나 다른 IP 포트를 SSH 를 통과 한 포트로 안전하게 접속 My PC 8080 Port My PC 8080 Port My PC SSH Client My PC SSH Client SSH 암호화 SSH 암호화 다른 서버 SSH Server 다른 서버 SSH Server 다른 서버 서비스 port 80 다른 서버 서비스 port 80 Remote X 순제군용 44
Secure 한 VNC VNC 에서 SSH Tunneling 사용 예 ) MyPC-Internet- 보안서버 A- 서버 B 이런 환경에서의 MyPC 에서 서버 B 를 원격제어 여기서 A 는 보안서버이기에 B 는 외부로 부터 접속이 차단 Remote X 순제군용 45
Secure 한 VNC My PC 5910 Port My PC 5910 Port My PC SSH Client My PC SSH Client SSH 암호화 SSH 암호화 보안서버 A SSH Server 보안서버 A SSH Server 서버 B VNC 서비스 port 5900 서버 B VNC 서비스 port 5900 접속 할 때에는 프로토콜을 SSH 로 설정 SSH 로 접속 후 VNCVIEWER 를 실행 Remote X 순제군용 46
구축 방법 Remote X 순제군용 47
1. PC Remote X 순제군용 48
VNC 구축 방법 VNC 는 OpenSource 이며, 무료 Free ! 성능이 좋은 VNC 들이 많음 그 중, TightVNC 를 사용 Remote X 순제군용 49
VNC 구축 방법 1. 에서 tightvnc 를 설치 서버와 클라이언트 모두 설치 Remote X 순제군용 50
VNC 구축 방법 2. 서버 설치 도중 입력한 암호와 포트번호 기억 Remote X 순제군용 51
VNC 구축 방법 2. 클라이언트 (Viewer) 원격제어 할 PC 의 IP 입력 후 Connect! 그리고 지정한 암호 입력 후 OK! Remote X 순제군용 52
VNC 구축 방법 2. 클라이언트 (Viewer) Remote X 순제군용 53
2. Mobile Remote X 순제군용 54
Mobile 구축 방식 안드로이드 암호화 SSH 터미널링 명령어 처리 Windows 후킹 명령어 처리 Windows 후킹 Windows 입력신호 안드로이드 화면 처리 안드로이드 입력처리 원격제어 Vnc 통신기술 Remote X 순제군용 55
Reference Remote X 순제군용 56 엔터프라이즈 리눅스 네트워크 - 로드릭 스미스, Pearson Addison Wesley, 2003 뇌를 자극하는 Windows Server 우재남, 한빛미디어, 2011 윈도우 & 리눅스 TCP/IP 소켓 프로그래밍 - 백창우, 한빛미디어, 2005
Q n A Remote X 순제군용 57