When things are not working as expected with your IPTables
rules, you might want to log the IPTables dropped packets for troubleshooting
purpose. This article explains how to log both incoming and outgoing dropped
firewal packets.
If you are new to
IPTables, first get yourself comfortable with the IPTables fundamental
concepts.
Log All Dropped Input Packets
First we need to understand how to log all the dropped input
packets of iptables to syslog.
If you already have whole bunch of iptables firewall rules,
add these at the bottom, which will log all the dropped input packets
(incoming) to the /var/log/messages
iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG
--log-prefix "IPTables-Dropped: " --log-level 4
iptables -A LOGGING -j DROP
In the above example, it does the following:
- iptables -N LOGGING: Create a new chain called LOGGING
- iptables -A INPUT -j LOGGING: All the remaining incoming packets will jump to the LOGGING chain
- line#3: Log the incoming packets to syslog (/var/log/messages). This line is explained below in detail.
- iptables -A LOGGING -j DROP: Finally, drop all the packets that came to the LOGGING chain. i.e now it really drops the incoming packets.
In the line#3 above, it has the following options for
logging the dropped packets:
- -m limit: This uses the limit matching module. Using this you can limit the logging using –limit option.
- –limit 2/min: This indicates the maximum average matching rate for logging. In this example, for the similar packets it will limit logging to 2 per minute. You can also specify 2/second, 2/minute, 2/hour, 2/day. This is helpful when you don’t want to clutter your log messages with repeated messages of the same dropped packets.
- -j LOG: This indicates that the target for this packet is LOG. i.e write to the log file.
- –log-prefix “IPTables-Dropped: ” You can specify any log prefix, which will be appended to the log messages that will be written to the /var/log/messages file
- –log-level 4 This is the standard syslog levels. 4 is warning. You can use number from the range 0 through 7. 0 is emergency and 7 is debug.
Log All Dropped Outgoing Packets
This is same as above, but the 2nd line below has OUTPUT
instead of INPUT.
iptables -N LOGGING
iptables -A OUTPUT -j LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG
--log-prefix "IPTables-Dropped: " --log-level 4
iptables -A LOGGING -j DROP
Log All Dropped Packets (both Incoming and Outgoing)
This is same as before, but we’ll be taking the line number
2 from the previous two examples, and adding it here. i.e We’ll have a separate
line for INPUT and OUTPUT which will jump to LOGGING chain.
To log both the incoming and outgoing dropped packets, add
the following lines at the bottom of your existing iptables firewall rules.
iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A OUTPUT -j LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG
--log-prefix "IPTables-Dropped: " --log-level 4
iptables -A LOGGING -j DROP
Also, as we explained earlier, by default, the iptables will
use /var/log/messages to log all the message. If you want to change this to
your own custom log file add the following line to /etc/syslog.conf
kern.warning
/var/log/custom.log
How to read the IPTables Log
The following is a sample of the lines that was logged in
the /var/log/messages when an incoming and outgoing packets was dropped.
Aug 15 13:22:40 centos
kernel: IPTables-Dropped: IN= OUT=em1 SRC=192.168.1.23 DST=192.168.1.20 LEN=84
TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=ICMP TYPE=8 CODE=0 ID=59228 SEQ=2
Aug 15 13:23:00 centos
kernel: IPTables-Dropped: IN=em1 OUT= MAC=a2:be:d2:ab:11:af:e2:f2:00:00
SRC=192.168.2.115 DST=192.168.1.23 LEN=52 TOS=0x00 PREC=0x00 TTL=127 ID=9434 DF
PROTO=TCP SPT=58428 DPT=443 WINDOW=8192 RES=0x00 SYN URGP=0
In the above output:
- IPTables-Dropped: This is the prefix that we used in our logging by specifying –log-prefix option
- IN=em1 This indicates the interface that was used for this incoming packets. This will be empty for outgoing packets
- OUT=em1 This indicates the interface that was used for outgoing packets. This will be empty for incoming packets.
- SRC= The source ip-address from where the packet originated
- DST= The destination ip-address where the packets was sent to
- LEN= Length of the packet
- PROTO= Indicates the protocol (as you see above, the 1st line is for outgoing ICMP protocol, the 2nd line is for incoming TCP protocol)
- SPT= Indicates the source port
- DPT= Indicates the destination port. In the 2nd line above, the destination port is 443. This indicates that the incoming HTTPS packets was dropped
Each time someone downloads HTML page or an image from the website, the server writes a line in the log file. seo log analyzer
ReplyDeleteYuk Buruan ikutan bermain di website http://zonaemas.com
ReplyDeleteSekarang CROWNQQ Memiliki Game terbaru Dan Ternama loh...
=> Bonus Refferal 20%
=> Bonus Turn Over 0,5%
=> Minimal Depo 20.000
=> Minimal WD 20.000
=> 100% Member Asli
=> Pelayanan DP & WD 24 jam
=> Livechat Kami 24 Jam Online
=> Bisa Dimainkan Di Hp Android
=> Di Layani Dengan 5 Bank Terbaik
=> 1 User ID 8 Permainan Menarik
"NEW AGEN BANDAR 66"
Ayo gabung sekarang juga hanya dengan
mengklick AGEN BANDARQ
WHATSAPP : +855967646513
PIN BB : 2B382398