إخفاء إصدار أباتش عن الزوار على أوبنتو

السلام عليكم،

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

معرفة إصدار خادم أباتش

إذا كانت لديك صلاحيات Root فإن بإمكانك معرفة إصدار أباتش المثبت لديك عبر الأمر

sudo apt-cache policy apache2

مثال على المُخرجات

[sudo] password for zeine77:
apache2:
Installed: 2.2.22-1ubuntu1.4
Candidate: 2.2.22-1ubuntu1.4
Version table:
*** 2.2.22-1ubuntu1.4 0
500 http://archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
500 http://archive.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
100 /var/lib/dpkg/status

كما يتضح فإن الإصدار المثبت هنا هو 2.2.22-1ubuntu1.4

وإذا لم تكن لدي صلاحيات Root ؟

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

Not Found

The requested URL /fail was not found on this server.

Apache/2.2.22 (Ubuntu) Server at myproject.localhost Port 80
 
توجد طريقة أخرى لمعرفة إصدار خادم الوب عبر الأمر
telnet <IP> 80
مع إبدال IP بقيمته، مثلا
telnet 127.0.0.1 80
ثم طلب طباعة HEADER عبر الأمر
HEAD / HTTP/1.1

ثم الضغط مرتين على زر Enter

مثال للمخرجات
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
HEAD / HTTP/1.1
HTTP/1.1 400 Bad Request
Date: Thu, 22 Aug 2013 13:51:27 GMT
Server: Apache/2.2.22 (Ubuntu)
Vary: Accept-Encoding
Connection: close
Content-Type: text/html; charset=iso-8859-1
Connection closed by foreign host.
نلاحظ رقم الإصدار.

إخفاء الإصدار والتوقيع

لإخفاء إصدار خادم أباتش من الظهور نغير بعض الإعدادات في الملف security الموجود طبقا للإعدادات الافتراضية في المجلد /etc/apache2/conf.d
الأمر:

sudo nano /etc/apache2/conf.d/security

نبحث عن السطر ServerTokens OS ونُبدل “OS” ب “Prod” فيصبح السطر كما يلي

ServerTokens Prod

نحفظ التغييرات (عبر الاختصار CTRL + O) ثم نغلق الملف (عبر الاختصار والتأكيد CTRL + X)

يجب إعادة تحميل أباتش حتى تؤخذ التغييرات بالاعتبار:

sudo service apache2 reload

الآن عند طلب صفحة غير موجودة تظهر صفحة الخطأ التالية

Not Found

The requested URL /fail was not found on this server.

Apache Server at myproject.localhost Port 80
 

نلاحظ أن رقم الإصدار اختفى، ولكن بقي “توقيع” الخادم، لحذفه نعيد تحرير الملف السابق ثم نبحث عن

#ServerSignature Off
ServerSignature On

نضع علامة # أمام ServerSignature On وننزعها من أمام ServerSignature Off
فيصبح السطران كالتالي

ServerSignature Off
#ServerSignature On

نعيد تحميل أباتش.

sudo service apache2 reload
الآن عند طلب صفحة غير موجودة تظهر صفحة الخطأ التالية

Not Found

The requested URL /fail was not found on this server.

رابط مختصر للمشاركة مع أصدقائك عبر شبكات التواصل الاجتماعي http://wp.me/p1vJeS-f1

للحصول على آخر الإضافات مباشرة بعد نشرها يُرجى الاشتراك في تغذيات RSS.

تدوينات ذات علاقة

Advertisements

Tagged: , , ,

هل لديك إضافة، تصحيح أو كلمة شكر؟ مربع التعليق موجود لهذا الغرض

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

شعار وردبرس.كوم

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   /  تغيير )

Google photo

أنت تعلق بإستخدام حساب Google. تسجيل خروج   /  تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   /  تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   /  تغيير )

Connecting to %s