LFCA: كيفية تحسين أمان نظام Linux - الجزء 20

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

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

[ قد يعجبك ايضا: نصائح مفيدة لتأمين البيانات و Linux ]

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

في أمن النظام ، سنركز على النقاط الرئيسية التالية:

  • حقوق الوصول - أذونات المستخدم والمجموعة.
  • فرض سياسات كلمة المرور باستخدام وحدة PAM.

حقوق الوصول - فصل المستخدم والمجموعة

ربما سمعت ذلك يعتبر كل شيء في Linux ملفًا. وإذا لم يكن الأمر كذلك ، فهذه عملية. كل ملف على نظام Linux مملوك لمستخدم ومجموعة. كما يحمل أذونات الملفات لـ 3 فئات مستخدم: المستخدم (ش)، مجموعة (ز)، و اخرين (س). يتم تمثيل الأذونات في القراءة والكتابة والتنفيذ ( rwx ) لكل فئة مستخدم.

rwx rwx rwx. مجموعة مستخدمين أخرى. 

كما رأينا من قبل ، في قسم أساسيات Linux، يمكنك عرض أذونات الملف باستخدام التنسيق الطويل لملف الأمر ls كما هو مبين.

ls -l. 
سرد الملفات في لينكس
سرد الملفات في لينكس

فقط للتلخيص ، عادةً ما يتم تمثيل الأذونات بتسعة أحرف. تمثل الأحرف الثلاثة الأولى حقوق الوصول للمستخدم الفعلي الذي يمتلك الملف. تمثل المجموعة الثانية من الأحرف أذونات مالك المجموعة للملف. أخيرًا ، المجموعة الأخيرة للمستخدمين الآخرين أو العالميين. هذه الشخصيات موجودة بشكل دائم في قرأ, اكتب, نفذ - اعدم (rwx) طلب.

بعد الأذونات ، لدينا ملكية مستخدمين ومجموعات ، يليها حجم الملف أو الدليل ، وتاريخ التعديل ، وأخيرًا اسم الملف.

تغيير أذونات الملف / الدليل والملكية

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

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

لذلك ، إذا كان المستخدم يحتاج فقط إلى عرض محتويات ملف أو دليل ، فلا ينبغي منحه أذونات التنفيذ أو الكتابة. على المستوى الأساسي للغاية ، امنح فقط أقل الأذونات والملكية المطلوبة من قبل المستخدم لإنجاز المهام. لقد تناولنا كيفية تعديل أذونات المستخدم والملكية في الملفات / الدلائل باستخدام أوامر chmod و chown في أوامر Linux الأساسية عنوان.

وضع إذن بت مثبت

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

بت مثبت

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

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

لتشغيل بت مثبت على دليل ، استخدم ملف الأمر chmod على النحو التالي:

$ chmod + t اسم الدليل. 

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

اختبار $ ls -ld. 
قم بتعيين Sticky Bit في Linux
قم بتعيين Sticky Bit في Linux

إذا حاول مستخدم آخر حذف الدليل أو تعديل الملف داخل الدليل ، فسيتم الترحيب به بامتداد طلب الاذن مرفوض خطأ.

تم رفض إذن بت مثبت
تم رفض إذن بت مثبت

وهذا هو جوهر إذن ملف stick bit.

مراقبة أذونات SUID و SGID

ال SUID (تعيين معرف المستخدم) هو إذن ملف خاص آخر يسمح لمستخدم عادي آخر بتشغيل ملف بأذونات الملف الخاصة بمالك الملف. عادة ما يتم الإشارة إليه بقيمة رمزية س في جزء المستخدم من أذونات الملف بدلاً من ملف x الذي يمثل تنفيذ الأذونات. SUID له قيمة عددية 4000.

ال SGID، (Set Group ID) يسمح للمستخدم العادي بوراثة أذونات المجموعة لمالك مجموعة الملفات. بدلا من x لتنفيذ الأذونات ، سترى ملف س في جزء المجموعة من أذونات الملف. ال SGID له قيمة عددية 2000.

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

للعثور على جميع الملفات ذات الامتداد SUID مجموعة بت في Linux ، قم بتشغيل ملف تجد القيادة كمستخدم جذر.

$ find / -perm 4000 type -f. 

لتشغيل الدلائل:

$ find / -perm 4000 نوع -d. 

للعثور على جميع الملفات ذات الامتداد SGID تشغيل مجموعة البت:

$ find / -perm -2000 type -f. 

بالنسبة للأدلة ، قم بتنفيذ:

$ find / -perm -2000 type -d. 

لإزالة ملف SUID بت على ملف ، قم بتشغيل الأمر chmod كما هو موضح:

$ chmod u-s / path / to / file. 

لإزالة بت SGID من ملف ، قم بتنفيذ الأمر:

$ chmod g-s filename / path / to / file. 

فرض سياسات كلمة المرور مع وحدة PAM

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

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

لتثبيت ملف pam_pwquality وحدة على أوبونتو 18.04.2018 والإصدارات الأحدث ، قم بتشغيل:

sudo apt install libpam_pwquality. 

إلى عن على RHEL / CentOS 8، قم بتشغيل الأمر:

sudo dnf قم بتثبيت libpwquality. 

تم العثور على ملف التكوين في الموقع التالي:

  • على أنظمة دبيان - /etc/pam.d/common-password
  • على أنظمة RedHat - /etc/pam.d/system-auth

تكوين سياسة كلمة المرور

قبل أن نبدأ في تعديل بام ملف التكوين ، فلنفكر أولاً في جمع الأفكار حول عناصر التحكم في تقادم كلمة المرور.

تفاصيل تقادم كلمة المرور

يمكن العثور على هذه في /etc/login.defs ملف.

يحتوي الملف على عناصر التحكم في كلمات المرور الرئيسية التالية:

  • مرور_ماكس_أيام: الحد الأقصى لعدد الأيام التي يمكن فيها استخدام كلمة المرور.
  • PASS_MIN_DAYS: العدد الأدنى. عدد الأيام المسموح بها بين تغييرات كلمة المرور.
  • PASS_WARN_AGE: عدد أيام التحذير قبل انتهاء صلاحية كلمة المرور.

القيم الافتراضية موضحة أدناه.

تقادم كلمة مرور Linux
تقادم كلمة مرور Linux

ال مرور_ماكس_أيام السمة تحدد عدد الأيام التي يمكن للمستخدم فيها استخدام كلمة المرور الخاصة به. عند الوصول إلى هذه القيمة أو انتهاء صلاحية كلمة المرور ، يضطر المستخدم إلى تغيير كلمة المرور الخاصة به لتسجيل الدخول إلى النظام. بشكل افتراضي ، يتم تعيين هذه القيمة على 99999، والذي يترجم إلى 273 سنوات. هذا غير منطقي بقدر ما يتعلق الأمر بالأمان حيث يمكن للمستخدم الاستمرار في استخدام كلمة المرور الخاصة به طوال حياته.

يمكنك تعيين هذا على قيمة ذات مغزى ، لنقل 30 يومًا كما هو موضح.

30- مسعود. 

بعد مرور 30 ​​يومًا ، سيضطر المستخدم إلى تغيير كلمة المرور الخاصة به إلى كلمة مرور مختلفة.

ال PASS_MIN_DAYS تحدد السمة الحد الأدنى للمدة التي يمكن للمستخدمين استخدام كلمة المرور الخاصة بهم قبل تغييرها. ماذا يعني هذا؟ على سبيل المثال ، إذا تم تعيين هذه القيمة على 15 يومًا ، فلن يتمكن المستخدم من تغيير كلمة المرور مرة أخرى قبل مرور 15 يومًا.

15- ميعاد 

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

مرور 7 أيام. 

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

ضبط تعقيد كلمة المرور مع وحدة PAM

قبل تحرير ملف /etc/pam.d/common-password ملف ، قم بإنشاء نسخة احتياطية. في هذا المثال ، أنشأنا ملف كلمة المرور المشتركة ملف نسخة احتياطية.

sudo cp /etc/pam.d/common-password /etc/pam.d/common-password.bak. 

ثم افتح الملف.

sudo vim /etc/pam.d/common-password 

حدد الخط الموضح أدناه.

كلمة المرور مطلوبة pam_pwquality.so أعد المحاولة = 3. 
تعيين تعقيد كلمة المرور مع PAM
تعيين تعقيد كلمة المرور مع PAM

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

أضف السمات التالية إلى السطر:

minlen = 10 difok = 3 lcredit = -1 ucredit = -1 dcredit = -1 ocredit = -1 رفض اسم المستخدم 

دعونا نتجسد في هذه الصفات.

  • مينلين = 10: يعيّن الحد الأدنى للحجم المقبول لكلمة المرور. في هذه الحالة ، 10 أحرف.
  • ديفوك = 3: هذا هو الحد الأقصى لعدد الأحرف الموجودة في كلمة المرور السابقة.
  • lcredit = -1: هذا هو الحد الأدنى لعدد الأحرف الصغيرة التي يجب أن تكون موجودة في كلمة المرور.
  • ucredit = -1: الحد الأقصى لعدد الأحرف الصغيرة التي يجب أن تكون موجودة في كلمة المرور.
  • dcredit = -1: الحد الأدنى لعدد الأحرف الرقمية التي يجب تحديدها في كلمة المرور.
  • أوكريديت = -1: الحد الأدنى لعدد الأحرف الخاصة مثل @ ، # ، & التي يجب تحديدها في كلمة المرور.
  • رفض اسم المستخدم: يؤدي هذا الخيار إلى رفض كلمة المرور إذا كانت كلمة المرور هي اسم المستخدم بصيغة مباشرة أو عكسية.

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

أنشئ مستخدمًا جديدًا في Linux
أنشئ مستخدمًا جديدًا في Linux
ملخص

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

كن شريكًا معتمدًا لتكنولوجيا المعلومات من مؤسسة Linux Foundation (LFCA)
Teachs.ru