一、iptableslog简介
iptableslog是Linux中一种非常重要的工具,它可以记录防火墙iptables的事件并将其写入到指定文件中,供管理员用于监视活动和诊断问题。iptableslog工具将firewall日志输出到一个可定制的文件,预定义的用户空间程序和syslog日志。
该工具运行于Linux防火墙系统,使用的是iptables防火墙软件,可用于监视、调试和分析数据包流。
iptableslog使用简单,易于管理和维护,可以在系统遇到问题时快速定位问题,提高系统的安全性。
二、iptableslog参数详解
iptableslog有许多参数,以下是一些常用的参数:
iptables -A INPUT -i eth0 -j LOG \ --log-prefix "iptables input: " \ --log-level 4 --log-ip-options --log-tcp-options
--log-prefix:日志信息的前缀,可以使用不同的前缀标识不同事件。
--log-level:日志输出的级别,有7个级别(0-6),级别越高,输出的信息越详细;级别为0则表示不输出日志信息。
--log-ip-options:记录IP层面的选项。如果不需要,则可以不记录。
--log-tcp-options:记录TCP选项。如果不需要,则可以不记录。
三、iptableslog的使用
iptableslog的使用步骤如下:
1、开启iptables日志功能
sudo iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
上面的命令开启了iptables的日志功能,写入到syslog文件中。
2、查看日志
grep "iptables denied:\|firewall:\|kernel:" /var/log/messages
上面的命令可以用来查看iptables的日志信息。可以从/var/log/messages文件中查找与iptables denied、firewall和kernel有关的信息。
3、清除日志
sudo sh -c 'echo "" > /var/log/messages'
上面的命令可以清除/var/log/messages文件中的iptables信息。
四、iptableslog案例分析
下面通过一个案例来分析iptableslog的使用。
1、开启iptables日志功能
sudo iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
2、模拟攻击
sudo nmap -sS localhost
上面的命令模拟了对localhost的端口扫描,可以让iptables触发日志。
3、查看日志
grep "iptables denied:\|firewall:\|kernel:" /var/log/messages
可以看到如下输出:
Sep 15 19:58:00 localhost kernel: [ 60.733056] iptables denied: IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=16053 DF PROTO=TCP SPT=36626 DPT=22 WINDOW=32767 RES=0x00 SYN URGP=0
从中可以看到iptables在60.733056秒记录了一条日志,其中有关于源ip、目标ip、协议等很详细的信息可以用于排查问题。
五、总结
本篇文章详细介绍了iptableslog的优点、参数和使用。iptableslog功能强大,使用方便,在Linux系统中十分重要。对于系统管理员和网络安全人员来说,学会使用iptableslog是非常必要的。