Създаване на отделен log файл за iptables

Настройки свързвани с конфигуриране на вътрешна мрежа и Интернет.

Модератори: Freya, Kulu Ngile

Създаване на отделен log файл за iptables

Мнениеот Kulu Ngile » Пон 26, Фев, 2007 18:51

В дебиан, информацията от iptables, когато се използва -j LOG, се записва в syslog файла, което не винаги е много удобно. По подразбиране Дебиан ползват syslogd демона, което е старичко и не много ефективно. Аз лично препоръчвам да се използва syslog-ng, където ng е съкратено от next generation.

Изпълнение

1. Инсталираме syslog-ng
Код за потвърждение: Избери целия код
apt-get install syslog-ng


2. Премахване на syslogd от всички рънлевъли
Код за потвърждение: Избери целия код
update-rc.d -n -f syslogd remove


3. Редактираме файла /etc/syslog-ng/syslog-ng.conf, като добавяме редове, които са в червен цвят.
....................................................
# destinations

# some standard log files
destination df_auth { file("/var/log/auth.log"); };
destination df_syslog { file("/var/log/syslog"); };
destination df_cron { file("/var/log/cron.log"); };
destination df_daemon { file("/var/log/daemon.log"); };
destination df_kern { file("/var/log/kern.log"); };
destination df_lpr { file("/var/log/lpr.log"); };
destination df_mail { file("/var/log/mail.log"); };
destination df_user { file("/var/log/user.log"); };
destination df_uucp { file("/var/log/uucp.log"); };
destination df_iptables { file("/var/log/iptables.log"); };
................................................................
# filters
filter f_iptables { match("IN="); };
# all messages from the auth and authpriv facilities
filter f_auth { facility(auth, authpriv); };
................................................................
log {
source(s_all);
filter(f_xconsole);
destination(dp_xconsole);
};
log {
source(s_all);
filter(f_iptables);
destination(df_iptables);
};



4. Създаваме файл iptables.log
Код за потвърждение: Избери целия код
touch /var/log/iptables.log


5. Рестартираме демона
Код за потвърждение: Избери целия код
/etc/init.d/syslog-ng restart


6. Тестваме - за тестването ще използвам запис на всеки tcp пакет в INPUT веригата, т.е.
Код за потвърждение: Избери целия код
iptables -A INPUT -p 6 -m limit -j LOG --log-level 4 --log-prefix "IPTABELS STATISTICS: "

Отваряме някакъв линк или стартираме Gaim (аз стартирам Gaim) и проверяваме в iptables.log информацията, т.е.
Код за потвърждение: Избери целия код
debian:~# tail -n 1 /var/log/iptables.log
Feb 26 17:50:04 debian kernel: IPTABELS STATISTICS: IN=eth0 OUT= MAC=00:01:29:76:2a:f0:00:12:d9:ee:0b:29:08:00 SRC=205.188.8.68 DST=10.17.231.34 LEN=40 TOS=0x00 PREC=0x80 TTL=105 ID=41233 DF PROTO=TCP SPT=5190 DPT=46669 WINDOW=16384 RES=0x00 ACK URGP=0
debian:~#


П.П. Командите трябва да се изпълнят като root.
Ако съдбата е срещу теб, толкова по-зле за нея.

Изображение
APT HOWTO
Kulu Ngile
Унуфри
 
Мнения: 1233
Регистриран на: Съб 04, Мар, 2006 2:04
Местоположение: София

Мнениеот phantomlord » Чет 19, Мар, 2009 0:23

Много е добре да има отделен лог за iptables, обаче е хубаво да се добави нещо съобщенията свързани с iptables да се филтрират и да отиват само в iptables.log Ако няма такъв филтър, ще пълнят /var/log/messages и /var/log/syslog също.
Поразрових се и ето какво мога да допълня:

Относно syslog:
Редактира се syslog-ng.conf като реда:
filter f_syslog { not facility(auth, authpriv) };

се променя така:
filter f_syslog { not facility(auth, authpriv) and not match ("MyIptablesPrefix:"); };

Относно messages:
filter f_messages {
level(info,notice,warn)
and not facility(auth,authpriv,cron,daemon,mail,news);
};

се променя така:
filter f_messages {
level(info,notice,warn)
and not facility(auth,authpriv,cron,daemon,mail,news)
and not match ("MyIptablesPrefix:");
};


MyIptablesPrefix: е префикса, който се задава към "-j LOG --log-prefix" правилото на iptables. Пример:

iptables -I INPUT -i eth1 -p tcp --dport 22 -j LOG --log-prefix MyIptablesPrefix:


В syslog-ng се дефинира така:
# filters
filter f_iptables { match("MyIptablesPrefix:"); };

Хубаво е префикса да е еднакъв за всички правила, за да се филтрира по-лесно.

Остава да разкарам съобщенията за iptables и от dmesg, но не съм сигурен дали е възможно по подобен начин.
Hear the cry of War
Louder than before
With his sword in hand
to control the land
Crushing metal strikes
on this frightening night
Fall onto your knees
For the Phantom Lord
Аватар
phantomlord
Шеф
 
Мнения: 1517
Регистриран на: Пет 03, Мар, 2006 2:16
Местоположение: София


Назад към Мрежови настройки

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта

cron