نظرة عامة على نظام تشغيل لينكس (Linux)

بِسْمِ اللَّـهِ الرَّحْمَـٰنِ الرَّحِيمِ

نظرة عامة على لينكس :penguin:

لينكس هو نظام تشغيل سطح مكتب مفتوح المصدر يركز على الخصوصية. في مواجهة القياس عن بُعد (telemetry) المنتشر والتقنيات الأخرى التي تنتهك الخصوصية في أنظمة التشغيل السائدة، ظل لينكس المكتبي هو الخيار الواضح للأشخاص الذين يبحثون عن التحكم الكامل في أجهزة الكمبيوتر الخاصة بهم من الألف إلى الياء.

بشكل عام استخدم مصطلح “لينكس” لوصف توزيعات لينكس لسطح المكتب. لم تتم مناقشة أنظمة التشغيل الأخرى التي تستخدم أيضًا Linux kernel مثل ChromeOS وAndroid وQubes OS في هذه الصفحة.

أنظمة التشغيل المُقترحة

ملاحظات الخصوصية

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

  • تجنب القياس عن بُعد (telemetry) الذي يأتي غالبًا مع أنظمة التشغيل المحتكرة (proprietary)

  • الحفاظ على حرية البرمجيات

  • استخدم الأنظمة التي تركز على الخصوصية مثل Whonix أو Tails

أمان مفتوح المصدر

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

في الواقع، يعتمد أمان التوزيعة على عدد من العوامل، مثل نشاط المشروع، وخبرة المطور، ومستوى الدقة المطبق على مراجعات التعليمات البرمجية، وعدد المرات التي يتم فيها الاهتمام بأجزاء معينة من قاعدة التعليمات البرمجية التي قد تظل دون تغيير لسنوات.

ميزات الأمان المفقودة

في الوقت الحالي، يتخلف لينكس المكتبي عن البدائل مثل macOS أو أندرويد عندما يتعلق الأمر ببعض ميزات الأمان. ونأمل أن نرى تحسينات في هذه المجالات في المستقبل:

  • لا يُعد (Verified boot) على لينكس قويًا مثل البدائل مثل التمهيد الآمن (Secure boot) من Apple أو Verified boot من أندرويد. يمنع Verified boot التلاعب المستمر بواسطة البرامج الضارة و evil maid attack، ولكنه لا يزال غير متاح إلى حد كبير حتى في التوزيعات الأكثر تقدمًا.

  • هناك نقص شديد في العزل القوي للتطبيقات على لينكس، حتى مع التطبيقات الموجودة في حاويات مثل Flatpaks أو حلول وضع الحماية مثل Firejail. تُعد Flatpak الأداة المساعدة الواعدة لوضع الحماية لنظام التشغيل لينكس حتى الآن، ولكنها لا تزال ناقصة في العديد من المجالات وتسمح بالإعدادات الافتراضية غير الآمنة التي تسمح لمعظم التطبيقات بتجاوز وضع الحماية الخاص بها بشكل تافه.

بالإضافة إلى ذلك، يتخلف لينكس في تنفيذ عمليات تخفيف الاستغلال التي أصبحت الآن قياسية في أنظمة التشغيل الأخرى، مثل Arbitrary Code Guard على Windows أو Hardened Runtime على macOS. كما أن معظم برامج لينكس ونظام التشغيل لينكس نفسه يتم كتابتها بلغات غير آمنة للذاكرة. تُعتبر أخطاء تلف الذاكرة مسؤولة عن غالبية الثغرات الأمنية التي تم إصلاحها وتعيين CVE. في حين أن هذا ينطبق أيضًا على نظامي التشغيل Windows وmacOS، إلا أنهما يحرزان تقدمًا سريعًا في اعتماد لغات آمنة للذاكرة - مثل Rust وSwift، على التوالي - في حين لا يوجد جهد مماثل لإعادة كتابة لينكس بلغة آمنة للذاكرة مثل Rust.

اختيار توزيعتك

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

دورة الإصدار

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

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

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

التحديثات التقليدية ضد التحديثات الذرية

تقليديًا، تقوم توزيعات لينكس بالتحديث عن طريق تحديث الحِزم المطلوبة بشكل متسلسل. يمكن أن تكون التحديثات التقليدية مثل تلك المستخدمة في Fedora وArch Linux والتوزيعات المستندة إلى Debian أقل موثوقية إذا حدث خطأ أثناء التحديث.

تطبق توزيعات التحديث الذرية التحديثات بالكامل أو لا تطبقها على الإطلاق. عادةً، تكون أنظمة التحديث المعاملية ذرية أيضًا.

ينشئ نظام التحديث المعاملي لقطة يتم إنشاؤها قبل وبعد تطبيق التحديث. إذا فشل التحديث في أي وقت (ربما بسبب انقطاع التيار الكهربائي)، يمكن بسهولة إعادة التحديث إلى “آخر حالة جيدة معروفة”.

تُستخدم طريقة التحديث الذري لتوزيعات مثل Silverblue وTumbleweed وNixOS ويمكن تحقيق الموثوقية باستخدام هذا النموذج. قدم Adam Šamalík عرضًا تقديميًا حول كيفية عمل rpm-ostree مع Silverblue.

“التوزيعات التي تركز على الأمان”

غالبًا ما يكون هناك بعض الارتباك بين التوزيعات التي تركز على الأمان والتوزيعات التي تعتمد على اختبار الاختراق. غالبًا ما يعطي البحث السريع عن “أكثر توزيعات لينكس أمانًا” نتائج مثل Kali Linux أو Black Arch أو Parrot OS. هذه التوزيعات هي توزيعات اختبار اختراق هجومية تجمع بين الأدوات لاختبار أنظمة أخرى. وهي لا تتضمن أي “أمان إضافي” أو تخفيف دفاعي مخصص للاستخدام العادي.

التوزيعات القائمة على Arch

لا يُنصح باستخدام Arch والتوزيعات القائمة على Arch للمبتدئين في لينكس (بغض النظر عن التوزيعة) لأنها تتطلب صيانة منتظمة للنظام. لا يحتوي Arch على آلية تحديث للتوزيعة لاختيارات البرامج الأساسية. ونتيجة لذلك، يجب أن تظل على دراية بالاتجاهات الحالية وتبني التقنيات لأنها تحل محل الممارسات القديمة بنفسك.

من أجل نظام آمن، من المتوقع أيضًا أن يكون لديك معرفة كافية بنظام لينكس لإعداد الأمان بشكل صحيح لنظامك مثل تبني نظام التحكم في الوصول الإلزامي، وإعداد blacklists لkernel module، وتقوية معلمات التمهيد، والتلاعب بمعلمات sysctl، ومعرفة المكونات التي يحتاجون إليها مثل Polkit.

يجب أن يكون أي شخص يستخدم Arch User Repository (AUR) مرتاحًا في تدقيق ملفات PKGBUILD التي يقوم بتنزيلها من هذه الخدمة. حِزم AUR عبارة عن محتوى تم إنتاجه من قبل المجتمع ولا يتم فحصها بأي شكل من الأشكال، وبالتالي فهي عرضة لهجمات سلسلة توريد البرامج، وهو ما حدث بالفعل في الماضي.

يجب دائمًا استخدام AUR باعتدال، وغالبًا ما يكون هناك الكثير من النصائح السيئة على صفحات مختلفة توجه الأشخاص إلى استخدام مساعدي AUR بشكل أعمى دون تحذير كافٍ. تنطبق تحذيرات مماثلة على استخدام أرشيفات الحِزم الشخصية (PPAs) التابعة لجهات خارجية على التوزيعات المستندة إلى Debian أو المشاريع المجتمعية (COPR) على Fedora.

إذا كنت من ذوي الخبرة في لينكس وترغب في استخدام توزيع قائم على Arch، أوصي عمومًا باستخدام Arch Linux الرئيسي بدلاً من أي من مشتقاته.

بالإضافة إلى ذلك، أوصي بعدم استخدام مشتقات Arch هذه على وجه التحديد:

  • مانجارو (Manjaro): يحجز هذا التوزيع الحِزم لمدة أسبوعين للتأكد من عدم تعطل التغييرات الخاصة بها، وليس للتأكد من استقرار المنبع. عند استخدام حِزم AUR، غالبًا ما يتم بناؤها على أحدث المكتبات من مستودعات Arch.

  • Garuda: يستخدمون Chaotic-AUR الذي يقوم تلقائيًا وبشكل أعمى بتجميع الحِزم من AUR. لا توجد عملية تحقق للتأكد من عدم تعرض حِزم AUR لهجمات سلسلة التوريد.

نواة Linux-libre والتوزيعات “Libre”

أوصي بعدم استخدام نواة Linux-libre، لأنها تزيل تخفيفات الأمان و تقمع تحذيرات النواة حول التعليمات البرمجية الدقيقة المعرضة للخطر.

توصيات عامة

تعمية محرك الأقراص

تحتوي معظم توزيعات لينكس على خيار ضمن برنامج التثبيت الخاص بها لتمكين LUKS FDE. إذا لم يتم تعيين هذا الخيار في وقت التثبيت، فسيتعين عليك عمل نُسخة احتياطية لبياناتك وإعادة التثبيت، حيث يتم تطبيق التعمية بعد تقسيم القرص، ولكن قبل تهيئة أنظمة الملفات. اقترح أيضًا مسح جهاز تخزينك بشكل آمن:

محو البيانات الآمنة

التبديل (Swap)

فكر في استخدام ZRAM بدلاً من ملف أو قسم المبادلة التقليدي لتجنب كتابة بيانات الذاكرة التي قد تكون حساسة إلى التخزين المستمر (وتحسين الأداء). تستخدم التوزيعات المستندة إلى فيدورا ZRAM بشكل افتراضي.

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

وَيلَند (Wayland)

أوصي باستخدام بيئة سطح مكتب تدعم بروتوكول عرض Wayland، حيث طُوِّر مع أخذ الأمان في الاعتبار. لا يدعم الإصدار السابق (X11) عزل واجهة المستخدم الرسومية، مما يسمح لأي نافذة بتسجيل المدخلات وتسجيلها وإدخالها في النوافذ الأخرى، مما يجعل أي محاولة لوضع العزل عديمة الجدوى. في حين أن هناك خيارات للقيام بـ X11 المتداخلة مثل Xpra أو Xephyr، إلا أنها غالبًا ما تأتي مع عواقب سلبية على الأداء، وهي ليست ملائمة للإعداد ولا مفضلة على Wayland.

لحسن الحظ، فإن Wayland compositors مثل تلك المضمنة في GNOME و KDE Plasma يتمتعون الآن بدعم جيد لـ Wayland بالإضافة إلى بعض المؤلفين الآخرين الذين يستخدمون wlroots، (على سبيل المثال Sway). بعض التوزيعات مثل Fedora وTumbleweed تستخدمه بشكل افتراضي، والبعض الآخر قد يفعل ذلك في المستقبل لأن X11 في وضع الصيانة الصعبة. إذا كنت تستخدم إحدى هذه البيئات، فالأمر سهل مثل تحديد جلسة “Wayland” في مدير عرض سطح المكتب (GDM، SDDM).

أوصي بعدم استخدام بيئات سطح المكتب أو مديري النوافذ التي لا تتمتع بدعم Wayland، مثل Cinnamon (الافتراضي في Linux Mint)، وPantheon (الافتراضي في نظام التشغيل Elementary OS)، وMATE، وXfce، وi3.

البرامج الثابتة الخاصة (تحديثات Microcode)

لا تأتي بعض توزيعات لينكس (مثل التوزيعات المستندة إلى Linux libre أو توزيعات DIY) مع تحديثات microcode احتكارية التي تعمل على تصحيح الثغرات الأمنية الحرجة. تتضمن بعض الأمثلة البارزة على هذه الثغرات الأمنية Spectre، و Meltdown و SSB و Foreshadow و MDS و SWAPGS، وغيرها من الثغرات الأمنية في الأجهزة.

أوصي بشدة بتثبيت تحديثات microcode، لأنها تحتوي على تصحيحات أمان مهمة لوحدة المعالجة المركزية والتي لا يمكن تخفيفها بالكامل في البرنامج وحده. لدى كل من Fedora وopenSUSE تحديثات microcode المطبقة افتراضيًا.

التحديثات

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

بعض التوزيعات (خاصة تلك التي تستهدف المستخدمين المتقدمين) هي مجردة أكثر وتتوقع منك القيام بالأشياء بنفسك (مثل Arch أو Debian). سيتطلب ذلك تشغيل “مدير الحِزم” (apt، و pacman و dnf وما إلى ذلك) يدويًا لتلقي التحديثات الأمنية المهمة.

بالإضافة إلى ذلك، لن تقوم بعض التوزيعات بتنزيل تحديثات البرامج الثابتة تلقائيًا. للقيام بذلك، سوف تحتاج إلى تثبيت fwupd.

تعديلات الخصوصية

التوزيع العشوائي لعنوان MAC

تأتي العديد من توزيعات لينكس لسطح المكتب (Fedora وopenSUSE وما إلى ذلك) مزودة بـ NetworkManager لتكوين إعدادات Ethernet وWi-Fi.

من الممكن اختيار عنوان MAC بشكل عشوائي عند استخدام NetworkManager. يوفر هذا مزيدًا من الخصوصية على شبكات Wi-Fi لأنه يزيد من صعوبة تتبع أجهزة معينة على الشبكة التي تتصل بها. لا يجعلك مجهولاً.

أوصي بتغيير الإعداد إلى عشوائي بدلاً من مستقر، كما هو مقترح في المقالة.

إذا كنت تستخدم systemd-networkd، فستحتاج إلى تعيين MACAddressPolicy=random والذي سيعمل على تمكين RFC 7844 (ملفات تعريف عدم الكشف عن هويته لعملاء DHCP).

يُعد التوزيع العشوائي لعنوان MAC مفيدًا بشكل أساسي لاتصالات Wi-Fi. بالنسبة لاتصالات Ethernet، فإن التوزيع العشوائي لعنوان MAC الخاص بك يوفر فائدة قليلة (إن وجدت)، لأن مسؤول الشبكة يمكنه التعرف على جهازك بشكل تافه بوسائل أخرى (مثل فحص المنفذ الذي تتصل به على مفتاح الشبكة). يعتمد التوزيع العشوائي لعناوين Wi-Fi MAC على الدعم المقدم من البرامج الثابتة لشبكة Wi-Fi.

معرّفات أخرى

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

  • أسماء المضيفين: تتم مشاركة اسم مضيف نظامك مع الشبكات التي تتصل بها. يجب عليك تجنب تضمين مصطلحات تعريفية مثل اسمك أو نظام التشغيل في اسم المضيف الخاص بك، بدلاً من الالتزام بالمصطلحات العامة أو السلاسل العشوائية.

  • أسماء المستخدمين: وبالمثل، يتم استخدام اسم المستخدم الخاص بك بعدة طرق عبر نظامك. فكر في استخدام مصطلحات عامة مثل “المستخدم” بدلاً من اسمك الفعلي.

  • معرف الجهاز: أثناء التثبيت، يتم إنشاء معرّف جهاز فريد وتخزينه على جهازك. فكر في تعيينه على معرّف عام.

عد النظام

يحسب مشروع فيدورا عدد الأنظمة الفريدة التي تصل إلى مراياه باستخدام متغير countme بدلاً من المعرّف الفريد. يقوم Fedora بذلك لتحديد التحميل وتوفير خوادم أفضل للتحديثات عند الضرورة.

هذا الخيار معطل حاليًا بشكل افتراضي. أوصي بإضافة countme=false إلى /etc/dnf/dnf.conf في حالة تمكينه في المستقبل. في الأنظمة التي تستخدم rpm-ostree مثل Silverblue، يتم تعطيل خيار countme عن طريق إخفاء مؤقت rpm-ostree-countme.

يستخدم openSUSE أيضًا معرفًا فريدًا لحساب الأنظمة، والذي يمكن تعطيله عن طريق إفراغ الملف /var/lib/zypp/AnonymousUniqueId.


إذا لديك أي سؤال أو استفسار.
انضم إلى مجموعة أسس لأمن المعلومات والخصوصية الرقمية على:

ماتركس: https://matrix.to/#/#privacy-security:aosus.org

تيليجرام: Telegram: Contact @aosus_privacy_security


إذا وجدت المقالة مفيدة وتريد دعمي لمواصلة نشر المزيد من المقالات، تبرّع إلى عنوان مونيرو

الخاص بي:

`85ZUT4vX6HJBDFpLoprbsMBWPih1nHpbqCYMnLYT4MxRSqfvfRpv9d1f6edyMyDr9dHsrryUn44LbLhQ82GSv4r2EH6B6MQ

4 إعجابات

لقد حجرت واسعا :roll_eyes:

أظن أنك لم تقصد الحصر ولكن الصيغة قد توهم المستجد بذلك