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

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

۲. pkg را خودراه‌اندازی کنید

این راهنما فرض می‌کند که ما از پیش یک نصب پایه از FreeBSD درحال اجرا داریم، و فقط سامانه پایه. این بدان معناست که ما هیچ بسته‌ای را نصب‌شده نداریم، یا حتی خود مدیریت بسته‌های pkg را نداریم (sudo موجود نیست - ما دستورها را به‌عنوان ابرکاربر اجرا می‌کنیم).

برای خودراه‌اندازی و نصب pkg ما باید دستور زیر را اجرا کنیم:

# pkg bootstrap
# pkg update -f
۲.۱. مراحل توصیه‌شده برای تنظیم pkg

برای دنبال‌کردن به‌روزرسانی‌های بالادست به «شیوه‌ای سریع‌تر»، توصیهٔ ما این است که شاخه ‹quaterly› استفاده‌شده توسط pkg را به شاخهٔ ‹latest› تغییر دهید.

یک گام اضافه آن است که استفاده از HTTPS را برای واکشی بسته‌ها و به‌روزرسانی‌ها ترجیح دهیم - همچنین ما در اینجا نیاز به یک بستهٔ اضافی برای کمک‌رسانی به خودمان داریم (ca_root_nss).

نصب بستهٔ ca_root_nss:

# pkg install ca_root_nss

ما تنظیمات اصلی استفاده‌شده توسط pkg را حفظ کرده، اما تنظیم جدیدی را اعمال می‌کنیم که آن را لغو خواهد کرد. بنابراین ما یک شاخهٔ جدید را راه‌اندازی کرده، و سپس یک فایل پیکربندی ایجاد می‌کنیم تا آن‌چه را که نیاز داریم لغو کند. این فایل پیکربندی ‎/usr/local/etc/pkg/repos/FreeBSD.conf خواهد بود.

ایجاد شاخهٔ جدید:

# mkdir -p /usr/local/etc/pkg/repos

فایل پیکربندی جدید ‎/usr/local/etc/pkg/repos/FreeBSD.conf باید به این شکل باشد:

FreeBSD: {
  url: pkg+https://pkg.freebsd.org/${ABI}/latest
}

پس از پیاده‌سازی تمامی این تغییرها، لیست بسته‌ها را دوباره به‌روزرسانی کرده و سعی می‌کنیم بررسی کنیم که آیا از پیش یک به‌روزرسانی جدید برای اعمال وجود دارد یا خیر:

# pkg update -f
# pkg upgrade -y -f

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

می‌توانید نصب نسخهٔ پایدار را انتخاب کنید (توصیه می‌شود):

# pkg install tor

یا نسخهٔ آلفا را نصب کنید:

# pkg install tor-devel

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

# pkg install obfs4proxy-tor

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

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

Log notice file /var/log/tor/notices.log

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

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

  • آیا شما از دیوار آتش FreeBSD با سیاست «مسدود‌کردن به‌صورت پیش‌فرض» استفاده می‌کنید؟ اگر چنین است، مطمئن شوید که obfs4proxy شما می‌تواند با فرایند Tor خودتان توسط رابط loopback صحبت کند. فراموش نکنید که ExtORPort ‏Tor را در فهرست سفید قرار دهید.

۶. مطمئن شوید که تنظیمات random_id ‏sysctl به‌کار انداخته شده است

# echo "net.inet.ip.random_id=1" >> /etc/sysctl.conf
# sysctl net.inet.ip.random_id=1

۷. tor daemon را شروع کنید و مطمئن شوید که به‌صورت boot راه‌اندازی می‌شود

# sysrc tor_setuid=YES
# sysrc tor_enable=YES
# service tor start

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

برای اینکه تأیید کنید که پل شما بدون هیچ مشکلی درحال اجرا است، باید در ‎/var/log/tor/notices.log چیزی شبیه به (خروجی) زیر ببینید:

[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.

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

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