codingCat banner
codingCat banner
2019.02.26 21:48

단막 Windows NT 서버


 

딥웹 .onion 익명 사이트 개설(호스팅)하기 (Tor를 사용한 .onion 주소 할당 방법)


일반적인 검색엔진(구글, 네이버, 다음 등)으로 검색되지 않는 웹 사이트들이 존재하는 통신망을 딥웹(Deep Web), 심층 웹, 깊은 웹 등이라 부른다.

Tor 네트워크는 딥 웹의 한 종류이며 전용 브라우저인 Tor Browser를 사용하여 접속할 경우 여러 프록시 서버들을 거치며 그 내용 또한 암호화되어 전송되기 때문에 익명으로 인터넷을 이용할 수 있고, warning.or.kr처럼 특정 국가에서 차단해 놓은 사이트들을 접근할 수도 있다. Tor 네트워크에 존재하는 웹 사이트들은 통상적인 도메인이 아닌 .onion으로 끝나는 해쉬hash 형태의 주소를 가지는데, 이번 포스팅에서는 Windows 상에서 간단하게 웹 서버를 구축하고 .onion 주소를 할당받는 방법을 소개하겠다.

 

1 단계. 웹 서버 구성하기


포트가 충돌할 우려가 있으니 기존 사이트를 운영하던 서버에 Deep Web 사이트를 설정하는 것보다는 Deep Web 사이트만을 위한 서버를 따로 마련하는 것이 권장된다. 그리고 이 항목은 Apache나 IIS 등의 서버를 설치하고 구성한 경우라면 건너뛰어도 된다. 여기에서는 XAMPP(Apache + MySQL + PHP + Perl)을 이용해 서버를 구성해보겠다.

XAMPP 공식 홈 페이지(https://www.apachefriends.org/index.html)에 접속하여 최신 버전의 XAMPP를 다운로드 받는다. Windows XP 사용자는 최신버전이 지원되지 않으므로 1.8.x 이하 버전을 설치하여야 한다.

UAC 때문에 원활히 작동되지 않을 수 있으므로 Program Files 폴더는 피해서 설치할 것을 권장한다.
[Next >] 버튼을 누른다.
구성 요소를 선택한다. 특별히 고칠 것이 없으므로 [Next >] 버튼을 누른다.
설치 경로는 그대로 두고 [Next >] 버튼을 누른다.
[Next >] 버튼을 누른다.
설치가 진행되고 있다. 시간이 다소 걸리므로 완료될 때까지 기다린다.
제어판을 실행해야 하므로 선택 후 [Next >] 버튼을 누른다.
언어 선택하고...

 

Onion 사이트의 페이지는 80번 포트를 통해 Tor 네트워크로 나갈 것이다. 이는 Apache가 내보내는 포트의 기본값과 같으므로 충돌을 방지하기 위해 Apache가 사이트를 내보내는 포트를 다른 번호로 바꿔줘야 하다. 다음과 같이 XAMPP 제어판이 실행되었다면, Apache에서 [Config] 버튼 -> [Apache (httpd.conf)]를 클릭한다.

XAMPP 제어판
[Apache (httpd.conf)]를 클릭
80번 포트에서 8080 포트로 수정
방화벽 예외에 추가

 

다음과 같이 XAMPP 제어판에서 8080번 포트로 웹 사이트가 게시되고 있음을 확인할 수 있다.

8080번 포트로 게시되고 있음

 

xampp\htdocs 폴더에 웹 사이트로 게시되는 파일들을 저장한다. 기본 제공되는 테스트 파일들은 모두 제거한 후 다음과 같은 내용의 html 파일을 작성하여 index.html로 저장한다.

<!doctype html>
<html lang="en">
    <head>
        <title>Hello, Onion!</title>
        <meta charset="utf-8" />
    </head>
    <body>
        <p>Hello, Onion!</p>
        <p>^(코딩캣)^ = @"코딩"하는 <strong>고양이</strong></p>
    </body>
</html>

 

기본 제공된 파일을 제거한다
웹 브라우저로 localhost 접속됨을 확인

 

2 단계. Tor로 Onion 주소 얻어 Deep Web 사이트 개설하기


구 버전의 Tor에서는 Tor Browser라는 Tor 네트워크 브라우저와 Vidalia라는 Tor 네트워크 제어판이 분리되었는데, 현재 나오는 버전의 Tor는 Tor Browser로 일원화되어있다. 따라서 Tor Browser만 종료하지 않고 실행해 두면 항상 Tor 네트워크 접속 상태가 유지될 것이다. 서버의 유동 IP/고정 IP 여부도 염려할 필요가 없다. 외부에서 접속할 때는 IP가 아닌 onion 주소를 사용하며, IP 주소와 onion 주소의 대응은 Tor 네트워크에서 알아서 해 줄 것이다.

먼저 Tor Project 홈 페이지(https://www.torproject.org/)에 접속하여 Tor Browser를 다운로드 받는다.

설치 경로를 지정한다.
설치 완료.

 

Tor Browser가 설치된 경로(\Tor Browser\Browser\TorBrowser\Data\Tor)에 들어가면 torrc라는 0 바이트짜리 파일이 보일 것이다. Tor Browser를 처음으로 실행한 후 이 파일을 다시 찾을 것이다.

torrc가 0바이트이다.

 

설치된 경로(\Tor Browser\Start Tor Browser.lnk)를 실행한다.

[Connect] 버튼을 눌러 기본값으로 Tor 네트워크에 접속한다.
Tor 네트워크에 접속되었다면 다시 닫는다.

 

3 단계. 포트 설정하기


앞서 확인했던 경로(\Tor Browser\Browser\TorBrowser\Data\Tor)를 다시 열면 0 바이트였던 torrc 파일의 크기가 늘어난 것을 확인할 수 있다. 텍스트 편집기로 이를 열어서 내용을 확인한다.

크기가 증가한 torrc 파일을 연다.

 

아래의 두 줄을 새로 추가한다. 첫 번째 줄은 xampp로 게시되는 로컬 경로를 Tor 네트워크에게 알려주는 것이고, 두 번째 줄은 서버의 아이피와 xampp로 게시되는 일반 웹의 포트번호(여기서는 8080)를 딥 웹으로는 80번 포트로 재게시 하는 것이다.

HiddenServiceDir 사이트의로컬경로
HiddenServicePort 80 서버의아이피:서버의포트번호

 

torrc 파일을 수정한다.

 

Tor Browser를 다시 실행한다. 이 때부터는 htdocs의 로컬 경로가 하나의 Deep Web 사이트로서 Tor 네트워크에 내보내지고 있으므로 닫으면 외부에서 접속이 안 된다.

 

4 단계. onion 주소 확인하기


torrc 파일에서 HiddenServiceDir 항목으로 지정한 로컬 경로로 들어가보면 몇 개의 파일이 생성된 것을 볼 수 있다. 이 중 hostname 파일을 열어보면 이 사이트의 onion 주소를 확인할 수 있다.

서버 경로에 생성된 몇 개의 파일
hostname에 기록된 현 서버의 onion 주소

 

Tor Browser를 실행하고 약 1분이 지난 후 이 주소를 접속하면 일반 웹 브라우저에서 http://localhost:8080로 보았던 것과 동일한 웹 페이지를 볼 수 있다. 즉, 외부 사용자도 이 onion 주소를 통해 같은 페이지를 보고 있다는 뜻이다. 이렇게 해서 하나의 Deep Web 사이트 구성이 완료되었다.

 

Tor Browser를 통해 접속한 웹 사이트의 모습

 

마무리


이번 포스팅에서는 Tor Browser와 xampp를 활용하여 딥 웹 사이트를 운영하는 서버를 구축하여 보았다. 다음 포스팅에서는 커스텀 onion 주소를 할당받는 방법에 대해 설명하겠다.


trackbacks: 0, comments: 0
 
Comments
 
 
'Operating System/Windows NT' Related Articles