brunch

매거진 Security

You can make anything
by writing

C.S.Lewis

by sokoban Aug 03. 2019

IP를 숨기고 싶을때..(차단우회)

Tor Socks & Tor & 차단 우회 & IP 익명화

  인터넷을 사용하다 보면 "자신의 IP를 숨겨 보안성을 확보하세요"라는 광고를 최근 심심치 않게 볼수 있다. 일반적으로 IP를 숨긴다는 것은 자신의 행위를 노출하기 싫을때 혹은 차단된 사이트에 접근할 때에 사용할 수 있다. 차단된 사이트에 접근하는것은 다른 IP를 통해서 접근하기 때문에 가능한 것이다.


 1. IP를 숨기는 일반적인 방법

1. VPN 

   > Virtual Private Network로 사용자는 VPN 서버에 암호화된 채널을 통해서 접속하여 통신을 한다. 무료로 제공되는 일부 사이트도 있으나 주로 유료로 서비스를 제공한다.

2. Proxy

   > Proxy로 구성된 서버를 통해서 통신을 하는 방법으로 암호화는 제공하지 않는다.

3. Tor

   > 익명성이 보장되면서 모든 통신을 암호화 하여 통신할 수 있도록 해 준다. 

   (Tor의 익명성이 보장된 접속 방법은 본 브런치의 보안글의 DarkWeb #1 글을 참고한다.)


  이 글에서 다루는 것은 3번인 Tor를 이용하는 방법에 대해서 설명한다.


  본 글을 적게된 이유로는 개인적으로 IDC에 서버를 사용할 수 있는 기회가 되어 사용중에 있다. 다양한 테스트를 할때 아주 유용하게 사용할 수 있고 많은 잇점이 있는데, 막상 하고 있는 일이 침해 사고 대응이나 악성 C&C의 확인, 사회적 이슈의 확인 등을 해당 서버에서 하다 보니 어느날 KISA에서 연락이 왔다, "당신 PC가 해킹되어 악성 사이트에 많이 접속하고 있으니 포멧을 하시오"라고 말이다. 


  물론 해당 서버에 악성 코드가 설치되지는 않았다. 하지만 악성 C&C 사이트에 접근한 많은 이력이 발견되었고 엄청난 악성코드가 설치되었다는 담당자의 말에 호스팅 업체에서는 나도 알지 못하는 사이에 서버가 포멧 되어 버렸다.. (물론 다른 소유자분의 허가하에 포멧되었지만.. ^^. 웃지 못할 일이지만 로그만 보면 그렇게 밖엔 받아 들여 지지 않았을 것이다.)


  여기서 한가지 문제가 더 발생 하였다. 최근에 이런일이 있은 이후에는 되도록 해당 서버에서 악성 사이트 체크는 하지 않고 있지만 정부 기관의 차단 리스트에 해당 IP가 들어가 버렸는지 공공기관 특히 도서관에서 접속이 되지 않았다.


  해당 서버에서 여러가지 분석 작업을 하던 나로서는 너무나 귀찮은 일이 아닐수 없었고 어떻게 하면 도서관이나 공공망에서 이 서버에 붙을수 있을까를 고민하던 중에 IP를 Proxy 를 태우고 접속한다면 접속이 가능하므로 한번 해보기로 하였다. (물론 나를 숨긴다는것이 접속을 우회하는 방법이다.)


2. Tor를 이용한 본인의 IP 숨기기 & 차단 우회하기


1. 접속이 되지 않네요..

  공공망에서 먼저 내가 접속하고자 하는 사이트에 접속을 시도해 보았다. 아래와 같은 접속 불가 메시지가 뜨면서 HTTP/HTTPS 두개 모두 접속이 되지 않는것을 알 수 있었다. 

  (내 사이트는 유해한 사이트가 아니예요. ㅠㅠ)


2. Tor 설치

  우선 https://www.torproject.org/ 사이트에 접속하면 다양한 OS에 대한 토르 브라우저를 다운 받을수 있다.

다운이 완료 되고 설치한 다음 실행해 보자.. 위의 스크린샷은 실제로 Tor Browser에서 뜬 스샷이다.


  실행이 완료 되고 나면 특별한 추가적인 작업 없이 127.0.0.1에 9150 포트로 Tor Proxy 가 열려 있는것을 확인 할수 있다.

 여기까지만 하더라도 간단하게 Tor 브라우저를 통해서 익명의 IP를 이용하여 다양한 사이트를 접속할 수 있고 위에서 차단되었던 사이트에 아래와 같이 접속이 가능하게 되었다.


차단된 사이트에 접속


3. 다양한 프로그램의 익명화..

  이제 웹 브라우징은 Tor 브라우저를 통해서 익명화 되었지만 다양한 앱이나 SSH등은 여전히 접속이 불가능한 상태이다. 그럼 PC상에서 발생하는 다양한 Socks 통신들도 모두 익명화 시켜 볼 수 있을것이다.

  맥에서는 아래와 같이 통신 어댑터에 프록시를 설정한다.


4. 명령어를 통한 SSH 접속

  위에서 socks 프록시를 설정하여도 ssh 접속은 되지 않는다. 이럴경우에는 아래의 명령어를 이용하여 접속하면 접속이 가능하다.


ssh -o ProxyCommand='nc -x 127.0.0.1:9150 %h %p' root@10.1.1.1 -p 22


5. 마지막으로..

  보안적인 이유로 본인의 IP를 숨기는 경우가 종종 있다. 구글에 로그인 하는 것만으로도 자신의 위치 정보를 전송하도록 해 둘 경우 언제 어느 IP에서 어디를 접속했는지가 다 이력에 남는다. 이러한 것을 회피하기 위한 좋은 방법일 수 있다. 하지만 이것은 여러가지 목적으로 사용될 수 있으므로 사용에 대해서는 개인의 책임일 것이다. 


% 이렇게 우회 하는 방법은 기업의 입장에서는 보안적인 위험이 큰 상태가 되게 되므로 이제는 이걸 탐지하거나 막는 방법에 대해서 알아 보겠다.




참고 사이트


https://www.torproject.org/

  

https://github.com/PeterDaveHello/tor-socks-proxy


광고지만 본인의 IP를 숨기는 몇가지 방법들에 대해서 나열되어 있다.


https://ko.wizcase.com/blog/ip-%EC%A3%BC%EC%86%8C%EB%8A%94-%EC%88%A8%EA%B8%B0%EA%B3%A0-%EC%9D%B5%EB%AA%85-ip-%EC%A3%BC%EC%86%8C%EB%A1%9C-%ED%99%9C%EB%8F%99%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95/


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari