۱. به‌روز‌رسانی‌های خودکار نرم‌افزار را به‌کار اندازید

یکی از مهم‌ترین چیزهایی که برای حفظ امنیت رله‌تان وجود دارد، نصب به‌روزرسانی‌های امنیتی به‌موقع و ترجیحاً خودکار است تا آن را فراموش نکنید. دستورالعمل‌ها را دنبال کنید تا به‌روز‌رسانی خودکار نرم‌افزار را برای سیستم‌عامل خود به‌کار اندازید.

۲. مخزن پروژهٔ Tor را پیکربندی کنید

پیکربندی مخزن پروژهٔ Tor برای Fedora اساساً متشکل از راه‌اندازی ‎/etc/yum.repos.d/Tor.repo با محتوای زیر است:

[tor]
name=Tor for Fedora $releasever - $basearch
baseurl=https://rpm.torproject.org/fedora/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=https://rpm.torproject.org/fedora/public_gpg.key
cost=100

اطلاعات بیشتر در این مورد را می‌توانید اینجا پیدا کنید.

۳. tor را نصب کنید

هنگامی که پیکربندی مخزن Tor را تنظیم کردید، اکنون می‌توانید بسته را نصب کنید:

# dnf install tor

۴. obfs4proxy را نصب کنید

ما در اینجا برای نصب و استفاده از obfs4 به‌عنوان حامل اتصال‌پذیر درحال انتخاب هستیم، بنابراین می‌خواهیم obfs4proxy را نصب کنیم.

متفاوت با سایر توزیع‌های لینوکس، Fedora یک بسته دودویی ارائه می‌دهد که می‌توانیم از آن استفاده کنیم. از زمان Fedora 33 موجود است.

بسته obfs4 نام دارد و این تنها چیزی است که برای نصب به آن نیاز دارید:

# dnf install obfs4

For more information about installing or building lyrebird from source, please refer to its official documentation.

۵. فایل پیکربندی Tor خود که معمولاً در ‎/etc/tor/torrc قرار دارد را ویرایش کرده و محتوای آن را با این جایگزین کنید:

RunAsDaemon 1
BridgeRelay 1

# «TODO1» را با درگاهٔ Tor منتخب خود جایگزین کنید. این باید از بیرون
# دسترس‌پذیر باشد. از استفاده از درگاه ۹۰۰۱ اجتناب کنید چون عموماً با Tor مرتبط است و
# سانسورکنندگان، اینترنت را برای این درگاه پویش (scan) می‌کنند.
ORPort TODO1

ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy

# «TODO2» را با درگاه obfs4 منتخب خود جایگزین کنید. این درگاه باید
# از بیرون دسترس‌پذیر باشد و باید از درگاه مشخص‌شده برای ORPort متفاوت باشد.
# از درگاه ۹۰۰۱ اجتناب کنید چون عموماً مرتبط با
# Tor است و سانسور‌کنندگان ممکن است اینترنت را برای این درگاه پویش (scan) کنند.
ServerTransportListenAddr obfs4 0.0.0.0:TODO2

# درگاه ارتباط محلی بین Tor و obfs4. همیشه این را روی «auto» تنظیم کنید.
# «Ext» به معنای «تعمیم یافته» است، نه «بیرونی». سعی نکنید تا شمارهٔ درگاه خاصی
# را مشخص یا اینکه روی 0.0.0.0 شنود کنید.
ExtORPort auto

# نشانی ایمیل خود را با «<address@email.com>» تغییر دهید تا بتوانیم در صورت وجود مشکل‌هایی در پل شما
# با شما ارتباط برقرار کنیم. این مورد اختیاری است ولی تشویق می‌شود.
اطلاعات مخاطب <address@email.com>

# یک نام مستعار مورد پسند برای پل خود انتخاب کنید. این کار اختیاری است.
Nickname PickANickname

فراموش نکنید تا گزینه‌های ORPort, ‏ServerTransportListenAddr,‏ ContactInfo, و Nickname را تغییر دهید.

  • توجه کنید که هم درگاه OR Tor و هم درگاه obfs4 باید دسترس‌پذیر باشند. اگر پل شما پشت دیوار آتش یا NAT است، مطمئن شوید که هر دو درگاه را باز کرده‌اید. می‌توانید از آزمون دسترس‌پذیری ما استفاده کنید تا ببینید آیا درگاه obfs4 شما از طریق اینترنت دسترس‌پذیر است یا خیر.

6. Disable SeLinux

Check wether SeLinux is set to "Enforcing":

# getenforce

If set to "Enforcing", change Status to "Permissive":

# setenforce 0

To make the changes permanent:

# nano /etc/selinux/config

And change SELINUX=enforcing to SELINUX=permissive.

7. Open Ports in Fedora firewall

For the obfs4 and ORPort which you have chosen in the torrc file:

# firewall-cmd --add-port XXX/tcp --permanent

After you did it for both ports, run:

# firewall-cmd --reload

(Optional) Configure systemd to allow obfs4 binding on privileged ports

If you decide to use a fixed obfs4 port smaller than 1024 (for example 80 or 443), you will need to configure systemd and give obfs4 CAP_NET_BIND_SERVICE capabilities to bind the port with a non-root user:

# setcap cap_net_bind_service=+ep /usr/bin/obfs4proxy

8. Restart Tor

# systemctl enable --now tor

9. Monitor your logs

برای تأیید اینکه پل شما بدون هیچ مشکلی اجرا می‌شود، باید چیزی شبیه به این ببینید (معمولاً‌ در ‎/var/log/tor/log یا ‎/var/log/syslog):

[notice] Your Tor server's identity key fingerprint is '<NICKNAME> <FINGERPRINT>'
[notice] Your Tor bridge's hashed identity key fingerprint is '<NICKNAME> <HASHED FINGERPRINT>'
[notice] Registered server transport 'obfs4' at '[::]:46396'
[notice] Tor has successfully opened a circuit. Looks like client functionality is working.
[notice] Bootstrapped 100%: Done
[notice] Now checking whether ORPort <redacted>:3818 is reachable... (this may take up to 20 minutes -- look for log messages indicating success)
[notice] Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.

10. Final Notes

اگر در راه‌اندازی پل خود مشکل دارید، به بخش راهنمای ما‏ نگاهی بیندازید. اگر پل شما درحال اجرا است، نکات پس از نصب‏ را وارسی کنید.