您的位置:

iptableslog详解

一、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是非常必要的。