본문 바로가기

운영체제

SSH의 Socks Proxy로 방화벽 우회하기


요즈음 일정 규모 이상의 기업에서는 워낙 보안이 강화되어 업무적으로 필요한 사이트가 아니면 접근을 제한하고 있죠. 그러나 회사에서 업무를 하다보면 '뉴스 수집' 등을 위해 어쩔 수 없이 블로그 사이트에 접속해야 하는 경우도 발생합니다. 이럴 때마다 매번 방화벽 담당자에게 연락해서 자신의 제한을 풀어주도록 요구하는 것은 쉽지 않은 일이고, 으레 '회사 정책 상 안됩니다.'라는 답변을 듣기 마련이죠. 

오늘은 SSH을 이용하여 방화벽에서 차단된 웹 사이트에 접속하는 방법을 알아보도록 하겠습니다. 먼저 주의하실 사항이 있는데, 아래에서 설명하는 방법은 회사의 보안 정책을 어기는 행위이며, 회사 네트워크 보안을 위협하는 행위이므로 불가피한 상황이 아니면 절대 사용하지 말기를 권고합니다. 또한 아래 기법을 사용하시기 이전에 해당 노트북 혹은 컴퓨터에 최신 윈도우 패치가 설치되어 있고, 바이러스 백신이 활성화되어 있는지, 최신 패턴으로 업데이트가 되어 있는지 확인하신 후 사용하시기 바랍니다. 자칫 잘못하다가는 문제를 일으켜서 회사에서 징계를 먹을 수 있습니다. 그럼 서론은 이쯤에서 생략하고 본격적인 설명에 들어가도록 하겠습니다.

SSH은 네트워크 상에서 데이터가 평문으로 전송되지 않도록 암호화해주는 프로그램입니다. 이미 PuTTY 나 OpenSSH, SSH 등의 다양한 SSH 터미널 프로그램을 사용해보신 분들이 많을 줄로 압니다. 그러나 일반적인 사용 용도 외에도 SSH의 옵션을 뒤져보면 다양한 숨겨진 기능이 많습니다.

이 중 'SSH 터널링'이라는 기능은 유용한데 보안의 입장에서 보면 양날의 검이 될만한 기능입니다. 왜냐하면 이 기능을 이용해 방화벽을 우회할 수 있기 때문이죠.

개념적으로는 다음과 같습니다.


위의 그림에서 관리자가 방화벽의 룰셋을 아무리 강하게 설정해두어도 SSH 터널링 기법을 이용하면 외부의 SSH 서버를 통해, 접근이 금지된 사이트, 서버로 접속하는 것이 가능합니다. 쉽게 말하면 방파제를 높게 쌓아두고 작은 구멍을 내놓는 것에 비유할 수 있겠죠. 이제 내부 사용자는 방화벽의 통제를 받지 않고 자신이 하고 싶은 대로 편하게 작업을 할 수 있어 편리한 반면, 회사 내부 네트워크에는 외부에서 접근 가능한 작은 틈새가 생겼습니다.

이제 본격적으로 SSH을 Socks Proxy로 사용하는 방법을 알아보도록 하겠습니다. 지금부터 설명하는 내용은 위의 그림과 같은 구성을 염두에 두고 작성한 것임을 참고하시기 바랍니다.

1. 먼저 외부 SSH 서버에 sshd 를 80 포트로 binding 하여 운영하도록 합니다.
(보안 관리자가 보안에 대한 의지가 강해서 tight 하게 룰셋을 설정한 방화벽이라고 하더라도 직원들이 아예 웹 사이트에 접근하지 못하도록 80 포트를 막는 경우는 거의 없다는 것에 착안한 것입니다).

2. 자신의 노트북 혹은 컴퓨터에 PuTTY를 설치합니다.
메뉴를 한글로 번역한 한글 PuTTY를 사용하시면 더욱 편리합니다.

3. 사용의 편의를 위해 Path 에 PuTTY가 설치된 디렉터리를 추가합니다.

4. 이제 자신의 노트북 혹은 컴퓨터에서 명령행 창을 열고 아래와 같은 명령어를 입력합니다.
putty -D 8080 -P 80 -ssh [외부SSH서버의 IP]

5. 웹 브라우저의 설정에서 (IE의 경우 [도구]->[인터넷 옵션]->[연결]->[LAN설정]->[고급]) 프록시 설정을 다음과 같이 변경합니다.
A. socks 부분에 127.0.0.1 라고 입력합니다.
B. Port 에는 8080 이라고 입력합니다.
C. 위에 있는 HTTP, FTP 등의 다른 부분은 전부 공백으로 합니다.

6. MSN 메신저도 [도구]->[옵션]->[연결]->[고급 설정]에서 프록시 설정을 다음과 같이 변경합니다. 
A. socks 부분에 127.0.0.1 라고 입력합니다.
B. Port 에는 8080 이라고 입력합니다. 

이제 여러분은 Socks Proxy를 통해 방화벽의 감시나 제한을 받지 않고 간편하게 암호화된 통신을 즐기실 수 있습니다.다시 한번 말씀드리지만 이 방법은 업무 상 피치 못한 경우를 제외하고는 사용하지 않는 것이 좋습니다. 이 점 주의하시기 바랍니다.


출처: http://swbae.egloos.com/1137243