یک سرویس onion در Tor به افراد اجازه میدهد از طریق شبکه Tor به سایت شما برسند، بدون آنکه هیچیک از دو طرف IP دیگری را بفهمد. سرور به سمت Tor تماس میگیرد، بنابراین اصلاً به پورت ورودی باز نیاز ندارد. این راهنما یکی را روی یک VPS اوبونتو راهاندازی میکند، با Nginx که یک سایت کوچک را ارائه میدهد.
سرویس onion چه چیزی به شما میدهد
- یک آدرس
.onionکه از یک کلید مشتق میشود، بنابراین خود-احرازهویت است و به مرجع صدور گواهی نیاز ندارد. - رمزنگاری سرتاسری میان بازدیدکننده و سرور شما، درون Tor.
- بدون نیاز به افشای آدرس IP عمومی سرور برای بازدیدکنندگان.
این کار محتوای سایت شما را قانونی نمیکند و اشتباهاتی را که جای دیگری مرتکب میشوید، مثل یک دامنه clear-web که به همان دستگاه اشاره میکند، پنهان نمیکند.
گام ۱: نصب Tor و Nginx
sudo apt update
sudo apt install -y tor nginx
sudo systemctl enable --now tor
گام ۲: اتصال Nginx فقط به localhost
وبسرور نباید روی رابط عمومی پاسخ بدهد، وگرنه IP روی clear-web و سایت onion قابل پیوند میشوند. پیکربندی سایت را ویرایش کنید تا روی loopback گوش دهد.
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
گام ۳: تعریف hidden service
این خطوط را به /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
آخرین دستور آدرس .onion با 56 نویسه شما را چاپ میکند. آن را در Tor Browser باز کنید تا تست شود. از پوشه /var/lib/tor/my_site/ پشتیبان بگیرید: کلید درون آن همان آدرس شماست و از دست دادنش یعنی آدرس جدید.
گام ۴: احراز هویت اختیاری کلاینت
برای یک سرویس خصوصی، کلیدی اضافه کنید که فقط بازدیدکنندگان تأییدشده داشته باشند. فایل /var/lib/tor/my_site/authorized_clients/alice.auth را با یک خط به شکل descriptor:x25519:PUBLIC_KEY بسازید، سپس Tor را reload کنید. بازدیدکنندگانی که کلید خصوصی متناظر را ندارند حتی نمیتوانند ببینند که سرویس وجود دارد.
گام ۵: بستن نشتهای رایج
- هرگز به داراییها، فونتها یا ابزار تحلیل clear-web از صفحات خود ارجاع ندهید.
- صفحات خطا و هدرها را عمومی کنید و
server_tokens offرا نگه دارید. - ساعت سرور را دقیق نگه دارید؛ Tor به آن نیاز دارد.
- همهچیز را بهجز SSH با فایروال ببندید:
sudo ufw default deny incoming، چون Tor به پورت ورودی نیاز ندارد. - روی همان میزبان سایت clear-web اجرا نکنید مگر اینکه آنها را کاملاً از هم جدا کرده باشید.
پیش از انتشار هر چیزی عادتهای OpSec سرور را بخوانید و روی سرور جدید از چکلیست مقاومسازی استفاده کنید.