You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CSF封禁IP后自动从csf.deny消失,如何永久阻止攻击者IP?

CSF封禁IP后自动从csf.deny消失,如何永久阻止攻击者IP?

嘿,这种情况我碰到过好多次了,咱们一步步来排查原因,再彻底搞定它:

先搞清楚为啥IP会消失

可能的原因主要有这几个:

  • 不小心用了临时封禁:如果手抖用了csf -td <IP>(临时封禁)而不是csf -d <IP>,那IP到时间就会自动从csf.deny里删掉,不过你说一开始看到IP在文件里,这个可能性偏低,但还是要确认下。
  • CSF的IP数量限制触发了自动清理:CSF默认有个DENY_IP_LIMIT配置,要是csf.deny里的IP数量超过这个值,旧的IP就会被自动移除。比如默认可能是100,要是你封禁的IP多了,之前加的攻击者IP就被顶掉了。
  • 第三方脚本或定时任务在搞事情:有些服务器上会装自定义安全脚本,或者有cron任务定期清理csf.deny,不小心把你的封禁IP删了。
  • CSF/系统更新覆盖了配置:虽然少见,但有时候CSF更新时如果没处理好,可能会重置csf.deny文件,不过这种情况概率很低。

接下来是永久解决的步骤

1. 确保用对永久封禁命令

先确认你用的是真正的永久封禁,最好加个备注方便区分手动封禁和自动封禁的IP:

csf -d <攻击者IP> "永久封禁:恶意扫描/攻击"

执行完一定要重启CSF和LFD让规则生效:

csf -r
service lfd restart

2. 调整CSF配置,关闭自动清理

编辑/etc/csf/csf.conf文件,找到这几个关键配置:

  • DENY_IP_LIMIT:把这个值调大,比如改成1000(根据你的需求来,只要比你现在封禁的IP数多就行),这样就不会因为IP太多顶掉旧的封禁记录。
  • 确认DENY_TEMP_TIMEOUT只针对临时封禁,这个值不会影响你手动加的永久IP。

改完配置后记得重启CSF生效。

3. 给csf.deny加锁,防止被修改

要是担心文件被意外篡改,可以给它加个不可变属性,这样除非你手动解锁,否则谁都改不了这个文件:

chattr +i /etc/csf/csf.deny

以后要加新IP的话,先解锁、添加、再锁回去:

chattr -i /etc/csf/csf.deny
csf -d <新IP>
chattr +i /etc/csf/csf.deny
csf -r

4. 检查定时任务,揪出捣蛋鬼

看看服务器上有没有定时清理csf.deny的脚本:

# 查看当前用户的定时任务
crontab -l
# 查看系统级定时任务目录
ls -la /etc/cron.*

要是发现可疑的脚本,直接禁用或者删掉它就行。

5. 定期备份,以防万一

养成备份的好习惯,定期把csf.deny备份一份:

cp /etc/csf/csf.deny /etc/csf/csf.deny.bak

备注:内容来源于stack exchange,提问作者Del tree

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 12:15:29