تفويض العميل هو طريقة لجعل خدمة onion خاصة ومصادق عليها. يتطلب من عملاء Tor توفير بيانات اعتماد المصادقة من أجل الاتصال بخدمة onion. بالنسبة لخدمات onion v3 ، تعمل هذه الطريقة مع زوج من المفاتيح (عام وآخر خاص). يتم تكوين جانب الخدمة بمفتاح عام ولا يمكن للعميل الوصول إليه إلا باستخدام مفتاح خاص.
ملاحظة: بمجرد تكوين ترخيص العميل ، لن يتمكن أي شخص لديه العنوان من الوصول إليه من هذه النقطة فصاعدًا. إذا لم يتم تكوين إذن ، فستكون الخدمة متاحة لأي شخص لديه عنوان onion.
تكوين خدمات onion v3
جانب الخدمة
لتكوين ترخيص العميل من جانب الخدمة ، يجب أن يوجد دليل <HiddenServiceDir>/ author_clients /
. باتباع الإرشادات الموضحة في قسم الإعداد سيؤدي تلقائيًا إلى إنشاء هذا الدليل.
لن يتم تمكين ترخيص العميل للخدمة إلا إذا قام Tor بتحميل ملف ترخيص واحد على الأقل بنجاح.
في الوقت الحالي ، تحتاج إلى إنشاء المفاتيح بنفسك باستخدام نص برمجي (مثل تلك المكتوبة بلغة Bash ، Rust أو Python) أو يدويًا.
لإنشاء المفاتيح يدويًا ، تحتاج إلى تثبيت الإصدار 1.1+ و basez
openssl
.
الخطوة 1. أنشئ مفتاحًا باستخدام الخوارزمية x25519:
opensl genpkey $ - خوارزمية x25519 -out /tmp/k1.prv.pem
إذا تلقيت رسالة خطأ ، فقد حدث خطأ ما ولا يمكنك المتابعة حتى تكتشف سبب عدم نجاح ذلك.
الخطوة الثانية. نسّق المفاتيح في base32:
مفتاح سري
$ cat /tmp/k1.prv.pem | grep -v " PRIVATE KEY" | base64pem -d | tail --bytes=32 | base32 | sed 's/=//g' > /tmp/k1.prv.key
المفتاح العمومي
$ openssl pkey -in /tmp/k1.prv.pem -pubout | grep -v " PUBLIC KEY" | base64pem -d | tail --bytes=32 | base32 | sed 's/=//g' > /tmp/k1.pub.key
الخطوة 3. انسخ المفتاح العام:
$ cat /tmp/k1.pub.key
الخطوة 4. أنشئ ملف عميل معتمد:
قم بتهيئة مصادقة العميل وأنشئ ملفًا جديدًا في دليل / author_clients /<HiddenServiceDir>
.
يجب أن يُلحق كل ملف في هذا الدليل بـ ".auth" (أي "alice.auth" ؛ اسم الملف غير ذي صلة) ويجب أن يكون تنسيق المحتوى الخاص به:
<auth-type>:<key-type>:<base32-encoded-public-key>
القيم المدعومة لـ<auth-type>
هي:" واصف ".
القيم المدعومة لـ<key-type>
هي:" x25519 ".
<base32-encoded-public-key>
هو تمثيل base32 لبايتات المفاتيح الأولية فقط (32 بايت لـ x25519).
على سبيل المثال ، يجب أن يظهر الملف /var/lib/tor/hidden_service/author_clients/alice.auth
بالشكل التالي:
واصف: x25519: N2NU7BSRL6YODZCYPN4CREB54TYLKGIE2KYOQWLFYC23ZJVCE5DQ
إذا كنت تخطط للحصول على المزيد من العملاء المصادق عليهم ، فيجب أن يحتوي كل ملف على سطر واحد فقط. سيتم تجاهل أي ملف تالف.
الخطوة 5. أعد تشغيل خدمة Tor:
$ sudo systemctl reload tor
إذا تلقيت رسالة خطأ ، فقد حدث خطأ ما ولا يمكنك المتابعة حتى تكتشف سبب عدم نجاح ذلك.
هام: يمكن إبطال العميل عن طريق إزالة ملف ".auth" الخاص به ، إلا أن الإلغاء لن يكون ساريًا إلا بعد إعادة تشغيل عملية Tor.
جانب العميل
للوصول إلى خدمة onion من الإصدار 3 مع تفويض من العميل كعميل ، تأكد من تعيين ClientOnionAuthDir
في ملف torrc.
على سبيل المثال ، أضف هذا السطر إلى / etc / tor / torrc
:
ClientOnionAuthDir /var/lib/tor/onion_auth
بعد ذلك ، في <ClientOnionAuthDir>
الدليل ، أنشئ ملف.auth_private
لخدمة onion المقابلة لهذا المفتاح (على سبيل المثال ،'bob_onion.auth_private').
يجب أن يبدو محتوى الملف <ClientOnionAuthDir>/<user>.auth_private
على النحو التالي:
<56-char-onion-addr-without-.onion-part>:descriptor:x25519:<x25519 private key in base32>
فمثلا:
rh5d6reakhpvuxe2t3next6um6iiq4jf43m7gmdrphfhopfpnoglzcyd:descriptor:x25519:ZDUVQQ7IKBXSGR2WWOBNM3VP5ELNOYSSINDK7CAUN2WD7A3EKZWQ
إذا قمت بإنشاء زوج المفاتيح يدويًا باتباع الإرشادات الواردة في هذه الصفحة ، فيمكنك نسخ واستخدام المفتاح الخاص الذي تم إنشاؤه في الخطوة 2 .
ثم أعد تشغيلtor
وستتمكن من الاتصال بعنوان خدمة onion.
إذا كنت تقوم بإنشاء مفتاح خاص لموقع onion ، فلن يحتاج المستخدم بالضرورة إلى تحرير ملف Tor في متصفح Tor. من الممكن إدخال المفتاح الخاص مباشرة في واجهة متصفح Tor.
لمزيد من المعلومات حول مصادقة العميل ، يرجى مراجعة دليل Tor.
تكوين خدمات Onion v2
لإعداد مصادقة ملفات تعريف الارتباط لخدمات v2 ، راجع إدخالات HidServAuth و HiddenServiceAuthorizeClient خيارات في دليل Tor. قم أولاً بإضافة السطر التالي إلى ملف torrc الخاص بخدمة onion الخاصة بك:
HiddenServiceAuthorizeClient [نوع المصادقة] [اسم الخدمة]
أعد تشغيل tor واقرأ ملف تعريف الارتباط من ملف اسم المضيف الخاص بخدمة onion ، على سبيل المثال في
/var/lib/tor/hidden_service_path/hostname
.
للوصول إليه مع عميل Tor ، أضف السطر التالي إلى torrc وأعد تشغيل Tor:
HidServAuth [onion-address] [auth-cookie] [service-name]
يمكنك الآن الاتصال بعنوان خدمة onion.