顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-解决方案:运行了 Freeswitch 的服务器攻击问题

文章目录

  • 前言
  • 联系我们
  • 攻击实例
  • 解决方案
    • 安装 fail2ban
    • 编辑jail.conf
    • 设置日志文件权限
    • 设置filter
    • fail2ban 操作


前言

运行在公网的 Freeswitch 服务器,每天都会接收到很多恶意的呼叫请求和注册请求,从而尝试盗打电话。每天大量的攻击,会导致 Freeswitch 产生很多日志,进而降低 Freeswitch 的处理能力。

解决方案:通过 cti 模块与 fail2ban 结合,可以把恶意IP封堵掉。


提示:以下是本篇文章正文内容,下面案例可供参考

联系我们

有意向了解呼叫中心中间件的用户,可以点击该链接添加工作人员的微信:顶顶通小何


攻击实例

在 Freeswitch 控制台中,有时会接收到这样的日志:

2024-04-13 17:21:01.959347 98.47% [NOTICE] cti_fail2ban.c:35 write to fail2ban:ip[124.32.10.1] user[1177] at[2024-04-13T17:21:01.959347+0800] Registration failed succeed!

该日志中的IP:124.32.10.1如果是不认识的IP,和账号:1177不是用户自己创建的账号。这就是被攻击了。

解决方案

安装并配置 fail2ban,把非法的IP加入防火墙黑名单,这样就可以有效的杜绝攻击了。另外,为了防止开发测试过程误触发屏蔽规则,导致开发机器连接不上服务器,建议把开发电脑的外网IP加入白名单。

安装 fail2ban

yum安装:yum install fail2ban -y

编辑jail.conf

  • 以此执行以下命令:
    cd /etc/fail2ban
    mv jail.conf jail.conf.local
    vi jail.conf
  • 将以下的内容写入到文件:vi jail.conf 中:
[cti]
enabled = true
filter = cti
action = iptables-allports[name=cti, protocol=all]
logpath = /ddt/fs/log/cti_fail2ban.log
bantime = 86400
maxretry = 5
findtime  = 300
ignoreip = 127.0.0.1/8
backend = auto

内容配置说明:
logpath 监视cti记录的异常IP日志。
bantime 封堵时间,单位秒,86400秒就是24小时。
maxretry findtime(300秒)时间内日志文件出现的IP超过maxretry(5)次就封堵。
ignoreip ip白名单

设置日志文件权限

给/ddt/fs/log/目录修改安全上下文,可执行命令:chcon -R -t var_log_t /ddt/fs/log
也可以直接关闭sulinux,如果不修改安全上下文,会导致fail2ban启动失败。

设置filter

  • 执行命令:vi /etc/fail2ban/filter.d/cti.conf
  • 把以下内容写入进去:
[Definition]
failregex = ^ip\[<HOST>\].*
ignoreregex =

fail2ban 操作

  • 设置开机启动命令:
    systemctl enable fail2ban

  • 启动命令:
    systemctl enable fail2ban

  • 查看启动状态命令:
    systemctl status fail2ban

  • 手动封堵一个IP
    fail2ban-client set cti banip IP地址

  • 手动解封一个IP
    fail2ban-client set cti unbanip IP地址

  • 添加白名单
    fail2ban-client set cti addignoreip IP地址

  • 删除白名单
    fail2ban-client set cti delignoreip IP地址

  • 查看被禁止的IP地址
    iptables -L -n

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/446.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数字时代安全风险防范与保密科技创新

文章目录 前言一、新技术应用带来的保密挑战1.1 通过技术手段获取国家秘密和重要情报日益普遍1.2 新型信息技术存在的风险不容忽视 二、加强保密科技创新的必要性2.1 提高定密准确性2.2 及时变更密级或解密2.3 对失泄密事故案件进行自动高效的预警和初步处理 三、保密科技创新中…

Qt-饼图示范

1.效果图 2.代码如下 2.1 .h文件 #ifndef PIECHARTWIDGET_H #define PIECHARTWIDGET_H#include <QWidget> #include <QChartView> #include <QPieSeries>#include<QVBoxLayout> #include<QMessageBox> #include <QtCharts>struct PieDat…

游戏引擎技术——前向渲染与延迟渲染

作者&#xff1a;yangkuKO 一、前言 2015年5月&#xff0c;3A巨作《巫师3&#xff1a;狂猎&#xff08;The Witcher 3&#xff1a;Wild Hunt&#xff09;》横空出世&#xff0c;该游戏作为一款开放世界的角色扮演游戏&#xff0c;其巨大的开放世界、绵长的剧情故事、画面精美…

LevelDB源码阅读笔记(1、整体架构)

LevelDB源码阅读笔记&#xff08;1、整体架构&#xff09; LeveDB源码笔记系列&#xff1a; LevelDB源码阅读笔记&#xff08;0、下载编译leveldb&#xff09; LevelDB源码阅读笔记&#xff08;1、整体架构&#xff09; 前言 对LevelDB源码的博客&#xff0c;我准备采用总…

Hadoop大数据处理技术-Linux相关命令

​7.Linux常用命令 1&#xff09;Windows中的dir&#xff1a;列出当前目录下所有的文件和目录 2&#xff09;cd&#xff1a;改变当前目录 cd命令并不能直接实现这种跳跃转换目录的功能 它只能让你在当前目录和其子目录之间来回切换 就像在一张平面地图上移动一样 如果想跨目录…

力扣:15. 三数之和(Java)

目录 题目描述&#xff1a;输入&#xff1a;输出&#xff1a;代码实现&#xff08;排序双指针&#xff09;&#xff1a; 题目描述&#xff1a; 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时…

Qt菜单栏

文章目录 创建菜单栏创建菜单并在菜单栏中添加创建子菜单并添加到菜单创建菜单项并在菜单中添加分割线实现简易的记事本 Qt 窗口是通过 QMainWindow类 来实现的 创建菜单栏 Qt 中的菜单栏是通过 QMenuBar 这个类来实现的&#xff0c;一个窗口最多只有一个菜单栏。 菜单栏包含…

MyBatis 源码分析 - 缓存原理

MyBatis 源码分析 - 缓存原理 1.简介 在 Web 应用中&#xff0c;缓存是必不可少的组件。通常我们都会用 Redis 或 memcached 等缓存中间件&#xff0c;拦截大量奔向数据库的请求&#xff0c;减轻数据库压力。作为一个重要的组件&#xff0c;MyBatis 自然也在内部提供了相应的…

EDGE的使用心得和深度探索

Microsoft Edge 是微软推出的一款基于 Chromium 开源项目的网页浏览器&#xff0c;自 2020 年重大更新后&#xff0c;在性能、兼容性和扩展支持方面得到了显著提升。以下是关于 Edge 浏览器的使用心得和一些深度探索的内容。 使用心得 1. 性能与兼容性&#xff1a;Edge 浏览器…

浅理解vue2中的模板编译

vue组件实例在初始化完成各种状态数据后&#xff0c;会触发vm.$mount()方法来进行模板编译阶段&#xff0c;有两种触发方式 // 方法一&#xff1a;主动触发 new Vue({ el: #app }) if (vm.$options.el) {vm.$mount(vm.$options.el); }// 方法二&#xff1a;手动调用 new Vue()…

遗传算法 定义+特性+原理+公式+Python示例代码(带详细注释)

文章目录 引言定义特性基本原理和公式推导基本原理公式推导 实现步骤和代码实现实现步骤Python代码实现&#xff08;带详细注释&#xff09; 应用案例优化和挑战结论 引言 遗传算法&#xff08;Genetic Algorithm, GA&#xff09;是进化计算技术的一种&#xff0c;广泛应用于解…

Yarn的安装和配置

第一部分&#xff1a;安装与配置Yarn 在开始之前&#xff0c;我们需要先安装Yarn。下面是一些简单的步骤&#xff1a; 步骤1&#xff1a;下载并安装Node.js Yarn是基于Node.js的&#xff0c;因此我们首先需要安装Node.js。请前往Node.js官网&#xff08;https://nodejs.org/&a…

绘制音频时长核密度分布图

import pandas as pd import seaborn as sns import matplotlib.pyplot as plt# 读取文件到DataFrame # 可以读百万行文件 df pd.read_csv(wav_dur_million.info, sep , header0, names[音频名, 音频时长])# 绘制核密度图 sns.kdeplot(df[音频时长], fillTrue) plt.xlabel(dur…

Elasticsearch:(二)1.安装Elasticsearch

1.环境安装介绍: 安装java环境安装Elasticsearch安装kibana安装Elasticsearch-head插件 本节文章主要讲解Elasticsearch的安装。 2.版本选择 jdk兼容性:支持一览表 | Elastic 操作系统兼容性:支持一览表 | Elastic 自身产品兼容性: 支持一览表 | Elastic jdk版本选择:…

道可云元宇宙每日资讯|北京:推进数字+场景落地

道可云元宇宙每日简报&#xff08;2024年4月15日&#xff09;讯&#xff0c;今日元宇宙新鲜事有&#xff1a; 上海市闵行区医学会元宇宙医学专业委员会举行成立大会 4月10日&#xff0c;上海市闵行区医学会元宇宙医学专业委员会举行成立大会。会上&#xff0c;全球领先的元宇…

安装Miniconda@FreeBSD13

近几年在学习和使用AI框架的时候&#xff0c;时时刻刻在想着如何在FreeBSD下进行训练和推理部署&#xff0c;可惜一直没有如愿。 近几天在调试大模型的一些项目时&#xff0c;尝试将飞桨、torch和tensorflow装了个遍&#xff0c;可惜都没有成功。机缘巧合下&#xff0c;看到fre…

【智能算法】饥饿游戏搜索算法(HGS)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2021年&#xff0c;Yang等人受到自然界饥饿驱动的活动和动物的行为选择启发&#xff0c;提出了饥饿游戏搜索算法&#xff08;Hunger Games Search, HGS&#xff09;。 2.算法原理 2.1算法思想 HGS…

酒店管理系统

文章目录 酒店管理系统一、项目演示二、项目介绍三、15000字论文参考四、部分功能截图五、部分代码展示六、底部获取项目源码和万字论文参考&#xff08;9.9&#xffe5;带走&#xff09; 酒店管理系统 一、项目演示 酒店管理系统 二、项目介绍 基于springbootvue前后端分离的…

通过实例学C#之FileStream类

简介 可以通过此类进行文件读取。 首先在项目所在文件夹的Bin文件中新建一个test.txt文件&#xff0c;里面输入内容“hello world!”。 构造函数 FileStream (string path, FileMode mode&#xff0c;FileAccess access) 通过路径文件path&#xff0c;打开文件模式mode以及读写…

springboot注解学习记录(持续更新)

RestController 放在controller最前面&#xff0c;代表这个java文件是一个controller CrossOrigin 放在controller最前面&#xff0c;用于解决跨域情况下的请求。 RequestMapping(“/prefix”) 放在controller前&#xff0c;对当前controller所有的请求都要加上这个前缀 …