Debian10_Centos8_fail2ban

转载注明来源: 本文链接 来自osnosn的博客,写于 2020-11-7.

  • Debian-10 的 fail2ban 支持 ipv6。防火墙内核是 nft,缺省用 iptables/ip6tables 指令,也可以装 nftables 用 nft 指令。
  • CentOS-8 的 fail2ban 支持 IPv6. 防火墙内核用 nft,缺省用 firewall-cmd, nft, iptables/ip6tables 指令。
  • CentOS-7 的 fail2ban 还不支持 IPv6. 防火墙内核是 iptables,缺省用 firewall-cmd, iptables 指令。

安装配置 fail2ban (debian10)

  • apt install fail2ban
  • debian-10 安装后,默认就已经"激活" 并 "启动"
  • 创建 /etc/fail2ban/filter.d/nginx-MyRule.local (按需。如果你不需要,就不用创建)

    这是自定义的nginx访问的规则。

    目的是阻止网页的扫描,如果有大量访问"文件不存在的页面",就禁了他。
[INCLUDES]

#before = botsearch-common.conf

[Init]

# Block is the actual non-found directories to block
block = \/?(<webmail>|<phpmyadmin>|<wordpress>|cgi-bin|mysqladmin)[^,]* # These are just convenient definitions that assist the blocking of stuff that
# isn't installed
webmail = roundcube|(ext)?mail|horde|(v-?)?webmail phpmyadmin = (typo3/|xampp/|admin/|)(pma|(php)?[Mm]y[Aa]dmin) wordpress = wp-(login|signup|admin)\.php [Definition] failregex = ^<HOST> \- \S+ \[\] \"(GET|POST|HEAD) \/\S+ \S+\" (400|401|404) .+$
^<HOST> \- \S+ \[\] \"(GET|POST|HEAD) \/<block> \S+\" 404 .+$ ignoreregex = datepattern = {^LN-BEG}%%ExY(?P<_sep>[-/.])%%m(?P=_sep)%%d[T ]%%H:%%M:%%S(?:[.,]%%f)?(?:\s*%%z)?
^[^\[]*\[({DATE})
{^LN-BEG} # Author: MyLocalRule
  • 创建 /etc/fail2ban/jail.local
[sshd]
enabled = true
port = 22,2222
#ignoreip=127.0.0.1/8 192.168.0.0/16
ignoreip=127.0.0.1/8
findtime=300
# 一次ssh密码错产生3条匹配
maxretry=10
bantime=1800 # 以下部分,按需。(不需要就整段不要)
[nginx-MyRule]
enabled = true
port = http,https,10443
logpath = %(nginx_access_log)s
ignoreip = 127.0.0.1/8
maxretry = 30
findtime = 1200
bantime = 14400
  • 重启 service fail2ban reload
  • fail2ban 启动后不会马上在iptables中创建规则。所以这时去看防火墙规则,是没有变化的。要等到需要deny时,才动态创建的。
  • 如果满足ban规则,因为 debian-10 默认是用 iptables/ip6tables 指令。
    • 默认用 multiport 动作。一条对应多个端口的规则分别加入iptables/ip6tables的INPUT,跳转到f2b-sshd。
    • ipv4, debian-10 会在 iptables 的 Chain f2b-sshd 中插入对应ipv4的deny规则。
    • ipv6, debian-10 会在 ip6tables 的 Chain f2b-sshd 中插入对应ipv6的deny规则。
    • 以上规则,最终会自动转换为 nft rule 执行。
      • 多端口的一条规则分别加入table ip(6) filter { chain INPUT { ... } }跳转f2b-sshd。
      • ipv4/ipv6的deny插入table ip(6) filter { chain f2b-sshd { ... } }

安装配置 fail2ban (centos-8)

  • dnf install fail2ban
  • 其他配置,和 debian-10 相同。
  • centos-8 安装后,没有"激活" 和 "启动", 所以需要手工激活/启动。

    systemctl enable fail2ban; systemctl start fail2ban
  • fail2ban 启动后不会在nft中创建规则。所以nft中看不到变化。要等到需要deny时,才会在nft中添加rule。
  • 如果满足ban规则,因为 centos-8 默认是用 nft 做防火墙。
    • 用 tcp dport 动作。一个端口插入一条deny规则。
    • ipv4/ipv6, centos-8 都会在 table inet firewalld { chain filter_IN_public_deny { ... } } 插入deny规则。
    • iptables/ip6tables 中 没有规则。

转载注明来源: 本文链接 来自osnosn的博客.

Debian10_Centos8_fail2ban的更多相关文章

  1. UnRAID_6.8.2_配置_设置

    UnRAID_6.8.2_配置_设置 转载注明来源: 本文链接 来自osnosn的博客,写于 2020-10-05. 参考: UnRAID download Getting_Started Offic ...

随机推荐

  1. 课堂练习之疫情APP

    title: 课堂练习之疫情查询APP date: 2020-03-17 20:08:51 tags: 在之前的体温记录APP上改进,只写出疫情信息查询页面的代码. 实体类与上篇博客SSM整合中的Ci ...

  2. 《Machine Learning in Action》—— Taoye给你讲讲Logistic回归是咋回事

    在手撕机器学习系列文章的上一篇,我们详细讲解了线性回归的问题,并且最后通过梯度下降算法拟合了一条直线,从而使得这条直线尽可能的切合数据样本集,已到达模型损失值最小的目的. 在本篇文章中,我们主要是手撕 ...

  3. Node第三方模块nodemon和nrm

    1.第三方模块nodemon nodemon是一个命令行工具,用以辅助项目开发. 在Node.js中,每次修改文件都要在命令行工具中重新执行该文件,非常繁琐,这时,nodemon就可以来解决这个问题. ...

  4. MySQL 5.7.29主从安装配置

    一.环境准备(关闭防火墙) 1.清除已安装数据库 [root@mysql01 ~]# rpm -qa | grep mariadb mariadb-libs-5.5.35-3.el7.x86_64 [ ...

  5. SpringBoot + SpringSecurity + Quartz + Layui实现系统权限控制和定时任务

    1. 简介   Spring Security是一个功能强大且易于扩展的安全框架,主要用于为Java程序提供用户认证(Authentication)和用户授权(Authorization)功能.    ...

  6. Clickhouse的特点

    1.为什么会有Clickhouse? 实时数据分析数据库 俄罗斯的谷歌开发的. 2.Clickhouse的优点. 真正的面向列的 DBMS ClickHouse 是一个 DBMS,而不是一个单一的数据 ...

  7. Codis集群相关

    在大数据高并发场景下,单个 Redis 实例往往会显得捉襟见肘.首先体现在内存上,单个 Redis 的内存不宜过大,内存太大会导致 rdb 文件过大,进一步导致主从同步时全量同步时间过长,在实例重启恢 ...

  8. 54 个官方 Spring Boot Starters 出炉!别再重复造轮子了…….

    在之前的文章,栈长介绍了 Spring Boot Starters,不清楚的可以点击链接进去看下. 前段时间 Spring Boot 2.4.0 也发布了,本文栈长再详细总结下最新的 Spring B ...

  9. 爬取并分析一下B站的最热视频排行榜,看看大家都喜欢看什么视频

    前言 现在大家的生活中,已经越来越离不开B站了,2020年的第一季度,B站月活跃用户达到了1.72亿,日活跃用户也已经突破了5000万个用户.源源不断的流量让B站的up主们也是粉丝数目不断暴涨,百万粉 ...

  10. CentOS8 部署SqlServer

    官方文档https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-server-li ...