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

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

۲. epel-release را نصب کنید

برای نصب بسته tor در CentOS/RHEL، ابتدا باید (قابلیت) استفاده از مخزن EPEL را به‌کار اندازید. برای انجام این کار، باید بسته epel-release را نصب کنید:

# yum install epel-release

نسخه‌های اخیر CentOS/RHEL از dnf به‌جای yum استفاده می‌کنند:

# dnf install epel-release

اگر از نسخهٔ اخیری استفاده می‌کنید که از dnf استفاده می‌کند، لطفاً از آن برای ‌گام‌های زیر استفاده کنید، در جایی که yum در این راهنمای راه‌اندازی فراخوانی می‌شود.

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

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

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

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

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

# yum install tor

لطفاً توجه داشته باشید که هنگام نصب اولین بسته از مخزن EPEL، از شما در مورد تأیید کلید امضای GPG مخزن EPEL سؤال می‌شود. لطفاً مطمئن شوید که کلیدها با کلید موجود در وب‌سایت پروژهٔ Fedora مطابقت دارند. این موضوع هنگام نصب بسته‌ها از مخزن Tor برای اولین بار اتفاق می‌افتد - باید دوباره مطمئن شوید که کلید مطابقت دارد.

۵. obfs4proxy را بسازید و آن را در جای خود قرار دهید.

در نسخه‌های خیلی تاریخ‌گذشته از git ‏باعث از کار اقتادن go get خواهد شد، بنابراین اگر دچار این می‌شوید، سعی کنید git را به یک نسخهٔ جدیدتر ارتقا دهید.

بستهٔ golang و سایر وابستگی‌ها را نصب کنید:

# yum install git golang policycoreutils-python-utils

اکنون (فایل) دودویی را بسازید و آن را به شاخهٔ مناسب منتقل کنید:

export GOPATH='mktemp -d'
go get gitlab.com/yawning/obfs4.git/obfs4proxy
sudo cp $GOPATH/bin/obfs4proxy /usr/local/bin/
# chcon --reference=/usr/bin/tor /usr/local/bin/obfs4proxy

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

RunAsDaemon 1
BridgeRelay 1

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

ServerTransportPlugin obfs4 exec /usr/local/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 شما از طریق اینترنت دسترس‌پذیر است یا خیر.

۷. Tor را دوباره راه‌اندازی کنید

sudo semanage port -a -t tor_port_t -p tcp [OR port set earlier, in TODO1]

sudo semanage port -a -t tor_port_t -p tcp [obfs4 port set earlier, in TODO2]

نسخه‌های اخیر OS CentOS/RHEL که به‌همراه systemd عرضه می‌شوند:

# systemctl enable --now tor
... or restart it if it was running already, so configurations take effect
# systemctl restart tor

اگر باید از نسخهٔ قدیمی‌تری مانند CentOS/RHEL 6 استفاده کنید، به این صورت خواهد بود:

# service tor enable
# service tor start

۸. رویدادنگار‌های خود را پایش کنید

برای تأیید اینکه پل شما بدون هیچ مشکلی اجرا می‌شود، باید چیزی شبیه به این ببینید (معمولاً‌ در ‎/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.

۹. نکات پایانی

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