OffshoreVps
개인정보 보호 및 법률2026년 10월 20일읽는 시간 8분작성: OffshoreVps 팀

.onion 사이트 호스팅: VPS에서 Tor 히든 서비스

웹사이트를 Tor 어니언 서비스로 운영하세요: Tor 설치, Nginx를 localhost에 바인딩, .onion 주소 확인, 클라이언트 인증 추가, 신원이 드러나는 누출 방지.

Tor onion 서비스를 사용하면 양쪽 모두 상대방의 IP 주소를 알지 못한 채 Tor 네트워크를 통해 사이트에 접속할 수 있습니다. 서버가 Tor로 바깥쪽 연결을 맺으므로 열어 둘 인바운드 포트가 전혀 필요 없습니다. 이 가이드는 Ubuntu VPS에서 Nginx로 작은 사이트를 서비스하며 onion 서비스를 설정합니다.

Tor onion 서비스를 게시하는 데 사용하는 명령어를 보여 주는 VPS의 터미널 창으로, “sudo apt update”로 시작함
이 가이드에서 서버에서 실행하게 될 명령어의 종류입니다.

onion 서비스가 제공하는 것

  • 키에서 파생된 .onion 주소로, 자체 인증이 되므로 인증 기관이 필요 없습니다.
  • Tor 내부에서 방문자와 서버 사이의 종단 간 암호화.
  • 방문자에게 서버의 공개 IP 주소를 노출할 필요가 없습니다.

사이트의 콘텐츠를 합법으로 만들어 주지 않으며, 같은 머신을 가리키는 일반 웹 도메인처럼 다른 곳에서 저지른 실수를 숨겨 주지도 않습니다.

1단계: Tor와 Nginx 설치

sudo apt update
sudo apt install -y tor nginx
sudo systemctl enable --now tor

2단계: Nginx를 localhost에만 바인딩

웹 서버는 공개 인터페이스에서 응답하면 안 됩니다. 그렇지 않으면 일반 웹 IP와 onion 사이트를 서로 연결할 수 있게 됩니다. 사이트 설정을 편집하여 루프백에서만 수신하게 하세요.

server {
    listen 127.0.0.1:8080;
    server_name _;
    root /var/www/onion;
    index index.html;
    server_tokens off;
}
sudo mkdir -p /var/www/onion
echo '<h1>Hello from onion space</h1>' | sudo tee /var/www/onion/index.html
sudo nginx -t && sudo systemctl reload nginx
이 가이드의 단계를 순서대로 나열하면 다음과 같습니다. 1. onion 서비스로 얻는 것; 2. Tor와 Nginx 설치; 3. Nginx를 localhost에만 바인딩; 4. 히든 서비스 선언; 5. 선택 사항인 클라이언트 인증; 6. 흔한 유출 차단
이 가이드의 단계를 순서대로 나열한 것입니다.

3단계: 히든 서비스 선언

/etc/tor/torrc에 다음 줄을 추가하세요.

HiddenServiceDir /var/lib/tor/my_site/
HiddenServiceVersion 3
HiddenServicePort 80 127.0.0.1:8080
sudo systemctl restart tor
sudo cat /var/lib/tor/my_site/hostname

마지막 명령은 56자 길이의 .onion 주소를 출력합니다. Tor Browser에서 열어 테스트하세요. /var/lib/tor/my_site/ 폴더를 백업하세요. 그 안의 키가 곧 주소이며, 잃어버리면 새 주소를 받아야 합니다.

4단계: 선택 사항인 클라이언트 인증

비공개 서비스라면 승인된 방문자만 가진 키를 추가하세요. /var/lib/tor/my_site/authorized_clients/alice.auth 파일을 만들고 descriptor:x25519:PUBLIC_KEY 형식의 줄을 넣은 다음 Tor를 다시 로드하세요. 맞는 개인 키가 없는 방문자는 서비스가 존재하는지조차 알 수 없습니다.

5단계: 흔한 유출 차단

  • 페이지에서 일반 웹의 에셋, 글꼴, 분석 도구를 절대 참조하지 마세요.
  • 오류 페이지와 헤더를 일반적인 내용으로 만들고 server_tokens off를 유지하세요.
  • 서버 시계를 정확하게 유지하세요. Tor에 필요합니다.
  • SSH를 제외한 모든 것을 방화벽으로 막으세요. sudo ufw default deny incoming, Tor는 인바운드 포트가 필요 없기 때문입니다.
  • 완전히 분리하지 않는 한 같은 호스트에서 일반 웹 사이트를 운영하지 마세요.

무엇이든 게시하기 전에 서버 OpSec 습관을 읽고, 새 서버에서는 보안 강화 체크리스트를 사용하세요.