مصدر APT للـ VPN: ما الذي يمنحه وكيف تحدّ منه
مصدر APT الخاص بـ VPN إذن دائم، لا عملية تنزيل. احصر المفتاح في ذلك المصدر، واقرأ العملية، واكتب خطوة الإزالة قبل إضافته.
تنزيل عميل VPN قرار لمرة واحدة، أما إضافة مستودع APT الخاص به فليست كذلك. فالثانية تخبر مدير الحزم من أين قد تأتي البرمجيات مستقبلاً، وهذا نقل دائم للسلطة لا عملية تنزيل. قد يكون ذلك الترتيب صحيحاً حين يدير المورّد مستودعاً على نحو سليم. ومع ذلك فهو يستحق قراراً واعياً، ومعظم أدلة التثبيت تتجاهله.
التوقيع يصادق على أرشيف، لا على شيفرته
يتحقق APT من بيانات وصفية موقّعة للمستودع ثم يثق بمجاميع التحقق داخل تلك البيانات للطرود التي يجلبها. وما يثبته ذلك هو أن الأرشيف يطابق ما نشره صاحب المفتاح، ولا شيء عن الشيفرة داخله. يمكن أن يحمل طرد موقّع بشكل صحيح نصوصاً برمجية غير آمنة للمشرف، وهذه النصوص تعمل بصلاحيات الجذر أثناء تثبيت الطرد. ويضع دليل apt-secure هذا الحد بالضبط بين مصادقة الأرشيف ومراجعة البرمجية.
إذن فالسؤال المفيد ليس هل يصح التوقيع، لأن التوقيع المعطوب يوقف التثبيت أصلاً. بل هو توقيع من تختار أن تثق به من الآن فصاعداً. مفتاح توقيع مسروق أسوأ من طرد مسروق، لأن المهاجم يواصل إنتاج بيانات وصفية صالحة وقتاً طويلاً بعد أول إصدار سيئ. والتدوير هو الإصلاح الوحيد، وهو يعتمد على أن ينشر المورّد مفتاحاً جديداً عبر قناة يمكنك التحقق منها باستقلال.
لهذا تستحق هوية المفتاح من العناية ما تستحقه عناوين المستودع. فمفتاح مأخوذ من عنوان في إجابة قديمة على منتدى لا يثبت شيئاً عن الناشر، بينما يحمي HTTPS النقل إلى من أجاب على الهاتف. أمن النقل وهوية الناشر سؤالان منفصلان، ولا تحل الشهادة إلا الأول.
احصر المفتاح في المصدر، لا في النظام
يقبل APT الحديث إشارة Signed-By خاصة بالمصدر. ويمكن أن يعيش مفتاح يديره المشغّل تحت /etc/apt/keyrings/، ويسمّي إدخال المصدر المفتاح الذي يجوز له مصادقة ذلك الأرشيف. وهذا أضيق من إلقاء المفتاح نفسه في مجموعة موثوقة عالمياً، حيث يمكنه أن يضمن مصادر لم تقصد السماح بها. اتبع نسخة APT المثبتة وتعليمات المورّد الحالية بدل خلط شذرات من أجيال مختلفة من الأدلة.
curl -fsSL https://repo.example.com/vpn-key.gpg -o /etc/apt/keyrings/vpn.gpg
echo "deb [signed-by=/etc/apt/keyrings/vpn.gpg] https://repo.example.com/debian stable main" > /etc/apt/sources.list.d/vpn.listلا تصلح أبداً فشل توقيع بتعطيل التحقق أو بوسم أرشيف مجهول كموثوق. فذلك يقايض خطأً مرئياً بخطأ غير مرئي، وغير المرئي يدوم حتى يراجع أحدهم قائمة المصادر. وإذا لم يطابق المفتاح، فالإصلاح الصحيح هو إيجاد المفتاح الصحيح، لا إزالة الفحص.
احصل على تفاصيل المستودع وهوية المفتاح من المشروع أو من مسؤول مُدار. فالمفتاح المنسوخ من مقال مدونة ادعاء بشأن التأليف، لا دليل عليه. وعندما ينشر مورّد قناة تدوير، سجّلها في الوقت نفسه مع المفتاح، لأن تلك القناة هي ما يجعل التدوير التالي ممكناً.
تثبيت المصدر ليس قائمة سماح للطرود
تقييد مفتاح بمصدر واحد يحدّ من الأرشيف الذي يمكنه مصادقته، لا من الطرود التي يجوز لذلك الأرشيف نشرها. فيمكن للمستودع أن يشحن أكثر بكثير من عميل VPN الذي أردته، واختيار APT للمرشّح وأولوياته هما ما يحدد أي نسخة مؤهلة تفوز. راجع العملية المقترحة قبل تأكيدها، بما في ذلك قائمة التبعيات، لأن التبعيات تأتي من الأرشيف نفسه. ولا يستطيع نطاق المفتاح التعبير عن ’هذا الطرد فقط’.
إن احتجت تحكماً أقوى، عبّر عنه كسياسة على أسماء الطرود أو نسخها، واحفظ تلك السياسة تحت إدارة التهيئة. قراءة عملية تستغرق دقيقة، أما اكتشاف طرد غير متوقع بعد ستة أشهر فيستغرق مراجعة.
الطرود غير المتوقعة هي لحظة التوقف لا المضي، والسؤال لمالك الأرشيف هو لماذا هي مطلوبة. فمستودع ينشر دستة طرود حول عميل واحد أمر طبيعي لمورّد يشحن حزمة سطح مكتب. وهو أيضاً سطح أوسع مما أوحى به دليل التثبيت، وهذا هو الجزء الجدير بالتسجيل. ولا أي من النتيجتين سبب لعدم الثقة بالتوقيع، وكلتاهما سبب لكتابة ما قبلته.
سجّل السلطة وكيفية إزالتها
اكتب مالك الأرشيف، وإصدار نظام التشغيل المدعوم، وقناة تدوير المفتاح، وإجراء الإزالة. هذه الحقائق الأربع هي ما يحتاجه الخلف عندما يتقاعد العميل أو يدوّر المورّد مفتاحه. وبدونها يرث الشخص التالي سطر مصادر وملف مفتاح بلا قصة.
الإزالة هي الخطوة التي تُترك، فاكتبها وقت التثبيت. احذف إدخال المصدر ومفتاحه المخصص معاً، وتحقق مما إذا كان ذلك المفتاح مذكوراً في مكان آخر قبل حذف الملف. فمفتاح مشترك يُحذف بلا ذلك الفحص يحوّل تنظيفاً إلى انقطاع غير ذي صلة، وهو أسوأ نتيجة لتغيير روتيني. ثم تأكد من أن التحديثات العادية ما زالت تُحل بعد ذهاب الإدخال.
يبقى شيء واحد بعد إزالة المستودع: أي طرد مثبت منه بالفعل يواصل العمل حتى يستبدله شيء. والسؤال الصادق هو أي سلطة أضفت، وإلى أي حد ضُبط دورها.