" أمن الشبكات "

" أمن الشبكات "


مقدمة :
ال Access List يتم بنائها في ال Global Configuration Mode الخاص بالرواتر أو السويتش، ولكن تطبيق هذه ال Access List يتم على الإنترفيس، بمعنى لو أنك قمت بعمل مليون أكسس لست لكي تمنع كاظم الساهر من دخول الموقع ولم تقم بتطبيق هذه الأكسس لست على ال Interface فإنك لن تستطيع أن تمنع كاظم من دخول الموقع على الإطلاق، وهذه نقطة مهمة جداً، إنشاء ال Access List يتم في ال Global Mode و تطبيقها يتم على الإنترفيس.

ال Access List تتبع طريقة الفحص المتسلسل للتعليمات والشروط، بمعنى أن كل Access List كما ذكرنا سابقاً تتكون من عدد من ال Statments ، أو عدد من الشروط والتعليمات ، عندما تأتي Packet معينة للرواتر وتحديداً لل Interface الذي طبقنا عليه ال Access List فإن هذه الأكسس لست تقوم بفحص هذا ال Packet وتمريره على ال Statments أو الشروط بالترتيب من الأعلى للأسفل، الرواتر سيمسك ال Packet ويقارنها بالشرط الأول وسيسأل الرواتر نفسه: هي الشرط ينطبق على هذه ال Packet أو لا ؟؟؟

إذا إنطبق الشرط فإن الرواتر يتوقف ليقرأ الإجراء ، فلو كان الإجراء يقول:

*** مسموح المرور =====> فإن الراوتر سيتخذ الإجراء المنصوص عليه و سيمرر ال Packet عبر الإنترفيس المطبقة عليه ال Access List ولن يقوم الراوتر بمقارنة ال Packet مع باقي الشروط أو ال Statments ، وهنا ينتهي دور ال Access List .

*** غير مسموح المرور===> فإن الراوتر سيتخذ الإجراء المنصوص عليه و سقوم بمنع ال Packet من المرور عبر الإنترفيس، وسيقوم الراوتر بتحطيم ال Packet وتدميرها.

يرجى الإنتباه بأنه في نهاية كل Access List نقوم بإنشائها يوجد إجراء أو Action مخفي ولا يمكن رؤيتها أو حتى قرائتها، هذا الإجراء يقول (( إمنع الكل )) ، مثلاً: قلنا لبواب العمارة: يا بواب إمنع فقط علي و خالد وعمر من دخول البناية، يوجد هناك أمر مخفي في ال Access List يقول: إمنع الجميع، وبالتالي لو حضر مصطفى فلن يتمكن من الدخول، ليس بسبب أن إسم مصطفى مدرج من ضمن أسماء الأشخاص المحظور دخولهم، كلا يا إخوان، ولكن بسبب أنه يوجد تعليمة مخفية تقول إمنع الكل، وبالتالي إسم مصطفى هو من ضمن الكل صحيح ؟؟ وبالتالي تم منع مصطفى على هذا الأساس.

أنواع ال Access List :

1- Standard Access List

هذا النوع يستخدم عنوان أو IP Address للجهاز المرسل أو ال Source Address فقط، وبالتالي فإن الشرط هنا هو العنوان أو ال IP Address للجهاز المرسل فقط فقط فقط لا غير. 

طيب ماذا تفهمون من كتابتي لكلمة فقط ثلاث مرات ؟؟؟؟ الجواب هو أن هذا النوع من ال Access List ليس لديه المقدرة أن يمنع أو يمرر سوى IP Address للجهاز المرسل فقط، وبالتالي لن نتمكن من منع بروتوكول معين أو جهاز مستقبل، بل يتم هنا منع فقط جهاز مرسل معين له IP Address معين، أي أن هذا النوع من ال Access List هو فقط يعمل على المستوى الثالث من الطبقات السبعة وهو ال Network Layer فقط.

يتم إنشاء هذا النوع عن طريق الدخول إلى ال Global Configuration Mode ومن ثم إعطاء الأمر Access-list ومن ثم كتابة رقم، يوجد لل Standard Access List مجال من الأرقام المستخدمة، هذا المجال كما يالي:

من 1 ولغاية 99 ، يعني يمكنك كتابة أي رقم هذا ال Range للدلالة على إنشاء Access List من نوع Standard ، وفرضاً أننا إخترنا الرقم 20 ليكون رقم الأكسس لست التي كتبناها فإنه يمكننا كتابة العديد من الشروط داخل هذه ال Access List والتي رقمها 20 .

عندما صمم المبرمجين ال Access List إعتقدوا أن الشركات لن تحتاج سوى لهذا ال Range من ال Access List ولكن مع تطور الحياة وكما حصل مع نكبة ال IP Address Version 4 نفس الشيء حصل مع ال Standard Access List ، ماذا حصل ؟؟؟ حصل أن بعض الشركات قد تضطر أحيانا لكتابة ألوف ال Access List على أنظمتها، فطبعاً جلس مطورو ال Access List وعملوا Range جديد إضافي لل Standard Access List وأعطوه المجال التالي:

من 1300 ولغاية 1999 ، فلو كتبت للرواتر الرقم 1500 أو الرقم 20 فسيفهم الرواتر على الطاير أن هذه الأكسس لست هي من نوع Standard وبالتالي لن يعطيك أية خيارات سوى خيار منع أو السماح لل IP Address للجهاز المرسل لل Packet .

مثال:

Router(config)#access-list 49 deny 192.168.0.0 0.0.255.255

2- Extended Access List

هذا النوع يستخدم في تقييمه لل Packet العديد من الأمور، مثل: عنوان المرسل، عنوان المستقبل، نوع بروتوكول معين في المستوى الرابع أو Transport Layer، رقم Port للجهاز المرسل، رقم البورت للجهاز المستقبل. وبالتالي نلاحظ هما أنه يمكننا التحكم بمستويين من مستويات الطبقات السبعة وهما The Network Layer و The Transport Layer .

وهذا يعطي ال Extended Access List قوة أكبر في إمكانية التفصيل بشكل أكبر في تحديد الشروط.

يتم إنشاء هذا النوع عن طريق الدخول إلى ال Global Configuration Mode ومن ثم إعطاء الأمر Access-list ومن ثم كتابة رقم، وكما في ال Standard فإنه أيضاً يوجد مجال أو Range لهذا النوع وهو ال Extended Access List ، وهذا ال Range كما يلي:
من 100 ولغاية 199 ، يعني يمكنك كتابة أي رقم هذا ال Range للدلالة على إنشاء Access List من نوع Extended ، وفرضاً أننا إخترنا الرقم 160 ليكون رقم الأكسس لست التي كتبناها فإنه يمكننا كتابة العديد من الشروط داخل هذه ال Access List والتي رقمها 160 .
أيضاً صدم المبرمجين للأكسس لست بأن بعض الشركات يمكن أن تطبق عدد من الأكسس لست أكثر من ال Range الذي تم تصميمه، ولهذا فقد زادوا وأضافوا أيضاً Range إضافي لل Extended Access List وهو كما يلي:
من 2000 ولغاية 2699، فلو كتبت للرواتر الرقم 2600 أو الرقم 2001 فسيفهم الرواتر على الطاير أن هذه الأكسس لست هي من نوع Extended وبالتالي سيعطيك الرواتر خيارات أكبر للمنع أو السماح، وهذه الخيارات طبعاً تكلمنا عنها سابقاً مثل عنوان الجهاز المرسل أو الجهاز المستقبل، رقم البورت للجهاز المرسل و رقم البورت للجهاز المستقبل، Protocol معين ... وهكذا.

مثال:
Router(config)access-list 115 deny tcp any host 172.16.16.1 eq 80

3- Named Access List 
هذا النوع صراحة أنا شخصياً لا أعتبره نوع !!! ولكن أعتبره طريقة لتسمية ال Access List بإسم يدل على مضمون هذه ال Access List وبالتالي يسهل علينا كمسؤلين عن جهاز الرواتر أو السويتش أن نعرف: لماذا أنشأنا هذه الأكسس لست، مثلاً لو أردنا منع التصفح على الإنترنت فبإمكاننا أن نكتب Named Access List ونسميها No_Internet أو STOP_INTERNET ومن ثم نطبقها على الإنترفيس بنفس الإسم وبالتالي لو عدنا للأكسس لست في وقت لاحق فإننا سنعرف أن هذه الأكسس لست أنشأت لمنع الوصول للإنترنت. 
طبعاً هذا النوع الثالث يستخدم النوعين السابقين من ال Acsess List وهما ال Standard و ال Extended ، فقط الإختلاف في ال Command .
مثال:
ٌRouter(config)#ip access-list standard NO_INTERNET

أو
ٌRouter(config)#ip access-list standard STOP_INTERNET
وعندما نريد أن نطبقها على الإنترفيس نستبدل الرقم ب الإسم الذي كتبناه.

عندما ننشأ أي Access List وكما ذكرنا سابقاً فهي عديمة الفائدة مالم تطبق على ال Interface ، ولكي تطبق على الإنترفيس لابد من الذهاب للإنترفيس عن طريق الأمر Inteface xxxx ، طبعاً ال xxx هنا عنيت بها أي إنترفيس على الراوتر سواء كان إثرنت أو سيريال أو ATM أو غيره، ومن ثم و بعد أن نكون في ال Inteface Mode نقوم بتطبيق الأمر التالي:

Router(config-if)#ip access-group (access list number) (in or out)k

طبعاً ماقصدته ب access list number هو أي رقم من ضمن ال Range الذي تكلمنا عنه سواء لل Standard أو لل Extended .

ولكن ماذا أقصد ب in أو out ؟

هذه هي نقطة الضعف عند معظم من يدرس ال Access List ، ولكن سأعطيكم بعون الله طريقة لن تخطئوا على الإطلاق في كيفية تحديد أي من الخياران أن نختار، ولكن قبل ذلك دعونا نتكلم قليلاً عن ال in و ال out .

كما ذكرنا سابقاً يا إخوة أن ال Access List عديمة الفائدة مالم تطبق على ال Interface ، وتطبيقها كما شرحنا سابقاً يتم على أن ندخل على الإنترفيس ومن ثم نصدر الأمر ip access-group ونتبعه برقم الأكسس لست، ومن ثم نتبعه ب in أو out ، كل هذا في سطر واحد، طيب ماذا نقصد ب in و ماذا نقصد ب out ؟؟؟

in هي إختصار ل Inbound Access Lists و out هي إختصار ل Outbound Access List ، يعنى ال Access List تطبق على ال Packets الداخلة للراوتر أو الخارجة منه، طبعاً تحديد الإتجاه هو من العوامل المهمة جداً في نجاح تطبيق ال Access List ، ولكي نعرف كيف نطبق ال Access List في الإتجاه الصحيح دعونا نتبع هذه القاعدة السهلة جداً، ولو فهمتوا هذه القاعدة فلن ولن تخطؤا الإتجاه بعون الله على الإطلاق.

قاعدة تحديد إتجاه ال Access List :

أول شيء نضع عيننا على ال Interface الذي سنطبق عليه ال Access List ونلاحظ

----------O

ال O هي الراوتر ، وال ---- هي الإنترفيس، طيب خلينا نلاحظ التالي:

*** إذا كانت ال Packet موجودة داخل الراوتر ونريد منعها أو السماح لها بالخروج من الرواتر عبر ال Interface نقول: من ======> إلى ، أي من داخل الراوتر إلى خارجه ، أي من In إلى Out ، دائماً دائماً دائماً نختار الشق الثاني، وفي هذه الحالة هو Out .

*** إذا كانت ال Packet موجودة خارج الراوتر ونريد منعها أو السماح لها بالدخول للراوتر عبر ال Inteface نقول: من ======> إلى ، أي من خارج الراوتر إلى داخله ، أي من Out إلى In ، دائماً دائماً دائماً نختار الشق الثاني، و في هذه الحالة هو In .

هذه ببساطة هي القاعدة، وأقسم بالله يا إخوان منذ أن فهمت هذه القاعدة لم أخطئ يوماً على الإطلاق في تحديد هل ال Access List ستطبق In أو Out ، وأنتم بعون الله لن تخطئوا على الإطلاق لو فهمتوا القاعدة بشكل صحيح.

ماهو ال Wildcard Mask ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

ال Wildcard Mask هو رقم من أربع مقاطع، شكله شكل ال Sunbet Mask بالضبط، صيغته تكون في الغالب مثل ال Subnet Mask يعني هكذا :

255.255.255.0

ولكنه ليس ال Subnet Mask على الإطلاق، ولاتقعوا في فخ من يدعي أنه إذا عكسنا ال Subnet Mask فإننا نحصل على ال Wildcard Mask ، هذه الطريقة للحصول على ال Wildcard Mask خطأ خطأ خطأ.

الطريقة الصحيحة لكتابة ال Wildcard Mask لننتبه على هذه النقطة التي سأكتبها:

مثلاً دعونا نأخذ هذا المثال:

ال IP Address هو 192.168.1.1 و ال Wildcard Mask له هو0.0.0.255

ماذا يعني هذا المثال ؟؟؟ دعونا نكتب العنوانين تحت بعضهم

192.168.1.1

0.0.0.255

الرواتر عندما نكتب له هذا العنوان ونتبعه بهذا ال Wildcard Mask فكأننا نقول له:

يا راوتر طبق ال Access List والتي رقمها كذا على أي IP Address مقطعه الأول 192 ، ومقطعه الثاني 168 ، ومقطعه الثالث 1 ، وبالنسبة للمقطع الرابع فلا يهم، يعني طنش المقطع الرابع، يعني سواء كان المقطع الرابع هو الرقم 1 أو 7 أو 56 أو 99 أو أي قيمة بين 1 و 254 فطنشه ولا تهتم له.

طيب لماذا قال الرواتر هذا الكلام ؟؟؟؟ 

الرواتر قال هذا الكلام لأن قاعدة ال Wildcard Mask تقول بأنه لو كتبنا الرقم 0 فهذا (إلزام) ولا مجال للتغاظي أو التطنيش، وفي مثالنا السابق كان المقطع الأول والثاني والثالث هو من إنطبق عليهم قاعدة (إلزام).

ولو كتبنا للراوتر الرقم 255 فهذا يعني (لايهم) يعني كما شاهدنا في المثال السابق بالنسبة للمقطع الرابع إنطبق عليه قاعدة (لايهم).
الشبكة الافتراضية الخاصة Virtual Private Network - VPN
ان فكرة الشبكات الافتراضية الخاصة او ما يعرف بال Virtual Private Networks و تذكر اختصاراً ب VPN, قد ساهمت في تخفيض تكاليف نقل المعلومات الخاصة بالشركات و المؤسسات بين فروعها البعيدة عن المقر الرئيسي لها و بين المستخدم المنزلي الذي يريد الوصول الى معلوماته المتوفرة في جهاز الحاسب المنزلي.
قد تملك شركة من الشركات مكتباً واحداً, و قد تملك مكاتب كثيرة متوزعة في انحاء مختلفة من البلاد او خارج البلاد. قد يعمل موظفوها من المكتب الرئيس لها او من خلال المكاتب المتوزعة في انحاء البلاد او حتى من خلال بيوتهم او مواقعهم البعيدة كحقول النفط في البحار. في مثال الشركة ذات المكتب الواحد, استخدام الشبكة العادية او ما يعرف بالLocal Area Network و التي تعرف اختصاراً بال LAN باستخدام تقنية الايثرنت , قد يكفي لايصال و ربط كافة اجهزة الكمبيوتر الموجودة في المكتب مع بعضها البعض, و لكن للمكاتب البعيدة كلأمثلة التي ذكرناها في الاعلى, فان الشركة تحتاج الى شيء آخر غير ال LAN.
في الماضي, كان المستخدم البعيد او الموظف الذي يعمل من منطقة بعيدة عن المقر الرئيس للشركة يتصل من خلال مودم عادي للشركة باستخدام خطوط الهاتف. يقوم سرفر و مودم اخر موجودان في مقر الشركة بالرد على اتصال الموظف ليقوم بعمله و يتم اقفال الخط بعد الانتهاء من العملية. سلبيات هذه الطريقة كانت من عدة نواحي منها كلفة فواتير الهاتف المتصل منه المستخدم البعيد, ايجار الخطوط ,سرعة الاتصال البطيئة ,بالاضافة الى اشغال خط الهاتف اثناء فترة الاتصال. رغم هذه السلبيات كانت العملية نوعاً ما آمنة لانها كانت تصل الطرفان بشبكة مغلقة و مسار خاص. كانت الشركات المقتدرة تستخدم خطوط عالية السرعة تسمى بالLeased Lines لتتغلب على مشكلة السرعة لكنها كانت تدفع مبالغ ضخمة في مقابل هذه الخدمة لربط النقطتين بشكل متواصل و بسرعة عالية و بشبكة خاصة آمنة نوعاً ما.
عندما انتشرت شبكة الانترنت في كل مكان, كانت هناك فرصة استخدامها كوسيط لنقل المعلومات و كشبكة يمكن من خلالها نقل المعلومات من مكان الى آخر بأسعار زهيدة مقارنة بالطريقة السابقة, و لم يكن هناك داعٍ لتوصيل نقطتين مع بعضها فيمكن الاتصال من اي جهاز في العالم باي جهاز في العالم ان كانا متصلين بالانترنت. و ان كانت نوعية الاتصال بين الجهازين هو الADSL فان التكلفة تكون ثابتة و مناسبة و الاتصال قائم بشكل مستمر.
المشكلة في هذه الطريقة هي ان اتصال الجهازين عبر شبكة الانترنت يعرضهما مع المعلومات الخاصة بالشركة الى الاختراق, و هذا الاتصال يعتبر غير آمن و لن تقبل به الشركات و المؤسسات لما يحمله من مخاطر, فكان لابد من ايجاد حل لمشكلة الامن هنا و لهذا تم اصدار الشبكات الافتراضية الخاصة.
الشبكة الافتراضية الخاصة توفر الأمن للشبكة الخاصة بالاضافة الى الاسعار المناسبة باستخدام شبكة الانترنت.
هنا يجب فصل الطرفين عن الانترنت من الناحية الظريقة, عن طريق وضع الاجهزة ي نطاق IP معين و خاص كشبكات محلية خاصة بكل جهة. يجب وضع جدار ناري او Firewall للجهة التي ستستلم الاتصال او من المنتظر ان يتم الاتصال بها للوصول الى المعلومات الخاصة بها, و يقوم الجدار الناري بابعاد مستصفحي الانترنت و منعهم من الدخول او الوصول الى السرفر الخاص بالشركة الا من خلال كمبيوترات معينة تختارها الشركة. 
الفكرة الرئيسة في مسألة الشبكة الافتراضية الخاصة هي عبارة عن بناء "نفق" خاص بين الجهازين كما في الصورة, النفق او ال VPN Tunnel هو عبارة عن معلومات خاصة و مشفّرة يتم تبادلها بين الجهازين الذان يقومان بفك التشفير عند استلام المعلومات من الطرف الآخر من النفق الافتراضي بعد ان يبعد الجدار الناري اي اتصال غير مرخص له من مدير النظام او المسؤول عن الشبكة في الشركة او فرعها. الفكرة هي حماية المعلومات من خلال النفق المشفر للبيانات و ايضاً التأكد من هوية الجهاز المتصل من خلال الجدار الناري الذي لن يقبل اي اتصال غريب
ان استخدام الشبكة الافتراضية الخاصة لن تكون معدقة للمستخدم العادي فهو لن يرى سوى المجدات الخاصة به على السرفر الخاص
بعد التقدم والتطور الذي حصل في عالم أمن المعلومات، وبعد تطور أساليب المخترقين في عملياتهم وتنوعها مثل: , Man-IN-The-Middle) Sniffing , (Relaying والكثير غيرها، كان لا بد من إيجاد طريقة آمنة لتخطي هذه الأمور وخصوصاً في التعاملات المالية كالتجارة الإلكترونية وعمليات كشف الحسابات عن طريق الإنترنت وغيرها، فكان لابد من طريقه لتأمين ذلك، فتم تطوير تقنية الSSL : Secure Socket Layer وامنت هذه الطريقة قيام اتصال آمن مشفر Encrypted ضمن تعقيدات متفاوتة فمنها ال40Bit ومنها 128bit فتم استخدام الSSL لتشفير وحماية قنوات الاتصال التي تنتقل عبرها البيانات مثل SMTP او الDatabase Communications. 

وتم استخدام ما يعرف بSSL over HTTP في المواقع التجارية ومواقع البريد الالكتروني فأصبحت تسمى HTTPS : Secure Hyper Text Transfer Protocol واستخدم بورت 443 بدلاً من 80 الخاص بHTTP ــ، وانتشر واشتهر بشكل كبير. 
ثم ظهرت تقنية مشابه له ولاستخدامه وهي الTLS : Transport Layer Security وهي تقنية محسنة من الSSL ولكنهما يختلفان في طريقة أداء العملية ، والطريقتان تحتاجان للشهادات الالكترونية Certificates أو بالأحرى Web-based Certificates . 
وظهرت تقنية أخرى داخل الشبكة نفسها وليس على شبكة عالمية كالانترنت ، وهي SMB Signing ، الجميع يعلم أن الSMB : Server Message Block هي الpackets الي يتم إرسالها بين السيرفر والأجهزه في عملية المشاركة في الملفات وغيره Sharing ، وللحماية من طريقة سرقة المعلومات أثناء مرورها في الأسلاك Man In The Middle MITM وهذه الطريقه تدعى SMB Signing ، يتم بواسطتها إضافة الHash (وهي طريقة يتم من خلالها استخلاص رمز معين تم حسابه باستخدام عمليات رياضية
من الرسالة ، ومن الامثلة عليه MD4 , MD5 , SHA-1 ويتم تشفير هذا الHash واضافته للرسالة وبذلك نحافظ على صحة الرسالة Message or Packet Integrity . 
لكن ظهرت المشكلة الكبرى بكون جميع هذه التقنيات تعمل على طبقة التطبيقات المسماة ب((Application Layer في النموذج المعياري لربط النُظُم المفتوحة المسمى ب(OSI Model) أي أن وظائف هذه التقنيات السابقة محدودة جدًا، فهي لا تستطيع تشفير الا ما بنيت لأجله، ولذلك كان لا بد من ابتكار طريقة تمكننا من تشفير كل حزمة (Packet) تصدر من أي جهاز ،، فتم ابتكار تقنيه الIP Security وهي تقنيه تعمل على طبقة الشبكة المسماة ب( Network Layer ) في الOSI Model بمعنى انه يقوم بتشفير كل شيء يصدر عن الجهاز ويرسله على الشبكه Network بما ان ال( Network Layer ) هي الجهة التي من خلالها يمرر كل شيء للشبكة.IPSec تقنية توفر الموثوقية والصحة والتشفير لكل شيء يمر من خلالها على مستوى الIP Packet. وفي هذه الورقة ستتناول كل مايتعلق بال IPمن أنواعه وأقسامه وفوائده وكيفية عمله إن شاء الله تعالى.


شكل 1: توضح الصورة موقع الIPSec في الOSI Model 

- ما هي الIPSec ؟
IPSec: هي مجموعة معايير من البروتوكولات والخوارزميات طورت بواسطة اللجنة الخاصة لنظام الإنترنت Internet Engineering Task Force (IETF) واعتمدت كمعايير الإنترنتِ لتوفر التحقق من سلامة وسرية المعلومات التي أرسلت عبر شبكات الIP، وذلك بجعلها تعمل في طبقة الIP بحيث تتمكن من حماية أي نوع من نقل البيانات من خلال الIP.
عادةً يعبر عن الIPSec بأنها Transparent Security Protocol لأن المستخدم و التطبيقات لايشعرون بوجودها لأنها تعمل على طبقة الشبكة ( Network Layer )، ويعمل الIPSec في البيئات التي تكون سرعة الاتصال بها سريعة.


- بروتوكولات الIPSec
ينقسم الIPSec الى ثلاث بروتوكولات:
أولاً: AH : Authentication Header
يستخدم الAH في توقيع Sign الرسائل والبيانات ولا يعمل على تشفيرها Encryption ، حيث يحافظ على: 
1.موثوقية البيانات Data authenticity: أي أن البيانات المرسلة من هذا المستخدم هي منه وليست مزورة أو مدسوسة. 

2.صحة البيانات Data Integrity : أي أن البيانات المرسلة لم يتم تعديلها على الطريق (أثناء مرورها على الأسلاك) .

3.عدم إعادة الإرسال Anti-Replay : وهذه الطريقة التي يستخدمها المخترقون حيث يقومون بسرقة كلمة المرور وهي مشفرة ويقومون بإعادة إرسالها في وقت آخر للسيرفر وهي مشفرة وبالطبع يفك السيرفر التشفير ويدخل اسم المستخدم على أنه شخص آخر، فالIPSec يقدم حلولاً لمنع هذه العملية من الحدوث.

4.الحماية ضد الخداع Anti-Spoofing protection : ويوفر أيضاً الIPSec حماية ضد الخداع من قبل المستخدمين ، مثلاً يمكن ان يحدد مدير الشبكه انه لا يسمح لغير المستخدمين على الsubnet 192.168.0.X بينما لا يسمح لحاملي الهويه 192.168.1.x من دخول السيرفر ، فيمكن للمستخدم ان يغير الIP Address الخاص به ، لكن الIPSec يمنع ذلك .(وايضا يمكنك القياس على ذلك من خارج الشبكه الى داخلها) يكون لكل حزمة Packet موقعها Digitally signed.
هذا هو الشكل العام لحزمة البيانات Packet التي تمر في بروتوكول AH . 



ثانياً: ESP : Encapsulating Security Payload 
يوفر هذا البروتوكول التشفير والتوقيع للبيانات معا Encryption and Signing ، و يستخدم هذا البروتوكول في كون المعلومات سرية Confidential او Secret ، أو عند إرسال المعلومات عن طريق Public Network مثل الانترنت. 
يوفر الESP المزايا التالية:
1.Source authentication : وهي مصداقية المرسل ، حيث كما وضحنا في مثال الSpoofing أنه لا يمكن لأي شخص يستخدم الIPSec تزوير هويته (هوية المرسل).

2.التشفير للبيانات Data Encryption : حبث يوفر التشفير للبيانات لحمايتها من التعديل أو التغيير أو القراءة.

3.Anti-Replay : موضحة في الAH .

4.Anti-Spoofing Protection : موضحة في ال AH.
ثالثاً : IKE : Internet Key Exchange 
الوظيفة الاساسيه لهذا البروتوكول هي ضمان الكيفية وعملية توزيع ومشاركة المفاتيح Keys بين مستخدمي الIPSec ، فهو بروتوكول الnegotiation أي النقاش في نظام الIPSec كما أنه يعمل على تأكيد طريقة الموثوقية Authentication والمفاتيح الواجب استخدامها ونوعها (حيث ان الIPSec يستخدم التشفير 3DES وهو عبارة عن زوج من المفاتيح ذاتها يتولد عشوائياً بطرق حسابية معقدة ويتم إعطاءه فقط للجهة الثانية ويمنع توزيعه وهو من نوع Symmetric Encryption أي التشفير المتوازي ويستخدم تقنية الPrivate Key .
- أقسام الIPSec
أو انواع الIPSec التي يستخدمها في الشبكة، وينقسم الIPSec الى نظامين او نوعين وهما :

1. نظام النقل Transport Mode 

2. نظام النفق Tunnel Mode .
نظام النقل: يستخدم هذا النظام عادة داخل الشبكة المحلية LAN : Local Area Network حبث يقدم خدمات التشفير للبيانات التي تتطابق والسياسة المتبعة في الIPSec بين أي جهازين في الشبكه أي يوفر Endpoint-to-Endpoint Encryption فمثلاً اذا قمت بضبط سياسة الIPSec على تشفير جميع الحركة التي تتم على بورت 23 وهو بورت الTelnet (حيث ان الTelnet ترسل كل شيء مثلما هو دون تشفير Plain Text ) فإذا تمت محادثه بين السيرفر والمستخدم على هذا البورت فان الIPSec يقوم بتشفير كل البيانات المرسلة من لحظت خروجها من جهاز المستخدم الى لحظة وصولها الى السيرفر. يتم تطبيق هذا النظام في الحالات التالية:

أولاً: المحادثة تتم بين الأجهزة في داخل أو نفس الشبكة الداخلية الخاصة Private LAN.

ثانياً: المحادثة تتم بين جهازين ولا يقطع بينهما Firewall حائط ناري يعمل عمل NAT : Network Address Translation (نظام يمكن الFirewall من استبدال جميع عناوين الIPs في الشبكه الداخليه من حزمة البيانات Packet واستبدالها في عنوان Public IP اخر ، ونستفيد من ذلك هو أننا لن نحتاج سوى الى عنوان IP واحد One Public IP ، وأيضاً أنه يقوم بإخفاء عناوين الأجهزه عن شبكة الانترنت للحماية من الاختراق الخارجي) .
نظام النفق: يتم استخدام هذا النظام لتطبيق الIPSec بين نقطتين تكون بالعادة بين 2 Routers ، إذاً يتم استخدام هذا النظام بين نقطتين بعيدتين جغرافياً أي سيتم قطع الانترنت في طريقها الى الطرف الثاني ، مثل الاتصالات التي تحدث بين الشبكات المتباعده جغرافيا WAN : Wide Area Network ، يستخدم هذا النظام فقط عند الحاجه لتأمين البيانات فقط اثناء مرورها من مناطق غير آمنة كالانترنت ، فمثلاً إذا أراد فرعين لشركة أن يقوم بتشفير جميع البيانات التي يتم إرسالها فيما بينهم على بروتوكول FTP : File Transfer Protocol فيتم إعداد الIPSec على أساس الTunnelling Mode .

وهذه صوره مخطط لكل من الPackets في الAH , ESP في كلتا النظامين Tunnel and Transport Modes . 



- فوائده IPSec Benefits 
لقد ظهر ضعف كبير في عملية الEncryption العادية التي تتم بين الأجهزه في الشبكات ، وهذا الضعف تمثل في صعوبة تطبيق هذا الموضوع ، وأيضا استهلاكه للوقت أي بطؤه الشديد في القيام بعملية التشفير وفكه Encryption and decryption ،فالفائدة الكبرى التي ظهرت في الIPSec هي أنه يوفر حماية كاملة وواضحة لجميع البروتوكولات التي تعمل على الطبقة الثالث Layer 3 of the OSI Model وما بعدها.


من مميزات الIPSec أيضا هو أنه موجود أصلاً Built-in في داخل حزمة الIP Packet ، فلذلك هو لا يحتاج لأي إعدادت لانتقاله عبر الشبكة ولا يحتاج لأي أجهزة إضافية لذلك .

- كيف يحمي الIPSec من الهجوم على الشبكة؟

إن الشبكة والبيانات التي تمر فيها يمكن ان تتعرض للعديد من أنواع الهجمات المختلفة ، بعض الهجمات تكون غير فعاله Passive مثل مراقبة الشبكة Network Monitoring ، ومنها ما هو الفعال Active مما يعني أنها يمكن أن تتغير البيانات أو تسرق في طريقها عبر أسلاك الشبكة. و سوف نستعرض بعض انواع الهجمات على الشبكات. 
أولاً: التقاط حزم البيانات Eavesdropping, sniffing or snooping:حيث يتم بذلك مراقبة حزم البيانات التي تمر على الشبكه بنصها الواضح دون تشفير Plain text والتقاط ما نريد منها ، ويعالجها الIPSec عن طريق تشفير حزمة البيانات، عندها حتى لو التقطت الحزمة فإن الفاعل لن يستطيع قراءتها أو العبث بها، لأن الطرف الوحيد الذي يملك مفتاح فك التشفير هو الطرف المستقبل.
ثانيا: تعديل البيانات Data modification:حيث يتم بذلك سرقة حزم البيانات من الشبكة ثم تعديلها وإعادة إرسالها إلى المستقبل، ويقوم الIPSec بمنع ذلك عن طريق استخدام الهاش Hash ووضعه مع البيانات ثم تشفيرها معاً ، وعندما تصل الحزمة إلى الطرف المستقبل فإن الجهاز يفحص Checksum التابع للحزمة إذا تمت مطابقته أم لا، فإذا تمت المطابقة مع الهاش الأصلي المشفر تبين أن الحزمة لم تعدل، لكن إذا تغير الهاش فإن حزمة البيانات قد تم تغييرها على الطريق.
ثالثاً: انتحال الشخصية Identity spoofing: بحيث يتم استخدام حزم البيانات على الشبكة والتقاطها وتعديلها لتبين هوية مزورة للمرسل، أي خداع المستقبل بهوية المرسل، ويمنع ذلك عن طريق الطرق الثلاثه التي يستخدمها الIPSec وهي: بروتوكول الكيربرس (Kerberos Protocol)، والشهادات الالكترونية Digital Certificates ، ومشاركة مفتاح معين (Preshared Key).
حيث لا تتم عملية بدأ المحادثة وإرسال البيانات قبل التأكد من صحة الطرف الثاني عن طريق احدى الطرق المذكورة. 

رابعاً: DoS -Denial of Service رفض الخدمة أو حجبها: حيث تعمل هذه الهجمة على تعطيل خدمة من خدمات الشبكه للمستخدمين والمستفيدين منها ، مثلاً كاشغال السيرفر في الشبكة بعمل عليه Flood مما يشغله بالرد على هذه الأمور وعدم الاستجابة للمستخدمين. ويعمل الIPSec على منع ذلك عن طريق إمكانية غلقه أو وضع قواعد للمنافذ المفتوحة Ports.
خامساً: MITM -Man In The Middle: من أشهر الهجمات في الشبكات، وهي أن يكون هنالك طرف ثالث يعمل على سرقة البيانات المرسلة من طرف لآخر وإمكانية العمل على تعديلها أو العمل على عدم إيصالها للجانب الاخر، ويعمل الIPSec على منعه بواسطة طرق التحقق من الموثوقية Authentication methods .

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

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






المراجع
• Sheila, Frankel, “AN INTRODUCTION TO IPSec”, Computer Security Division/Information Technology Laboratory/National Institute of Standards and Technology
• Cary, Hayward, “The Internet Protocol Security (IPSec) Standard: Clearing up the Confusion”, Product Marketing Manager/RedCreek Communication