كتاب "كالي لينكس من المطورين"

الصورة مرحبا ، هابروجيتيلي! سيقدم لك المؤلفون خطوة بخطوة إلى أساسيات وقدرات Kali Linux. يقدم الكتاب دورة قصيرة حول العمل مع سطر أوامر Linux ومفاهيمه ، ويصف سيناريوهات التثبيت النموذجية لـ Kali Linux. بعد قراءة هذا الكتاب ، ستتعلم كيفية تكوين Kali Linux وتصحيحه وحمايته ، بالإضافة إلى العمل مع مدير الحزم القوي لحزمة توزيع دبيان. تعرف على كيفية تثبيت Kali Linux بشكل صحيح في أي بيئة ، بما في ذلك شبكات الشركات الكبيرة. أخيرًا ، عليك التعرف على الموضوعات المعقدة: تجميع النواة ، وإنشاء صور ISO الخاصة بك ، والتشفير الصناعي والحماية المهنية للمعلومات السرية.


الفصل 7. حماية والسيطرة على كالي لينكس


بمجرد البدء في استخدام Kali Linux لمزيد من المهام السرية والبارزة ، ستضطر على الأرجح إلى أخذ أمان التثبيت على محمل الجد. في هذا الفصل ، نناقش أولاً السياسة الأمنية ، ونسلط الضوء على أهم النقاط في تحديدها ، ونولي اهتمامًا لبعض التهديدات التي يتعرض لها نظامك ولك كمحترف أمني. سنناقش أيضًا التدابير الأمنية لأجهزة الكمبيوتر المحمولة وأجهزة الكمبيوتر المكتبية وننظر في الجدران النارية وتصفية الحزم بشكل منفصل. في الختام ، سنتطرق إلى أدوات واستراتيجيات المراقبة ونعرض أكثر الطرق فعالية لاستخدامها للكشف عن التهديدات المحتملة لنظامك.

7.1. تعريف سياسة الأمن


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

من الأفضل تحديد هدف محدد مبدئيًا. سيكون الأسلوب الصحيح لحل هذه المشكلة هو الإجابات على الأسئلة التالية.

1. ما الذي تحاول حمايته؟ ستختلف سياسة الأمان اعتمادًا على ما تريد حمايته: أجهزة الكمبيوتر أو البيانات. في الحالة الأخيرة ، تحتاج أيضًا إلى معرفة المعلومات التي تحتاج إلى الحماية.

2. ما الذي تحاول حماية نفسك منه؟ من تسرب البيانات السرية؟ من فقدان عرضي للمعلومات؟ من خسارة سببها فشل في تقديم الخدمات؟

3. من الذي تحاول حماية نفسك منه؟ ستكون الإجراءات الأمنية مختلفة تمامًا للحماية من الأخطاء المطبعية لمستخدم بسيط للنظام والحماية من مجموعة محددة من المتسللين.

يستخدم مصطلح "الخطر" عادة لتعريف هذه العوامل بشكل عام: ما الذي يجب حمايته ، وما الذي يجب منعه ، ومن خلاله يمكن أن يحدث خطأ. تتطلب نمذجة المخاطر إجابات على جميع الأسئلة الثلاثة. بناءً على النموذج الناتج ، يمكنك تطوير سياسة أمنية وتنفيذها باستخدام إجراءات محددة.

يحاول بروس شناير ، الخبير العالمي في قضايا الأمن (وليس فقط الكمبيوتر) ، مواجهة واحدة من الأساطير الأمنية الرئيسية من خلال التصرف تحت شعار: "الأمن عملية وليس منتجًا". تتغير الأصول التي تحتاج إلى الحماية بمرور الوقت ، مثلما تتغير التهديدات والوسائل المتاحة للمهاجمين المحتملين. حتى إذا تم تصميم وتنفيذ سياسة الأمان بشكل مثالي ، فلا يجب أن تتوقف عند هذا الحد. إن مكونات المخاطر آخذة في التطور ، وينبغي تطوير طرق منعها وفقًا لذلك.

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

بمجرد نمذجة المخاطر ، يمكنك التفكير في تطوير سياسة أمنية مناسبة.

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

على سبيل المثال ، إذا كان النظام المحدد للحماية يتضمن فقط جهاز كمبيوتر مستخدمًا ، والذي يستخدم فقط لإضافة رقمين في نهاية اليوم ، فسيكون من المناسب عدم اتخاذ أي إجراء خاص لحمايته. القيمة الحقيقية لهذا النظام منخفضة ، وقيمة البيانات صفر تمامًا ، حيث لا يتم تخزينها على الكمبيوتر. المهاجم المحتمل الذي يخترق هذا النظام سيحصل على آلة حاسبة فقط. من المرجح أن تكون تكلفة حماية مثل هذا النظام أكثر من تكاليف القرصنة.

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

على الرغم من أن هذه الأساليب قد تبدو مبالغًا فيها ، إلا أنها يمكن أن تكون مع ذلك حلولًا مناسبة لبعض المخاطر ، لأنها تتيح لك تحقيق أهدافك مع قيود معينة. بناءً على قرار مستنير ، لا توجد سياسة أمنية كافية أو أقل من أي سياسة أخرى.

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

7.2. التدابير الأمنية الممكنة


كما ذكر أعلاه ، لا توجد إجابة واحدة على سؤال حول كيفية حماية Kali Linux. كل هذا يتوقف على كيفية استخدامه وما الذي تحاول حمايته بالضبط.

على الخادم

إذا كنت تستخدم Kali Linux على خادم عام ، فيجب عليك حماية خدمات الشبكة عن طريق تغيير جميع كلمات المرور الافتراضية التي يمكن تكوينها ، وربما عن طريق تقييد الوصول إليها باستخدام جدار حماية (القسم 7.3 "تأمين خدمات الشبكة" و 7.4 "جدار الحماية أو تصفية الحزم "، على التوالي ، انظر أدناه).

إذا قمت بنقل معلومات حساب المستخدم مباشرة على الخادم أو على إحدى خدمات الشبكة ، فتأكد من تعيين كلمات مرور قوية (يجب أن تتحمل هجمات القوة الغاشمة). في الوقت نفسه ، يمكنك تكوين برنامج fail2ban ، الذي يعقد بشكل كبير تكسير كلمات المرور عن طريق البحث الشامل عبر الشبكة (عن طريق تصفية عناوين IP التي تتجاوز حد محاولات تسجيل الدخول الفاشلة). يمكنك تثبيت fail2ban باستخدام الأمر apt update ثم apt install fail2ban.

إذا كنت تستخدم خدمات الويب ، فقم بتكوينها للعمل من خلال بروتوكول HTTPS بحيث لا يراقب وسطاء الشبكة حركة المرور الخاصة بك (والتي قد تتضمن مصادقة ملفات تعريف الارتباط).

على جهاز كمبيوتر محمول

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

غالبًا ما ينشأ الخطر الحقيقي عند السفر من عميل إلى آخر. على سبيل المثال ، قد تتم سرقة الكمبيوتر المحمول أثناء رحلة أو يتم مصادرته من قبل الجمارك. هذا هو السبب في أنه يستحق استخدام تشفير القرص بالكامل (انظر قسم "التثبيت على نظام ملفات مشفر بالكامل" من القسم 4.2) وربما أيضًا إعداد وظيفة nuke (انظر الشريط الجانبي "إعداد كلمة مرور ذاتية التدمير لمزيد من الأمان" في الفصل 9): البيانات التي يتم جمعها أثناء عملك بسرية وتتطلب أقصى قدر من الحماية.

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

7.3. حماية خدمات الشبكة


يوصى بتعطيل الخدمات التي لا تستخدمها. يبسط Kali هذه المهمة ، نظرًا لأن معظم خدمات الشبكة معطلة بالفعل بشكل افتراضي.
طالما أن الخدمات لا تزال معطلة ، فإنها لا تشكل خطرا أمنيا. ومع ذلك ، يجب أن تكون حذرًا عند تشغيلها بسبب العوامل التالية.

1. بشكل افتراضي ، ليس لديهم جدار حماية ، لذلك إذا استمعوا إلى جميع واجهات الشبكة ، فإنهم في متناول الجمهور إلى حد كبير.

2. لا تحتوي بعض الخدمات على بيانات اعتماد وتسمح لك بتعيينها عند الاستخدام الأول ؛ البعض الآخر لديه أوراق اعتماد قياسية (وبالتالي معروفة على نطاق واسع). تأكد من (إعادة) تعيين كلمة مرور معروفة لك فقط.

3. يتم إصدار العديد من الخدمات بامتيازات الجذر (مع حقوق المسؤول الكاملة) ، لذلك عادة ما تكون عواقب الوصول غير المصرح به أو خروقات الأمان خطيرة.

لن نورد هنا جميع الأدوات التي تأتي مع بيانات الاعتماد الافتراضية. بدلاً من ذلك ، يجب عليك التحقق من ملف README.Debian للحزم المعنية ، بالإضافة إلى صفحات docs.kali.org و tools.kali.org لمعرفة ما إذا كانت الخدمة تحتاج إلى صيانة خاصة لضمان الأمان اللازم.

إذا بدأت في الوقت الفعلي ، فإن كلمة مرور الجذر هي toor. لذلك ، يجب ألا تقوم بتمكين SSH قبل تغيير كلمة مرور الحساب الجذر أو قبل إعداد حظر تسجيل الدخول المستند إلى كلمة المرور في تكوين الحساب.

لاحظ أيضًا الحقيقة المعروفة جيدًا أن مشروع BeEF (من حزمة beef-xss المثبتة بالفعل) لديه بيانات الاعتماد الافتراضية: اسم مستخدم لحم البقر وكلمة مرور لحم البقر ، والتي يتم تعيينها "بالقوة" في ملف التكوين.

7.4. تصفية جدار الحماية أو الحزمة


جدار الحماية هو قطعة من جهاز الكمبيوتر مع الأجهزة أو البرامج أو كليهما يقوم بتحليل حزم الشبكة الواردة أو الصادرة (الشبكة الواردة أو الصادرة من الشبكة المحلية) ويمرر فقط تلك التي تلبي شروطًا محددة مسبقًا.

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

نواة لينكس لديها جدار حماية نيتفلتر مدمج. لا يوجد حل واحد لتكوين أي جدار حماية ، حيث تختلف متطلبات الشبكة والمستخدم. ومع ذلك ، يمكنك التحكم في netfilter من مساحة المستخدم باستخدام أوامر iptables و ip6tables. الفرق بين هذا الأخير هو أن الأول يعمل لشبكات IPv4 ، بينما يعمل الأخير على IPv6. نظرًا لأنه من المرجح أن تعمل كل من مجموعتي بروتوكولات الشبكة لسنوات عديدة ، فيجب استخدام كلتا الأداتين بالتوازي. يمكنك أيضًا استخدام الأداة fwbuilder الممتازة التي تعتمد على واجهة المستخدم الرسومية ، والتي توفر تمثيلًا رسوميًا لقواعد التصفية.

ومع ذلك ، إذا قررت تكوين netfilter (تنفيذ جدار حماية Linux) ، فسوف نلقي نظرة فاحصة على كيفية عملها.

سلوك Netfilter Surge Protector

يستخدم مرشح Netfilter أربعة جداول مختلفة تخزن القواعد التي تحكم الأنواع الثلاثة من العمليات على الحزم:

1. يشير الفلتر إلى قواعد التصفية (قبول الحزمة أو رفضها أو تجاهلها) ؛

2. nat (ترجمة عنوان الشبكة) يشير إلى ترجمة عناوين المصدر أو الوجهة ومنافذ الحزمة ؛

3. يشير mangle إلى تغييرات أخرى في حزم IP (بما في ذلك حقل ToS (نوع الخدمة) والخيارات) ؛

4. الخام يسمح بإجراء تغييرات يدوية أخرى على الحزم قبل وصولها (الحزم) إلى نظام تتبع الاتصال.

يحتوي كل جدول على قوائم قواعد تسمى السلاسل. يستخدم جدار الحماية سلاسل قياسية لمعالجة الحزم بناءً على شروط محددة مسبقًا. يمكن للمسؤول إنشاء سلاسل أخرى سيتم استخدامها فقط عند نقل إحدى السلاسل القياسية (بشكل مباشر أو غير مباشر).

يحتوي جدول التصفية على ثلاث سلاسل قياسية:

1. INPUT - يشير إلى الحزم التي يكون جدار الحماية نفسه غرضها ؛

2. OUTPUT - يشير إلى الحزم القادمة من جدار الحماية ؛

3. للأمام - يشير إلى الحزم التي تمر عبر جدار الحماية (وهو ليس مصدرها أو وجهتها).

يحتوي جدول nat أيضًا على ثلاث سلاسل قياسية:

1. PREROUTING - لتغيير الحزم فور وصولها ؛

2. النشر - لتغيير الحزم عندما تكون جاهزة للإرسال ؛

3. OUTPUT - لتعديل الحزم الناتجة عن جدار الحماية نفسه.

تظهر هذه السلاسل في الشكل. 7.1.

الصورة

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

1. ACCEPT (ACCEPT) - السماح للحزمة بالمضي قدمًا على طول مسارها.

2. رفض - رفض الحزمة باستخدام حزمة خطأ ICMP (بروتوكول رسائل التحكم في الإنترنت) (يحدد نوع --reject with with for iptables نوع الخطأ للرفض).

3. إسقاط - حذف (تجاهل) الحزمة.

4. تسجيل (تسجيل) - تسجيل (عبر البرنامج الخفي syslogd) رسالة تصف الحزمة. يرجى ملاحظة أن هذا الإجراء لا يقاطع المعالجة ، ويستمر تنفيذ السلسلة من القاعدة التالية ، وبالتالي ، يتطلب تسجيل الحزم المرفوضة قواعد كل من LOG و REJECT / DROP. تشمل المعلمات العامة المتعلقة بالتسجيل ما يلي:

  • - مستوى المدونة ، مع تحذير افتراضي ، يشير إلى شدة سجل النظام ؛
  • يسمح لك --log-prefix بتحديد بادئة نصية للتمييز بين الرسائل المسجلة ؛
  • يشير كل من --log-tcp-sequence و --log-tcp-options و --log-ip-options إلى بيانات إضافية يجب وضعها في الرسالة: الرقم التسلسلي لـ TCP ومعلمات TCP ومعلمات IP على التوالي.

5. ULOG - تسجيل رسالة من خلال ulogd ، والتي يمكن تكييفها بشكل أفضل وأكثر كفاءة من syslogd لمعالجة عدد كبير من الرسائل ؛ لاحظ أن هذا الإجراء ، مثل LOG ، يعيد أيضًا المعالجة إلى القاعدة التالية في سلسلة الاستدعاء.

6. chain_name - انتقل إلى السلسلة المحددة وقم بتقييم قواعدها.

7. RETURN - إحباط معالجة السلسلة الحالية والعودة إلى سلسلة الاستدعاء ؛ إذا كانت السلسلة الحالية قياسية ، فلا توجد سلسلة اتصال ، لذلك يتم تنفيذ الإجراء الافتراضي بدلاً من ذلك (يتم تحديده باستخدام معلمة -P لـ iptables).

8. SNAT (فقط في جدول nat) - تطبيق ترجمة عنوان شبكة المصدر (SNAT). تصف المعلمات الإضافية التغييرات الدقيقة التي سيتم تطبيقها ، بما في ذلك - إلى مصدر المصدر: معلمة المنفذ ، والتي تحدد المصدر الجديد لعنوان IP و / أو المنفذ.

9. DNAT (فقط في جدول nat) - تطبيق ترجمة عنوان شبكة الوجهة (DNAT). تصف المعلمات الإضافية التغييرات الدقيقة التي سيتم استخدامها ، بما في ذلك معلمة العنوان - إلى الوجهة: المنفذ الذي يحدد المصدر الجديد لعنوان IP و / أو المنفذ.

10. MASQUERADE (فقط في جدول nat) - تطبيق القناع (حالة خاصة من Source NAT).

11. إعادة التوجيه (فقط في جدول nat) - توجيه الحزمة بشكل صريح إلى هذا المنفذ من جدار الحماية نفسه. يمكنك استخدام وكيل ويب لتكوين خادم مفتوح ، والذي يعمل بدون تكوين من جانب العميل ، وبينما يعتقد العميل أنه متصل بالمستلم ، فإن الرسائل تمر بالفعل عبر الخادم الوكيل. يحدد منفذ (منافذ) -to-port المنفذ أو نطاق المنفذ حيث يجب إعادة توجيه الحزم.

لم يتم تضمين الإجراءات الأخرى ، وخاصة تلك المتعلقة بجدول mangle ، في هذا القسم الفرعي. للحصول على قائمة كاملة ، راجع الصفحات اليدوية iptables (8) و ip6tables (8).

بناء الجملة لأوامر iptables و ip6tables


يتم استخدام أوامر iptables و ip6tables لإدارة الجداول والسلاسل والقواعد. يشير جدول المعلمة -t إلى الجدول الذي يجب العمل معه (بشكل افتراضي ، جدول التصفية).

الفرق

يتم سرد المعلمات الرئيسية للتفاعل مع الدوائر أدناه.

1. -سلسلة L تسرد القواعد الواردة في السلسلة. يُستخدم مع الخيار -n لتعطيل تحليل الاسم (على سبيل المثال ، يعرض iptables -n -L INPUT قواعد الحزم الواردة).

2. -N يخلق سلسلة جديدة. يمكنك إنشاء سلاسل جديدة لمجموعة متنوعة من الأغراض ، بما في ذلك اختبار خدمة شبكة جديدة أو صد هجوم على الشبكة.

3. -سلسلة X تزيل السلسلة الفارغة وغير المستخدمة (على سبيل المثال ، iptables -X ddos-attack).

4. -A سلسلة قاعدة تضيف قاعدة في نهاية سلسلة معينة. تذكر ، تتم معالجة القواعد من الأعلى إلى الأسفل ، ولا تنس التفكير في هذه اللحظة عند إضافة القواعد.

5. -أنا سلسلة قاعدة rule_number إدراج القاعدة قبل القاعدة بالرقم المحدد. كما هو الحال مع الخيار -A ، ضع في الاعتبار ترتيب المعالجة عند إدخال قواعد جديدة في السلسلة.

6. -D chain rule_number (or -D chain rule) تزيل القاعدة في السلسلة ؛ يشير بناء الجملة الأول إلى أنه يجب حذف القاعدة برقم معين (يعرض الأمر iptables -L - line-numbers أرقام القاعدة) ، ويحدد الثاني القاعدة التي سيتم حذفها من خلال جوهرها.

7. -F سلسلة يعيد تعيين السلسلة (يزيل جميع قواعدها). على سبيل المثال ، لإزالة جميع القواعد المرتبطة بالحزم الصادرة ، يمكنك إدخال الأمر iptables -F OUTPUT. إذا لم يتم تحديد سلسلة ، فسيتم حذف جميع القواعد في الجدول.

8. -P chain action يحدد الإجراء الافتراضي أو "السياسة" لسلسلة معينة. يرجى ملاحظة: تنطبق هذه السياسة على الدوائر القياسية فقط. لإزالة كل حركة المرور الواردة بشكل افتراضي ، يجب عليك إصدار الأمر iptables -P INPUT DROP.

القواعد

: -j _. , ( ) , , , .

-p IP-. tcp, udp, icmp icmpv6. TCP- --source-port --destination-port .



. , -p « , , ». .

-s -s / (source) . , -d -d / (destination).
-i , ; -o — , .

--state ( ipt_ conntrack ). NEW , , ESTABLISHED , , RELATED , , ( ftp- FTP).

iptables ip6tables, . , , — , .
, IP- 10.0.1.5 31.13.74.0/24 C , :

# iptables -A INPUT -s 10.0.1.5 -j DROP # iptables -A INPUT -s 31.13.74.0/24 -j DROP # iptables -n -L INPUT Chain INPUT (policy ACCEPT) target prot opt source destination DROP all -- 10.0.1.5 0.0.0.0/0 DROP all -- 31.13.74.0/24 0.0.0.0/0 

غالبًا ما يتم استخدام أمر iptables آخر للسماح بحركة مرور الشبكة لخدمة أو منفذ معين. لتمكين المستخدمين من الاتصال بـ SSH و HTTP و IMAP ، يجب تشغيل الأوامر التالية:

 # iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT # iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT # iptables -A INPUT -m state --state NEW -p tcp --dport 143 -j ACCEPT # iptables -n -L INPUT Chain INPUT (policy ACCEPT) target prot opt source destination DROP all -- 10.0.1.5 0.0.0.0/0 DROP all -- 31.13.74.0/24 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:143 

قاعدة النظافة الجيدة للكمبيوتر هي تنظيف القواعد القديمة وغير الضرورية. أسهل طريقة لإزالة قاعدة iptables هي الرجوع إلى القواعد برقم السطر ، والتي يمكنك الحصول عليها باستخدام معلمة --line-numbers. كن حذرًا: عند إعادة تعيين قاعدة ، سيتم إعادة ترقيم جميع القواعد اللاحقة في السلسلة.

 # iptables -n -L INPUT --line-numbers Chain INPUT (policy ACCEPT) num target prot opt source destination 1 DROP all -- 10.0.1.5 0.0.0.0/0 2 DROP all -- 31.13.74.0/24 0.0.0.0/0 3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80 5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:143 # iptables -D INPUT 2 # iptables -D INPUT 1 # iptables -n -L INPUT --line-numbers Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80 3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:143 

توجد شروط أكثر تحديدًا ، اعتمادًا على الشروط العامة الموضحة أعلاه. راجع كتيبات iptables (8) و ip6tables (8) لمزيد من المعلومات.

إنشاء قواعد


تتطلب كل قاعدة جديدة مكالمة واحدة إلى iptables أو ip6tables. قد يكون إدخال هذه الأوامر يدويًا أمرًا شاقًا ، لذلك يتم تخزين المكالمات عادةً في برنامج نصي ، ونتيجة لذلك ، يتم تكوين النظام تلقائيًا بنفس الطريقة في كل مرة يتم فيها تشغيل الكمبيوتر. يمكن كتابة هذا البرنامج النصي يدويًا ، ولكن قد تكون مهتمًا أيضًا بإعداده باستخدام أداة عالية المستوى مثل fwbuilder.

 # apt install fwbuilder 

المبدأ بسيط. في المرحلة الأولى ، صف جميع العناصر التي ستشارك في القواعد الجديدة:

1. جدار الحماية نفسه مع واجهات الشبكة الخاصة به ؛

2. الشبكات ذات النطاقات المناسبة لعناوين IP ؛

3. الخوادم ؛

4. الموانئ التابعة للخدمات المستضافة على الخوادم.

ثم قم بإنشاء القواعد باستخدام إجراءات السحب والإفلات البسيطة ، كما هو موضح في الشكل. 7.2. يمكن لعدة قوائم سياق تغيير شرط (على سبيل المثال ، رفضه). ثم تحتاج إلى تحديد الإجراء وتكوينه.

الصورة

بالنسبة إلى IPv6 ، يمكنك إما إنشاء مجموعتين مختلفتين من القواعد لـ IPv4 و IPv6 ، أو إنشاء واحدة فقط والسماح لـ fwbuilder بترجمة القواعد وفقًا للعناوين المخصصة للكائنات.

ستقوم أداة fwbuilder بإنشاء برنامج نصي يقوم بتكوين جدار الحماية وفقًا للقواعد التي تحددها. تسمح لك بنيته المعيارية بإنشاء برامج نصية لأنظمة مختلفة ، بما في ذلك iptables لنظام Linux و ipf لـ FreeBSD و pf لـ OpenBSD.

وضع قواعد لكل التمهيد


لتطبيق قواعد جدار الحماية في كل مرة يتم فيها تشغيل الجهاز ، تحتاج إلى تسجيل البرنامج النصي للتكوين في التوجيه العلوي للملف / etc / network / interfaces. في المثال التالي ، يتم تخزين البرنامج النصي في /usr/local/etc/arrakis.fw.

 auto eth0 iface eth0 inet static address 192.168.0.1 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255 up /usr/local/etc/arrakis.fw 

يفترض هذا المثال أنك تستخدم الحزمة ifupdown لتكوين واجهات الشبكة. إذا كنت تستخدم شيئًا آخر (مثل NetworkManager أو systemd-networkd) ، فارجع إلى الوثائق المناسبة لمعرفة كيفية تنفيذ البرنامج النصي بعد بدء الواجهة.

7.5. المراقبة والتسجيل


تعد السرية وحماية البيانات من الجوانب المهمة للأمان ، ولكن من المهم بنفس القدر ضمان توفر الخدمات. بصفتك مشرفًا ومتخصصًا في الأمن ، يجب عليك التأكد من أن كل شيء يعمل بشكل صحيح ، وأن مسؤوليتك هي تحديد السلوك غير الطبيعي وتدهور الخدمات في الوقت المناسب. يلعب برنامج المراقبة والتسجيل دورًا رئيسيًا في هذا الجانب من الأمان ، حيث يوفر فهمًا لما يحدث في النظام والشبكة.

في هذا القسم ، سنلقي نظرة على عدد من الأدوات التي يمكن استخدامها لمراقبة العديد من جوانب نظام كالي.

مراقبة السجلات باستخدام تدقيق السجل


يراقب Logcheck ملفات السجل كل ساعة بشكل افتراضي ويرسل رسائل السجل غير القياسية إلى رسائل البريد الإلكتروني إلى المسؤول لمزيد من التحليل.

يتم تخزين قائمة الملفات المراقبة في /etc/logcheck/logcheck.logfiles. ستعمل القيم الافتراضية بشكل صحيح إذا لم تتم إعادة بناء الملف /etc/rsyslog.conf بالكامل.

يمكن لبرنامج تسجيل الدخول تقديم تقرير باستخدام مستويات مختلفة من التفاصيل: بجنون العظمة (بجنون العظمة) والخادم (الخادم) ومحطة العمل (لمحطات العمل). الوضع بجنون العظمة مطول للغاية وربما يجب أن يقتصر على خوادم محددة مثل جدران الحماية. يتم استخدام وضع الخادم افتراضيًا ويوصى به لمعظم الخوادم. من الواضح أن وضع محطة العمل مصمم لمحطات العمل ومضغوط للغاية ، مما يؤدي إلى تصفية رسائل أكثر من "الإخوة" الآخرين.

في جميع الحالات الثلاث ، من المحتمل أن يتم تكوين فحص السجل لاستبعاد رسائل إضافية (بناءً على الخدمات المثبتة) إذا كنت لا ترغب في تلقي دفعات كل ساعة من رسائل البريد الإلكتروني الطويلة غير المسجلة. نظرًا لأن آلية اختيار الرسائل معقدة نوعًا ما ، فإن الملف /usr/share/doc/logcheck-database/README.logcheck-database.gz مطلوب لقراءته في حالة وجود صعوبات.

يمكن تقسيم القواعد المعمول بها إلى عدة أنواع:

1. أولئك الذين يعتبرون الرسالة محاولة اختراق (مخزنة في ملف في الدليل /etc/logcheck/cracking.d/) ؛

2. تجاهل محاولات القرصنة (/etc/logcheck/cracking.ignore.d/) ؛

3. أولئك الذين يصنفون الرسالة على أنها تحذير أمني (/etc/logcheck/violations.d/) ؛

4. تجاهل التحذيرات الأمنية (/etc/logcheck/violations.ignore.d/) ؛

5. وأخيرًا ، تلك التي تنطبق على الرسائل الأخرى (تُعامل على أنها أحداث نظام).

يتم استخدام ملفات ignore.d (من الواضح) لتجاهل الرسائل. على سبيل المثال ، لا يمكن تجاهل رسالة تم وضع علامة عليها على أنها محاولة قرصنة أو تحذير أمني (كقاعدة ، مخزنة في /etc/logcheck/violations.d/myfile) إلا من خلال قاعدة في /etc/logcheck/violations.ignore.d/myfile أو في ملحق الملف /etc/logcheck/changes.ignore.d/myfile-.

يتم الإبلاغ عن حدث النظام دائمًا ، إلا إذا كانت القاعدة في أحد الأدلة /etc/logcheck/ignore.d.{paranoid ، server ، workstation} / لا تشير إلى أنه يجب تجاهل هذا الحدث. بالطبع ، يتم اعتبار هذه الكتالوجات فقط التي تكون مستويات التفاصيل الخاصة بها مساوية أو تتجاوز وضع التشغيل المحدد.

مراقبة النشاط في الوقت الحقيقي


تعرض الأداة التفاعلية العليا قائمة بالعمليات قيد التشغيل حاليًا. يعتمد الترتيب الافتراضي على حمل المعالج الحالي ويمكن الحصول عليه باستخدام المفتاح P. تحتوي عمليات فرز التعليمات الأخرى على فرز حسب الذاكرة المشغولة (المفتاح M) وإجمالي وقت المعالج (المفتاح T) ومعرف العملية (المفتاح N). المفتاح k ينهي العملية بالمعرف المدخل. يغير المفتاح r أولوية العملية.

عندما يبدو النظام مثقلاً ، فإن القمة هي أداة رائعة لمعرفة العمليات التي تتنافس على وقت وحدة المعالجة المركزية أو تستهلك الكثير من الذاكرة. لذلك ، من المثير للاهتمام غالبًا التحقق مما إذا كانت العمليات التي تستهلك الموارد تتوافق مع الخدمات الحقيقية التي يجب استضافتها على جهاز الكمبيوتر. يجب أن تبرز عملية غير معروفة تعمل مثل www-data حقًا من القائمة ويجب دراستها ، نظرًا لأنها على الأرجح مثال على برنامج مثبت ويعمل على نظام يستخدم ثغرة أمنية في تطبيق ويب.

الأداة العليا مرنة للغاية ، ويحتوي دليلها على معلومات تفصيلية حول كيفية تخصيص واجهتها وتكييفها مع احتياجاتك وعاداتك الشخصية.

أداة الرسوم البيانية لرصد نظام جنوم مشابهة للأعلى وتوفر نفس الوظائف تقريبًا.

»يمكن العثور على مزيد من المعلومات حول الكتاب على موقع الناشر على الويب
» المحتويات
» مقتطفات

خصم 20٪ على قسيمة لينكس - لينكس

Source: https://habr.com/ru/post/ar422939/


All Articles