터널.



산 중간을 뚫고 지나가는 길.



한 길로 주욱 뻗은 길.



이 기가막힌 단어 선택이 아닌가.



네트워크의 수많은 길이 있는데 터널의 입구가 아니면 들어갈 수 없는 닫힌 공간.


터널은 그런 개념이다.



Linux 서버의 Gnome에 진입하기 위해 VNC를 사용하는데 VNC는 스누핑을 통해 그 내용이 노출된다.


스누핑이란 네트워크 상에 돌아다니는 패킷을 훔쳐보는 것 혹은 그 프로그램을 말한다. 혹시라도 계정과


접속비번을 훔쳐보게 되면 내 컴퓨터에 해커가 방문할 기회를 제공하게 된다.



삼천포지만 우리가 늘상 접하는 웹서비스 로그인은 스누핑을 통해서 이미 많이 노출되어 왔다.


게임방 어느 피씨에 스누핑을 하고 네이버, 다음 등의 로그인 페이지URL이 나타나는 것을 찾으면


쉽게 아이디와 비번을 모을 수 있다. 게임방이니깐 와우나 기타 게임사이트의 계정 정보도


알아 낼 수 있다. 이를 피하기 위해서는 사이트가 제공하는 보안접속(SSL)에 반드시 체크해야 한다.


보안접속은 그 패킷이 암호화된 채로 데이터를 주고 받기 때문에 노출되지 않는다. 이 부분은


다른 글을 통해서 한번 정리할 필요가 있을 듯 하고 여기서 마무리.



그런 스누핑을 피하고 싶어 어젯밤 SSH를 통한 터널링을 시도했다. 잘 안된다. 개념이 잘 안잡힌다.



사무실은 SSH 포트인 22번을 제외한 다른 포트는 모두 막은 상태. 그 내부는 내부네트워크 망으로


외부에서의 접근을 할 수 없다. 앨리스는 집에서 자신의 사무실 컴퓨터의 VNC에 접속하고자 한다.



이런 가정에서 사무실의 게이트웨이 컴퓨터(밥이라 칭하자)에 SSH를 통해서 접속하고 그 SSH가


제공하는 터널을 통해 VNC서버로 접근한다는 것이 결론이다.



일단 PuTTY의 Category 영역의 SSH/Tunnels에서 forwarded ports를 추가해야 한다.





Source port는 앨리스 집 컴터의 리슨포트(5900)를 Destination에는 앨리스 사무실 컴터의


호스트(혹은 아이피)와 접속포트를 지정한다. 예를 들어, 앨리스 삼실 컴터 IP가 192.168.1.5이고


접속하려는 VNC의 display가 1번일 때에는 192.168.1.5:5901라고 지정하게 딘다.


다른 옵션은 Local, Auto로 그냥 두어도 무방하리라고 본다. 이후 Add 버튼을 통해서


forwarded ports 목록에 추가한다.



이제 Session으로 이동해서 밥컴터의 SSH서버에 접속하자. 앨리스의 계정으로 SSH에 로그인한다.


여기까지 진행하면 로컬에 5900포트가 리스닝된다. cmd로 창을 열어서


c:\> netstat -nap tcp


위와 같은 명령을 내리면 5900포트가 리스닝되고 있다는 것을 확인할 수 있다.



이제 터널이 완성되었으니 터널을 지나가 보자. 씽~~~



vncviewer를 실행시키고 접속은 localhsot의 5900포트인데 VNC의 특징상 5900은 디폴트


디스플레이값이니 localhost만으로 접속이 가능하다. 터널 입구을 지키는 푸티가 가동하면서


터널(밥컴터)을 지나 앞서 설정한 앨리스 컴터(192.168.1.5)의 5901로 접근하게 된다.



접속이 완료되면 VNC의 비번을 묻게 되고 비번 입력을 마치면 앨리스는 집에서 자신의 컴터로


들어갈 수 있게 된다. 밥컴터 IP가 211.0.0.123이라고 가정하면



                1)          2)            3)


vncviewer -> PuTTY -> SSH서버 -> vncserver


                 |------터널구간------|



1) 127.0.0.1:5900


2) 211.0.0.123:22 - 밥컴터


3) 192.168.1.5:5901



앨리스는 집에서 사무실 내부네트워크로 직접 들어갈 수도 없었지만 터널을 통해서 들어갈 수


있었고 설사 밥컴터의 port forwarding을 통해서 VNC에 접근할 수 있다하더라도 보안에


취약해서 앨리스의 사무실 컴터는 해커의 장난감이 될 수도 있었다. 하지만 SSH의 터널을


이용해서 두마리의 토끼를 모두 잡는 쾌거.



터널. 앞으로도 다른 서비스 사용에 유용하게 이용할 듯한 생각이 든다. DB같은거. ^^;;

vnc 와 putty

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다