Port Flood Protection端口洪水攻击保护

手册/FAQ (509) 2011-08-09 16:13:30

    该功能配置了iptables以保护特定端口免受DOS攻击。该功能限制每段时间间隔的连接个数,以便在特定端口设置新的连接。
    该功能不适用于未加载ipt_recent iptables模块的服务器。通常用于Monolithic内核服务器。VPS服务器管理员要咨询VPS主机供应商其服务器是否有iptables模块。
    默认情况下,ipt_recent 只跟踪最后100个IP地址。可以在/proc/net/ipt_recent/* 文件查看被跟踪的IP地址,其中端口编号为文件名。
    PORTFLOOD设置句法:
    PORTFLOOD是一张用逗号隔开的列表,包括:
    port;protocol;hit count*;interval seconds
    因此,设置PORTFLOOD= "22;tcp;5;300,80;tcp;20;5" 表示:
    1. 如果300秒内有5个以上连接到tcp端口22的连接,则至少在发现最后一个数据包300秒后阻止该IP地址访问端口22,即在该阻止被取消前有300秒的"安静" 期。
    2. 如果5秒内有20个以上连接到tcp端口80的连接,则至少在发现最后一个数据包5秒后阻止该IP地址访问端口80,即在该阻止被取消前有5秒的"安静" 期。
    可以在iptables man 页面找到更多有关ipt_recent模块的信息,地址http://snowman.net/projects/ipt_recent/
    注意:在使用该模块时,已阻止的IP地址不会出现在任何iptables链。您可以操作每个模块文档的/proc/net/ipt_recent/* files 查看或删除当前被阻止且尚未被解除阻止的IP地址。
    重启csf可以重新设置ipt_recent表格和删除其所有的内容。
    注意:使用ipt_recent有以下限制:
    1. 默认情况下,每张表格只记录100个地址(我们通过modprobe努力增加到1000个)
    2. 默认情况下,每个地址只记录20个数据包
    *这表示您要保持数据包个数在20以内。

THE END