ایجاد هاست و دامین onion با nginx و tor

دامنه onion

دامنه onion یک پسوند دامنه سطح‌بالا است که دسترسی را به سرویس‌های پنهانی ناشناس از طریق شبکه تور ممکن می‌سازد. چنین آدرس‌هاییدی‌اِن‌اِس واقعی نیستند، اما با نصب نرم‌افزار پروکسی مناسب، برنامه‌های اینترنتی مانند مرورگرهای وب می‌توانند به سایت‌هایی با آدرس‌های .onion با ارسال درخواست از طریق شبکه سرور تور دسترسی پیدا کنند. هدف اصلی استفاده از چنین سیستمی این است ردیابی شخص ارائه‌دهندهٔ اطلاعات (برای مثال فروشنده) و شخصی که قصد دسترسی به آن را دارد (خریدار) را دشوار یا غیرممکن کند.


گام اول:

حداقل نیازمندی سخت افزاری برای نصب بر روی سیستم عامل CentOS7

  • CPU - 1Core
  • RAM - 1GB
  • HDD - 20GB


گام دوم:

دانلود و نصب سیستم عامل لینوکس CentOS7 نسخه مینیمال از اینجا(یا هر کجا)


گام سوم:

نصب پکیج ها

بروزرسانی سیستم عامل

sudo yum update -y

نصب ریپازیتوری epel-release

sudo yum install epel-release -y

نصب انجینکس(nginx) و تور(tor)

sudo yum install nginx tor -y


گام چهارم:

پیکربندی انجینکس (nginx)

وب سرور nginx بصورت پیش فرض پورت 80 را برای دریافت و ارسال درخواست ها استفاده می کند، می خواهیم بجای پورت 80 از پورت 9000 استفاده کنیم، چون پورت 80 قرار است توسط تور استفاده شود.

sudo sed -i      's/listen \+80 default_server/listen 9000 default_server/'      /etc/nginx/nginx.conf

sudo sed -i      's/listen \+\[\:\:\]\:80 default_server/listen [::]:9000 default_server/'      /etc/nginx/nginx.conf

وب سرور nginx را ابتدا در استارت آپ قرار می دهیم تا با هر بار راه اندازی سیستم عامل اجرا شود

sudo systemctl enable nginx

بعد از اعمال تغییرات باید وب سرور nginx را مجدداً راه اندازی کنیم

sudo systemctl restart nginx

برای مطلع شدن از وضعیت وب سرور nginx دستور زیر را وارد می کنیم، در صورت ظاهر شدن نوشته سبز رنگ active، از راه اندازی بدون ایراد nginx مطمئن می شویم.

sudo systemctl status nginx


گام پنجم:

پیکربندی تور(tor)

فایل موجود در مسیر زیر را باز کرده

/etc/tor/torrc

سپس بعد از عبارت

#HiddenServicePort 22 127.0.0.1:22   #خط 83

خط های زیر را اضافه می کنیم:

HiddenServiceDir /var/lib/tor/hidden_service_01/
HiddenServicePort 80 127.0.0.1:9000
توجه: برای راحتی کار، دستور زیر این کار را بصورت خودکار انجام می دهد.
sudo sed -i 's/\#HiddenServicePort 22 127\.0\.0\.1\:22/#HiddenServicePort 22 127.0.0.1:22\n\nHiddenServiceDir \/var\/lib\/tor\/hidden_service_01\/\nHiddenServicePort 80 127.0.0.1:9000/' /etc/tor/torrc

پیکربندی انجام شده بصورت پیش فرض با SELinux حالت (enforcing mode) سازگار نیست. این سرویس در اولین راه اندازی tor به درستی اجرا می شود، بعد از راه اندازی مجدد سرویس تور یا راه اندازی مجدد سیستم عامل دیگر شروع نمی شود. برای رفع این مشکل به پیشنهاد آقای مایکل این تنظیمات را اعمال می کنیم:

sudo sed -i 's/User toranon/#User toranon/' /usr/share/tor/defaults-torrc

sudo mkdir /etc/systemd/system/tor.service.d; sudo touch /etc/systemd/system/tor.service.d/override.conf

echo -e '[Service]\nUser=toranon\nGroup=toranon\nPermissionsStartOnly=no\n' | sudo tee --append /etc/systemd/system/tor.service.d/override.conf

همانند وب سرور nginx، تور(tor) را ابتدا در استارت آپ قرار می دهیم تا با هر بار راه اندازی سیستم عامل اجرا شود.

sudo systemctl enable tor

بعد از اعمال تغییرات باید تور(tor) را مجدداً راه اندازی کنیم

sudo systemctl restart tor

برای مطلع شدن از وضعیت تور(tor) دستور زیر را وارد می کنیم، در صورت ظاهر شدن نوشته سبز رنگ active، از راه اندازی بدون ایراد تور مطمئن می شویم.

sudo systemctl status tor

هم اکنوان آدرس دامنه onion ما در مسیر زیر داخل فایل hostname ایجاد شده است:

/var/lib/tor/hidden_service_01/hostname

برای مشاهده دامنه دستور زیر را وار می کنیم:

sudo cat /var/lib/tor/hidden_service_01/hostname

نتیجه اجرای دستور چیزی شبیه به این خواهد بود:

skqjtnyiv2dityzsovang3xyh7bphktkodu4pcmpenuu6oxr4mv6hbyd.onion

واین دامنه شما می باشد.


برای مشاهده دامنه این آدرس را در مرورگر تور وارد کنید، صفحه پیش فرض وب سرور nginx را مشاهده خواهید کرد.

برگرفته و ترجمه شده از اینجا