Changing APF log for TDP/UDP drops







Changing APF log for TDP/UDP drops

إذ كنت مضجرا من رؤية ملف
/var/log/messages
ممتلئا من الرسائل المرسلة من قبل الـجدار الناري apf فيوجد حل بإنشاء ملف لوغ منفصل من أجل TCP/UDP OUTPUT and drops
وهذا سيحعل ملف لوغ الرسائل غير ممتلئ كثيرا وسهل التصفح
المتلطلبات:
-----
اصدار جادر ناري
APF Firewall 0.9.3 او أعلى كما انه يمكن أن يعمل على إصدار أدنى لكن ذلك لم يجرب لمعرفة إذا كان يعمل أم لا

تغيير إعدادات الـ APF Firewall
------------------------
1- قم بالدخول إلى السيرفر كرووت
2- انشئ ملف لوغ جديد فقط من أجل the TCP/UDP output/drops from APF
رمز PHP:
touch /var/log/iptables 
3- قم بتغيير السماحيات من أجل تقييد النفاذ:
رمز PHP:
chmod 600 /var/log/iptables 
4- يجب علينا القيام بعمل باك لملف الـ syslog من أجل الأمان في حال قمنا باي خطأ عبر التلعليمة:
رمز PHP:
cp /etc/syslog.conf /etc/syslog.conf.bak 
5- تغيير الـ syslog ليجبر الـ iptables ليستخدم ملف اللوغ الجديد:
رمز PHP:
pico /etc/syslog.conf 
6- أضف ما يلي في نهاية الملف:
رمز PHP:
# Send iptables LOGDROPs to /var/log/iptables 
kern.=debug /var/log/iptables 
- احفظ التغييرات
ctrl + X then Y
8- اعد تشغيل خدمة syslogd لتنفيذ التعديلات الجديدة :
رمز PHP:
/sbin/service syslog reload 
9- عمل نسخة احتياطية للـ أ.ب.اف:
رمز PHP:
cp /etc/apf/firewall /etc/apf/firewall.bak 
10- فتح الـ أ.ب.ف وعمل تعديلات عليه:
رمز PHP:
pico /etc/apf/firewall 
11- قم بالبحث عن DROP_LOG
ستجد المقطع التالي
رمز PHP:
if [ "$DROP_LOG" == "1" ]; then
# Default TCP/UDP INPUT log chain
        
$IPT -A INPUT -p tcp -m limit --limit $LRATE/minute -i $IF -j LOG --log-prefix "** IN_TCP DROP ** "
        
$IPT -A INPUT -p udp -m limit --limit $LRATE/minute -i $IF -j LOG --log-prefix "** IN_UDP DROP ** " 
قم بتبديله بالتالي:
رمز PHP:
if [ "$DROP_LOG" == "1" ]; then
# Default TCP/UDP INPUT log chain
        
$IPT -A INPUT -p tcp -m limit --limit $LRATE/minute -i $IF -j LOG --log-level debug
        $IPT 
-A INPUT -p udp -m limit --limit $LRATE/minute -i $IF -j LOG --log-level debug 
12- ابحث عن DROP_LOG أكثر من مرة حتى تجد المقطع التالي:
رمز PHP:
if [ "$DROP_LOG" == "1" ] && [ "$EGF" == "1" ]; then
# Default TCP/UDP OUTPUT log chain
        
$IPT -A OUTPUT -p tcp -m limit --limit $LRATE/minute -o $IF -j LOG --log-prefix "** OUT_TCP DROP ** "
        
$IPT -A OUTPUT -p udp -m limit --limit $LRATE/minute -o $IF -j LOG --log-prefix "** OUT_UDP DROP ** " 
قم بتبديله إلى

رمز PHP:
if [ "$DROP_LOG" == "1" ] && [ "$EGF" == "1" ]; then
# Default TCP/UDP OUTPUT log chain
        
$IPT -A OUTPUT -p tcp -m limit --limit $LRATE/minute -o $IF -j LOG --log-level debug
        $IPT 
-A OUTPUT -p udp -m limit --limit $LRATE/minute -o $IF -j LOG --log-level debug 
13- احفظ التغييرات على الجدار الناري:
Ctrl + X then Y
14- أعد تشغيل الـجدار الناري لتنفيذ التعليماتت الجديدة عبر الأمر:
رمز PHP:
/etc/apf/apf –r 
15- نفذ الأمر للتأكد من أن ملف اللوغ الجديد يستقبل الرسائل:
رمز PHP:
tail –f /var/log/iptables 
ستجد أشياء مكتوبة كهذه:
رمز PHP:
Aug 27 15:48:31 fox kernelIN=eth0 OUTMAC=00:0d:61:37:76:84:00:d0:02:06:08:00:08:00 SRC=192.168.1.1 DST=192.168.1.1 LEN=34 TOS=0x00 PREC=0x00 TTL=118 ID=57369 PROTO=UDP SPT=4593 DPT=28000 LEN=14 
كذلك يمكن فحص ملف اللوغ الأساسي بانه لا يتسقبل معلومات من الجدار الناري عبر الأمر
رمز PHP:
tail –f /var/log/messages 
لمزيد من المعلومات يمكن الإطلاع على الرابط
http://www.rfxnetworks.com/apf.php
http://www.traidnt.net/vb/showthread.php?t=857361