freeswitch借助fail2ban屏蔽骚扰注册

2024-09-02 18:08

本文主要是介绍freeswitch借助fail2ban屏蔽骚扰注册,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

fail2ban屏蔽fs中的骚扰注册

        • 背景
        • Fail2Ban
          • 安装
          • 配置

背景

在阿里云上部了一套fs满足公网业务需要。布置好后打开fs_cli看了一眼,全是来自公网的骚扰注册,足见公网环境的风险(不过aws似乎情况稍好)。
在这里插入图片描述

Fail2Ban

使用Fail2Ban来防御注册骚扰的主要原因是,Fail2Ban已经和freeswitch有了很好的集成。Fail2Ban的工作原理简单来说,就是扫描fs的日志,从中发现疑似骚扰的ip,然后直接ban掉。

安装

centOS下安装很简单:yum install fail2ban

配置
  • 修改扫描日志路径
    /etc/fail2ban/jail.conf中,[freeswitch]标签下的logpath,修改为fs日志的路径:
    在这里插入图片描述
  • 自定义封禁逻辑
    /etc/fail2ban/jail.d/路径下新增配置文件touch freeswitch.local。新增[freeswitch]标签,并新增如下配置(如果60s内检查到某个ip注册失败5次,则将这个ip封禁86400s)。如果要加白名单也是在这里加。
    在这里插入图片描述
  • 设置日志捕获和匹配逻辑
    /etc/fail2ban/filter.d/freeswitch.conf中:
    在这里插入图片描述
  • 设置自启并重启
    设置自启:systemctl enable fail2ban.service
    重启:systemctl restart fail2ban
  • 开启防火墙
    fail2ban需要和防火墙一起工作。
  • 查看firewalld状态:systemctl status firewalld
  • 开启防火墙:systemctl start firewalld
  • 设置自启:systemctl enable firewalld

注意!!!firewalld默认是所有端口全ban的,所以要先开放我们需要的端口,例如业务需要8082的tcp端口,和16384-32768的udp端口

  • 查看8082端口是否开放:firewall-cmd --query-port=8082/tcp
  • 开启8082端口: firewall-cmd --zone=public --add-port=8082/tcp --permanent
  • 批量开启16384-32768端口:firewall-cmd --zone=public --add-port=16384-32768/udp--permanent
  • 查看所有已开放端口:firewall-cmd --zone=public --list-ports
  • 重启防火墙:firewall-cmd --reload
  1. fail2ban基本命令
  • 查看fail2ban客户端状态:fail2ban-client status
  • 查看fs的fail2ban状态:fail2ban-client status freeswitch
  • ban掉一个ip:fail2ban-client set freeswitch banip 113.113.113.113
  • 解禁一个ip:fail2ban-client set freeswitch unbanip 113.113.113.113
  1. 查看fail2ban日志
    fail2ban日志位于/var/log/fail2ban.log,可以看到fail2ban运行详情:
    在这里插入图片描述
    重启后从日志中可以看到,连ban了多个ip。再到fs_cli中看一眼,全世界都清净了。
  2. fail2ban不仅可以屏蔽骚扰注册,同时也可以屏蔽骚扰呼叫,我这里fs对ip做了acl控制,所以暂时用不到,之后如果用到再更新。
  3. 这篇博文写的更详细。

这篇关于freeswitch借助fail2ban屏蔽骚扰注册的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1130680

相关文章

SpringBoot整合Dubbo+ZK注册失败的坑及解决

《SpringBoot整合Dubbo+ZK注册失败的坑及解决》使用Dubbo框架时,需在公共pom添加依赖,启动类加@EnableDubbo,实现类用@DubboService替代@Service,配... 目录1.先看下公共的pom(maven创建的pom工程)2.启动类上加@EnableDubbo3.实

一文详解SpringBoot中控制器的动态注册与卸载

《一文详解SpringBoot中控制器的动态注册与卸载》在项目开发中,通过动态注册和卸载控制器功能,可以根据业务场景和项目需要实现功能的动态增加、删除,提高系统的灵活性和可扩展性,下面我们就来看看Sp... 目录项目结构1. 创建 Spring Boot 启动类2. 创建一个测试控制器3. 创建动态控制器注

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

Spring Cloud之注册中心Nacos的使用详解

《SpringCloud之注册中心Nacos的使用详解》本文介绍SpringCloudAlibaba中的Nacos组件,对比了Nacos与Eureka的区别,展示了如何在项目中引入SpringClo... 目录Naacos服务注册/服务发现引⼊Spring Cloud Alibaba依赖引入Naco编程s依

Go路由注册方法详解

《Go路由注册方法详解》Go语言中,http.NewServeMux()和http.HandleFunc()是两种不同的路由注册方式,前者创建独立的ServeMux实例,适合模块化和分层路由,灵活性高... 目录Go路由注册方法1. 路由注册的方式2. 路由器的独立性3. 灵活性4. 启动服务器的方式5.

Spring 源码解读:自定义实现Bean定义的注册与解析

引言 在Spring框架中,Bean的注册与解析是整个依赖注入流程的核心步骤。通过Bean定义,Spring容器知道如何创建、配置和管理每个Bean实例。本篇文章将通过实现一个简化版的Bean定义注册与解析机制,帮助你理解Spring框架背后的设计逻辑。我们还将对比Spring中的BeanDefinition和BeanDefinitionRegistry,以全面掌握Bean注册和解析的核心原理。

Chapter 13 普通组件的注册使用

欢迎大家订阅【Vue2+Vue3】入门到实践 专栏,开启你的 Vue 学习之旅! 文章目录 前言一、组件创建二、局部注册三、全局注册 前言 在 Vue.js 中,组件是构建应用程序的基本单元。本章详细讲解了注册和使用 Vue 的普通组件的两种方式:局部注册和全局注册。 本篇文章参考黑马程序员 一、组件创建 ①定义 Vue 组件是一种具有特定功能的 Vue 实

c++11工厂子类实现自注册的两种方法

文章目录 一、产品类构建1. 猫基类与各品种猫子类2.狗基类与各品种狗子类 二、工厂类构建三、客户端使用switch-case实现调用不同工厂子类四、自注册方法一:公开注册函数显式注册五、自注册方法二:构造函数隐形注册总结 一、产品类构建 1. 猫基类与各品种猫子类 class Cat {public:virtual void Printer() = 0;};class