Tor onion सेवा लोगों को Tor नेटवर्क के ज़रिए आपकी साइट तक पहुँचने देती है, और दोनों पक्षों में से किसी को दूसरे का IP पता नहीं पता चलता। सर्वर खुद Tor की ओर कनेक्ट करता है, इसलिए उसे कोई इनबाउंड पोर्ट खोलने की ज़रूरत ही नहीं पड़ती। यह गाइड Ubuntu VPS पर एक सेवा सेट करती है, जिसमें Nginx एक छोटी साइट परोसता है।
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
चरण 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 की आदतें पढ़ें, और नए सर्वर पर हार्डनिंग चेकलिस्ट इस्तेमाल करें।