Strona 5 z 6

Re: Przeniesienie logow iptables do osobnego pliku.

: 19 września 2017, 19:33
autor: Matrixx
/etc/filtr/iptables.sh

Kod: Zaznacz cały

#!/bin/sh

conntrack -F

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

iptables -F
iptables -X

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -m limit --limit 2/min -j LOG --log-prefix "ipT4 DROP INPUT: "
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m conntrack --ctstate INVALID -m limit --limit 2/min -j LOG --log-prefix "ipT4 DROP INVALID IN: "
iptables -A INPUT -m conntrack --ctstate INVALID -j DROP



iptables -A FORWARD -m conntrack --ctstate INVALID -j LOG --log-prefix "ipT4 DROP INVALID FWD: "
iptables -A FORWARD -m conntrack --ctstate INVALID -j DROP

iptables -I OUTPUT -m state -p tcp --state NEW -i eth0 -m limit --limit 1/m --limit-burst 1 -j LOG --log-uid --log-prefix "ipT4 Outbound Connection:  "
iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m conntrack --ctstate INVALID -m limit --limit 2/min -j LOG --log-prefix "ipT4 DROP INVALID OUT: "
iptables -A OUTPUT -m conntrack --ctstate INVALID -j DROP




ip6tables -F
ip6tables -X
ip6tables -P INPUT DROP
ip6tables -P FORWARD DROP
ip6tables -P OUTPUT ACCEPT
ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

Kod: Zaznacz cały

#  Default rules for rsyslog.
#
#                       For more information see rsyslog.conf(5) and /etc/rsyslog.conf

#
# First some standard log files.  Log by facility.
#
if $msg contains 'ipT4: ' then -/var/log/iptables.log
& stop
auth,authpriv.*                 /var/log/auth.log
*.*;auth,authpriv.none          -/var/log/syslog
#cron.*                         /var/log/cron.log
#daemon.*                       -/var/log/daemon.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

Re: Przeniesienie logow iptables do osobnego pliku.

: 19 września 2017, 19:37
autor: dedito
viewtopic.php?f=5&t=34799&start=30#p194190

Kod: Zaznacz cały

if $msg contains 'ipT4: ' 
nigdy nie dopasuje się do tego co masz w prefiksach regułek firewalla.

Kod: Zaznacz cały

--log-prefix "ipT4 ..."

Re: Przeniesienie logow iptables do osobnego pliku.

: 19 września 2017, 19:40
autor: marcin1982
if $msg contains 'ipT4: ' then -/var/log/iptables.log
& stop
Pisał ci już Morfik i dedito. W nagłówku logu generowanego przez iptables nie ma dwukropka. Usuń go z konfiguracji rsyslog.

Re: Przeniesienie logow iptables do osobnego pliku.

: 19 września 2017, 19:43
autor: Matrixx

Kod: Zaznacz cały

if $msg contains 'ipT4 ' then -/var/log/iptables.log
& stop
Poprawilem:

Kod: Zaznacz cały

#  Default rules for rsyslog.
#
#                       For more information see rsyslog.conf(5) and /etc/rsyslog.conf

#
# First some standard log files.  Log by facility.
#
if $msg contains 'ipT4 ' then -/var/log/iptables.log
& stop
auth,authpriv.*                 /var/log/auth.log
*.*;auth,authpriv.none          -/var/log/syslog
#cron.*                         /var/log/cron.log
#daemon.*                       -/var/log/daemon.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

Re: Przeniesienie logow iptables do osobnego pliku.

: 19 września 2017, 19:44
autor: marcin1982
Zrestartuj usługę rsyslog, upewnij się, że iptables ma prawidłowe reguły i czekaj na niepożądane pakiety.

Re: Przeniesienie logow iptables do osobnego pliku.

: 19 września 2017, 19:50
autor: Matrixx
Restart wykonany.
Konfig regol iptables - experymentalny. (bedzie modyfikowany)
No i czekam.
Jutro napisze jak wyszlo a dzisiaj bardzo serdecznie dziekuje za poswiecony czas i uwage.
Pozdrawiam.

Re: Przeniesienie logow iptables do osobnego pliku.

: 19 września 2017, 20:12
autor: Morfik
Zamiast czekać, to użyj lepiej logger i wyślij testową wiadomość.

Re: Przeniesienie logow iptables do osobnego pliku.

: 20 września 2017, 09:43
autor: Matrixx
@morfik
Zamiast czekać, to użyj lepiej logger i wyślij testową wiadomość.
Odnosnie loggera to bede musial najpierw odrobic "prace domowe"
Chyba, ze jakas sprytna komenda, to bedzie znacznie szybciej.

W sprawie przeniesienia logow to 99% SUKCES...
Plik /var/log/iptables.log - rosnie w oczach.
Jest tylko mala zagwozdka.
Ten plik jest tworzony od nowa po kazdym restarcie.
Po kazdym restarcie rsyslog.service nie siega (jak powinno) do /etc/filtr/iptables.sh tylko przywoluje stary! nieaktualny! konfig, ktory nie jest kompatybilny z usluga i wszystko stoi. Dopiero przeladowanie firewall.service powoduje, ze rsyslog.service siega do /etc/filtr/iptables.sh i wtedy wszystko gra. Jak to naprawic?

Re: Przeniesienie logow iptables do osobnego pliku.

: 20 września 2017, 09:52
autor: Morfik
Matrixx pisze: 20 września 2017, 09:43 Odnosnie loggera to bede musial najpierw odrobic "prace domowe"
Chyba, ze jakas sprytna komenda, to bedzie znacznie szybciej.

Kod: Zaznacz cały

# logger -t firewall test test IPTABLES: test test
I sobie wpisz, co tam chcesz i testuj dopasowania.

Re: Przeniesienie logow iptables do osobnego pliku.

: 20 września 2017, 10:09
autor: Matrixx
Ale co zrobic z tym ladowaniem nieaktualnego konfigu? To mi rozwala cale dzialanie.
W pliku /etc/systemd/system/firewall.service mam prawidlowo:

Kod: Zaznacz cały

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/etc/filtr/iptables.sh
Jak wyczyscic stary konfig ktory przeszkadza i ktory nawet nie wiem skad sie bierze?
Dlaczego mi laduje do uslugi firewalla ten stary konfig, mimo poprawnej budowy konfigu uslugi?
Jak go zlokalizowac i usunac?
Ten sam problem innymi slowami:
Po restarcie systemu komenda:
iptables -L -n -v daje wynik (nieprawidlowy):

Kod: Zaznacz cały

iptables -L -n -v
Chain INPUT (policy DROP 112 packets, 11514 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:53
    0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:53
    0     0 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:67
    0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:67
    0     0 ACCEPT     tcp  --  lxcbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:53
    0     0 ACCEPT     udp  --  lxcbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:53
    0     0 ACCEPT     tcp  --  lxcbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:67
    0     0 ACCEPT     udp  --  lxcbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:67
    0     0 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:53
    0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:53
    0     0 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:67
    0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:67
    0     0 ACCEPT     tcp  --  lxcbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:53
    0     0 ACCEPT     udp  --  lxcbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:53
    0     0 ACCEPT     tcp  --  lxcbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:67
    0     0 ACCEPT     udp  --  lxcbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:67
33845 2335K ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
   74  6003 NFLOG      all  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: avg 2/min burst 5 nflog-prefix  "DROP INPUT: " nflog-group 1
 2637 1736K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    0     0 NFLOG      all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID limit: avg 2/min burst 5 nflog-prefix  "DROP INVALID IN: "
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  *      virbr0  0.0.0.0/0            192.168.122.0/24     ctstate RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  virbr0 *       192.168.122.0/24     0.0.0.0/0           
    0     0 ACCEPT     all  --  virbr0 virbr0  0.0.0.0/0            0.0.0.0/0           
    0     0 REJECT     all  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 REJECT     all  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 ACCEPT     all  --  *      lxcbr0  0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  lxcbr0 *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  *      virbr0  0.0.0.0/0            192.168.122.0/24     ctstate RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  virbr0 *       192.168.122.0/24     0.0.0.0/0           
    0     0 ACCEPT     all  --  virbr0 virbr0  0.0.0.0/0            0.0.0.0/0           
    0     0 REJECT     all  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 REJECT     all  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 ACCEPT     all  --  *      lxcbr0  0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  lxcbr0 *       0.0.0.0/0            0.0.0.0/0           
    0     0 NFLOG      all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID nflog-prefix  "DROP INVALID FWD: "
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID

Chain OUTPUT (policy ACCEPT 8455 packets, 1859K bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     udp  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            udp dpt:68
    0     0 ACCEPT     udp  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            udp dpt:68
29196 2273K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    0     0 NFLOG      all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID limit: avg 2/min burst 5 nflog-prefix  "DROP INVALID OUT: "
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID
Po restarcie uslugi firewall, systemctl restart firewall.service
ta sama komenda daje inny wynik (prawidlowy):

Kod: Zaznacz cały

iptables -L -n -v
Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  226 14151 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
    4   300 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: avg 2/min burst 5 LOG flags 0 level 4 prefix "ipT4 DROP INPUT "
    4   300 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID limit: avg 2/min burst 5 LOG flags 0 level 4 prefix "ipT4 DROP INVALID IN "
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID LOG flags 0 level 4 prefix "ipT4 DROP INVALID FWD "
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID

Chain OUTPUT (policy ACCEPT 75 packets, 20684 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  167 10562 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    5   260 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID limit: avg 2/min burst 5 LOG flags 0 level 4 prefix "ipT4 DROP INVALID OUT "
    6   312 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID
?????