أعلن الفريق الأمني لنظام FreeBSD وجود 3 ثغرات أمنية في النظام، والثغرات فيها السيء والأسوأ -وزي ما نقول حنا يالسعوديين الشين والأشين :-)-.
الإعلان كان يوم الإربعاء الفائت، 10-06-09، وتقريباً جميع إصدارات FreeBSD مصابة بالثغرات هذي، حتى الإصدار الأخير 7.2.
وهذي تفاصيلها:
1- ثغرة في سيرفر NTP :
تعريف بسيط لـ NTP:
سيرفر NTP هو اختصار لعبارة Network Time Protocol، وبالعربي أيش معناه؟
Network Time Protocol هو برتوكول مزامنة وقت وتاريخ جهازك الكمبيوتري مع سيرفر يقدم هالخدمة بشكل مظبوط.
وبمفهوم أوسع، بروتوكول NTP يسمح لك إنك تضمن إن وقت جهازك وتاريخه مظبوطات بشكل صحيح حسب توقيت دولتك، وحسب توقيت الأقمار الصناعية.
هذا تعريف مبدائي لـ NTP، وإن شاء الله راح أتطرق له أكثر بموضوع مختص فيه. ما قلت “قريباً” عشان ماحد يزعل مني :-).
شرح الثغرة:
سيرفر NTP إذا كنت مركبه على سيرفرك يسمح لأي شخص -إفتراضياً- إنه يتصل مع سيرفرك ويزامن توقيت جهازه مع توقيت سيرفرك.
وقت إعداد وتركيب سيرفر NTP، فيه من ضمن الخيارات خيار “منع أي شخص إنه يتصل بالسيرفرك لأجل يزامن وقت جهازه إلا في حالة وجود مفتاح تشفير مشارك بين السيرفر والجهاز طالب المزامنة Client”.
الخيار اللي فوق يسمى Autokey، والثغرة موجودة فيه.
ضرر الثعرة:
1- الثغرة راح تعطل خدمة NTP بشكل كامل عن السيرفر -يعني Denial Of Service-.
2- أمكانية حقن الثغرة هذي بكود برمجي مضر لتشغيله وتنفيذه مع عمل كود خدمة NTP الأساسي.
ترقيع الثغرة:
أبوضح حاجة مهمة، سيرفرات FreeBSD إفتراضياً ما تجي معها خدمة NTP، وحتى لو ركبت NTP، خيار Autokey مو مفعل إفتراضياً، يعني تطمن إن الثغرة مو موجودة طالما إنك مو مفعل Autokey في إعدادت NTP.
عندك كذا خيار للترقيع:
1- تحمل باتش الترقيع، وترقع النظام الخاص فيك بالطريقة المشروحة بأسفل هالصفحة.
2- ترقي نظامك إلى نسخة محلوله فيها هالثغرة. هالخيار فقط إذا كنت من مستخدمي النسخة الأمنية RELENG أو نسخة المطورين STABLE.
3- إستخدم freebsd-update.
4- ضبط الجدار الناري -IPFW, PF- في السيرفر بحيث إنه يسمح فقط لأي بيات IP معينة وموثوقة بأنها تتصل بالسيرفر لجل المزامنة، مثلاً كذا:
ipfw -q add allow 12.34.56.78 to me ntp
2- ثغرة IPv6:
تعريف بسيط لـ IPv6:
أرقام الأي بي IP الحالية تسمى IPv4 أو الأيبات النسخة الرابعة، اللي تجيك ترقيمها زي ما نعرف بالشكل هذا:
100.101.102.103
IPv6 هو النسخة الجديدة من رقم الأيبات IP الحالية، وراح يجيك شكلها كذا:
2001:0db8:85a3:08d3:1319:8a2e:0370:7334
والنسخة السادسة من الأي بيات وجدت لجل تحل النقص بالأي بيات النسخة الرابعة. تقريباً في عام 2011، ما راح يكون هناك أي IP شاغر مو مستخدم! يعني تبغى تتصل بالإنترنت بتلاقي يطلع لك رسالة ( “عفواً جميع الأيبيات مستهلكة الآن، حاول مره آخرى” ) :-D.
أرجع للموضوع هذا للإستزادة، وبرضوا تقدر تتابع تطورات تطبيق IPv6 بالسعودية من خلال ورش العمل الخاصة بالأعضاء.
وبالمناسبة، شركة موبايلي\بيانات أول شركة سعودية تطبق وتقدم خدماتها عن طريق IPv6.
شرح الثغرة:
الثغرة تسمح لأي مستخدم محدود -عادي، مو رووت- إنه يقفل ويشغل ويعدل بخصائص IPv6 على السيرفر إذا كنت مفعلها!
وفكرتها إن التحكم بكرت شبكة يدعم برتوكول IPv6 يتم عن طريق مكتبة ioctl، وثغرة تخطي الصلاحيات موجودة فيها.
ضرر الثعرة:
إذا كان سيرفرك يشتغل بدعم من برتوكول IPv6، إحتمالية إنقطاع إتصال الشبكة من السيرفر لما تستغل هذة الثغرة.
ترقيع الثغرة:
1- إذا كان سيرفرك مو مفعل فيه IPv6، فما يكون هناك أي ضرر.
2- إذا كان المستخدمين في السيرفر معروفين وتثق فيهم، مافيه ضرر. مع إني عندي تحفظ على الثقة بالمستخدمين (Trust No One)، لا تثق بأحد :-).
3- إذا كان سيرفرك عام، مثلاً إنت مشغله كسيرفر إستضافة لأكثر من موقع، ومفعل فيه IPv6، هنا الضرر، لأنك ما تقدر تثق فيهم، ويمكن أحد فيهم أو غيره يقفل IPv6 ويعدل فيه، هنا تحتاج إنك ترقع الثغرة.
وللترقيع:
1- تحمل باتش الترقيع، وترقع النظام الخاص فيك بالطريقة المشروحة بأسفل هالصفحة.
2- ترقي نظامك إلى نسخة محلوله فيها هالثغرة. هالخيار فقط إذا كنت من مستخدمي النسخة الأمنية RELENG أو نسخة المطورين STABLE.
3- إستخدم freebsd-update.
3- ثغرة PIPE:
تعريف بسيط لـ PIPE:
PIPE إذا ترجمناها للعربي بيطلع لنا “أنبوب”، وهذي هي فكرتها.
فكرتها إن هالأنبوب تنشئة عملية معينة تحت اسم مستخدم معين، ومخرجات العملية هذي تقرأه عملية ثانية منفذه بصلاحيات نفس هالمستخدم، يعني يستخدم لنقل المعلومات من عملية لعملية لمستخدم معين.
وتقدر تستزيد عن الأنابيب في يونكس بالرجوع لويكيبيديا.
شرح الثغرة:
الثغرة موجودة في الإنابيب، حيث إن مخرجات عملية معينة لمستخدم معين تقدر تقرأه عملية ثانية لكن مو لنفس المستخدم!
أنتظر واحد يقول: “جب لك سباك يصلح هالأنابيب :-D.”
ضرر الثعرة:
الضرر بيزيد لما يكون عندك مستخدمين غير موثوقين بالسيرفر، حيث إنهم بيقدرون يستغلون هالثغرة بإستخراج معلومات مو مصرح لهم إنهم يقرأونها، زي معلومات كلمات المرور /etc/master.passwd لما يحدثها الرووت!
يعني بيقدورن يوصلون إلى كلمة مرور حساب الرووت عند الإستغلال!
ترقيع الثغرة:
1- تحمل باتش الترقيع، وترقع النظام الخاص فيك بالطريقة المشروحة بأسفل هالصفحة.
2- ترقي نظامك إلى نسخة محلوله فيها هالثغرة. هالخيار فقط إذا كنت من مستخدمي النسخة الأمنية RELENG أو نسخة المطورين STABLE.
3- إستخدم freebsd-update.
كتبت قبل فترة عن بعض ثغرات FreeBSD، تقدر ترجع لها من خلال الرابط هذا.
وحاول تشترك بالقائمة البريدية الخاصة بأمن FreeBSD لتكون مطلع على آخر الثغرات وكيفية الترقيع.
شكرا على الموضوع
وفي انتظار تقرير عن حلقة حياة تك التي عرضت الثلاثاء الماضي على قناة المجد :)
أتمنى لك التوفيق
((تعدييييل بسيييييييييط))
السلام عليييكم ..
مشكور اخوي جريس و الله ما قصرت …
جزاك الله خيييييييير …
و إلى ألامام…
رائع ومبسط
من زمان ماكتبت شي :)
بانتظار جديدك
@الأباتشي،
تسلم، الحلقة موجودة في المدونة الآن:
http://jerais.com/plug/?p=715
@أبعاد الحياة،
شكراً، وياك إن شاء الله.
@ahmad،
الخير جاي إن شاء الله، صبركم علي :-).