标签: fail2ban

  • 使用 wp-fail2ban 提高 wordpress 站点安全性

    使用 wp-fail2ban 提高 wordpress 站点安全性

    wp-fail2ban 是 wordpress 上一款与 fail2ban 集成的,提高 wordpress 站点安全性的插件。

    安装:

    插件>安装新插件 中搜索“wp-fail2ban”,安装如上图所示插件并启用。

    安装完成后,ssh 连接到你博客的 vps 上。

    配置:

    参考插件的 配置文档 ,以使用 systemd 的 debian12 为例。

    确保你的 vps 上已经安装了 fail2ban。如果没有安装,可以参考我的这篇博文进行安装和配置。

    复制你的 网站根目录/wp-content/plugins/wp-fail2ban/filters.d/ 下的所有文件到 /etc/fail2ban/filters.d/ 目录下。

    sudo cp 网站根目录/wp-content/plugins/wp-fail2ban/filters.d/*.conf /etc/fail2ban/filter.d/

    修改你网站根目录下的 wp-config.php 文件,在末尾添加以下内容:

    // Make sure we're not using the short ("wp") tag
    define('WP_FAIL2BAN_SYSLOG_SHORT_TAG', false);
    
    // Don't include the HTTP host in the tag
    define('WP_FAIL2BAN_SYSLOG_TAG_HOST', false);
    
    /* That's all, stop editing! Happy blogging. */

    随后,保存退出。切换目录到 /etc/fail2ban/jail.d 。在该目录下新建一个名为 wordpress.conf 的配置文件,并添加以下内容:

    [wordpress-hard]
    enabled = true
    filter = wordpress-hard
    backend = systemd
    journalmatch = SYSLOG_IDENTIFIER=wordpress
    maxretry = 1
    port = http,https
    
    [wordpress-soft]
    enabled = true
    filter = wordpress-soft
    backend = systemd
    journalmatch = SYSLOG_IDENTIFIER=wordpress
    maxretry = 3
    port = http,https

    完成后,保存退出并重新加载 fail2ban 服务。

    sudo systemctl reload fail2ban

    使用命令

    systemctl status fail2ban

    查看 fail2ban 是否正常运行。使用命令

    sudo fail2ban-client status

    查看新配置是否已添加。成功添加后输出如下图:

    至此,wp-fail2ban 已经开始保护你的 wordpress 网站了。

  • debian 12 fail2ban的配置

    debian 12 fail2ban的配置

    fail2ban是一个服务器免受暴力攻击的入侵防御软件,基于auth 日志文件工作,更新防火墙规则,用于在指定的时间内拒绝特定的 IP 地址,从而有效保护服务器免受暴力攻击。

    fail2ban 的安装:

    debian12 上使用以下命令安装:

    sudo apt install fail2ban -y

    安装完成后,fail2ban会自动运行。

    fail2ban 的配置:

    如果遇到fail2ban安装完成后,使用命令

    systemctl status fail2ban

    查看fail2ban运行状态时显示失败,请参考我的这篇文章解决

    切换到目录 /etc/fail2ban ,复制 jail.conf 一份为 jail.local 或新建一份 jail.local 的配置文件,不要修改默认的 jail.conf 配置文件。

    以下是我的配置,以供参考:

    [DEFAULT]
    ignoreip = 127.0.0.1/8 ::1
    bantime = 1d
    findtime = 10m
    maxretry = 5
    
    [sshd]
    enable = true
    port=22
    bandtime=1d
    findtime=10m
    maxretry=5
    backend=systemd

    具体配置可在网络上搜索参考,完成后,使用命令:

    systemctl restart fail2ban

    重启 fail2ban 服务。

    使用

    sudo fail2ban-client status

    来查看服务状态。

  • debian12上fail2ban启动失败解决办法

    debian12上fail2ban启动失败解决办法

    在 debian12 上安装完 fail2ban 后运行提示找不到 sshd 日志,原因是 fail2ban 默认 的 ssh 日志读取配置使用 rsyslog,debain12 已经默认使用 systemd 的 journalctl,有两种解决办法。

    方法一:安装 rsyslog 解决。

    sudo apt install rsyslog -y

    安装完成后 systemctl restart fail2ban 即可。

    方法二:修改 fail2ban 的 sshd 配置

    在 /etc/fail2ban 目录下,新建一个 jail.local 文件 :

    sudo vim jail.local

    可添加以下参考配置内容

    [DEFAULT]
    ignoreip = 127.0.0.1/8 ::1
    bantime = 1d
    findtime = 10m
    maxretry = 5
    
    [sshd]
    enable = true
    port=22
    bandtime=1d
    findtime=10m
    maxretry=5
    backend=systemd

    重点是添加 backend=systemd 项,告诉 fail2ban 使用 systemd 的日志后端。

    完成后重启 fail2ban 服务

    systemctl restart fail2ban

    查看 fail2ban 状态