أعزل متصفحك عن محتويات ملفاتك الشخصية باستخدام Appman

لطالما أقلقني قدرة المتصفح على الوصول إلى بياناتك الشخصية وخصوصاً أنه قد أزور مواقع لا أثق بها ولا أريد أن يكون لهذه المواقع القدرة على قراءة بياناتي أو استغلال ثغرة ما. ففي بياناتك الشخصية قد يوجد كلمات سر ومفاتيح لخوادم وآثار قديمة من نشاطاتك الالكترونية والبعض يخزن كلمات المرور في المتصفح وهناك محافظ الكترونية كلها في مسار /home في نظام التشغيل. ونظام التشغيل قد يوفر حماية قوية لمنع تجاوز الصلاحيات لصلاحية الجذر لكن حماية ملفاتك الشخصية أمر آخر.

هذا دليل يهدف للتعريف فقط بهذا المشروع وليس دلليلا كاملاً أو توجيه يمكنك أن تتبع دون التحقق والقراءة بنفسك من المصادر الموثوقة.

اخفض مستوى القلق وأستخدم Appman مع Librewolf

هناك تطبيق اسمه Appman يُسهّل استخدام تطبيقات Appimages المميزة ويضيف إلى ذلك ميزات عديدة منها تشغيلها ضمن بيئة اختبارية Sandbox معزولة بحيث لا يصل البرنامج إلى ملفاتك الشخصية وهو يعتمد على برمجية العزل BubbleWrap المستخدمه نفسها في مدير حزم فلات باك.

حتى متصفح تور تجد أنه يعطيك مسار وهمي للملفات لكنه مجرد دليل فرعي عن الأصل يمكن الوصول ورؤية الملفات كلها إذا ضغطت على زر أعلى أو فوق في مستعرض الملفات.

طريقة التثبيت

حسب صفحة تطبيق AppMan فإن التثبيت السريع بالطريقة التالية:

wget -q https://raw.githubusercontent.com/ivan-hc/AM/main/AM-INSTALLER && chmod a+x ./AM-INSTALLER && ./AM-INSTALLER

سيعطيك خيارين أحدهما AM للتثبيت على مستوى النظام والآخر AppMan للتثبيت للمستخدم المحلي. أنا أستخدم الخيار الثاني.

بعدها يمكنك تثبيت أي تطبيق موجود في مكتبتهم. مثلا لتثبيت Librewolf

appman install librewolf

ولتفعيل العمل ضمن بيئة معزولة

appman --sandbox librewolf

لتشغيل التطبيق ستجده نزل في قائمة البرمجيات أو فقط بتشغيل librewolf من سطر الأوامر.

مثال للمخرجات والأسئلة:

$ appman --sandbox librewolf
-----------------------------------------------------------------------------

 Making aisap sandbox script for "librewolf"...

 Do you want configure access to directories? (Y/n): 
 Allow librewolf access to "~/Desktop"? (y/N) 
 Allow librewolf access to "~/Documents"? (y/N) 
 Allow librewolf access to "~/Downloads"? (y/N) 
 Allow librewolf access to "~/Games"? (y/N) 
 Allow librewolf access to "~/Music"? (y/N) 
 Allow librewolf access to "~/Pictures"? (y/N) 
 Allow librewolf access to "~/Videos"? (y/N) 
 Allow librewolf access to a specific directory? (y/N) 

 User directories access configured successfully!

 "librewolf" successfully sandboxed!

 librewolf will be sandboxed in "/home/colored/.local/am-sandboxes"
 once launched

 Set the $SANDBOXDIR env variable to move the location

 Use --disable-sandbox to revert the changes, in this case that is:
 librewolf --disable-sandbox or appman --disable-sandbox librewolf

حاول الآن حفظ الصفحة أو تنزيل ملف وستجد أنك لا ترى إلا مجلدات فارغة عدا الملفات التي نزّلتها عبر المتصفح.

أين أجد ملفاتي أو كيف أجعل المتصفح يرى بعض الملفات

مسار ملفات المتصفح بالنسبة لي كان هذا

/home/username/.local/am-sandboxes/librewolf/Downloads/

يمكنك وضع أي ملفات تريد استخدامها في المتصفح في ذلك المسار. هذا سيضيف خطوة اضافية للتعامل مع الملفات لكنها مبررة عند التعامل مع مواقع تخشى منها وقد يختلف المسار بحسب اعدادات فالتطبيق يسألك عن خيارتك أثناء التثبيت.

أليس Qubes OS أفضل

تجد توزيعات مثل Qubes OS تقدم عزلاً باستخدام آلة وهمية لكل مهمة من المهمات. مثلاً آلة وهمية للمتصفح، آلة وهمية للمحفظة الرقمي، آلة وهمية لبرنامج المحادثة بحيث لا يستطيع أي برنامج الوصول إلى بيانات البرنامج الآخر. لكن العقبة الكبرى هي أنك ستحتاج لجهاز بمواصفات قوية وقد تواجه إشكالات مع العتاد وغير ذلك مما ينتج من تعقيدات. بينما بهذه الطريقة يمكنك ربما الوصول لحل وسط.

أليس Flatpak أفضل

لاشك فلات باك جاء بميزات قوية وعزل جيد وربما يكون الأنسب لك لكن تتميز تطبيقات هذه البرمجية بأنها قابلة للنقل portable وتستفيد من Appimage الرائعة وكذلك لا تتطلب تثبيت اعتماديات كثيرة كالذي يحدث عندما تطلب تحديث حزمة في فلاتباك فإنه يطلب تحديث حزم مشتركة كثيرة ذات حجم كبير بحسب ملاحظتي الشخصية التي قد تكون قاصرة. مثلا تجد في flatpak list خمس نسخ من org.freedesktop.Platform.GL.default لتناسب كل تطبيق يطلب حزمة مختلفة وثلاث إصدارات من org.freedesktop.Platform.openh264 وغيرها الكثير من الحزم التي تبدو متكررة وتشعرك بتعقيدات النظام.

قاعدة بيانات التطبيقات

تتوفر قائمة بالتطبيقات في مكتبة البرمجية على هذا الرابط

كما يمكن الاطلاع عليها عبر

appman list 

ويمكنك الحاقها بلاحقة --appimage حيث أن هناك تطبيقات متوفرة عبر تحزيم مباشر كذلك.

خاتمة

كان Fairjail مشهوراً في مجال العزل لكنه أسلوبه من الناحية الأمنية تعرض لانتقادات كثيرة بسبب استخدام SUID وتقديم ثغرات جديدة للنظام.

بعض التطبيقات قد لا تعمل جيداً في بيئة معزولة والأمر لك للتجربة ومحاولة الاسهام بتبليغ العلل والمشاكل أو محاولة حلها ومشاركتها.

ما يعجبني في هذه البرمجية سهولة استخدامها وبساطتها في الظاهر لي على الأقل. أتمنى أن تشاركوا بتعليقاتكم ونصائحكم وتجاربكم في مجال عزل التطبيقات.

5 إعجابات

جزاك الله خيرا. :heart_eyes:

إعجاب واحد (1)

وإياكم أخي. بارك الله فيكم

إعجاب واحد (1)

شكرا جزلا، على مقالك الرائع و المفصل، الخصوصية شيء مهم في وقتنا الراهن و الذي أصبح من الصعب العليها بشكل مثالي، لكن مثل هذه الحلول تجعل نسبة الأمان و الخصوصية مرتفعة مقارنة بأنظمة و برمجيات أخرى.

إعجاب واحد (1)

السؤال الذي يبادرني الآن، ما الفرق عندما أستعمل firefox مثلا مع badger أو Ghostery و عندما تستعمل librewolf sandboxed بإستخدام Appman ؟

و السؤال الآخر إذا كان من إعادة توجيه و خلق مسار وهمي كما في البيان :

librewolf will be sandboxed in “/home/colored/.local/am-sandboxes”
once launched

فأعتقد أنه لن يحمي ملفاتي أثناء الجلسة الواحدة،صحيح؟ ما رأيك اذا كنت قد استخدمت البرنامج؟

إعجاب واحد (1)

موضوع رائع ومهم جدا لكل مهتم بالخصوصية والأمان على نظامه.

أجدت بمقارنته ببعض البدائل.
وكنت أتمنى أن تتضمن المقارنة تقنيتي العزل في كل من AppImage و Firejail.

إعجابَين (2)

هذا يؤمن لك عزل متصفح عن النظام وفي داخله يمكنك تثبيت إضافات الخصوصية التي تريدها. لا أظن يغني أحدها عن الآخر ولكل منها هدف مستقل.

إعجاب واحد (1)

حياك الله أخي محمد، بالنسبة ل Appimage فلا أعلم أن له عزل منفصل ولكن هناك حزمة متخصص بعزله تُستخدم ضمن AppMan أسمها Aisap لكن لم أنجح بتشغيلها ووجدت AppMan أسهل وأظن هم يستخدمون نسخة معدلة منها.

بالنسبة ل Firejail فهو حسب المقال الذي ربطه يستخدم SUID وأظن هي الفرق الأساسي والله أعلم. ربما تبحث وتفيدنا بمقارنة أوسع.