메뉴 닫기

회사에서 접속 차단한 외부 서버에 접속하는 방법

개요

회사에서는 보통 보안이나 업무 효율을 위해서 특정 인터넷 서비스에 접속하지 못하게 막아두거나 특정 포트를 막아서 해당 서비스를 이용할 수 없게 합니다. 이를 회피하여 회사 내부에서 차단된 외부 서비스, 서버에 접근하는 방법에 대해 적어볼까 합니다. 저도 네트워크 전문가는 아니라서 제가 사용하는 용어나 개념 설명에 한계가 있음을 미리 말씀드립니다. 지금 설명드릴 방법에 대한 추가 정보를 얻고 싶으시다면 ‘방화벽 우회하기, 방화벽 뚫기, 인터넷 접속 차단 해제하기, SSH 터널링, VPN, OpenVPN, 프록시 서버, 프록시 우회’와 같은 키워드로 검색해 보시기 바랍니다.


작동 원리

회사에서는 방화벽을 통해 회사 내부에서 외부로의 연결을 제한하고 있습니다. 그러나 보통 모든 연결을 차단하지는 않고 업무상 필요한 최소한의 접속은 허용을 합니다. 예를 들어 네이트온 같은 메신저는 접속을 차단하지만 브라우저를 통해 인터넷에 접속하는 것은 허용합니다. 제가 알려드리는 방법은 바로 이 부분을 역으로 이용하는 것입니다. 즉, 허용된 일부분의 접속을 통해서 허용되지 않은 나머지 접속을 이용하는 방법입니다. 여러 가지 방법이 있겠지만, 제가 직접 사용 중인 VPNSSH 터널링의 두 가지 방법을 설명드리겠습니다. 대략 개념/모식도로 표현하자면 아래와 같습니다.


OpenVPN을 통한 방법

VPN의 유형도 여러가지가 있지만 OpenVPN을 기준으로 설명드립니다.
장점은 해당 VPN에 연결한 것이므로 해당 네트워크에서 사용 가능한 자원을 활용할 수 있습니다. 단점은 회사 컴퓨터에 접속하는 모든 포트가 VPN을 통하기 때문에 불필요한 포트 통신이 VPN을 통하게 됩니다.


OpenVPN 서버 만들기

OpenVPN 서버는 OpenVPN 서버 구축을 지원하는 공유기에서 만들 수 있고, 서버용 컴퓨터에서 프로그램을 통해 만들 수도 있습니다. 저는 ASUS RT-AC66U 공유기에서 Merlin 펌웨어를 사용 중이기 때문에 OpenVPN을 구축할 수 있었습니다. 동일 공유기에서 OpenVPN 서버를 구축하시려면 ASUS RT-AC66U 공유기 OpenVPN 설정 글을 참고하시기 바랍니다.


SSH 터널링을 통한 방법

SSH 터널링을 통해 특정 포트에 대한 접속만 컨트롤할 수 있고 그 외 포트는 기존 그대로 동작하게 할 수 있다는 장점이 있습니다. 대신, 대상 프로그램이 프록시 서버를 이용할 수 있는 프로그램이어야만 한다는 제약이 있습니다. SSH 터널링을 통한 포트 포워딩은 사용하려는 각 프로그램에 따라 케이스별로 알아보겠습니다.


SSH 터널링이란?


준비 환경

SSH 터널링을 이용하기 위해서는 기본적으로 아래와 같은 환경이 구축되어 있어야 합니다.

  • SSH 서버
  • SSH 접속 프로그램
  • 프록시 연결을 지원하는 프로그램


회사에서 Resilio Sync 이용하기

저는 맥미니로 집에서 서버를 구축해놓은 상태입니다. 맥에서는 기본적으로 SSH 서버 기능을 포함하고 있는데, 설정공유 항목에서 원격 로그인을 활성화하시면 됩니다. 원격 로그인은 기본으로 포트 22번을 사용합니다.

전체 시나리오는 회사에서 집의 맥미니 서버에 SSH 접속해서 터널링을 구축해놓고 Resilio Sync에서 프록시 기능을 통해 연결하는 것입니다. 회사에서 맥의 SSH 서버에 접속하기 위해서는 접속 프로그램이 필요한데, PuTTY와 MyEnTunnel이 대표적입니다.

PuTTY를 이용하는 방법

  • PuTTY를 설치한 폴더에서 명령 프롬프트 실행
  • C:Program FilesPuTTY>PUTTY -D 9988 -P 22 -ssh server.com

C:Program FilesPuTTY>PUTTY -D 로컬포트 -P 접속포트 -ssh 서버주소 형태입니다.

혹은 PuTTY GUI를 실행하고 SSH > Tennels에 아래와 같이 Source port에는 로컬 포트, Destination에는 외부 서버 접속 주소와 포트 번호를 적고 Dynamic을 선택한 후 Add를 눌러 추가하는 방법이 있습니다.

SSH 터널링을 상시로 써야 한다면 항상 창이 떠 있는 것이 부담스러울 수 있습니다. 그런 경우에는 PuTTYTray를 이용할 수 있습니다. 설정의 Windows > Behavior에서 트레이 아이콘에 상주하도록 설정하면, SSH 접속 후 창을 닫으면 트레이에 상주하며 계속 실행을 하고 있습니다. 만약 자동 로그인까지 하고 싶다면 PuTTY에서는 아이디, 비밀번호 저장을 지원하지 않으므로 공개키, 보안키 생성하는 방식을 통해서 대신할 수 있습니다.


MyEnTunnel을 이용하는 방법

또는 MyEnTunnel을 통해 자동으로 SSH 서버에 연결하고 작업표시줄 트레이 아이콘에 상주할 수 있게 할 수도 있습니다.


그 외 방법

MyEnTunnel을 사용해보니, 접속이 끊겨서 재접속을 시도하는 상태에서도 아이콘이 마치 연결돼 있는 것처럼 표현을 해서 오해를 주네요. 다른 소프트웨어를 검색해보니 몇 가지 사용해볼만한 프로그램이 있습니다.


참고


2 Comments

  1. joshua

    Mac server 를 이용하고 비머를 이용해서 매우 많은 도움을 얻고 있습니다. 저같은 경우는 회사망을 사용하는데 국내사이트는 문제가 없으나 해외 사이트에서 논문 검색시 굉장한 애로를 겪고 있습니다. LTE가 되는 아이패드를 갖고 다니나 귀찮아서 VPN 을 사용하려고 공유기에 있는 VPN 서버를 구축하였는데 클라이언트에서 접속하려고 하니 윈도우 기본 설정으로만 VPN 이 가능합니다. 네트워크 전체를 제 서버로 돌려버리면 내부망 접속이 안되서 크롬브라우져만 VPN 을 사용하게 만들려고 확장프로그램을 설치해보니 전부 프로그램 업체에서 제공하는 서버를 사용해야 합니다. (무료 or 유료). 확장프로그램은 거진 다 깔아보았는데 개인 VPN 을 애드할 수 있는 프로그램은 없었습니다. 혹시 아시는 프로그램이 있거나 크롬 혹은 기타 브라우져에서 해당 브라우져만 VPN 을 통한 접속이 가능할 수 있는 기능이 있을지요?

댓글 남기기

Scroll Up