خدمت مخفی (تور)
خدمت مخفی (به انگلیسی HiddenService) یکی از امکانات شبکهٔ تور است. به لحاظ عملی، خدمت مخفی به شما یک نشانی اینترنتی میدهد که فقط از داخل شبکهٔ تور قابل دسترسی است. از موارد استفادهٔ آن میتوان به ایجاد یک پایگاه ناشناس که مکان کارساز آن قابل ردیابی نیست یا راهی برای دسترسی از راه دور به رایانه یا همرسانی ناشناس یک پرونده و… اشاره کرد.
تنظیمات
این خط را به پروندهٔ پیکربندی تور(معمولاً
/etc/tor/torrc
) اضافه کنید:
HiddenServiceDir /var/lib/tor/hidden_service/
مسیر /var/lib/tor/hidden_service/
، شاخهای است که پایگاه مورد نظر در آن قرار دارد.
اکنون میتوانید به تعداد مورد نیاز خطوط مشابه زیر را به پروندهٔ پیکربندی تور اضافه کنید:
HiddenServicePort 80 127.0.0.1:9080
خط فوق به این معنا است که هر ارتباطی که با درگاه ۸۰ نشانی مخفی برقرار شود، به درگاه ۹۰۸۰ رایانه منتقل میشود. یعنی خدمتی که به درگاه ۹۰۸۰ رایانه گوش میکند را می توان از درگاه ۸۰ نشانی مخفی به آن دسترسی پیدا کرد.
حالا خدمت تور را شروع مجدّد میکنیم:
$ sudo systemctl restart tor
دستور زیر را وارد کنید تا نشانی اختصاص داده شده را ببینید
$ cat /var/lib/tor/hidden_service/hostname
بدیهی است که باید خدمتی روی نشانی
127.0.0.1:9080
داشته باشید که تنظیم بالا اثر کند.
برای کاربردهای آزمایشی میتوانید از یک نمونه پیمانهٔ http در پایتون استفاده کنید.
$ cd /var/lib/tor/hidden_service $ python3 -m http.server -b 127.0.0.1 9080
پوستهٔ امن روی سرویس مخفی
ابتدا در رایانهای که میخواهید با پوستهٔ امن به آن وصل شوید خدمت مخفی را تنظیم کرده و کارساز پوستهٔ امن را اجرا کنید.
حال خط زیر را به پروندهٔ پیکربندی تور اضافه کنید تا درگاه ۲۲ نشانی مخفی که به صورت پیشگزیده برای پوستهٔ امن به کار میرود، روی درگاه ۲۲ رایانهٔ شما گوش بایستد:
HiddenServicePort 22 127.0.0.1:22
خدمت تور را راهاندازی مجدّد کرده و در رایانهای که میخواهید از آن به پوستهٔ امن وصل شوید تور را اجرا کنید، زیرا این نشانی فقط از داخل شبکهٔ تور قابل دسترسی است.
سپس torsocks را نصب کرده و با این دستور به رایانهٔ مورد نظر وصل شوید:
$ torsocks ssh user@foo.onion
بدیهی است که به جای user باید نام کاربری مورد نظر و به جای foo.onion نشانی مخفی را قرار داد.