我正在使用“最近”模块来防止端口扫描,例如:
-A INPUT -i eth0 -m recent --name PORTSCAN --update --seconds 60 -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -m recent --name PORTSCAN --set -j DROP
Run Code Online (Sandbox Code Playgroud)
该--update
选项与其名称相反(即,用新值更新旧值)不会更新最后看到的条目,而是添加另一个条目。在我的简单设置中,我只对最后一个条目感兴趣。我不需要看到数据包的整个历史(即统计数据)。
有没有办法,我只能保留最后看到的数据包?曾经有一个选项--reap
,但 AFAIK 已被删除。
我担心的是,在繁忙的服务器上,PORTSCAN 列表可能会很快变得非常大。我不知道限制是什么,但我确信一定有一些限制。
slm*_*slm 12
如果您查看 iptables 的手册页,特别是recent
模块部分,则有几个参数看起来可以为您提供所需的控件:
摘自 iptablesrecent
模块部分
模块本身接受参数,默认显示:
Run Code Online (Sandbox Code Playgroud)ip_list_tot=100 Number of addresses remembered per table. ip_pkt_list_tot=20 Number of packets per address remembered.
所以根据这两个参数你可以控制IP地址的数量和recent
模块将“记住”的数据包数量。
请记住,这是一个内核模块,因此要应用这些设置,您需要在模块加载时设置它们,如下所示:
/sbin/modprobe ipt_recent ip_list_tot=2000 ip_pkt_list_tot=255
Run Code Online (Sandbox Code Playgroud)
在我的 Fedora 14 系统上,实际上调用了该模块xt_recent
,您可以使用以下命令查看它可以采用的参数类型modinfo
:
$ modinfo xt_recent
filename: /lib/modules/2.6.35.14-106.fc14.x86_64/kernel/net/netfilter/xt_recent.ko
alias: ip6t_recent
alias: ipt_recent
license: GPL
description: Xtables: "recently-seen" host matching
author: Jan Engelhardt <jengelh@medozas.de>
author: Patrick McHardy <kaber@trash.net>
srcversion: 00B9A3AB999488BFEB4FA6A
depends:
vermagic: 2.6.35.14-106.fc14.x86_64 SMP mod_unload
parm: ip_list_tot:number of IPs to remember per list (uint)
parm: ip_pkt_list_tot:number of packets per IP address to remember (max. 255) (uint)
parm: ip_list_hash_size:size of hash table used to look up IPs (uint)
parm: ip_list_perms:permissions on /proc/net/xt_recent/* files (uint)
parm: ip_list_uid:default owner of /proc/net/xt_recent/* files (uint)
parm: ip_list_gid:default owning group of /proc/net/xt_recent/* files (uint)
Run Code Online (Sandbox Code Playgroud)
此模块的所有设置都保存在/sys/module/xt_recent
. 具体来说,您传递给它的参数保存在这里:
$ ls -1 /sys/module/xt_recent/parameters/
ip_list_gid
ip_list_hash_size
ip_list_perms
ip_list_tot
ip_list_uid
ip_pkt_list_tot
Run Code Online (Sandbox Code Playgroud)
可以通过简单地对该目录中的文件进行分类来检查任何参数,例如:
cat /sys/module/xt_recent/parameters/ip_pkt_list_tot
Run Code Online (Sandbox Code Playgroud)
所以这告诉我们参数的默认值为ip_pkt_list_tot
20。
归档时间: |
|
查看次数: |
14477 次 |
最近记录: |