linux利用CSF防火墙屏蔽恶意请求
发布时间 - 2026-01-11 01:13:42 点击率:次问题
最近不知道为什么,恶意代理的请求数越来越多,明明我返回的都是403Forbidden,但是由于数量实在庞大,还是消耗了我大量的带宽和资源。之前的方法已经没有用了,想了半天还是研究研究防火墙吧,虽然仅仅靠Apache也能对某些IP进行黑名单设置,但是感觉还是有点麻烦的。比如最常见的用iptables,或者是ufw,虽然都能很好的做到管理,但是他们基本都需要一条一条的加,十分麻烦。

网上搜索了下,找到了一个挺方便的小工具–CSF(ConfigServer & Security Firewall),这个工具据说除了能够方便的管理IP blacklist,而且也能稍加配置抵御一定量的DDOS攻击。
安装
工具本身可以在csf工具的官网上下载。
下载并解压后可以参考其中的install.txt的说明进行安装,讲的简洁而且详细,注意给权限就行。需要说明的是,这个工具其实也是基于iptables,只是简化了命令而已。
关于ddos的防护
根据readme.txt的描述,进行ddos防护的功能主要是靠/etc/csf/csf.conf中的配置进行控制的,尤其是当中的PORTFLOOD参数,一般都进行如下设置:
#Syntax for the PORTFLOOD setting: #PORTFLOOD is a comma separated list of: port;protocol;hit count*;interval seconds #So, a setting of PORTFLOOD = "22;tcp;5;300,80;tcp;20;5" means: #1. If more than 5 connections to tcp port 22 within 300 seconds, then block #that IP address from port 22 for at least 300 seconds after the last packet is #seen, i.e. there must be a "quiet" period of 300 seconds before the block is #lifted #2. If more than 20 connections to tcp port 80 within 5 seconds, then block #that IP address from port 80 for at least 5 seconds after the last packet is #seen, i.e. there must be a "quiet" period of 5 seconds before the block is #lifted
这个可以根据个人需要修改。
关于black list
blacklist 就在/etc/csf/csf.deny里,可以有多种书写方式,在该文件的顶部描述的十分清楚:
############################################################################### # Copyright 2006-2017, Way to the Web Limited # URL: http://www.configserver.com # Email: sales@waytotheweb.com ############################################################################### # The following IP addresses will be blocked in iptables # One IP address per line # CIDR addressing allowed with a quaded IP (e.g. 192.168.254.0/24) # Only list IP addresses, not domain names (they will be ignored) # # Note: If you add the text "do not delete" to the comments of an entry then # DENY_IP_LIMIT will ignore those entries and not remove them # # Advanced port+ip filtering allowed with the following format # tcp/udp|in/out|s/d=port|s/d=ip # # See readme.txt for more information regarding advanced port filtering #
简要概括就是每一行代表一个ip,也可以代表一个ip段(CIDR),而且我们也可以加注释,甚至可以指定端口和协议。
最后,在做出修改后想要生效记得用csf -r命令。
针对恶意代理请求的防护方案
当然,我用这个的目的是为了根本解决之前的恶意代理占用带宽的问题。有了这个工具,就可以十分轻松的进行控制了,思路如下:
- 首先,搜索Apache的log(/var/log/apache2/access.log),查找所有应被屏蔽的log条目(我这里指的是所有被403的请求)。
- 然后,提取每条Log记录对应的ip地址。
- 对结果进行排序去重,生成black list。
- blacklist 写入csf.deny
- 重启csf防护服务。
实现起来超级简单:
复制代码 代码如下:
root@server:~# cat /var/log/apache2/access.log |grep \ 403\ |awk '{print $1}'|sort|uniq >> /etc/csf/csf.deny
可以手动查看下结果是否正确,确认之后既可以csf -r重启服务了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# csf防火墙
# linux防火墙
# linux防火墙屏蔽
# linux服务中开启防火墙的两种方式
# Linux强制释放占用端口以及Linux防火墙端口开放方法详解
# linux防火墙iptables规则的查看、添加、删除和修改方法总结
# linux查看防火墙状态与开启关闭命令详解
# 详解Linux防火墙iptables禁IP与解封IP常用命令
# Linux中在防火墙中开启80端口方法示例
# linux下mysql开启远程访问权限 防火墙开放3306端口
# linux下mysql链接被防火墙阻止的解决方法
# Linux系统如何修改防火墙配置
# 重启
# 的是
# 都是
# 很好
# 就在
# 尤其是
# 都能
# 也能
# 半天
# 就行
# 我用
# 用了
# 或者是
# 想了
# 不知道为什么
# 可以根据
# 既可
# 指的是
# 能对
# 每条
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在云主机上快速搭建多站点网站?
个人摄影网站制作流程,摄影爱好者都去什么网站?
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
Laravel如何实现本地化和多语言支持?(i18n教程)
Laravel如何使用Telescope进行调试?(安装和使用教程)
JavaScript如何实现继承_有哪些常用方法
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
个人网站制作流程图片大全,个人网站如何注销?
香港服务器租用每月最低只需15元?
如何用VPS主机快速搭建个人网站?
如何在景安云服务器上绑定域名并配置虚拟主机?
EditPlus中的正则表达式 实战(2)
如何在阿里云完成域名注册与建站?
如何在云服务器上快速搭建个人网站?
如何在阿里云香港服务器快速搭建网站?
Linux网络带宽限制_tc配置实践解析【教程】
Laravel如何实现用户密码重置功能?(完整流程代码)
Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】
魔方云NAT建站如何实现端口转发?
Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程
大连网站制作公司哪家好一点,大连买房网站哪个好?
如何用PHP快速搭建高效网站?分步指南
桂林网站制作公司有哪些,桂林马拉松怎么报名?
七夕网站制作视频,七夕大促活动怎么报名?
网站建设保证美观性,需要考虑的几点问题!
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
Laravel如何使用查询构建器?(Query Builder高级用法)
活动邀请函制作网站有哪些,活动邀请函文案?
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
教学论文网站制作软件有哪些,写论文用什么软件
?
javascript基本数据类型及类型检测常用方法小结
如何快速打造个性化非模板自助建站?
如何生成腾讯云建站专用兑换码?
EditPlus 正则表达式 实战(3)
如何在橙子建站上传落地页?操作指南详解
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
如何快速生成高效建站系统源代码?
UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】
敲碗10年!Mac系列传将迎来「触控与联网」双革新
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程
Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
Laravel如何配置任务调度?(Cron Job示例)
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用

