当前位置: 首页 > news >正文

Centos7整合fail2ban配置ssh和pgsql以及vault

配置Fail2Ban

配置环境

useradd fail2ban
visudo#添加
fail2ban ALL=(ALL) ALL

配置conda源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/conda create --prefix=/app/env/fail2ban python=3.10
conda activate /app/env/fail2banpip install pyinotify -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install python-systemd -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install dnspython -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pyasyncore -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pyasynchat -i https://pypi.tuna.tsinghua.edu.cn/simple

下载fail2ban

https://github.com/fail2ban/fail2ban
su - fail2ban
cd fail2ban-1.1.0
sudo python setup.py install

查看配置文件路径下是否包含文件

cd /etc/fail2ban

编辑fail2ban配置文件

vi /etc/fail2ban/jail.local

ignoreip    = 127.0.0.1/8 ::1[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/secure
maxretry = 5
bantime = 10
findtime = 600[pgsql]
enabled = true
port = 5432
filter = pgsql
logpath = /app/postgresql/log/postgresql-*.log
maxretry = 3
bantime = 10
findtime = 600[vault]
enabled = true
port = 8200
filter = vault
logpath = /app/vault/logs/vault_audit.log
maxretry = 3
bantime = 60
findtime = 600

参数解释

enabled: 启用此监控规则。
port: 监控的端口号,通常是5432。
filter: 使用我们刚刚定义的过滤器pgsql。
logpath: 指定PGSQL日志的路径。你提到日志是按照年月日分割的,所以使用postgresql-*.log来匹配所有日志文件。
maxretry: 允许的最大失败次数(3次)。
bantime: 封禁时间(1小时)。
findtime: 规定时间内达到最大失败次数即触发封禁(10分钟内3次失败)。

vi /etc/fail2ban/filter.d/pgsql.conf

[INCLUDES]
before = common.conf[Definition]
_daemon = postgres(ql)?(-\d+(\.\d+)?)?
failregex = ^.*client=<HOST>.*FATAL:\s+password authentication failed for user ".*".*$
^.*client=<HOST>.*FATAL:\s+no pg_hba.conf entry for host .*, user .*, database .*$ignoreregex =

vi /etc/fail2ban/filter.d/vault.conf

[INCLUDES]
before = common.conf[Definition]
failregex = ^.*"error":".*(invalid token|invalid_credentials|permission denied|missing client token|token expired).*".*\"remote_address\":\"<HOST>\".*"type\":\"request\".*
ignoreregex =

重启Fail2Ban以应用配置

  1. 复制fail2ban.service脚本

    首先,将fail2ban.service脚本复制到/etc/systemd/system/目录,并重命名为fail2ban:

    sudo cp /usr/MyWorkSpace/fail2ban-1.1.0/build/fail2ban.service /etc/systemd/system/fail2ban.service
    
  2. 重新加载 systemd 配置

    sudo systemctl daemon-reload
    sudo systemctl start fail2ban
    sudo systemctl stop fail2ban
    sudo systemctl enable fail2ban
    sudo systemctl restart fail2ban
    
  3. 最后,检查Fail2Ban服务是否正常运行:

    sudo systemctl status  fail2ban
    

验证配置

    sudo fail2ban-client statussudo fail2ban-client status sshdsudo fail2ban-client status pgsqlsudo fail2ban-client status vault

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 开发日记-EaxyExcel修改模板sheet名称
  • 如何实现一棵红黑树
  • Element-UI自学实践(二)
  • 【Node】【4】事件循环和EventEmitter类
  • 2024年特种设备作业人员考试题库及答案(流动式起重机Q2)
  • 查找数学类文献的专业数据库有哪些 如何获取这些数据库资源
  • Blazor官方文档学习记录
  • 2024.8.24
  • iPhone抹掉数据后能恢复吗?详解数据恢复的可能性与方法
  • 面向对象02:构造器详解
  • VScode 连接远程服务器
  • CLIP-VIT-L + Qwen 多模态源码阅读 - 语言模型篇(3)
  • 在vs+QT中使用QT的库(multimedia.lib)
  • 以简单的例子从头开始建spring boot web多模块项目(一)
  • 面向对象08:什么是多态
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • @jsonView过滤属性
  • 【个人向】《HTTP图解》阅后小结
  • 【剑指offer】让抽象问题具体化
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • Solarized Scheme
  • Webpack入门之遇到的那些坑,系列示例Demo
  • windows下如何用phpstorm同步测试服务器
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 服务器之间,相同帐号,实现免密钥登录
  • 机器学习中为什么要做归一化normalization
  • 前端学习笔记之观察者模式
  • 延迟脚本的方式
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 阿里云API、SDK和CLI应用实践方案
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #pragma预处理命令
  • (007)XHTML文档之标题——h1~h6
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (不用互三)AI绘画工具应该如何选择
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (三十)Flask之wtforms库【剖析源码上篇】
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (四)activit5.23.0修复跟踪高亮显示BUG
  • (四)Controller接口控制器详解(三)
  • (转)【Hibernate总结系列】使用举例
  • (转)EOS中账户、钱包和密钥的关系
  • (转载)利用webkit抓取动态网页和链接
  • (转载)深入super,看Python如何解决钻石继承难题
  • *2 echo、printf、mkdir命令的应用
  • .apk文件,IIS不支持下载解决
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .NET Framework 服务实现监控可观测性最佳实践
  • .Net的C#语言取月份数值对应的MonthName值
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • .NET中 MVC 工厂模式浅析
  • /boot 内存空间不够