waf4wordpress适用于WordPress的WAF防火墙

文章目录(快捷跳转)

阻止对您的 WordPress 网站的真实攻击,并 触发 Fail2Ban

💡 在使用此 WAF 之前,您必须清理您的网站,消除即使是微小的错误。

每天查看您的访问和错误日志,并在没有 Fail2ban 的情况下运行此 WAF 一周。

此 WAF 不会对异常请求提供适当的 HTTP 响应。 它立即阻止攻击的 IP 地址,其目的如下。

防止网站在进一步的请求中遭到入侵
防止 DoS 攻击
共享主机没有服务器范围的禁止(因为信任问题) 但您仍然可以在没有 Fail2Ban 的情况下安装此软件,以使用 Miniban 方法之一来阻止攻击。

理论

您的 WordPress – 真正通用的 HTTP – 安全性包括以下内容。

使用 HTTPS
每日备份
阻止已知的恶意网络
已安装 Fail2Ban(控制防火墙)
维护您的网站并使用严格的 Fail2Ban 过滤器,立即禁止第一个可疑请求
拒绝直接访问核心 WordPress 文件、主题和插件
安装 WAF for WordPress(本项目)
使用 Leanmail 过滤 Fail2Ban 通知电子邮件
有关该主题的概述,请参阅我的另一个存储库中的阻止 WordPress 攻击媒介说明。

Composer 安装

从技术上讲,这不是 WordPress 插件也不是 MU 插件。 适用于 WordPress 的 WAF 作为 Composer 包进行分发和自动加载。

Issue 命令composer require szepeviktor/waf4wordpress
从您的vendor/autoload.phpwp-config
尽早实例化类

require dirname(__DIR__) . '/vendor/autoload.php';
new SzepeViktor\WordPress\Waf\HttpAnalyzer();

在 中创建 MU 插件wp-content/mu-plugins/waf4wordpress.php

<?php
/*
* Plugin Name: WAF for WordPress (MU)
*/
if (! function_exists('add_filter')) {
exit;
}
new SzepeViktor\WordPress\Waf\CoreEvents();

手动安装
💡 请参阅 Composer 管理的 WordPress 以使用 Composer 管理 WordPress。

从技术上讲,这不是 WordPress 插件也不是 MU 插件。

首先下载 WordPress 版 WAF,然后将文件提取到一个目录,例如waf/
尽早实例化类SzepeViktor\WordPress\Waf\HttpAnalyzerwp-config

require_once __DIR__ . '/waf/src/HttpAnalyzer.php';
require_once __DIR__ . '/waf/src/CoreEvents.php';
new SzepeViktor\WordPress\Waf\HttpAnalyzer();

在 中创建 MU 插件wp-content/mu-plugins/waf4wordpress.php

<?php
/*
* Plugin Name: WAF for WordPress (MU)
*/
if (! function_exists('add_filter')) {
exit;
}
new SzepeViktor\WordPress\Waf\CoreEvents();

配置
WAF for WordPress 在源代码中配置 在类实例化之前。在。wp-config

为 Fail2Ban 捕获这些 PHP 消息创建自定义过滤器。

可能的恶意请求:每 10 分钟 6 次尝试后可能会被禁止Malicious traffic detected:
肯定是闯入尝试:可能会立即被禁止Break-in attempt detected:
如何在编写不佳的插件中支持 PayPal IPN、Braintree 和自定义入口点
将此文件复制到 中的 .wp-config.php

// Enable PayPal IPN in WooCommerce
if ( isset( $_SERVER['REQUEST_URI'] ) ) {
if ( '/wc-api/WC_Gateway_Paypal/' === parse_url( $_SERVER['REQUEST_URI'], PHP_URL_PATH ) ) {
// PayPal IPN does not send Accept: and User-Agent: headers
$_SERVER['HTTP_ACCEPT'] = '*/*';
$_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 PayPal/IPN';
}
}

// Enable Braintree Webhooks
new \Waf4WordPress\Braintree_Fix( '/braintree/webhook' );

// Enable email opens in Newsletter plugin
if ( isset( $_SERVER['REQUEST_URI'] ) ) {
$newsletter_path = parse_url( $_SERVER['REQUEST_URI'], PHP_URL_PATH );
if ( '/wp-content/plugins/newsletter/statistics/open.php' === $newsletter_path
|| '/wp-content/plugins/newsletter/statistics/link.php' === $newsletter_path
) {
// UA hack for old email clients
$_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 ' . $_SERVER['HTTP_USER_AGENT'];
}
unset( $newsletter_path );
}

// Enable email open tracking in ALO EasyMail Newsletter plugin
if ( isset( $_SERVER['REQUEST_URI'] ) ) {
$alo_path = parse_url( $_SERVER['REQUEST_URI'], PHP_URL_PATH );
if ( '/wp-content/plugins/alo-easymail/tr.php' === $alo_path ) {
// UA hack for old email clients
$_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 ' . $_SERVER['HTTP_USER_AGENT'];
}
unset( $alo_path );
}

脚本小子在哪里寻找 WordPress

/backup/
/blog/
/cms/
/demo/
/dev/
/home/
/main/
/new/
/old/
/portal/
/site/
/test/
/tmp/
/web/
/wordpress/
/wp/

最好不要创建这些目录,以避免冗长的日志摘录。

开源地址

GitHub – szepeviktor/waf4wordpress:适用于 WordPress 🔥 的 WAF,具有 60+ 安全检查和每周更新

下载地址

https://pan.quark.cn/s/aeb61e82f281

未经允许不得转载:今夕资源网 » waf4wordpress适用于WordPress的WAF防火墙
扫二维码手机阅读本页
赞(0)

评论抢沙发

评论前必须登录!