惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
GRAHAM CLULEY
V
V2EX
WordPress大学
WordPress大学
博客园 - Franky
Last Week in AI
Last Week in AI
博客园 - 司徒正美
有赞技术团队
有赞技术团队
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 【当耐特】
V
Visual Studio Blog
C
CERT Recently Published Vulnerability Notes
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Jina AI
Jina AI
Attack and Defense Labs
Attack and Defense Labs
腾讯CDC
The Hacker News
The Hacker News
Hugging Face - Blog
Hugging Face - Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
J
Java Code Geeks
人人都是产品经理
人人都是产品经理
阮一峰的网络日志
阮一峰的网络日志
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
A
Arctic Wolf
量子位
博客园 - 聂微东
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
News and Events Feed by Topic
雷峰网
雷峰网
博客园_首页
Google Online Security Blog
Google Online Security Blog
Spread Privacy
Spread Privacy
罗磊的独立博客
H
Hacker News: Front Page
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
月光博客
月光博客
TaoSecurity Blog
TaoSecurity Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
IT之家
IT之家
The Cloudflare Blog
爱范儿
爱范儿
博客园 - 叶小钗
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Apple Machine Learning Research
Apple Machine Learning Research
酷 壳 – CoolShell
酷 壳 – CoolShell

Sehnsucht

记一次博客换图床的过程 观《花束般的恋爱》 读《活过》 东京 旅行篇 亲人逝去 我为什么想养鱼 防止AI爬取你的博客 「monthly 」博客重构 游戏全成就 好看的小说 人生的每一步都不会是浪费-2024年终 「weekly」星期五综合征 「weekly」听播客 杂谈 读《美丽新世界》 「weekly」社交媒体 恶性事件 新世界 「weekly」认知觉醒 美丽新世界 follow 「weekly」独立博客9问题 双十一买书 读《惊呆了!原来这就是社会学》 一次聊天与自我建设 2024-09月记 补番《relife》 树状数组简单理解 lvm简单使用 博客自动发布方案 某公众号废案 Podman 环境使用 Nginx Proxy Manager 最佳实践 2024-07同学聚会 vps使用podman部署freshrss Gitlab CICD 实践,思考与记录 装备升级:新的PC gitlab局域网搭建流程 FastMail迁移至GMail+Cloudflare Email Routing 读《黑客与画家》 leetcode 第 391 场周赛 Astro添加过渡后DarkModeToggle按钮失效 nuxt3使用echarts5渲染中国地图 人生刻度 又到凤凰花朵开放的时候 2023-05-10 实习结束 2023-04-26 广州博物馆游记 YOASOBI「たぶん」官方音乐视频 风灵玉秀-发如雪 带我的老哥离职了 从p10k转向Starship lunarvim国内安装踩坑记录 什么是对称加密非对称加密、密钥交换、数字签名、证书 强调体验的一种思考时间的方式 ArchLinux使用vscode编写latex报错The font "FontAwesome" cannot be found ArchLinux安装(移动硬盘)流程 yay一个或多个文件没有通过有效性检查! 2022年终 hugo建站伊始 clash设置relay前置代理(校园网破解改进记录) 群青 · YOASOBI · Ayase 华为 matepad pro 11使用体验 Nginx使用acme.sh免费安装ssl证书 永远属于你的安娜 在线 童年趣事 童心,是比野心更难得的梦想 2021年终总结 基于jeeSite的软件测试课程作业 流程记录 Linux不同用户安装不同版本jdk Wifi4更换Wifi6路由器的使用体验 Flask 上传图片并灰度显示 玩客云刷机debain个人记录 jython 简单入门 Jenkins 个人搭建流程记录 集成邮件系统(qq邮箱),gitlab服务器,freestyle风格 在Web项目中配置Log4j --指南-- Codeforces Round 753 (Div. 3) ABCDE 浅谈fork函数 JavaWeb servlet 使用Cookie记录用户访问次数 Codeforces Round Educational Codeforces Round 114 (Rated for Div. 2) ABC 2021牛客多校7 I xay loves or 2021牛客多校9 H Happy Number 2021牛客多校8 D OR 2021牛客多校5 B Boxes 2021牛客多校5 H Holding Two 2021牛客多校2 D Er Ba Game 2021牛客多校1 F Find 3-friendly Integers 2021牛客多校1 B Ball Dropping 记人生第一次投简历和笔试 原型模式 2021-2-20 雨时随记 关于一维差分数组的例子 halo个人建站 关于手机ping电脑和电脑ping手机 泛型类简单理解 CodeForces - 849C From Y to Y 2020牛客国庆集训派对day3 Leftbest 约瑟夫环问题---2020牛客国庆集训派对day2 AKU NEGARAKU mysql 5.7 忘记密码如何更改 CF 1099B Squares and Segments CF 998A Balloons CF 998B Cutting 链表应用之多项式相加 CF 1150A Stock Arbitraging CF 1199A City Day CF 1199B Water Lily CF 982A Row CF 934A A Compatible Pair CF 629B Far Relative’s Problem 651A Joysticks 651B Beautiful Paintings
fail2ban基本使用
2024-07-22 · via Sehnsucht

Fail2ban是Python编写的,免费的开源入侵防御系统

基本原理是通过扫描日志文件来禁止,多次失败来源的IP,访问对应服务

安装

直接用linux对应的包管理器安装即可,例如我的是Almalinux9,直接输入dnf install fail2ban即可

日志/var/log/fail2ban.log中查看

配置/etc/fail2ban/中,主要的配置文件是jail.conffail2ban.conf

一般不修改*.conf后缀文件,例如我要修改jail.conf文件,那么就cp jail.conf jail.local,然后清空jail.local。需要修改那就只修改单独那一部分就行,会自动覆盖jail.conf,如果是fail2ban.conf同理

为fail2ban配置sshd

主要用于防止暴力破解ssh,当多次访问失败时将禁止该IP访问(一定时间后恢复)

一般在/etc/fail2ban/jail.local中写入文件而非/etc/fail2ban/jail.config,且默认全部是关闭的,需要显式的用enabled = true开启。在jail.local中写入的会覆盖jail.config的内容,所以在所有的local文件中只需要写我们要覆盖的那部分就行

查看系统是否有下面的文件:

# Red Hat系和CentOS
sudo cat /var/log/secure
# 
sudo cat /var/log/auth.log

如果有,就直接在/etc/fail2ban/jail.local中写入即可:

[sshd]
enabled = true
mode = normal
port = ssh
logpath = /var/log/secure # 或者 /var/log/auth.log
backend = auto
maxretry = 5
bantime = 600

我发现AlmaLinux 9中,没有这两个文件,它用的是sudo journalctl -u sshd来查看日志,可以使用journalctl -u sshd -o cat代替日志文件

[sshd]
enabled = true
mode = normal
port = xx
logpath = journalctl -u sshd -o cat
backend = systemd
maxretry = 6
bantime = 600
  • 默认enabled是false的,必须显式的把它设置为true
  • mode一般normal就行
  • port是ssh对外开放的端口
  • logpath是日志路径
  • backend一般是auto,但是我这里设置为了systemd
  • maxretry是最大尝试次数
  • bantime是禁封时间

配置完成后:

  1. 判断格式是否正确sudo fail2ban-client -d
  2. 执行sudo systemctl start fail2ban或者sudo systemctl restart fail2ban
  3. 查看sudo systemctl status fail2ban,是否正常
  4. 设置为自启动sudo systemctl enable fail2ban
  5. 尝试ssh到服务器
  6. 看看/var/log/fail2ban.log有无日志

后续维护

检查 fail2ban 状态 fail2ban-client status

设置了 sshd 之后,可以检查具体的fail2ban-client status [JAIL]

[JAIL]是你配置的服务,例如sshd,上面的命令可变更为fail2ban-client status sshd,禁封的IP也是可以看到的

解禁操作:

sudo fail2ban-client set [JAIL] unbanip [IP_ADDRESS]

如果返回1就是成功

参考: