Wydzielenie logow iptables z ogolnej puli logow sysloga.

Ogólne pytania dotyczące systemu
Matrixx
Beginner
Posty: 194
Rejestracja: 03 maja 2016, 16:30

Wydzielenie logow iptables z ogolnej puli logow sysloga.

Post autor: Matrixx » 03 maja 2016, 17:04

Witam wszystkich.
Uzywam aktualnie Jessie, ktora zapisuje logi w lokalizacji /var/log .
Niestety wszystkie logi sa razem wymieszane.
Jak przekierowac wylacznie logi iptables do wydzielonego pliku, i zeby ten plik odswierzal sie codziennie np o godz 6 rano (cron logrotate)?
Zaczynam nauke Debiana i dlatego prosze o pomoc. : :confused:

Pozdrawiam
Matrixx

mariaczi
Member
Posty: 1293
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Re: Wydzielenie logow iptables z ogolnej puli logow sysloga.

Post autor: mariaczi » 03 maja 2016, 19:29

Przedstaw na początek w jaki sposób aktualnie logi z iptables "umieszczasz" w logach systemowych.
Jako lektura, która pomoże Ci w skonfigurowaniu rozdzielenia logowania: https://wiki.debian.org/Rsyslog [linki z sekcji "See also"]

Awatar użytkownika
pawkrol
Moderator
Posty: 916
Rejestracja: 03 kwietnia 2011, 10:25

Re: Wydzielenie logow iptables z ogolnej puli logow sysloga.

Post autor: pawkrol » 03 maja 2016, 19:59

W /etc/rsyslog.d/ utwórz plik np: iptables.conf a w nim:

Kod: Zaznacz cały

:msg, contains, "iptables: " /var/log/iptables.log
& ~
Chociaż gorąco polecam skorzystać z ulog2. Zapisuje logi do pliku, sql, jako pcap, obsługuje ipv6 i wiele innych.

Matrixx
Beginner
Posty: 194
Rejestracja: 03 maja 2016, 16:30

Re: Wydzielenie logow iptables z ogolnej puli logow sysloga.

Post autor: Matrixx » 04 maja 2016, 11:07

Moje info:

Kod: Zaznacz cały

root@debian:/home/robin# ls -l  /etc/*syslo*
-rw-r--r-- 1 root root 2632 Dec 14 12:34 /etc/rsyslog.conf
-rw-r--r-- 1 root root   41 Apr 27 18:56 /etc/syslog.conf

/etc/rsyslog.d:
total 4
-rw-r--r-- 1 root root 55 May  4 18:00 iptables.conf
root@debian:/home/robin# dpkg -l | grep syslog
ii  rsyslog                                 8.4.2-1+deb8u2                       amd64        reliable system and kernel logging daemon
Jak dotychczas to moje metody sprawdzania logow sysloga wygladaly nastepujaco:
- zeby zobaczyc logi na biezaco, komenda:

Kod: Zaznacz cały

tailf /var/log/syslog
- zeby zzucic logi sysloga do pliku, komenda:

Kod: Zaznacz cały

cat /var/log/syslog >syslog.txt
Niestety zawsze w wyniku dostawalem balagan wszystkich mozliwych logow wymieszanych, co bardzo utrudnialo analize.
Przy okazji jeszcze jedna prosba, jak zrobic zeby plik z logami iptables, odswierzal sie codziennie
o godz 6 rano? (logrotate?) Prosze jezeli mozna o przyklad, to szybciej sie naucze.

Ps. Prosba do Kol. "pawkrol" o dobrego linka do ulogd2 dla beginnersow. :D
Przeczytalem kilkadziesiat roznych stron www z wskazania Googli ale prosto i zrozumiale to nikt nie napisal !

Matrixx
Beginner
Posty: 194
Rejestracja: 03 maja 2016, 16:30

Re: Wydzielenie logow iptables z ogolnej puli logow sysloga.

Post autor: Matrixx » 08 maja 2016, 13:16

Niestety, zaden plik logow w lokalizacji /var/log/iptables.log nie powstal.
Metoda nie dziala. :confused:

Awatar użytkownika
pawkrol
Moderator
Posty: 916
Rejestracja: 03 kwietnia 2011, 10:25

Re: Wydzielenie logow iptables z ogolnej puli logow sysloga.

Post autor: pawkrol » 08 maja 2016, 15:33

To jeszcze dodaj linijkę w pliku ( gdzieś na początku, przed regułami auth,authpriv,cron itp) /etc/rsyslog.conf

Kod: Zaznacz cały

$IncludeConfig /etc/rsyslog.d/*.conf

Matrixx
Beginner
Posty: 194
Rejestracja: 03 maja 2016, 16:30

Re: Wydzielenie logow iptables z ogolnej puli logow sysloga.

Post autor: Matrixx » 09 maja 2016, 18:50

Zrobilem, tak to teraz wyglada:

Kod: Zaznacz cały

$IncludeConfig /etc/rsyslog.d/*.conf


###############
#### RULES ####
###############

#
# First some standard log files.  Log by facility.
#

auth,authpriv.*                 /var/log/auth.log
*.*;auth,authpriv.none          -/var/log/syslog
#cron.*                         /var/log/cron.log
daemon.*                        -/var/log/daemon.log
kern.*                          -/var/log/kern.log
lpr.*                           -/var/log/lpr.log
mail.*                          -/var/log/mail.log
user.*                          -/var/log/user.log
Zobaczymy czy bedzie dzialalo.?
Chyba znowu nie chce :mad:

Kod: Zaznacz cały

root@debian:/var/log# ls
alternatives.log       debug.2.gz      lpr.log.2.gz    messages.1
alternatives.log.1     debug.3.gz      lpr.log.3.gz    messages.2.gz
alternatives.log.2.gz  debug.4.gz      lpr.log.4.gz    messages.3.gz
apt                    dmesg           mail.err        messages.4.gz
aptitude               dpkg.log        mail.err.1      speech-dispatcher
aptitude.1.gz          dpkg.log.1      mail.err.2.gz   syslog
aptitude.2.gz          dpkg.log.2.gz   mail.err.3.gz   syslog.1
auth.log               exim4           mail.err.4.gz   syslog.2.gz
auth.log.1             faillog         mail.info       syslog.3.gz
auth.log.2.gz          firebird        mail.info.1     syslog.4.gz
auth.log.3.gz          fontconfig.log  mail.info.2.gz  syslog.5.gz
auth.log.4.gz          fsck            mail.info.3.gz  syslog.6.gz
boot                   gdm3            mail.info.4.gz  syslog.7.gz
boot-sav               hp              mail.log        user.log
btmp                   installer       mail.log.1      user.log.1
btmp.1                 kern.log        mail.log.2.gz   user.log.2.gz
cups                   kern.log.1      mail.log.3.gz   user.log.3.gz
daemon.log             kern.log.2.gz   mail.log.4.gz   user.log.4.gz
daemon.log.1           kern.log.3.gz   mail.warn       wtmp
daemon.log.2.gz        kern.log.4.gz   mail.warn.1     wtmp.1
daemon.log.3.gz        lastlog         mail.warn.2.gz  Xorg.0.log
daemon.log.4.gz        libvirt         mail.warn.3.gz  Xorg.0.log.old
debug                  lpr.log         mail.warn.4.gz
debug.1                lpr.log.1       messages
root@debian:/var/log# 
Nie ma i juz! :mad:

Kod: Zaznacz cały

root@debian:/#  locate iptables.log
root@debian:/# find iptables.log
find: `iptables.log': No such file or directory
root@debian:/# dmesg | grep iptables.log
root@debian:/# 

Awatar użytkownika
pawkrol
Moderator
Posty: 916
Rejestracja: 03 kwietnia 2011, 10:25

Re: Wydzielenie logow iptables z ogolnej puli logow sysloga.

Post autor: pawkrol » 10 maja 2016, 08:16

Restartowałeś rsyslog?
Ja właśnie sprawdziłem i działa (Debian Wheezy). Na Jessie powinno być tak samo.
Pokaż jeszcze raz:

Kod: Zaznacz cały

ls /etc/rsyslog.d
cat /etc/rsyslog.d/iptables.conf
cat /etc/rsyslog.conf

Matrixx
Beginner
Posty: 194
Rejestracja: 03 maja 2016, 16:30

Re: Wydzielenie logow iptables z ogolnej puli logow sysloga.

Post autor: Matrixx » 10 maja 2016, 09:50

Kod: Zaznacz cały

root@debian:/home/robin# ls /etc/rsyslog.d
iptables.conf
root@debian:/home/robin# cat /etc/rsyslog.d/iptables.conf
:msg, contains, "iptables: " /var/log/iptables.log
& ~
root@debian:/home/robin# cat /etc/rsyslog.conf
#  /etc/rsyslog.conf	Configuration file for rsyslog.
#
#			For more information see
#			/usr/share/doc/rsyslog-doc/html/rsyslog_conf.html


#################
#### MODULES ####
#################

$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog   # provides kernel logging support
#$ModLoad immark  # provides --MARK-- message capability

# provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514

# provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514


###########################
#### GLOBAL DIRECTIVES ####
###########################

#
# Use traditional timestamp format.
# To enable high precision timestamps, comment out the following line.
#
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

#
# Set the default permissions for all log files.
#
$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022

#
# Where to place spool and state files
#
$WorkDirectory /var/spool/rsyslog

#
# Include all config files in /etc/rsyslog.d/
#
$IncludeConfig /etc/rsyslog.d/*.conf


###############
#### RULES ####
###############

#
# First some standard log files.  Log by facility.
#

auth,authpriv.*			/var/log/auth.log
*.*;auth,authpriv.none		-/var/log/syslog
#cron.*				/var/log/cron.log
daemon.*			-/var/log/daemon.log
kern.*				-/var/log/kern.log
lpr.*				-/var/log/lpr.log
mail.*				-/var/log/mail.log
user.*				-/var/log/user.log

#
# Logging for the mail system.  Split it up so that
# it is easy to write scripts to parse these files.
#
mail.info			-/var/log/mail.info
mail.warn			-/var/log/mail.warn
mail.err			/var/log/mail.err

#
# Logging for INN news system.
#
news.crit			/var/log/news/news.crit
news.err			/var/log/news/news.err
news.notice			-/var/log/news/news.notice

#
# Some "catch-all" log files.
#
*.=debug;\
	auth,authpriv.none;\
	news.none;mail.none	-/var/log/debug
*.=info;*.=notice;*.=warn;\
	auth,authpriv.none;\
	cron,daemon.none;\
	mail,news.none		-/var/log/messages

#
# Emergencies are sent to everybody logged in.
#
*.emerg				:omusrmsg:*

#
# I like to have messages displayed on the console, but only on a virtual
# console I usually leave idle.
#
#daemon,mail.*;\
#	news.=crit;news.=err;news.=notice;\
#	*.=debug;*.=info;\
#	*.=notice;*.=warn	/dev/tty8

# The named pipe /dev/xconsole is for the `xconsole' utility.  To use it,
# you must invoke `xconsole' with the `-file' option:
# 
#    $ xconsole -file /dev/xconsole [...]
#
# NOTE: adjust the list below, or you'll go crazy if you have a reasonably
#      busy site..
#
daemon.*;mail.*;\
	news.err;\
	*.=debug;*.=info;\
	*.=notice;*.=warn	|/dev/xconsole
root@debian:/home/robin# 
Mam jajko aptosida, moze to cos zmienia?

Kod: Zaznacz cały

Linux debian 4.5.0-0.slh.1-aptosid-amd64 #1 SMP PREEMPT aptosid 4.5-1 (2016-03-14) x86_64 GNU/Linux
Rsyslog pracuje:

Kod: Zaznacz cały

root@debian:/home/robin# systemctl status rsyslog service
● rsyslog.service - System Logging Service
   Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled)
   Active: active (running) since Tue 2016-05-10 07:58:34 IST; 1h 6min ago
     Docs: man:rsyslogd(8)
           http://www.rsyslog.com/doc/
 Main PID: 1235 (rsyslogd)
   CGroup: /system.slice/rsyslog.service
           └─1235 /usr/sbin/rsyslogd -n
Ostatnio zmieniony 10 maja 2016, 10:07 przez Matrixx, łącznie zmieniany 1 raz.

Awatar użytkownika
pawkrol
Moderator
Posty: 916
Rejestracja: 03 kwietnia 2011, 10:25

Re: Wydzielenie logow iptables z ogolnej puli logow sysloga.

Post autor: pawkrol » 10 maja 2016, 09:54

Jak logujesz pakiety w iptables? Używasz prefixa ?

ODPOWIEDZ