بعدما تعرفنا في الجزء الأول عن أمن الشبكات وما هو الــ IP Sec ومافوائده في الحمايه سنكمل موضعنا في ها الجزء ابتداءا من : كيفية حماية الشبكات بواسطة الـــ IPSec


كيفية حماية الشبكات بواسطة الIPSe
كيف يحمي IPSec من الهجمات على الشبكات؟



كما نعرف انه بلا اخذ الامن بعين الاعتبار ، فان الشبكه والبيانات التي تمر فيها يمكن ان تتعرض للعديد من انواع الهجمات المختلفه ، بعض الهجمات تكون غير فعاله Passive مثل مراقبة الشبكه Network Monitering ، ومنها ما هو الفعال مما يعني انها يمكن ان تتغير البيانات او تسرق في طريقها عبر كوابل الشبكه. وفي هذا الدرس سوف نستعرض بعض انواع الهجمات على الشبكات، وكيفية منع IPSec حدوثها او كيفية الوقايه منها عن طريق الIPSec .


اولا: التقاط حزم البيانات Eavesdropping, sniffing orsnooping
حيث يتم بذلك مراقبة حزم البيانات التي تمر على الشبكه بنصها الواضح دون تشفير Plain '''' والتقاط ما نريد منها ، ويعالجها الIPSec عن طريق تشفير حزمة البيانات، عندها حتى لو التقطت الحزمه فانه الفاعل لن يستطيع قراءتها او العبث بها، لان الطرف الوحيد الذي يملك مفتاح فك النشفير هو الطرف المستقبل(بالاضافه الى الطرف المرسل ) .



ثانيا: تعديل البيانات Data modification
حيث يتم بذلك سرقة حزم البيانات عن الشبكه ثم تعديلها واعادة ارسالها الى المستقبل، ويقوم الIPSec بمنع ذلك عن طريق استخدام الهاش Hash (الشرح لمعنى الهاش سيكون في الدرس المقبل) ووضعه مع البيانات ثم تشفيرها معا ، وعندما تصل الحزمه الى الطرف المستقبل فان الجهاز يفحص Checksum التابع للحزمه اذا تمت مطابقته ام لا، فاذا تمت المطابقة مع الهاش الاصلي المشفير تبين ان الحزمة لم تعدل، لكن اذا تغير الهاش نعرف عندها ان حزمة البيانات قد تم تغييرها على الطريق.



ثالثا: انتحال الشخصيه Identityspoofing
بحيث يتم استخدام حزم البيانات على الشبكه والتقاطها وتعديلها لتبين هويه مزوره للمرسل، اي خداع المستقبل بهوية المرسل، ويمنع ذلك عن طريق الطرق الثلاثه التي ذكرناها في الدرس الماضي والتي يستخدمها الIPSec وهي:
بروتوكول الكيربرس Kerberos Protocol
- الشهادات الالكترونيه DigitalCertificates
- مشاركة مفتاح معين Preshared key
حيث لا تتم عملية بدأ المحادثه وارسال البيانات قبل التاكد من صحة الطرف الثاني عن طريق احدى الطرق المذكوره سابقا.



رابعا: DoS -Denial ofService رفض الخدمه او حجبها
حيث تعمل هذه الهجمه على تعطيل خدمه من خدمات الشبكه للمستخدمين والمستفيدين منها ، مثلا كاشغال السيرفر في الشبكه بعمل فلود عليه Flood مما يشغله بالرد على هذه الامور وعدم الاستجابه للمستخدمين. ويعمل الIPSec على منع ذلك عن طريق امكانيه غلق او وضع قواعد للمنافذ المفتوحه Ports .



خامسا: MITM -Man In TheMiddle
من اشهر الهجمات في الشبكات، وهي ان يكون هنالك طرف ثالث يعمل على سرقة البيانات المرسله من طرف لاخر وامكانية العمل على تعديلها او العمل على عدم ايصالها للجانب الاخر، ويعمل الIPSec على منع عن طريق طرق التحقق من الموثوقيه والتي ذكرناها سابقا Authentication methods



سادسا: سرقة مفتاح التشفير Key interception
حيث يتم سرقة المفتاح المستخدم للتشفير او التعرف عليه عن طريق برامج كسر التشفير اذا لم يكن بالقوه المطلوبه، هنا لا دور للIPSec بها ، ولكن الدور للWinXP لانه يقوم بتغيير المفاتيح المستخدمه للتشفير بشكل دوري ودائم مما يقلل من خطورة كشفه او سرقته.



سابعا: الهجمات على طبقة التطبيقات Application Layer Attacks
حيث تعمل هذه الهجمات على التاثير على النظام المستخدم في اجهزة الشبكه وايضا تعمل على التأثير على البرامج المستخدمه في الشبكه، ومن الامثله عليها الفيروسات والديدان التي تنتشر بفعل ثغرات في الانظمه او البرامج او حتى اخطاء المستخدمين. يعمل الIPSec على الحمايه من ذلك بكونه يعمل على طبقة IP Layer فيعمل على اسقاط اي حزمة بيانات لا تتطابق والشروط الموضوعه لذلك ، لذا فتعمل الفلاتر على اسقاطها وعدم ايصالها للانظمه او البرامج.



بشكل عام فالIPSec يحمي من معظم الهجمات عن طريق استخدامه ميكانيكية التشفير المعقده ، حيث يوفر التشفير الحماية للبيانات والمعلومات ايا كانت اثناء انتقالها على الوسط (اياً كان) عن طريق عمليتي التشفير Encryption والهاش Hashing .


طريقة التشفير المستخدمه في الIPSec عباره عن دمج لعدة Algorithms ومفاتيح حيث ،
Algorithm : عباره عن العملية الحسابيه التي تمر فيها البيانات لكي تشفر
Key : وهو عباره عن رقم(كود) سري يتم من خلاله قراءه او تعديل او حذف او التحكم في البيانات المشفره بشرط مطابقته للزوج الثاني الذي قام بعملية التشفير.





ماهية الHash ودوره في الحماية


الهاش او HASH عباره عن مجموعة ارقام واحرف عشوائيه يتم توليدها بطرق حسابيه معقده جدا من نص عندك (ممكن رساله) او من حزمة بيانات ، او حتى من بيانات حجمها 1000 ميجا، الهاش طوله وشكله ثابت لا يتغير ، هو لا يشفر ، وانما هو للحفاظ على مصداقية البيانات.




بمعنى انه ان اراد احد ارسال رسالة, فانه يخرج الهاش الخاص بها و يرسله مع الرسالة, و الشخص الذي يستقبل الرسالة يقارن الهاش الذي استلمه بالهاش الخاص بالرسالة, فان تم تعديل الرسالة و لو باضافة مسافة , فان الهاش سيختلف

يستخدم الهاش في برامج الOpen Source بكثره ، لانه ممكن تعدل ويتم نسبتها للشركه الام (هذا هو الMD5 الموجود في مواقع اللينكس) .



ومن انواعه الجديده والمستعمله بكثره MD5 : Message Digest 5 لكن يقال ايضا انه تم كسره عن طريق CIA وان جميع لجان الاتحاد الاوروبي لم تعد تستعمله.


احدث انواعه واقواها هو SHA-1 -Secure Hash Algorithm وهو المستخدم في متصفح IE . (سمعت مؤخرا ان ايضا الCIA قامت بفكه وان الاتحاد الاوروبي انتقل الى استخدام هاش جديد ) .


مع العلم ان الهاش One way process بمعنى انه لا تستطيع ارجاع شيء من الهاش المنتج.




























الIPSec والوندوز بشكل عام


بعدما قمنا باستعراض القليل من المعلومات الهندسيه بالنسبه لبنية IPSec (IPSecSt"*"*cture) سنقوم الان بالتحدث عن وجوده في الويندز وكيف ومتى بدأ.


كما قلنا في اول الموضوع ان الحاجه الى التشفير كبيره جدا ، لذلك تم ابتكار الIPSec ، وكما نعرف ان الWin2000 اعتبر قفزه نوعية لمايكروسوفت وادخلها مضمار الشبكات بقوة ، لكن يا ترى هل مايكروسوفت من قام بوضع الIPSec وعمل Deployment له في الويندز ؟


الجواب لا ، وذلك لان من قام به شركة CISCO بعد اتفاقيه مع مايكروسوفت بذلك ، ولذلك نلاحظ قوة IPSec.


يطرأ سؤال على ذهن الجميع ، كيف يمكننا ان نستخدم ونستغل الIPSec ؟ الجواب سهل.
يستخدم الIPSec عن طريق ما يعرف بالسياسات IPSec Policies والتي تطبق في الشبكه ، حيث ان كل مجموعة من القواعد التي تريد تطبيقها تشكل لنا سياسه، والIPSec يستخدم هذه النظريه ، الامر الذي يجب الانتباه له هو اننا لا نستطيع عمل اكثر من سياسة لكل جهاز كمبيوتر ، لذلك يجب عليك تجميع كل القواعد والامور التي ترغب في تطبيقها في سياسه واحده تطبق على مستوى الاجهزه لا على مستوى الافراد .
قبل القيام بوضع القواعد وتطبيق السياسه ، يجب علينا مراعاة مايلي:



*نوع الحركه TrafficType :
حيث انك تقوم باستخدام الفلاتر(سنتناولها في درس قادم) لتحديد نوعية الترافيك الي تريد تطبق عليها هذه القواعد ، فمثلا تستطيع ان تطبق فلتر يعمل على مراقبة بروتوكول HTTP و FTP فقط دون الباقي.



*ماذا سيفعل الIPSec بعد التحقق من نوع الحركهTraffic :
بعد ذلك يجب ان نحدد للIPSec ماذا سيفعل بعد تطابق الترافيك مع الفلتر ، وهو مايسمى Filter Action والذي تستخدمه لتخبر السياسه Policy ماذا ستفعل اذا تم مطابقة الترافيك حسب الفلتر، فمثلا يمكنك ان تجعل الIPSec يقوم بمنع الحركه على بورت بروتوكول FTP ، وايضا تجعله يعمل على تشفير الحركه على بورت بروتوكول HTTP . وايضا تستطيع من خلال Filter Action بتحديد اي انظمة التشفير والهاش التي تريد ان تستخدمها Encryption and Hashing Algorithms يجب على السياسه ان تستخدم.



*طريقة التحقق من الموثوقيه Authentication Method :
حيث يستخدم الIPSec ثلاث طرق للتحقق من الموثوقيه وهم :



-بروتوكول الكيربرس Kerberos Protocol
- الشهادات الالكترونيه Digital Certificates
- مشاركة مفتاح معين Preshared key
كل سياسة تستطيع تطبيق طريقتين للتحقق من الموثوقيه.
(ان شاء الله سنتناول بعضها من هذه الطرق بشرح مفصل منفرد حسب الاستطاعه)



*استخدام احدى نظامي الIPSec وهما Tunnel or Transport mode
(عد الى الدرس الثاني لترى استخدام كل نظام) : حيث علينا ان نحدد في السياسه اي النظامين يستخدم .



*نوع الاتصال او الشبكه التي سيتم تطبيق السياسة عليهاWhatconnection type the "*"*le applies to:
حيث ان السياسه يمكن ان تحدد الIPSec في نظاق الشبكه المحليه LAN ، او ان يعمل على اساس الوصول من بعدRemoteaccess او ما يعرف بWAN ، او الاثنين معا.
الان بعد التعرف على الامور التي يجب اخذها بعين الاعتبار قبل تطبيق وعمل السياسه ، سنتعرف على انواع السياسه في الWin2000 &2003 ، حيث توجد هناك ثلاثه انواع منها :
-Client (Respondonly)
-Server(Request Security)
-Secure Server (RequireSecurity)



وكل واحده من هؤلاء تحتوي على اعدادت خاصه تناسب الغرض التي ستطبق لاجله.(طبعا في الشركات الصغيره او المتوسطه ، لكن كلما كبر حجم الشركه وزاد التعقيد زادت الحاجه الى استخدام سياسه مبتكره من قبل الشركه نفسها).


Client (Respond only)
افضل ما تطبق هذه السياسه على Domain Group security policy وذلك لكي تضمن لنا امكانية رد المستخدم على طلبات الاحهزه الاخرى باجراء تشفير عن طريق IPSec ،، اذا تعتبر هذه السياسه اساسيه في اي شبكه سيعمل فيها ولو سيرفر واحد على الIPSec ، حيث في هذه السياسه لن يقوم المستخدم بارسال طلب المحادثة والتشفير عن طريق الIPSec وانما سيقوم بالاجابه والدخول في الطلبات التي يتسقبلها لذلك من الاجهزه الاخرى في مجال IKE . اذا كنت تفكر في تطبيق IPSec على اي جزء من اجزاء الشبكه فالاحرى بعد ذلك ان يتم تطبيق هذه السياسه على مستوى Domain.



Server (Request Security)
تطبق هذه السياسه في العاده على السيرفرات التي ستتحدث مع احهزة Win2000 او حتى اجهزة Non-win2000 مثل Unix وغيره ، في هذه الحاله ، اذا كان المستخدم يستطيع التعامل مع IPSec فان جميع المحادثات بينهما ستكون مشفره فيه ، اما اذا لم يملك المستخدم القدره على استخدام الIPSec فانه يستعامل مع السيرفر بطرق المحادثه والاتصال العاديه (اي دون اي اثر للIPSec فيها). تطبق هذه السياسه في حالة وجود خليط من الاجهزه في الشبكه حيث يكون بعضها يستخدم IPSec والبعض الاخر لا ، فتكون هذه هي الانسب لذلك .



Secure Server (Require Security)
تضمن هذه السياسه للسيرفرات عدم التكلم وسقوط جميع انواع المحادثه والاتصال مع الاجهزه التي لا تستخدم او لا تدعم الIPSec ، حتى لو كانت هذه الشبكه او هذا الجهاز موجوده في T"*"*sted Sites and DOmains . وافضل ما تستخدم هذه السياسه اذا دعت الحاجه الى تشفير كل شيء يصدر عن سيرفر محدد كالسيرفرات في البنوك وغيره، وبسبب تشدد هذه السياسه فانه يجب علينا في بعض الاحيان وضع اعفاءات واستثناءات من استخدام الIPSec كما يحصل في بروتوكول SNMP - Simple Network Management Protocol .



---------------------------------------ملاحظات----------------------------------
فقط سياسه واحده تطبق على مستوى الجهاز الواحد ـ، اذا اردت عدد من الخيارات التي تريد تطبيقها فقم بعمل سياسه محدده من قبلك Custom Policy .
اذا كانت الشبكة محميه بواسطة جدار ناري Firewall فيجب عليك عمل الاتي:
فتح بورت UDP 500
السماح بالProtocol Identifier (ID) number 51for AH , number 50 for ESP
(مع الملاحظه ان رقم البروتوكول ID يختلف عن رقم البورت).










مثال نظري على IPSec


هذا الدرس وهو مثال نظري على IPSec ، سيتم اكمال الشرح عن الIPSec تحت بيئة WIndows 2000 لكن المثال سيكون في كيفية تعامل مكونات الشبكه الماديه مع IPSec (هذا الدرس مأخوذ من عدة كتب لمايكروسوفت منها 2150A و 2810 مع بعض التعديل والترجمه بتصرف طبعا) .


يعمل الIPSec على الشبكه بسبع خطوات رئيسيه ، هي (مع ملاحظة المخطط في الاسفل حيث ان الشرح سيكون من خلاله لذا انظر المخطط اولا) :



1. يقوم الجهاز
A بارسال حزم بيانات عن طريق الكوابل على الشبكه الى الجهاز B .


2. يقوم IPSec Driver على الجهاز A بتحديد ان البيانات يجب ان تكون امنه عند انتقالها من كمبيوتر A الى B .


3. تتم عملية المباحثات بين الجهازين Negotiations فيتباحثان ويتفقان على استخدام المفتاح المشترك بينهما Shared Key وعلى المفتاح السري الخاص بالتشفير Secret Key ، وكله عن طريق بروتوكول IKE -Internet Key Exchange . مع الملاحظه بان المفتاح المشترك Shared Key يكون معلوما من قبل الطرفين دون انتقاله على الشبكه.


4. يقوم الIKE بعمل نوعين من الاتفاقيات بين الجهازين Two types of Agreements ، تسمى Security Associations SA او روابط الامن ، بين الجهازين. النوع الاول يحدد كيفية وثوق كلا الجهازين ببعضمها البعض وكيفية تأمين وحماية حزم البيانات الصادره عنهما، والنوع الثاني يحدد كيفية حماية جزء ونوع محدد من اتصال التطبيق (البرنامج) .


5. بعد اكتمال وانتهاء عملية المباحثه بواسطه IKE ، يتم تمرير مفتاح التشفير من الجهاز A الى IPSec Driver ثم يعمل هذا المحرك IPSec Driver على عمل هاش Hashes من حزم البيانات الصادره للحفاظ على مصداقية المعلومه DataIntegrity ، واختياريا (انظر انماط الIPSec ) يعمل على تشفير حزم البيانات للحفاظ على سرية المعلومات Data confidentiality .


6. جميع معدات الشبكه الاخرى مثل الراوترات والسيرفرات لا تحتاج لتطبيق الIPSec عليها، حيث تتعامل مع حزم الIPSec على انها حزم عاديه وتقوم بتمريرها على الشبكه.


7. يقوم الIPSec Driver الخاص بالجهاز B بفحص حزم البيانات للتأكد من مصداقيتها Integrity ويقوم بفك تشفير محتوياتها (اختياريا) ومن ثم يعمل على ارسال البيانات الى البرنامج او التطبيق المستقبل لها.



هكذا نكون انتهينا من مثال على الIPSec (مثال على كيفية عملة على الشبكه وليس على الWindows حيث سنأتي اليه بموضوع منفصل كليا وواسع جدا) .