تسجيل جميع الأنشطة باستخدام iptables

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

 

 

ملاحظة: الإجراء الذي سأقوم بتنفيذه الآن صالح بنسبة 100٪ في التوزيعات ديبيان/على أساس دبيان، لذلك إذا كنت تستخدم سلاكوير, فيدورا, CentOS, OpenSuSe، قد لا يكون الإجراء هو نفسه ، نوصي بقراءة وفهم نظام تسجيل الدخول الخاص بالتوزيع قبل تطبيق ما هو موضح أدناه. هناك أيضًا إمكانية تثبيت rsyslog في التوزيع الخاص بك ، إذا كان متاحًا في المستودعات ، على الرغم من أنه في هذا البرنامج التعليمي ، يتم شرح سجل النظام أيضًا في النهاية.

كل خير حتى الآن ، ولكن ماذاإلى أين نحن ذاهبون لتسجيل الدخول؟ سهل في الملف «/var/log/firewall/iptables.log"، ماذا غير موجود، حتى نصدقها بأنفسنا ...

1- يجب أن ننشئ الملف «iptables.log»داخل المجلد«/ var / log / firewall»يجب أن نخلقها لأنها غير موجودة أيضًا.

mkdir -p / var / log / firewall /
المس /var/log/firewall/iptables.log

2- أذونات مهمة جدا ...

chmod 600 /var/log/firewall/iptables.log
جذر chown: adm /var/log/firewall/iptables.log

3- Rsyslog، البرنامج الخفي لتسجيل الدخول إلى دبيان ، يقرأ التكوين من «/etc/rsyslog.d«، لذا يجب إنشاء ملف سأسميه«جدار الحماية»من خلالها يمكن لـ rsyslog تفسير ما نريد القيام به.

المس /etc/rsyslog.d/firewall.conf

وداخلنا نتركه caer بلطف المحتوى التالي:

: msg ، يحتوي على ، "iptables:" - / var / log / firewall / iptables.log
& ~

ليس لدي أدنى فكرة ،ماذا يفعل هذان الخطان?

السطر الأول يتحقق من البيانات المسجلة للسلسلة «iptables: »ويضيفه إلى الملف«./var/log/firewall/iptables.log«

الثاني ، يوقف معالجة المعلومات المسجلة بالنمط السابق بحيث لا يستمر إرسالها إلى «/ فار / سجل / رسائل".

4- تدوير ملف السجل مع logrotate.

يجب أن نخلق داخل «/etc/logrotate.d/" الملف "جدار الحماية»والتي ستحتوي على المحتوى التالي:

/var/log/firewall/iptables.log
{
استدارة 7
يوميا
الحجم 10M
التاريخ
missingok
إنشاء 600 جذر ADM
notifempty
ضغط
delaycompress
بعد الدوران
استدعاء-rc.d إعادة تحميل سجل rsyslog> / dev / null
مخطوطة
}

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

5- أعد تشغيل برنامج rsyslog الخفي مثل كل xD بالنهاية السعيدة:

/etc/init.d/rsyslog إعادة التشغيل

كيف تثبت أن كل هذا يعمل؟

لنجرب SSH.

تثبيت بينسه (في حالة عدم تثبيته ...):

apt-get install openssh-server

قبل المتابعة ، يجب أن نعمل كجذر في وحدة التحكم:

iptables -A INPUT -p tcp --dport 22 --syn -j LOG --log-prefix "iptables: " --log-level 4

سيؤدي تنفيذ بيان iptables هذا إلى تسجيل معلومات كافية لإظهار أن ما قمنا به لم يذهب سدى. في هذه الجملة ، نطلب من iptables تسجيل جميع المعلومات التي تأتي إليها من خلال المنفذ 22. للاختبار مع الخدمات الأخرى ، ما عليك سوى تغيير رقم المنفذ ، مثل 3306 لـ MySQL ، فقط للاستشهاد بمثال ، إذا كنت تريد المزيد من المعلومات ، اقرأ هذا البرنامج التعليمي الموثق جيدًا واستنادًا إلى أمثلة نموذجية للتكوينات الأكثر استخدامًا.

يستخدم SSH المنفذ 22 افتراضيًا ، لذلك سنقوم بإجراء الاختبار به. بعد تثبيت opensh ، نتصل به.

ssh pepe @ test-server

لرؤية السجلات ، يمكنك حل هذه المشكلة بذيل:

tail -f /var/log/firewall/iptables.log

Iptables ، في هذا المثال ، سجل كل شيء ، اليوم ، الوقت ، ip ، mac ، إلخ ، مما يجعله رائعًا لمراقبة خوادمنا. القليل من المساعدة التي لا تؤلم أبدا.

الآن ، مع ملاحظة أننا نستخدم توزيعة أخرى ، كما قلت في البداية ، فهي تستخدم بشكل عام rsyslog، أو شيئا من هذا القبيل. إذا كان يستخدم التوزيعة الخاصة بك سيسلوغ، لأداء نفس التمرين يجب علينا تعديل / تعديل طفيف syslog.conf

nano /etc/syslog.conf

أضف واحفظ السطر التالي:

kern.warning /var/log/firewall/iptables.log

وبعد ذلك ، كما تعلمون ، النهاية السعيدة:

/etc/init.d/sysklogd إعادة التشغيل

النتيجة: نفس الشيء.

هذا كل شيء الآن ، في المشاركات المستقبلية ، سنستمر في اللعب مع iptables.

المراجع:

فرض iptables للتسجيل في ملف مختلف

سجل iptables في ملف منفصل مع rsyslog

برنامج تعليمي لإعداد Iptables على أنظمة Fedora / RHEL


محتوى المقال يلتزم بمبادئنا أخلاقيات التحرير. للإبلاغ عن خطأ انقر فوق هنا.

8 تعليقات ، اترك لك

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   FerreryGuardia قال

    عظيم هذا "الدليل المصغر" لـ BOFH أنك تفعل شيئًا فشيئًا

  2.   كوراتسوكي قال

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

    1.    KZKG ^ جارا قال

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

      تحية طيبة ... كما تعلمون مهما كلف الأمر

    2.    إيزار قال

      إنني أتطلع إلى تلك العناصر ^ ^

  3.   هوغو قال

    تعال إلى كوراتسوكي ، لم أكن أعرف أنك ترددت على هذه المدونة.

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

    iptables -A INPUT -p udp -m multiport ! --ports 53,67:68 -m state --state NEW -j ULOG --ulog-prefix "Solicitud UDP dudosa"

  4.   كوراتسوكي قال

    سأضطر إلى إعطاء F5 للمنشور ، طريقة Ulogd للعمل تناسبني ، حتى MySQL تسجل النوع: D.

  5.   MSX قال

    منشور جيد ، استمر.

  6.   تشينولوكو قال

    مرحبا رئيس كيف تسير الامور؟
    هل تستطيع مساعدتي؟
    بما أنني لا أحصل على البرنامج التعليمي ، وهو أكثر وضوحًا من الماء ، فلا أعرف أين أخطأت