منع قراءة ملفات السيم لينك من على السيرفر block symlink

Mohamed Ali

[ VIP ]
24 مارس 2010
670
4
0
السلام عليكم


كثير منا يعرف بأن ملفات السيم لينك (ليس الكلام عن دالة السيم لينك في البي إتش بي) هي من أخطر الملفات التي قد يستفيد منها الهكرز (أطفال السكربتات) لقراءة ملفات المواقع الأخرى على السيرفر



لنفرض حالة من الحالات:

-هكر إخترق جهاز شخص صاحب موقع.
-وجد بيانات الإف تي بي لهذا الشخص فقام بالإتصال بالسيرفر ورفع شلاته على موقع هذا الشخص.
-قام بتجربة شلاته البي إتش بي والسي جي آي والبيرل وغيرها من الشلات ليرى من منها يعمل وماهي صلاحياته على السيرفر

إذا كانت صلاحياته نو بدي ,, فإنه يستطيع قراءة أي ملف على السيرفر

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


-يقوم الهكر بإنشاء ملفات سيم لينك SymLinks or Soft Links بحيث يقرأ ملفات غيره من اليوزرات

فليقل بعضكم بأني قد أغلقت دالة سيم لينك بالسيرفر ,,
-ماذا لو كان الهكر قد تخطى السيف مود لديك وتخطى الدوال المغلقة
-ماذا لو كان الهكر يستخدم سكربت بيرل
-ماذا لو قام برفع برنامج ln خاص فيه لإستخدامه وقام بالإستغناء عن برنامج ln الخاص بك



-قام الهكرز (طفل السكربتات) بإنشاء ملف سوفت لينك وقام بقراءة كونفيقات المنتديات الأخرى على السيرفر وقام بوضع الإندكس الخاص فيه عليها ليعلن إنتصاره الصغير والغاشم.




مالحل في مشكلتنا هذه ؟؟

هناك حل بسيط جداً والجميع يمر بجانبه ويتغاضاه
عن طريق إعدادات httpd.conf بإمكانك منع الناس من قراءة ملفات السيم لينك عن طريق المتصفح.

مايهمنا في إعدادات هذا الملف
هو مربعات <Directory>



الهدف لدينا هو منع قراءة السيم لينك بداخل مجلد /home لدينا بالسيرفر.



بكل بساطة قم بالتالي:

أفتح الشل ونفذ الامر التالي::


كود:
pico /usr/local/apache/conf/httpd.conf
قم بالبحث عن كلمة عن طريق الضغط على ctrl+W ثم ادخل النص المراد البحث عنه
كود:
<Directory "/">
ستجد أسطرا شبيه لهذه

كود:
 <Directory "/">
  Options All
  AllowOverride All
  </Directory>
تشير هذه الأسطر للسماح بكل شي بداخل / <


حسناً
نريد منع بعض الأمور داخل مجلد ال /home


احذف هذه الاوامر


كود:
 <Directory "/">
  Options All
  AllowOverride All
  </Directory>

وأضف بدالها هذه::

كود:
<Directory "/">
    Options -ExecCGI -FollowSymLinks -Includes IncludesNOEXEC Indexes -MultiViews SymLinksIfOwnerMatch
    AllowOverride AuthConfig Indexes Limit FileInfo Options=IncludesNOEXEC,Indexes,Includes,MultiViews,SymLinksIfOwnerMatch,FollowSymLinks
</Directory>
هيك إغلاق عمل .htaccess ونخلي الاوامر الاساسية تعمل


ثم بعد ذلك تضيف هذه الاوامر مباشرة بعد
كود:
</Directory>


كود:
 <Directory "/home">
  Options All -FollowSymLinks
  AllowOverride AuthConfig FileInfo Indexes Limit
  </Directory>
وهيك نكون اغلقنا التخطي من السيم لينك داخل السيرفر,,وجعل الاوامر الاساسية تعمل في htaccess

اتمنى ان اكون وفقت في الشرح,,
واي استفسار جاهز انشالله