ارتقِ بمهاراتك في I2P باستخدام LeaseSets المشفّرة

قيل في الماضي إن I2P يركز على دعم الخدمات المخفية، وهذا صحيح من نواحٍ عديدة. ومع ذلك، فإن ما يعنيه ذلك بالنسبة إلى المستخدمين والمطورين ومسؤولي الخدمات المخفية ليس دائمًا واحدًا. توفر LeaseSets المشفرة وحالات استخدامها نافذة فريدة وعملية على الكيفية التي يجعل بها I2P الخدمات المخفية أكثر مرونة وأسهل إدارة، وكيف يوسّع I2P مفهوم الخدمة المخفية ليقدم فوائد أمنية لحالات استخدام قد تكون مثيرة للاهتمام.

ما هو LeaseSet؟

عند إنشاء خدمة مخفية، تقوم بنشر ما يسمى “LeaseSet” إلى I2P NetDB. وبأبسط العبارات، فإن “LeaseSet” هو ما يحتاجه مستخدمو I2P الآخرون لاكتشاف “أين” تقع خدمتك المخفية على شبكة I2P. يحتوي على “Leases” التي تُعرّف الـ tunnels التي يمكن استخدامها للوصول إلى خدمتك المخفية، وعلى المفتاح العام لـ destination (الوجهة) الخاصة بك، الذي سيقوم العملاء بتشفير الرسائل إليه. هذا النوع من الخدمات المخفية يمكن الوصول إليه من قبل أي شخص يمتلك العنوان، وهو على الأرجح أكثر حالات الاستخدام شيوعاً في الوقت الحالي.

أحيانًا قد لا ترغب في السماح بأن تكون خدماتك المخفية متاحة لأي شخص. يستخدم بعض الأشخاص الخدمات المخفية كوسيلة للوصول إلى خادم SSH على حاسوب منزلي، أو لربط شبكة من أجهزة إنترنت الأشياء (IoT). في مثل هذه الحالات، ليس ذلك ضروريًا، وقد يأتي بنتائج عكسية، أن تجعل خدمتك المخفية متاحة للجميع على شبكة I2P. وهنا يأتي دور “Encrypted LeaseSets”.

LeaseSets المشفرة: خدمات مخفية للغاية

LeaseSets المشفّرة هي LeaseSets يتم نشرها في NetDB بشكل مشفّر، بحيث لا تكون أي من الـLeases أو المفاتيح العامة مرئية إلا إذا كان لدى العميل المفاتيح اللازمة لفك تشفير الـLeaseSet الموجودة بداخلها. فقط العملاء الذين تشاركهم المفاتيح (بالنسبة إلى PSK Encrypted LeaseSets)، أو الذين يشاركونك مفاتيحهم (بالنسبة إلى DH Encrypted LeaseSets)، سيتمكنون من رؤية الوجهة ولا أحد غيرهم.

يدعم I2P عدة استراتيجيات لـ LeaseSets مشفّرة. من المهم فهم الخصائص الرئيسية لكل استراتيجية عند تقرير أيّها يُستخدم. إذا كان LeaseSet مشفّر يستخدم استراتيجية “Pre-Shared Key(PSK)"، فإن الخادم سيُنشئ مفتاحًا (أو مفاتيح) يشاركها مشغّل الخادم بعد ذلك مع كل عميل. وبالطبع، يجب أن يتم هذا التبادل خارج القناة (out-of-band)، وربما عبر تبادل على IRC مثلًا. يشبه هذا الإصدار من LeaseSets المشفّرة تسجيل الدخول إلى شبكة Wi‑Fi باستخدام كلمة مرور. إلا أن ما تسجّل الدخول إليه هنا هو خدمة مخفية.

إذا كان Encrypted LeaseSet يستخدم استراتيجية Diffie-Hellman (DH)، فإن المفاتيح تُولَّد على جانب العميل بدلاً من ذلك. عندما يتصل عميل Diffie-Hellman (DH) بـ destination (وجهة ضمن I2P) لديه Encrypted LeaseSet، يجب عليه أولاً مشاركة مفاتيحه مع مشغّل الخادم. بعد ذلك يقرر مشغّل الخادم ما إذا كان سيمنح التفويض لعميل DH. هذه النسخة من Encrypted LeaseSets تشبه نوعاً ما SSH مع ملف authorized_keys. إلا أنّ ما تسجّل الدخول إليه هو خدمة مخفية.

من خلال تشفير الـ LeaseSet الخاص بك، لا تجعل من المستحيل على المستخدمين غير المصرح لهم الاتصال بوجهتك فحسب، بل تجعل أيضًا من المستحيل على الزائرين غير المصرح لهم حتى مجرد اكتشاف الوجهة الحقيقية للخدمة المخفية على I2P. ربما يكون بعض القرّاء قد فكّروا بالفعل في حالة استخدام لـ LeaseSet مشفر خاص بهم.

استخدام LeaseSets المشفرة للوصول بأمان إلى لوحة تحكم الـ router

كقاعدة عامة، كلما كانت المعلومات التي تتمكّن خدمة ما من الوصول إليها عن جهازك أكثر تعقيداً، كان تعريض تلك الخدمة للإنترنت أخطر، بل وحتى لشبكة خدمة مخفية مثل I2P. إذا أردت إتاحة مثل هذه الخدمة، فيلزمك حمايتها بشيء مثل كلمة مرور، أو، في حالة I2P، قد يكون خياراً أشدّ إحكاماً وأماناً بكثير هو LeaseSet مشفّر.

قبل المتابعة، يُرجى قراءة وفهم أنه إذا قمت بتنفيذ الإجراء التالي دون Encrypted LeaseSet، فستُقوِّض أمان I2P router الخاص بك. لا تقم بتهيئة الوصول إلى لوحة تحكم الـ router عبر I2P دون Encrypted LeaseSet. بالإضافة إلى ذلك، لا تُشارك مفاتيح PSK (المفاتيح المُشتركة مسبقًا) الخاصة بـ Encrypted LeaseSet مع أي أجهزة لا تتحكم بها.

إحدى هذه الخدمات التي يُفيد مشاركتها عبر I2P، ولكن فقط باستخدام LeaseSet مشفّر، هي لوحة تحكم I2P router نفسها. إن نشر لوحة تحكم I2P router من جهاز واحد على شبكة I2P باستخدام LeaseSet مشفّر يتيح لجهاز آخر مزوّد بمتصفح إدارة مثيل I2P البعيد. أجد هذا مفيداً لمراقبة خدماتي المعتادة على I2P عن بُعد. ويمكن أيضاً استخدامه لمراقبة خادم يُستخدم لبذر تورنت على المدى الطويل كطريقة للوصول إلى I2PSnark.

مهما استغرق شرحها من وقت، فإن إعداد LeaseSet مشفّر أمر بسيط عبر واجهة مستخدم Hidden Services Manager (UI).

على “الخادم”

ابدأ بفتح “Hidden Services Manager” على http://127.0.0.1:7657/i2ptunnelmgr ومرّر إلى أسفل القسم المسمّى “I2P Hidden Services”. أنشئ خدمة مخفية جديدة بالمضيف “127.0.0.1” والمنفذ “7657” باستخدام “Tunnel Cryptography Options” هذه، ثم احفظ الخدمة المخفية.

بعد ذلك، اختر الـ tunnel الجديد الخاص بك من الصفحة الرئيسية لـ Hidden Services Manager (مدير الخدمات المخفية). يجب أن تتضمن Tunnel Cryptography Options الآن أول Pre-Shared Key (المفتاح المُشترَك مسبقاً) لديك. انسخ هذا لاستخدامه في الخطوة التالية، مع Encrypted Base32 Address (العنوان المشفّر بتنسيق Base32) الخاص بالـ tunnel لديك.

على “Client”

انتقل الآن إلى جهاز العميل الذي سيتصل بالخدمة المخفية، وقم بزيارة صفحة إعداد حلقة المفاتيح على http://127.0.0.1:7657/configkeyring لإضافة المفاتيح التي حصلت عليها سابقاً. ابدأ بلصق قيمة Base32 من الخادم في الحقل المسمّى: “Full destination, name, Base32, or hash.” بعد ذلك، الصق المفتاح المُشترك مسبقاً من الخادم في حقل “Encryption Key”. انقر فوق حفظ، وبذلك تكون جاهزاً لزيارة الخدمة المخفية بأمان باستخدام LeaseSet مُشفّر.

الآن أنت مستعد لإدارة I2P عن بُعد

كما ترى، توفّر I2P قدرات فريدة لمسؤولي الخدمات المخفية تمكّنهم من إدارة اتصالات I2P الخاصة بهم بأمان من أي مكان في العالم. أما Encrypted LeaseSets (مجموعات LeaseSet مشفّرة) الأخرى التي أحتفظ بها على الجهاز نفسه للسبب ذاته، فتشير إلى خادوم SSH، ومثيل Portainer الذي أستخدمه لإدارة حاويات خدماتي، ومثيل NextCloud الشخصي الخاص بي. مع I2P، تصبح الاستضافة الذاتية الخاصة حقاً ودائمة الوصول هدفاً قابلاً للتحقيق؛ في الواقع أعتقد أنها من الأمور التي نتميز فيها بشكل فريد، بفضل Encrypted LeaseSets. وبفضلها، قد تصبح I2P المفتاح لتأمين أتمتة المنازل المستضافة ذاتياً، أو ببساطة العمود الفقري لويب نظير-لنظير جديد وأكثر خصوصية.