مختبر أمن الشبكات والمعلومات

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 27

‫مختبر أمن الشبكات‬

‫والمعلومات‬
‫إعداد ‪:‬م‪.‬بشار محمد‬

‫‪1‬‬
‫تجربة رقم ‪Access-List:1‬‬

‫ما أهمية وجود ‪ Network Access Control‬داخل‬


‫الشبكة؟‬
‫قائمة الوصول )‪ (ACL‬هي مجموعة من القواعد المحددة للتحكم في حركة مرور الشبكة‬
‫وتقليل هجمات الشبكة‪ .‬تُستخدم قوائم ‪ ACL‬لتصفية حركة المرور استنادًا إلى مجموعة القواعد‬
‫المحددة للخروج أو الخروج من الشبكة‪.‬‬

‫الجميع يعلم أن الشركات والمؤسسات تكافح من أجل تأمين معلوماتها ومع ظهور نهج‬
‫وتكنولوجيا الـ ‪ NAC‬يتمحور عملها في األساس على األجهزة المتصلة بالشبكة أو ما‬
‫يطلق عليها ”‪ “endpoints‬وتقوم فكرتها على فرض سياسات المؤسسة األمنية ومنع‬
‫إنتشار البرمجيات الخبيثة‪ ,‬التقنية ظهرت عام ‪ 2003‬ومن الناحية التسويقية فلم تكن‬
‫كما كان متوقع ومع وجود بطء كبير كما لو أن التقنية سبقت وقتها أو أن المسئولين‬
‫في المجال لم يكونوا يعرفوا أهميتها لكن بعد ذلك وبالتحديد في عام ‪ 2005‬سجل نمو‬
‫ملحوظ وصل إلى ‪ 526‬مليون دوالر ومع وجود التهديدات والمخاطر األمنية المعروفة‬
‫وصل سوقها في عام ‪ 2010‬إلى ‪ 3.2‬مليار دوالر وفقاً لتقرير شركة ‪ IDC‬لألبحاث ‪,‬أما‬
‫محللين شركة ‪ TheInfoPro‬وهى شركة أبحاث متخصصة في مجال تكنولوجيا‬
‫المعلومات قالت على لسان السيد بيل تروسل العضو المنتدب للشركة أن هذه‬
‫األجهزة تحتل أفضل الحلول في مجال أمن تكنولوجيا المعلومات‪.‬‬

‫يذكر أن شركة سيسكو سيستمز كان لها السبق بتعريف السوق بهذه التقنية في‬
‫أجهزة ‪Cisco NAC Appliance‬ثم جاءت شركة جونيبر نتوركس بعدها بأجهزة ‪Unified‬‬
‫‪Access Control‬وفي نفس الوقت تقريباً وضعت شركة مايكروسوفت خصيتها الجديدة‬
‫‪Network Access Protection‬على أنظمة ويندوز فيستا وويندوز سيرفر ‪ 2008‬ثم‬
‫توالت الشركات كـ ستيل سكيور وفيرنير نتوركس وغيرها من الشركات التى قامت‬
‫بعمل أجهزة منافسة‪.‬‬

‫‪2‬‬
‫واآلن سنذكر بعض األسباب التى توضح حاجة الشبكة إلى ‪Network Access Control‬‬
‫كجزء من الحل األمنى وستكون كالتالي‪:-‬‬

‫‪ 1-‬إدارة السياسات األمنية وتحديد سياسات إعدادات السيرفرات والحواسيب‬


‫األخرى‪.‬‬ ‫واألجهزة‬
‫‪2-‬التحكم في مستويات الوصول سواء للشبكة الداخلية )‪ (LAN‬أو الشبكة الخارجية‬
‫)‪ (WAN‬الغير متوافقة مع السياسات األمنية المطبقة مثل وجود أخر تحديث للنظام أو‬
‫تفعيل الجدار النارى أو وجود برنامج مضاد للفيروسات وحصوله على أخر تحديث وهكذا‪.‬‬
‫‪3-‬التحكم في حركة الضيوف )‪ (Guests‬سواء في الشبكة الداخلية بخصوص المتاح‬
‫والممنوع أو في الشبكة الخارجية “اإلنترنت” بخصوص البريد اإللكتروني والمواقع‬
‫زيارتها‪.‬‬ ‫المسموح‬
‫‪ 4-‬فحص األجهزة البعيدة عن الشبكة ولكن مسموح لها بالدخول عن بعد عن طريق‬
‫”‪“VPN,Remote Access‬ألن عادة ما تكون هذه األجهزة األكثر عرضة لإلصابة‬
‫بالفيروسات‪.‬‬
‫‪ 5-‬فحص األنظمة المتصلة بالشبكة وتحديد مواعيد تحديثات أنظمتها وبرامجها وهكذا‪.‬‬
‫‪6-‬تكامل جهاز الـ ‪ NAC‬مع أجهزة الحماية الموجودة داخل الشبكة مثل الجدران النارية‬
‫إلخ‪.‬‬ ‫األختراق‬ ‫ومنع‬ ‫التسلل‬ ‫كشف‬ ‫وأنظمة‬
‫‪ 7-‬قدرته على تقييم وتحديد المشاكل المحتملة داخل الشبكة والمقصود هنا أجهزة‬
‫الكمبيوتر المحمولة والمكتبية واألجهزة األخرى كالهواتف الذكية واأللواح اإللكترونية‬
‫المتصلة بالشبكة‪.‬‬

‫حتى مع وجود كل هذه األسباب يبقى السبب الرئيسى في وجود جهاز ‪ 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‬المختلفة‪.‬‬

‫خطوات تطبيق ال‪:Access-List‬‬


‫‪ /1‬نقوم بتصميم الشبكة‬
‫‪/2‬نعطي كل ‪Host IP address‬‬
‫‪R1# config terminal‬‬

‫‪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 ,‬وفكرة ال‪Extended ACL‬‬

‫معلومات حول ‪ ACLs‬الموسعة‬

‫يتم استخدا م قوائم التحكم في الوصول للتحكم في الوصول إلى الشبكة أو لتحديد حركة المرور للعديد من الميزات للعمل عليها ‪.‬‬
‫مصدرا ووجهةً لمطابقة‬
‫ً‬ ‫يتكون ‪ ACL‬الموسعة من واحد أو أكثر من إدخاالت التحكم في الوصول ‪ (ACEs).‬تحدد كل ‪ACE‬‬
‫حركة المرور ‪.‬يمكنك تحديد المعلمات في أمر قائمة الوصول ‪ ،‬أو يمكنك إنشاء كائنات أو مجموعات كائنات الستخدامها في‬
‫قائمة التحكم في الوصول‪.‬‬

‫‪Information Security D-34‬‬


‫===================‬

‫النوع الثاني من ال ‪ ACL .‬يسمى ال ‪ Extended ACL .‬وهذا يتمثل بعدة ارقام محصورة من ال ‪ 101‬الى ال ‪ . 199‬ويهتم‬
‫هذا النوع بأربعة جوانب مهمة ‪.‬‬

‫المصدر ‪ ،‬منطقة الوصول ‪ ،‬البروتكول ‪،‬رقم البورت والتي تتمثل بي‪Source , Destination‬‬
‫‪, Protocol , Port Number .‬‬

‫لذالك اي سياسية تطبق سواء كانت منع او سماح فإنها ستكون على ( عنوان مصدر محدد ‪ ،‬لي منطقة وصول محددة ‪،‬‬
‫لبروتكول محدد ‪ ،‬برقم بورت محدد ) الحظ الموضوع اصبح أوسع من السابق ‪ .‬ولكن كيف يكون هذا ؟‬

‫لتسهيل الموضوع حاول التفكير بأربع نقاط ‪ ،‬عند تصميم واختيار ال ‪ACL :‬‬

‫أولها ‪ :‬ماهو نوع ال ‪ ACL‬التي يجب استخدامها هل ستكون ‪ Stander‬ام ‪ Extended‬؟‬

‫ثانيا ً ‪ :‬في اي روتر سيتم تطبيق هذة ال ‪ ACL‬؟‬

‫ثالثا ً ‪ :‬في اي انترفيس يجب تركيب هذة ال ‪ACL‬‬


‫ألننا يجب تركيب ال ‪ ACL‬بانترفيس معين ‪.‬‬

‫رابعا ً ‪ :‬أتجاة ال ‪ ACL‬هل سيكون ‪ IN‬ام ‪ OUT‬؟‬

‫لنطبق هذة النقاط في مثالنا اآلتي ‪:‬‬

‫لدينا روتران اثنان مربوطان بواسطة ال ‪ 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‬‬

‫لنتوقف هنا قليال ‪ ،‬ما معنى ان ال ‪ HTTP‬تحت بند ال ‪ TCP‬؟؟‬

‫تخيل دائما ً ان لدينا صندوق كبير يسمى ‪IP .‬‬


‫وهذا الصندوق فية داخلة صناديق كثيرة ‪ ،‬أهمها صندوقان مهمان ال ‪ TCP‬و ‪UDP .‬‬
‫كذالك في داخل هذان الصندوقان الكثير من البروتكوالت ‪ .‬في مثالنا ال ‪ HTTP‬داخل صندوق ال ‪ TCP .‬والذي بدورة داخل‬
‫صندوق ال ‪IP .‬‬
‫(إذن صندوق كبير ‪ IP ,‬داخلة صندوقان ‪ TCP‬و ‪ UDP .‬داخل هذة الصندوقان الكثير من البروتكوالت ‪) .‬‬

‫الن لنعود الى المطلب وهو غلق خدمة االنترنيت على شبكة ال ‪ A .‬االوامر هي كالتالي ‪:‬‬

‫‪Router#Access-List 111 Deny TCP 1.1.1.0 0.0.0.255 Host 100.100.100.100 Eq 80‬‬


‫‪Router#Access-List 111 Permit IP Any Any‬‬

‫لنتناقش بهذة االوامر ‪:‬‬


‫االمر االول حدد نوع ال ‪ ACL Extended .‬من خالل تحديد الرقم ‪ 111‬والذي هو من رينج ال ‪ 101‬الى ‪ . 199‬بعدها حددنا‬
‫البروتكول المعني ولذي هو ‪ TCP .‬ثم بعد ذالك المصدر والمتمثل بشبكة ‪ ، A‬ثم حددنا منطقة الوصول وهي عبارة عن عنوان‬
‫لكومبوتر او روتر ربما يجهز االنترنيت لذالك كتبنا كلمة ‪ HOST .‬اي عنوان واحد فقط‪.‬‬
‫ثم حددنا رقم البورت ‪.‬‬

‫االمر الثاني مهم ‪ ،‬بما أننا طبقنا الية المنع ‪ ،‬فهذا سوف يطبق على الصندوق الكبير ال ‪ IP .‬لذالك يجب إعطاء السماح لهذا‬
‫الصندوق ‪IP .‬‬
‫الناتج سيكون بعد االمر الثاني هو ‪:‬‬

‫(اسمح لكل شي ‪ IP .‬ماعدى ال ‪ TCP ,‬وليس كل ال ‪ TCP‬وانما فقط في جزئية ال ‪ HTTP‬بالبورت رقم ‪)80‬‬

‫االن هذان األمران في اي روتر وفي اي انترفيس سيكونان ؟‬

‫قاعدة ال ‪ Extended ACL‬تقضي باالتي ‪:‬‬


‫(ال ‪ Extended ACL‬دائما ً تكون قريبة جدا ً الى المصدر ‪ Source‬و يكون اتجاهها ) ‪IN‬‬

‫إذن ستكون هذة االوامر في الروتر االول وعلى االنترفيس المواجة للشبكة ‪ A .‬وكماياتي ‪:‬‬

‫‪Router-1#Access-List 111 Deny TCP 1.1.1.0 0.0.0.255 Host 100.100.100.100 Eq 80‬‬

‫‪Router-1#Access-List 111 Permit IP Any Any‬‬


‫==============‬
‫‪Router-1#Interface F0/0‬‬
‫‪Router-1#IP Access-Group 111 IN‬‬

‫‪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‬ثابت لجهاز الكمبيوتر العميل ‪ ،‬جهاز التوجيه والتبديل‬

‫‪Switch(config)#line vty 0 15‬‬


‫‪Switch(config-line)#password cisco‬‬
‫‪Switch(config-line)#login‬‬

‫‪9‬‬
emma(config)#line vty 0 4
emma(config-line)#password love
emma(config-line)#login

emma(config-line)#exit

RouterC(config)#access-list 150 deny tcp host 135.79.40.0 0.0.0.255 135.79.10.2


eq telnet
RouterC(config)#access-list 150 permit ip any any
RouterC(config)#int s0/1
RouterC(config-if)#ip access-group 150 in

10
‫تجربة ‪SSH:5‬‬
‫بروتوكول النقل اآلمن (‪ )The Secure Shell‬هي ميثاق (بروتوكول) اتصاالت للنقل األمن للمعلومات‪,‬‬
‫وخدمات صدفة الحماية عن بعد (‪ )remote shell‬أو لتنفيذ أوامر وخدمات أخرى بين حاسوبين متصلين‬
‫بشبكة التي تربطهما عن طريق قناة أمنة من خالل شبكة يير أمنة وهو مبني على نموذج‬
‫الخادم‪/‬العميل‪.‬أفضل تطبيق للميثاق هو الوصول إلى حسابات صدفة في أنظمة التشغيل شبيهة يونكس‪ .‬صمم‬
‫هذا البروتوكول كبديل لتل نت وييره من البروتوكوالت صدفة الحماية عن بعد يير األمنة‪ ,‬والتي ترسل‬
‫المعلومات‪ ,‬السيما كلمات المرور‪ ,‬كن ص عادي مما يجعلها عرضة لالعتراض والكش باستخدام تحليل‬
‫الحزم‪ .‬التشفير المستخدم في ‪ SSH‬أعد لتوفير السرية وسالمة البيانات عبر شبكة يير أمنة‪ ،‬مثل اإلنترنت‪.‬‬

‫ال ‪ SSH‬هو بروتوكول وليس منتج وهو يهتم بإدارة الحماية للمراسالت عبر الشبكة ويشمل – التشفير –‬
‫التوثيق(مثال عندما تريد الدخول إلى حساب فان ال‪ SSH‬سيطلب منك برهانا رقميا على هويتك وعندها‬
‫يقرر قبولك أو ال) – سالمة البيانات‪.‬‬

‫شرح االتصال عن بعد بالسرفر عن طريق‪ssh‬‬


‫هناك عده طرق لالتصال بالسرفر عن بعد من اهمها هي االتصال عن طريق‪ssh‬‬
‫ويعد من إحدى األدوات األساسية إلتقان كمسؤول النظام هي‪SSH.‬‬
‫ماهو ‪ ssh‬؟‬
‫‪ ،SSH‬أو ‪ ، Secure Shell‬هو بروتوكول يستخدم لتسجيل الدخول بأمان إلى األنظمة البعيدة ‪.‬إنها الطريقة‬
‫عا للوصول إلى لينكس البعيد وخوادم يونكس ولينكس‪.‬‬
‫األكثر شيو ً‬

‫في هذا الدليل ‪ ،‬سنناقش كيفية استخدام ‪ SSH‬لالتصال بنظام بعيد‪.‬‬


‫اوال‪ :‬االتصال عن طريق نظام لينكس و‪Mac OS X‬‬
‫اذا كنت تستخدم نظام لينكس كنظام اساسي فانت بالتأكيد علي دارية تامة باستخدام االوامر واستخدام االمر‬
‫التالي‪:‬‬
‫‪ssh username@remote_host‬‬
‫‪Router>enable‬‬

‫‪Router#config t‬‬

‫‪Enter configuration commands, one per line. End with‬‬


‫‪CNTL/Z.‬‬

‫‪Router(config)#host Satish‬‬

‫‪11‬‬
satish(config)#crypto key generate rsa

The name for the keys will be: satish.linuxtiwary.com

Choose the size of the key modulus in the range of 360


to 2048 for your

General Purpose Keys. Choosing a key modulus greater


than 512 may take

a few minutes.

How many bits in the modulus [512]: 1024

% Generating 1024 bit RSA keys, keys will be non-


exportable...[OK]
satish(config)#line vty 0 10

*Mar 1 0:4:43.632: %SSH-5-ENABLED: SSH 1.99 has been


enabled

satish(config-line)#login local

satish(config-line)#transport input ssh


satish(config)#enable password ccna123

PC>ssh -l ccna 1.0.0.1


Open
Password:

satish>

satish(config)#ip domain-name linuxtiwary.com

12
‫شرح االمر السابق‬
‫‪ssh‬هو االمر‬
‫‪username‬وهوه اسم المستخدم سواء ‪ root‬او مستخدم عادي‬
‫‪remote_host‬هوه اسم ‪ host name‬الخاص بالسرفر او ‪ IP‬الخاص بيه‬
‫ثانيا ‪ :‬االتصال عن طريق ‪windows‬‬
‫هناك عده برامج مشهور لالتصال عن طريق ‪ ssh‬اشهرها‬
‫‪mobaxterm‬‬
‫و ‪PuTTY‬‬
‫وهذا االخير هو االشهر في االستخدام وسوف نقوم بشرح طريقه استخدامه‬
‫ملحوظة ‪ :‬يمكنك الضغط علي اسم البرنامج الذي تريدة واختيار النسخه المناسه لك سواء ‪ 32‬او ‪64‬‬
‫بعد تنزيل النسخه المناسبه لك نقوم بفتح واجه البرنامج سوف تكون مثل الشكل التالي‪:‬‬

‫‪1-‬نقوم باضافة ‪ host name‬الخاص بالسرفر او ‪ IP‬السرفر المراد االتصال بيه‬


‫‪2-‬البورت الخاص باالتصال بالسرفر والبورت ‪ default‬هو ‪ 22‬في حاله اذا تم تغير رقم البورت نقوم‬
‫بوضعه هنا‬
‫‪ 3-‬في حاله لديك اكثر من سرفر وتريد حفظ كل سرفر باسم معين لتسهيل عمليه الدخول في كل مره نقوم‬
‫بوضع االسم ثم نقوم بالضغط علي‪save‬‬
‫‪13‬‬
‫‪4-‬لحفظ االسم كما ذكرنا في الخطوه السابقة‬
‫‪5-‬لختيار احد االسماء التي تم حفظها سابقا‬
‫‪6-‬لحذف احد االسماء التي تم حفظها سابقا‬
‫‪7-‬اخيرا للدخول بعد تسجيل البيانات السابقه نقوم بالضغط علي‬
‫تجربة ‪DHCP SNOOPING:6‬‬
‫وطريقة التصدي له ‪ DHCP Spoofing‬هجوم الـ‬

‫‪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‬‬

‫‪Switch(config)#ip dhcp snooping‬‬


‫‪Switch(config)#ip dhcp snooping vlan 10,32,104‬‬
‫‪Switch(config)#interface range gigabitethernet 0/0/1 – 0/0/3‬‬
‫‪Switch(config-if)#ip dhcp snooping limit rate 3‬‬
‫‪Switch(config-if)#interface gigabitethernet 0/0/8‬‬
‫‪Switch(config-if)# ip dhcp snooping trust‬‬

‫‪17‬‬
‫على السويتش وقبل ان ‪ DHCP Snooping‬أول امر أعتقد بأنه واضح للجميع وهو من اجل تفعيل الـ‬
‫نكمل يجب أن نتفق على شيء مهم جدا وهو مجرد تفعيلك لهذه الخاصية على السويتش يقوم‬
‫أي غير موثوقة أما في األمر الثاني ‪Untrusted‬هو بشكل أوتماتيكي بوضع كل البورتات على شكل‬
‫فنحن نقوم بتحديد الفي الن التى نريد أن نقوم بتفتيشها وهذا شيء مهم أيضا وأساسي ومن خال‬
‫هذا األمر نستطيع ان نكتب كل الفي الن التى نريدها وقد قمت في هذا المثال بأضافة ‪ 3‬في الن‬
‫‪ 10,32,104‬األمر الثالث من أجل تحديد مجموعة من البورتات وقد أخترت ‪ 3‬منافذ التى تشكل اجهزة‬
‫العمالء لدي في الشبكة وبعدها أقوم بتحديد عدد الطلبات التى يسمح له بطلبها وهي تحسب‬
‫ويمكنك زياد هذا الرقم كما تشاء لكن الينصح بهذا كثيرا وآخيرا أدخل ‪ PPS‬بعدد الباكيت كل ثانية‬
‫‪ Trusted‬وأخبر السويتش بان هذا المنفذ موثوق به ‪DHCP‬على المنفذ المرتبط مع سيرفر الـ‬
‫والسبب أوضحته من قبل‬
‫نستخدم األوامر التالي ‪ DHCP Snooping‬وآخيرا لمشاهدة تفاصيل عن حالة الـ‬
‫‪Cisco's IOS‬‬

‫‪Switch#show ip dhcp snooping‬‬


‫‪Switch# show ip dhcp snooping binding‬‬
‫طريقة األعداد (جونيبر)‬
‫أحب أن اوضح بأن هذه األوامر لم أقم بتجربتها بشكل شخصي وهي مأخوذة من موقع جونيبر وعلى‬
‫نفس المثال السابق وهي كاآلتي‬

‫]‪[edit ethernet-switching-options secure-access-port‬‬


‫‪set interface ge-0/0/8 dhcp-trusted‬‬
‫‪set vlan users-vlan examine-dhcp‬‬

‫في األمر االول أخبرت السويتش بأن البورت ‪ 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‬فقط‪.‬‬

‫السياسة االفتراضية ( ‪)Default Policy‬‬

‫من الطبيعي لسلسلة من قواعد الجدار الناري أال تغطي بدقة كل حالة ممكنة؛ فلهذا السبب‪ ،‬يجب تحديد سياسة‬
‫افتراضية لسالسل قواعد الجدار الناري‪ ،‬التي تحتوي على ما سيفعل بالبيانات الشبكية فقط (قبول‪ ،‬أو رفض‪،‬‬
‫أو تجاهل)‪.‬‬

‫افترض أننا ضبطنا السياسة االفتراضية للمثال السابق إلى «تجاهل»؛ فإذا حاول حاسوب خارج مكتبك إنشاء‬
‫اتصال ‪ SSH‬إلى خادومك‪ ،‬فسيتم تجاهل البيانات الشبكية التي أرسلها ألنها ال تطابق أي من القواعد السابقة‪.‬‬

‫أما لو ض ِّبطت السياسة االفتراضية إلى «السماح»‪ ،‬فإن أي شخص –ما عدا موظفي المكتب غير التقنيين–‬
‫جدارا ناريًا مضبوطٌ ضب ً‬
‫طا سيئًا‬ ‫ً‬ ‫سيتمكن من إنشاء اتصال ألي خدمة مفتوحة على خادومك؛ هذا مثا ٌل عن أن‬
‫سيمنع جز ًءا من الموظفين فقط‪.‬‬

‫البيانات الشبكية الداخلة والخارجة‬

‫لما كانت تفصل البيانات الشبكية –من وجهة نظر الخادوم– إلى بيانات داخلة أو خارجة‪ ،‬فإن الجدار الناري‬
‫مكان آخر –أي البيانات الداخلة– تعامل‬
‫ٍ‬ ‫يبقي مجموعةً منفصلةً من القواعد لكل حالة؛ البيانات التي أصلها من‬
‫معاملةً مختلفةً عن البيانات الخارجة من الخادوم؛ من الطبيعي أن يسمح الخادوم بأغلبية البيانات الخارجة ألن‬
‫الخادوم عادة ً «يثق بنفسه»‪ .‬ومع ذلك‪ ،‬يمكن استخدام مجموعة قواعد للبيانات الخارجة لمنع االتصاالت غير‬
‫خترق الخادوم من مهاجم أو عبر ملف تنفيذي خبيث‪.‬‬ ‫المرغوبة في حال أ ِّ‬

‫نعظم االست فادة األمنية من الجدار الناري‪ ،‬فيجب عليك تحديد جميع الطرق التي تريد لألنظمة األخرى‬ ‫لكي ِّ‬
‫أن تتعامل مع خادومك فيها؛ وذلك بإنشاء قواعد تسمع لتلك الحاالت بدقة‪ ،‬ثم تتجاهل بقية البيانات الشبكية‪.‬‬
‫أن قواعد البيانات الخارجة يجب أن تكون صحيحة للسماح للخادوم بإرسال إشعارات استالم ألي‬ ‫ق في بالك َّ‬
‫أب ِّ‬
‫ضا أنه ولما كان على الخادوم أن يبدأ اتصاالت شبكية خاصة به لمختلف‬ ‫اتصاالت داخلة مسمو ٌح لها؛ تذكر أي ً‬
‫األسباب (مثل تنزيل التحديثات‪ ،‬أو االتصال إلى قاعدة بيانات)‪ ،‬فمن الضروري تضمين تلك الحاالت في‬
‫مجموعة القواعد للبيانات الخارجة‪.‬‬

‫‪21‬‬
‫كتابة قواعد البيانات الخارجة‬

‫افترض أن مثالنا عن الجدار الناري مضبوط لتجاهل البيانات الشبكية الخارجة افتراضيًا‪ ،‬هذا يعني َّ‬
‫أن قواعد‬
‫كملة لها‪.‬‬
‫السماح للبيانات الداخلة ستكون عديمة الفائدة دون قواعد البيانات الشبكية الخارجة الم ِّ‬

‫لمالئمة المثال عن قواعد البيانات الداخلة في الجدار الناري (القاعدتين ‪ 1‬و ‪ ،)3‬من قسم «قواعد الجدار‬
‫الناري» السابق‪ ،‬وللسماح باالتصاالت المالئمة بنا ًء على هذه العناوين والمنافذ؛ فعلينا استخدام هذه القواعد‬
‫لالتصاالت الخارجة‪:‬‬

‫‪ .1‬السماح بالبيانات الشبكية الخارجة ال ُمنشَأة على البطاقة الشبكية العامة على المنفذ ‪ 80‬و ‪443‬‬
‫(‪ HTTP‬و ‪.)HTTPS‬‬
‫‪ .2‬السماح بالبيانات الشبكية الخارجة ال ُمنشَأة على البطاقة الشبكية الخاصة على المنفذ ‪.)SSH( 22‬‬

‫هملت (القاعدة رقم ‪ )2‬ألن الخادوم ال يحتاج‬


‫الحظ أننا لم نحتج إلى كتابة قاعدة محددة للبيانات القادمة التي أ ِّ‬
‫إلى إنشاء أو إرسال إشعار إلى ذاك االتصال‪.‬‬

‫برمجيات وأدوات الجدار الناري‬

‫بعد أن تعلمنا كيف تعمل الجدر النارية‪ ،‬فلنلقي نظرة على حزم برمجية شائعة تساعدنا على ضبط جدار ناري‬
‫أن هذه هي أكثرها فعاليةً‬
‫أن هنالك العديد من الحزم المتعلقة بالجدر النارية‪ ،‬إال َّ‬
‫فعال؛ وعلى الرغم من َّ‬
‫عا‪.‬‬
‫وشيو ً‬

‫‪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

You might also like