Professional Documents
Culture Documents
مختبر أمن الشبكات والمعلومات
مختبر أمن الشبكات والمعلومات
مختبر أمن الشبكات والمعلومات
والمعلومات
إعداد :م.بشار محمد
1
تجربة رقم Access-List:1
الجميع يعلم أن الشركات والمؤسسات تكافح من أجل تأمين معلوماتها ومع ظهور نهج
وتكنولوجيا الـ NACيتمحور عملها في األساس على األجهزة المتصلة بالشبكة أو ما
يطلق عليها ” “endpointsوتقوم فكرتها على فرض سياسات المؤسسة األمنية ومنع
إنتشار البرمجيات الخبيثة ,التقنية ظهرت عام 2003ومن الناحية التسويقية فلم تكن
كما كان متوقع ومع وجود بطء كبير كما لو أن التقنية سبقت وقتها أو أن المسئولين
في المجال لم يكونوا يعرفوا أهميتها لكن بعد ذلك وبالتحديد في عام 2005سجل نمو
ملحوظ وصل إلى 526مليون دوالر ومع وجود التهديدات والمخاطر األمنية المعروفة
وصل سوقها في عام 2010إلى 3.2مليار دوالر وفقاً لتقرير شركة IDCلألبحاث ,أما
محللين شركة TheInfoProوهى شركة أبحاث متخصصة في مجال تكنولوجيا
المعلومات قالت على لسان السيد بيل تروسل العضو المنتدب للشركة أن هذه
األجهزة تحتل أفضل الحلول في مجال أمن تكنولوجيا المعلومات.
يذكر أن شركة سيسكو سيستمز كان لها السبق بتعريف السوق بهذه التقنية في
أجهزة Cisco NAC Applianceثم جاءت شركة جونيبر نتوركس بعدها بأجهزة Unified
Access Controlوفي نفس الوقت تقريباً وضعت شركة مايكروسوفت خصيتها الجديدة
Network Access Protectionعلى أنظمة ويندوز فيستا وويندوز سيرفر 2008ثم
توالت الشركات كـ ستيل سكيور وفيرنير نتوركس وغيرها من الشركات التى قامت
بعمل أجهزة منافسة.
2
واآلن سنذكر بعض األسباب التى توضح حاجة الشبكة إلى Network Access Control
كجزء من الحل األمنى وستكون كالتالي:-
حتى مع وجود كل هذه األسباب يبقى السبب الرئيسى في وجود جهاز NACفي
البنية التحتية للشبكة وهو :التعامل مع إنتهاكات السياسات التى تحدث من قبل
المستخدمين والسيطرة على الموارد المستخدمة!
3
تنقسم ال Access-Listإلى:
:Standard access-list/1
قائمة الوصول القياسية-
هذه هي قائمة الوصول التي يتم إجراؤها باستخدام عنوان IPالمصدر فقط .تسمح قوائم ACL
هذه برفض مجموعة البروتوكوالت بأكملها .ال يميزون بين حركة مرور IPمثل TCPأو
UDPأو Httpsوما إلى ذلك .باستخدام األرقام 99-1أو ، 1999-1300سيفهم الموجه أنه
ACLقياسي والعنوان المحدد كعنوان IPمصدر.
الميزات-
يتم تطبيق قائمة الوصول القياسية بشكل عام بالقرب من الوجهة (ولكن ليس دائ ًما).
في قائمة الوصول القياسية ،يتم رفض الشبكة بالكامل أو الشبكة الفرعية.
تستخدم قائمة الوصول القياسية النطاق 99-1والنطاق الممتد .1999-1300
يتم تطبيق قائمة الوصول القياسية باستخدام عنوان IPالمصدر فقط.
إذا تم ترقيمها باستخدام قائمة الوصول القياسية ،فتذكر أنه ال يمكن حذ القواعد .إذا تم
حذ إحدى القواعد ،فسيتم حذ قائمة الوصول بأكملها.
إذا تم استخدام قائمة الوصول القياسية ،فستكون لديك المرونة في حذ قاعدة من قائمة
الوصول.
مالحظة -يتم استخدام قائمة الوصول القياسية أقل مقارنةً بقائمة الوصول الموسعة حيث سيتم
السماح برفض مجموعة بروتوكوالت IPبأكملها أو رفضها لحركة المرور حيث ال يمكن
التمييز بين حركة مرور بروتوكول IPالمختلفة.
4
R1(config)# access-list 10 deny 172.16.40.0 0.0.0.255
R1(config)# access-list 110 permit ip any any
R1(config)# int fa0/1
R1(config-if)# ip access-group 10 out
5
تجربة Extended Access-list :2
يتم استخدا م قوائم التحكم في الوصول للتحكم في الوصول إلى الشبكة أو لتحديد حركة المرور للعديد من الميزات للعمل عليها .
مصدرا ووجهةً لمطابقة
ً يتكون ACLالموسعة من واحد أو أكثر من إدخاالت التحكم في الوصول (ACEs).تحدد كل ACE
حركة المرور .يمكنك تحديد المعلمات في أمر قائمة الوصول ،أو يمكنك إنشاء كائنات أو مجموعات كائنات الستخدامها في
قائمة التحكم في الوصول.
النوع الثاني من ال ACL .يسمى ال Extended ACL .وهذا يتمثل بعدة ارقام محصورة من ال 101الى ال . 199ويهتم
هذا النوع بأربعة جوانب مهمة .
المصدر ،منطقة الوصول ،البروتكول ،رقم البورت والتي تتمثل بيSource , Destination
, Protocol , Port Number .
لذالك اي سياسية تطبق سواء كانت منع او سماح فإنها ستكون على ( عنوان مصدر محدد ،لي منطقة وصول محددة ،
لبروتكول محدد ،برقم بورت محدد ) الحظ الموضوع اصبح أوسع من السابق .ولكن كيف يكون هذا ؟
لتسهيل الموضوع حاول التفكير بأربع نقاط ،عند تصميم واختيار ال ACL :
لدينا روتران اثنان مربوطان بواسطة ال F0/0في مابينهم .ولكل من هذة الروترات شبكة واحدة
في الروتر االول شبكة 24/1.1.1.0مربوطة بي االنترفيس ، F0/1وسوف نسمي هذة الشبكة A .وفي الروتر الثاني شبكة
24/2.2.2.0على االنترفيس F0/1وستكون هذة الشبكة B .اما الشبكة الوسطية بين الروترين فعنوانها 12.12.12.0/30 .
في الروتر الثاني هناك إنترنيت ISPمربوط على االنترفيس F0/2 .
بالعنوان 100.100.100.100
6
لدينا اتصال متبادل مع الكل ،حيث ان الشبكة Aتستطيع االتصال بشبكة Bوالعكس ,وشبكة Aتتصل بالنترفيس بشكل
طبيعي كذالك.
المطلب االن هو قطع خدمة االنترنيت وبالذات ال HTTPبروتكول على أعضاء شبكة A .
الحظ المطلب رجاء ،يوجد تحديد هنا بمجرد وجود تحديد سيكون نوع ال ACLهو ال Extended ,ولكن اين هذا التحديد ؟
التحديد االول هو المصدر والمتمثل بي شبكة A ,ومنطقة الوصول وهو االنترنيت في مثالنا ،وبروتكول ال HTTPوالذي
هو تحت بند ال TCP .وأخيرا تم تحديد الخدمة والتي تمثلها رقم البورت . 80
الن لنعود الى المطلب وهو غلق خدمة االنترنيت على شبكة ال A .االوامر هي كالتالي :
االمر الثاني مهم ،بما أننا طبقنا الية المنع ،فهذا سوف يطبق على الصندوق الكبير ال IP .لذالك يجب إعطاء السماح لهذا
الصندوق IP .
الناتج سيكون بعد االمر الثاني هو :
(اسمح لكل شي IP .ماعدى ال TCP ,وليس كل ال TCPوانما فقط في جزئية ال HTTPبالبورت رقم )80
إذن ستكون هذة االوامر في الروتر االول وعلى االنترفيس المواجة للشبكة A .وكماياتي :
7
Named Access-List:3 تجربة
( هو عدد قوائم التحكم في الوصول المرقمةACLs) كان القيد الرئيسي لقوائم التحكم في الوصول المرقمة
(ACL) يعرض الجدول التالي أرقام قائمة التحكم في الوصول. (التي يمكنك إنشاؤها كانت محدودةACLs)
( وقوائم التحكم في الوصول الموسعةACLs) التي يمكنك استخدامها لقوائم التحكم في الوصول القياسية
(ACLs).
بخال. قياسية وممتدة بدالً من األرقامACL ( بإعطاء أسماءACLs) تسمح قوائم التحكم في الوصول المسماة
. يمكننا تحرير قوائم التحكم في الوصول المسماة، (ACLs) قوائم التحكم في الوصول المرقمة
. التالي من وضع التكوين العالميIOS يمكننا استخدام األمر، (ACL) إلنشاء قائمة التحكم بالوصول المسماة
:خطوات العمل
Router01>enable
Router01#configure terminal
Enter configuration commands, one per line. End with
CNTL/Z.
Router01(config)#ip access-list extended BLOCK_WS03
Router01(config-ext-nacl)#deny tcp host 172.16.0.12
host 172.20.0.5 eq 80
Router01(config-ext-nacl)#permit ip any any
Router01(config-ext-nacl)#exit
Router01(config)#exit
Router01#
Router01>enable
Router01#configure terminal
Enter configuration commands, one per line. End with
CNTL/Z.
Router01(config)#interface fa0/0
Router01(config-if)#ip access-group BLOCK_WS03 in
Router01(config-if)#exit
Router01(config)#exit
Router01#
8
تجربة Telnet:4
يعتبر ال ()Telnetبروتوكول من بروتوكوالت ال حزمة بروتوكوالت اإلنترنت لالتصال بأجهزة
الكمبيوتر البعيدة ،كما أنه تطبيق من تطبيقات حزمة بروتوكوالت اإلنترنتيتم استخدامه في تشغيل برامج ال
( )telnetلكي يتي ح إمكانية التحكم عن بعد ويسمح للمستخدم الدخول من حاسوبه الشخصي إلى حاسب آخر
وأن يقوم بالعمل كما لو كان متصل مباشرة مع الجهاز البعيد واستخدام مصادره وهذه المصادر ممكن أن
تكون(.)..,online database,chat services
إن خدمة ال Telnet Serverوالـ Telnet Clientsتعمالن معاًُ لكي تسمح لألجهزة البعيدة المركبة على
الشبكة باتصال مع بعضها البعض .
يمكن لمستخدمي خدمة الـ Telnet Clientsأن يتصلوا من خاللها مع الحواسب البعيدة التي تشغل الـ
Telnet Server,ومن ثم تشغيل التطبيقات على األجهزة الموجودة على الشبكة أو إنجاز مهام إدارية
عليها.إن نوع الجلسة الذي يتم إنشاءه يعتمد على الكيفية التي تعمل بها برامج الـتي تستخدم الـ Telnet.مثل
األلعاب وإدارة األنظمة ,وعملية محاكاة الـ Local LogONهي مثال نموذجي على استخدام الـ Telnet.
إن الـ Telnet Clientsيستخدم بروتوكول الـ Telnetوالذي هو الجزء من البروتوكول الـ TCP/IP
المخصص لوصل الكمبيوتر مع الكمبيوترات األخرى على الشبكة .كما أن برامج الـ Telnetتمكن الكمبيوتر
من االتصال مع الـ Server.وبإمكانك استخدام التلنت المضمن مع Windows XPلكي يتصل مع
الكمبيوترات البعيدة ويمكنك من التحكم بها كما لو أنك جالس أمام الكمبيوتر البعيد وتعمل عليه .
إن تطبيق الـ Telnet Clienالمضمن مع Windows XPوخاصة الذي يعمل تحت بيئة الـ DOSقد
أصبح أكثر وظيفية وقوة من الـ Telnet Clientالذي يعمل البيئة الرسومية الرسومية أي تحت نظام
WINDOWSكما أنه أصبح أكثر تآلفا ً مع خدمة الـ Telnet Clientالتي تأتي مع نظام الـ (Unix).
كما أن الميزة األكثر أهمية التي تأتي مع هذه الخدمة في نظام Windows XPهي الـ NTLMوهو حزمة
من البروتوكوالت األمنية التي تؤمن المصادقة بين الـ Telnet Clientوالـ Telnet Server.وبدون
استخدام ميزة الـ NTLMيتم إرسال اسم المستخدم وكلمة المرور إلى NetServerبشكل غير مشفر .
خطوات العمل:
أوال إنشاء شبكة طوبولوجيا .وتعيين IPثابت لجهاز الكمبيوتر العميل ،جهاز التوجيه والتبديل
9
emma(config)#line vty 0 4
emma(config-line)#password love
emma(config-line)#login
emma(config-line)#exit
10
تجربة SSH:5
بروتوكول النقل اآلمن ( )The Secure Shellهي ميثاق (بروتوكول) اتصاالت للنقل األمن للمعلومات,
وخدمات صدفة الحماية عن بعد ( )remote shellأو لتنفيذ أوامر وخدمات أخرى بين حاسوبين متصلين
بشبكة التي تربطهما عن طريق قناة أمنة من خالل شبكة يير أمنة وهو مبني على نموذج
الخادم/العميل.أفضل تطبيق للميثاق هو الوصول إلى حسابات صدفة في أنظمة التشغيل شبيهة يونكس .صمم
هذا البروتوكول كبديل لتل نت وييره من البروتوكوالت صدفة الحماية عن بعد يير األمنة ,والتي ترسل
المعلومات ,السيما كلمات المرور ,كن ص عادي مما يجعلها عرضة لالعتراض والكش باستخدام تحليل
الحزم .التشفير المستخدم في SSHأعد لتوفير السرية وسالمة البيانات عبر شبكة يير أمنة ،مثل اإلنترنت.
ال SSHهو بروتوكول وليس منتج وهو يهتم بإدارة الحماية للمراسالت عبر الشبكة ويشمل – التشفير –
التوثيق(مثال عندما تريد الدخول إلى حساب فان ال SSHسيطلب منك برهانا رقميا على هويتك وعندها
يقرر قبولك أو ال) – سالمة البيانات.
Router#config t
Router(config)#host Satish
11
satish(config)#crypto key generate rsa
a few minutes.
satish(config-line)#login local
satish>
12
شرح االمر السابق
sshهو االمر
usernameوهوه اسم المستخدم سواء rootاو مستخدم عادي
remote_hostهوه اسم host nameالخاص بالسرفر او IPالخاص بيه
ثانيا :االتصال عن طريق windows
هناك عده برامج مشهور لالتصال عن طريق sshاشهرها
mobaxterm
و PuTTY
وهذا االخير هو االشهر في االستخدام وسوف نقوم بشرح طريقه استخدامه
ملحوظة :يمكنك الضغط علي اسم البرنامج الذي تريدة واختيار النسخه المناسه لك سواء 32او 64
بعد تنزيل النسخه المناسبه لك نقوم بفتح واجه البرنامج سوف تكون مثل الشكل التالي:
14
والذي تحدث DHCPإستكماال للموضوع الذي بدأته من قبل حول أنواع الهجمات التى تستهدف الـ
وأثره الضار على الشبكة نستكمل اليوم حديثنا DHCP Starvationفي جزءه األول عن موضوع الـ
والذي يمكن المهاجم من التنصت على كل DHCP Spoofingحول موضوع أخطر من هذا وهو الـ
Man In The Middleالترافيك الذي يعبر من خالل الشبكة وبكالم آخر هجوم الـ
؟ وكيف يتم ؟ DHCP Spoofingماهو هجوم الـ
يعد هذا الهجوم احد الهجمات الخطيرة على الشبكة والحماية منه أمر مهم جدا على الشبكة
وفكرته بسيطة جدا وتنفيذها أسهل وهي ببساطة تقوم من خالل قيام المخترق بتشغيل سيرفر
على جهازه يملك نفس المعلومات التى يقوم السيرفر الرئيسي بتزويدها لألجهزة لكن مع DHCP
للشبكة فهو يقوم بتغييره بحيث يكون هو جهازه نفسه ومن Gatewayأختالف بسيط جدا وهو الـ
الحقيقي Gatewayيقوم بتحويل الترافيك المار عبر جهازه إلى الـ ettercapخالل أحد البرامج مثل الـ
للشبكة وبهكذا كل مايتم أرساله من خالل األجهزة الموجودة على الشبكة سوف يعبر من خالل
سوف يشاهد كل تفاصيل Wire Sharkجهاز المخترق ومن خالل أحد برامج تحليل البيانات مثل الـ
ولو MITMالترافيك وطبعا هذه تعد كارثة كبيرة للشبكة وخصوصا أي هجمة تندرج تحت هجمات الـ
على DHCP Starvationأراد المهاجم أن يكون الهجوم كامال فهو سوف يقوم أوال بتنفيذ هجوم الـ
السيرفر الرئيسي ويقوم بحجز كل األيبيات الموجودة عنده وعندها سوف يضمن بأن كل األجهزة
الموجودة على الشبكة وعلى سويتشات آخرى بأنه سوف تلجأ إليه للحصول على المعلومات الألزمة
لألتصال بالشبكة مما يزيد من كمية المعلومات المارة عبر جهاز المخترق وبالتالي دمار أكبر للشبكة
كيفية الحماية من هذا النوع من الهجمات ؟
هذه الخاصية ببساطة DHCP Snoopingالحل الذي قدمته سيسكو كان عبارة عن خاصية تدعى
تعرف السويتش ما هي البورتات الموثوقة وماهي البورتات الغير موثوقة وبكالم آخر تعرف السويتش
فنحن نعلم أن عملية طلب المعلومات من DHCPماهي المنافذ التى يسمح لها بتوزيع طلبات الـ
تمر بعدة خطوات تبدأ بقيام جهاز العميل بأرسال برودكاست إلى الشبكة يسأل فيه عن DHCPالـ
وبعدها يرد عليه السيرفر بعنوان األيبي الخاص فيه وعندها تأتي خطوة الطلب من DHCPسيرفر الـ
العميل إلى السيرفر (طلب األعدادات) وبعد وصول الطلب إلى السيرفر يقوم بأرسال المعلومات
وهذه صورة توضيحية لسير العملية Gateway .الألزمة له من أيبي وماسك ودي ان اس وطبعا الـ
15
16
من خالل فهمك لهذه العملية سوف تستنج معي بأن هذه الخاصية تقوم بأخبار السويتش من هو
التى تتم من خالل المستخدمين DHCPالمنفذ الموثوق والذي يسمح له بالرد على طلبات الـ
والتى تعني تفتيش أي تفتيش الطلبات Snoopingالموجودين على الشبكة ومن هنا أتت كلمة
ومن أين وصلت والخ…(..لهذه الخاصية إستخدامات جيدة جدا سوف نتعرف عليها تباعا في المواضيع
)القادمة إن شاء هللا
طريقة األعداد (سيسكو)
سوف أقوم بكتاية كل األوامر الألزمة وبعدها سوف أقوم بتفسير كل أمر على حدى وسوف أستعين
أيضا بهذه الصورة التوضيحية
Cisco's IOS
17
على السويتش وقبل ان DHCP Snoopingأول امر أعتقد بأنه واضح للجميع وهو من اجل تفعيل الـ
نكمل يجب أن نتفق على شيء مهم جدا وهو مجرد تفعيلك لهذه الخاصية على السويتش يقوم
أي غير موثوقة أما في األمر الثاني Untrustedهو بشكل أوتماتيكي بوضع كل البورتات على شكل
فنحن نقوم بتحديد الفي الن التى نريد أن نقوم بتفتيشها وهذا شيء مهم أيضا وأساسي ومن خال
هذا األمر نستطيع ان نكتب كل الفي الن التى نريدها وقد قمت في هذا المثال بأضافة 3في الن
10,32,104األمر الثالث من أجل تحديد مجموعة من البورتات وقد أخترت 3منافذ التى تشكل اجهزة
العمالء لدي في الشبكة وبعدها أقوم بتحديد عدد الطلبات التى يسمح له بطلبها وهي تحسب
ويمكنك زياد هذا الرقم كما تشاء لكن الينصح بهذا كثيرا وآخيرا أدخل PPSبعدد الباكيت كل ثانية
Trustedوأخبر السويتش بان هذا المنفذ موثوق به DHCPعلى المنفذ المرتبط مع سيرفر الـ
والسبب أوضحته من قبل
نستخدم األوامر التالي DHCP Snoopingوآخيرا لمشاهدة تفاصيل عن حالة الـ
Cisco's IOS
في األمر االول أخبرت السويتش بأن البورت 8/0/0بأنه آمن كما فعلنا نفس الشيء مع سيسكو
يجب تفتيشها وعلى فكرة هذه الفي الن تجمع usersوبعدها أخبرته أن الفي الن التى أسمها
الثالث بورتات السابقة لذلك اليوجد أي سبب لكتابتها مرة ثانية (ياحلوتك ياجونيبر )
18
تجربة Firewall:7
تعريف جدار الحماية جدار الحماية( باللغة اإلنجليزية ): Firewallالجدار الناري هو نظا ٌم ِّ
يوفر
حمايةً للشبكة عبر ترشيح البيانات المرسلة والمستقبلة عبر الشبكة بنا ًء على قواعد حددها المستخدم .عمو ًما،
الهدف من الجدار الناري هو تقليل أو إزالة وجود االتصاالت الشبكية غير المرغوب فيها والسماح في الوقت
نفسه لالتصاالت «الشرعية» أن تنقل بحرية؛ توفِّر الجدر النارية طبقةً أساسيةً من الحماية التي -عندما تدمج
ق خبيثة.
مع غيرها -تمنع المهاجمين من الوصول إلى خادومك بطر ٍ
يناقش هذا الدرس كيف تعمل الجدر النارية ،مع التركيز على برمجيات الجدر النارية «ذات الحالة»
( ،)statefulمثل iptableو ،FirewallDألنها تتعلق بالخوادي م السحابية؛ سنبدأ بشرح موجز عن رزم
TCPالشبكية واألنواع المختلفة للجدر النارية ،ثم سنناقش تنوع المواضيع التي تتعلق بالجدر النارية ذات
ت أخرى ستساعدك في إعداد جدار ناري على خادومك. الحالة؛ في النهاية ،سنوفر روابط لمقاال ٍ
رزم TCPالشبكية
قبل نقاش مختلف أنواع الجدر النارية ،لنأخذ نظرة ً سريعةً على شكل بيانات التراسل الشبكي لبروتوكول
اختصارا .)TCP
ً التحكم في النقل (Transport Control Protocol
تنتقل بيانات TCPالشبكية عبر الشبكة في «رزم» ( ،)packetsالتي تمثِّل حاويات تتألف من ترويسة
الرزمة (– )packet headerالتي تحتوي على معلومات التحكم مثل عناوين المصدر والوجهة ،ومعلومات
ضا بالمصطلح «الحمولة» ])[payload؛ وبينما تساعد بيانات تسلسل الرزم– والبيانات (التي تعرف أي ً
ً
التحكم في كل رزمة على التأكد من أن البيانات المرتبطة معها ستصل وصوال صحي ًحا ،لكن العناصر التي
تحتويها توفِّر للجدر النارية طرقًا مختلفة لمطابقة الرزم الشبكية على قواعد الجدار الناري.
19
من المهم المالحظة أنه من الضروري الستقبال صحيح لرزم TCPقادمة أن ير ِّسل المستق ِّبل رز ًما تحتوي
على إشعار باالستالم إلى المر ِّسل؛ يمكن أن يستخدم دمج معلومات التحكم في الرزم المستقبلة والمرسلة
ً
(مثال ،جديد [ ،]newمنشأ [ ،]establishedمتعلق ] )[relatedبين المر ِّسل لتحديد حالة االتصال
والمستق ِّبل.
لنناقش بسرعة األنواع الثالثة األساسية للجدر النارية للشبكة :ترشيح الرزم ( )packet filteringأو عديمة
الحالة ] ،)[statelessذات الحالة ( ،)statefulوطبقة التطبيقات (.)application layer
صح كل الرزم الشبكية على حدة؛ وبالتالي، ترشيح الرزم ،أو الجدر عديمة الحالة ،تعمل عبر تف ّ
ستكون يير مدركة لحالة االتصال ويمكنها فقط أن تسمح أو تمنع مرور الرزم بنا ًء على ترويسات
كل رزمة بشكل منفرد.
ً
الجدر ذات الحالة قادرة على تحديد حالة االتصال للرزم ،مما يجعل تلك الجدر أكثر مرونة من
الجدر عديمة الحالة .إنها تعمل عبر جمع الرزم الشبكية المترابطة إلى أن تستطيع تحديد حالة
االتصال قبل أن تطبَّق أيّة قواعد للجدار الناري على بيانات التراسل الشبكي.
جدر التطبيقات ( )Application firewallsتذهب خطوة ً إضافيةً إلى األمام عبر تحليل البيانات
التي قد أُر ِس َلت ،مما يسمح بمطابقة بيانات التراسل الشبكي على قواعد الجدار الناري التي تكون
ضا باسم «الجدر النارية الوسيطة» مخصصة لخدمات أو تطبيقات معينة .تسمى هذه الجدر أي ً
( .)proxy-based firewalls
باإلضافة إلى برمجية الجدار الناري ،المتوفرة في جميع أنظمة التشغيل الحديثة ،يمكن توفير وظيفة الجدار
سنركز في
ِّ الناري عبر أجهزة عتادية ،مثل الموجهات ( )routersأو أجهزة جدر نارية خاصة .مرة ً أخرى،
نقاشنا على الجدر النارية ذات الحالة التي تعمل على الخواديم التي عليها حمايتها.
جدارا ناريًا ستطابق على قواع ٍد لتحديد إذا كان يسمح لها
ً كما ذ ِّكر في األعلى ،البيانات الشبكية التي تعبر
بالمرور أم ال؛ طريقة سهلة لشرح كيف تبدو قواعد الجدار الناري هي عرض بعض األمثلة ،لنفعل ذلك اآلن.
لنفترض أن لديك خادو ًما بهذه القائمة من قواعد الجدار الناري التي تنطبق على البيانات القادمة:
.1السماح للبيانات الشبكية القادمة من اتصاالت جديدة أو ُمنشَأة مسبقًا إلى البطاقة الشبكية العامة على
المنفذين 80و ( 443بيانات HTTPو HTTPSللويب).
.2تجاهل البيانات القادمة من عناوين IPللموظفين يير التقنيين في مكتبك إلى المنفذ ( 22خدمة
.)SSH
.3السماح للبيانات الشبكية القادمة من اتصاالت جديدة أو ُمنشَأة مسبقًا من مجال عناوين IPلمكتبك
إلى البطاقة الشبكية الخاصة على المنفذ ( 22خدمة .)SSH
20
أن أول كلمة في كل مثال من األمثلة الثالثة السابقة هي إما كلمة «السماح» ( )acceptأو «رفض» الحظ َّ
( )rejectأو «تجاهل» ( .)dropهذا يحدِّد ما سيفعله الجدار الناري في حال طابقت البيانات الشبكية تلك
القاعدة« .السماح» تعني أنه يمكن للبيانات الشبكية المرور ،و«الرفض» تعني منع مرور البيانات الشبكية
ولكن إرسال خطأ « ،»unreachableبينما «التجاهل» تعني منع مرور البيانات الشبكية وعدم إرسال رد؛
يحتوي ما تبقى من كل قاعدة على الشرط الذي يجب أن تطابق عليه كل رزمة شبكية.
وكما يبدو ،فإن البيانات الشبكية ستطابق على قائمة بقواعد الجدار الناري بتسلسل ( )chainمن أول قاعدة
صا عندما تطابق قاعدة ،فسينفَّذ الحدث المطا ِّبق لها على البيانات الشبكية؛ في مثالنا
إلى آخر قاعدة .وخصو ً
السابق ،إذا حاول محاسب في المكتب إنشاء اتصال SSHإلى الخادوم ،فسيرفض اتصاله بنا ًء على القاعدة
مديرا للنظام سيتم َّكن من إنشاء االتصال ألنه سيطا ِّبق القاعدة
ً رقم ،2حتى قبل التحقق من القاعدة رقم 3؛ لكن
رقم 3فقط.
من الطبيعي لسلسلة من قواعد الجدار الناري أال تغطي بدقة كل حالة ممكنة؛ فلهذا السبب ،يجب تحديد سياسة
افتراضية لسالسل قواعد الجدار الناري ،التي تحتوي على ما سيفعل بالبيانات الشبكية فقط (قبول ،أو رفض،
أو تجاهل).
افترض أننا ضبطنا السياسة االفتراضية للمثال السابق إلى «تجاهل»؛ فإذا حاول حاسوب خارج مكتبك إنشاء
اتصال SSHإلى خادومك ،فسيتم تجاهل البيانات الشبكية التي أرسلها ألنها ال تطابق أي من القواعد السابقة.
أما لو ض ِّبطت السياسة االفتراضية إلى «السماح» ،فإن أي شخص –ما عدا موظفي المكتب غير التقنيين–
جدارا ناريًا مضبوطٌ ضب ً
طا سيئًا ً سيتمكن من إنشاء اتصال ألي خدمة مفتوحة على خادومك؛ هذا مثا ٌل عن أن
سيمنع جز ًءا من الموظفين فقط.
لما كانت تفصل البيانات الشبكية –من وجهة نظر الخادوم– إلى بيانات داخلة أو خارجة ،فإن الجدار الناري
مكان آخر –أي البيانات الداخلة– تعامل
ٍ يبقي مجموعةً منفصلةً من القواعد لكل حالة؛ البيانات التي أصلها من
معاملةً مختلفةً عن البيانات الخارجة من الخادوم؛ من الطبيعي أن يسمح الخادوم بأغلبية البيانات الخارجة ألن
الخادوم عادة ً «يثق بنفسه» .ومع ذلك ،يمكن استخدام مجموعة قواعد للبيانات الخارجة لمنع االتصاالت غير
خترق الخادوم من مهاجم أو عبر ملف تنفيذي خبيث. المرغوبة في حال أ ِّ
نعظم االست فادة األمنية من الجدار الناري ،فيجب عليك تحديد جميع الطرق التي تريد لألنظمة األخرى لكي ِّ
أن تتعامل مع خادومك فيها؛ وذلك بإنشاء قواعد تسمع لتلك الحاالت بدقة ،ثم تتجاهل بقية البيانات الشبكية.
أن قواعد البيانات الخارجة يجب أن تكون صحيحة للسماح للخادوم بإرسال إشعارات استالم ألي ق في بالك َّ
أب ِّ
ضا أنه ولما كان على الخادوم أن يبدأ اتصاالت شبكية خاصة به لمختلف اتصاالت داخلة مسمو ٌح لها؛ تذكر أي ً
األسباب (مثل تنزيل التحديثات ،أو االتصال إلى قاعدة بيانات) ،فمن الضروري تضمين تلك الحاالت في
مجموعة القواعد للبيانات الخارجة.
21
كتابة قواعد البيانات الخارجة
افترض أن مثالنا عن الجدار الناري مضبوط لتجاهل البيانات الشبكية الخارجة افتراضيًا ،هذا يعني َّ
أن قواعد
كملة لها.
السماح للبيانات الداخلة ستكون عديمة الفائدة دون قواعد البيانات الشبكية الخارجة الم ِّ
لمالئمة المثال عن قواعد البيانات الداخلة في الجدار الناري (القاعدتين 1و ،)3من قسم «قواعد الجدار
الناري» السابق ،وللسماح باالتصاالت المالئمة بنا ًء على هذه العناوين والمنافذ؛ فعلينا استخدام هذه القواعد
لالتصاالت الخارجة:
.1السماح بالبيانات الشبكية الخارجة ال ُمنشَأة على البطاقة الشبكية العامة على المنفذ 80و 443
( HTTPو .)HTTPS
.2السماح بالبيانات الشبكية الخارجة ال ُمنشَأة على البطاقة الشبكية الخاصة على المنفذ .)SSH( 22
بعد أن تعلمنا كيف تعمل الجدر النارية ،فلنلقي نظرة على حزم برمجية شائعة تساعدنا على ضبط جدار ناري
أن هذه هي أكثرها فعاليةً
أن هنالك العديد من الحزم المتعلقة بالجدر النارية ،إال َّ
فعال؛ وعلى الرغم من َّ
عا.
وشيو ً
Iptables
إن Iptablesهو الجدار الناري القياسي الموجود في أغلبية توزيعات لينكس افتراضيًا (بديل عصري له
يسمى nftablesبدأ باستبداله)؛ هو في الواقع واجهة أمامية ( )front-endلنظام netfilterالخاص بالنواة
الذي يمكنه تعديل االتصاالت الشبكية في لينكس؛ حيث يعمل بمطابقة كل رزمة شبكية تمر عبر بطاقة شبكية
على مجموعة من القواعد لتحديد ما الذي يجب فعله.
22
تجربة IPS:8
IDSماهو الـ
الـ IDSأو intrusion detection systemهو عبارة عن نظام حماية تستطيع تشبيه
بي مضاد الفيروسات الموجود على جهازك يقوم بتحليل كل الترافيك المار عبر الشبكة
من خالل أرسال نسخة من هذا الترافيك إليه وتتركز وظيفته األساسية على التحليل
العملي فقط وذلك أعتمادا على Rulesيمكن تحميلها من األنترنت أو أعداداها يدويا
كما سوف نشاهد الحقا باألضافة إلى قواعد بيانات تحوي معلومات عن الفيروسات
والديدان أستطاعت النفاذ من خالل جدار الحماية الموجود على الشبكة وتعمد إليه
عمل النظام على مقارنة الـ Signatureالخاص بكل فايروس والتى تكون مخذنة في
قاعدة البيانات ولكن مايعيب هذا النظام أنه اليقوم بأي ردة فعل اتجاه هذا الفيروسات
فكل مايقوم به هو أرسال تحذير إلى مدير الشبكة بوجود شيء غير طبيعي في
الترافيك المار ومن هنا نستطيع ان نستنتج ان كلمة detectionالتعني إال الكشف
وقد يخطر على بالك سؤال صغير ماذا أستفيد من هذه العملية ؟ وبكالم آخر ماذا
سوف أستفيد أذا دخل الفيروس إلى الشبكة ؟ األجابة على هذا السؤال يجب أن
نعلم أوال أن هذا النوع من األنظمة مفيد في عدة حاالت
الحالة الثالثة تحديد األخطاء التى وقع فيها مسؤولوا الحماية وتصحيحها
ومايميز هذا النوع أيضا هو أمكانية وضعه بعيدا عن السار الحقيقي للترافيك بحيث
اليؤثر على سرعة نقل الداتا وهذه صورة توضيحية
23
كما تشاهدون السيرفر موجود على منفذ آخر وكل مانقوم به هو أرسال نسخة من
هذا الترافيك إليه وبذلك نكون قد ضمنا أن سرعة النقل أو عبور الداتا لن يتأثر أبدا بعمل
النظام.
وآخيرا هذا النظام يعد نظاما قديما جدا بدأ مشروع تطويره أول مرة عام 1984وأعلن
عن اول نظام IDSعام 1986وهو موجود كهاردوير أو سوفت وير وسوف أعود ألتحدث
عنها
ماهوالـ IPS؟
الـ IPSأو Intrusion Prevention Systemsوهو نسخة مطورة من النظام السابق فهو
يقوم بعملية الكشف Detectionأوال وبعدها يقوم بتنفيذ ردة فعل معينة
Preventionمثل عمل Dropللباكيت الضارة لذا يتوجب وضعه على ممر الترافيك
مباشرة وهذه صورة توضيحية
24
وكما تالحظ معي أن النظام هنا هو سوفت وير تم تنصيبه على نظام تشغيل لكي
يعمل IPSللترافيك ومايميزه ايضا هو طريقة األستجابة للترافيك الخطر فهو يستطيع
أن يمنعه ويستطيع أيضا أن يقوم بأرسال أعدادات ألجهزة األمن الموجودة على
الشبكة مثل الجدران النارية أو الروترات لكي تقوم هي بأيقافه
وآخيرا لهذه السيرفرات كما ذكرت سابقا برامج سوفت وير واجهزة هاردوير وقد قمت
بعملية بحص صغيرة على األنترنت فوجدت الكثير من البرامج التى تقوم بهذه الوظيفة
وأستخلصت لكم برنامج يدعى Snortوهو برنامج مفتوح المصدر يمكن تنصيبه على
انطمة مايكروسوفت ولينوكس وطبعا أنا أنصح دائما لمثل هذه األشياء أنظمة لينوكس
فهي مستقرا وتعمل لفترات طويلة والتستهلك كثيرا من أمكانيات الجهاز باألضافة إلى
كونها أأمن وطبعا البرنامج مجاني وتستطيع أيضا تحميل Rulesجاهزة.
خطوات العمل:
R1(config)# license boot module c1900 technology-package securityk9
R1# mkdir ipsdir
>Create directory filename [ipsdir]? <Enter
Created dir flash:ipsdir
R1(config)# ip ips name iosips
R1(config)# ip ips notify log
R1# clock set 10:20:00 10 january 2014
R1(config)# logging host 192.168.1.50
1(config)# ip ips signature-category
R1(config-ips-category)# category all
R1(config-ips-category-action)# retired true
25
R1(config-ips-category-action)# exit
R1(config-ips-category)# category ios_ips basic
R1(config-ips-category-action)# retired false
R1(config-ips-category-action)# exit
R1(config-ips-cateogry)# exit
Do you want to accept these changes? [confirm] <Enter>
1(config)# ip ips signature-category
R1(config-ips-category)# category all
R1(config-ips-category-action)# retired true
R1(config-ips-category-action)# exit
R1(config-ips-category)# category ios_ips basic
R1(config-ips-category-action)# retired false
R1(config-ips-category-action)# exit
R1(config-ips-cateogry)# exit
Do you want to accept these changes? [confirm] <Enter>
R1(config)# interface g0/1
R1(config-if)# ip ips iosips out
R1(config)# ip ips signature-definition
R1(config-sigdef)# signature 2004 0
R1(config-sigdef-sig)# status
R1(config-sigdef-sig-status)# retired false
R1(config-sigdef-sig-status)# enabled true
R1(config-sigdef-sig-status)# exit
R1(config-sigdef-sig)# engine
R1(config-sigdef-sig-engine)# event-action produce-alert
R1(config-sigdef-sig-engine)# event-action deny-packet-inline
R1(config-sigdef-sig-engine)# exit
R1(config-sigdef-sig)# exit
R1(config-sigdef)# exit
Do you want to accept these changes? [confirm] <Enter>
clock set 10:20:00 10 january 2014
mkdir ipsdir
config t
license boot module c1900 technology-package securityk9
yes
end
reload
config t
ip ips config location flash:ipsdir
ip ips name iosips
ip ips notify log
service timestamps log datetime msec
logging host 192.168.1.50
ip ips signature-category
category all
retired true
exit
category ios_ips basic
retired false
26
exit
interface g0/1
ip ips iosips out
exit
ip ips signature-definition
signature 2004 0
status
retired false
enabled true
exit
engine
event-action produce-alert
event-action deny-packet-inline
exit
exit
27