您现在的位置是:首页 > 网站制作 > WordpressWordpress
什么是拒绝服务攻击?WordPress网站防范DDoS攻击的方法
杰帅2023-07-05【Wordpress】人已围观
简介什么是拒绝服务或DoS攻击?做WordPress网的基本都会遇到这类的攻击?如何防范呢?简而言之,DoS攻击试图创造虚假的流量,使你的WordPress网站过载,以至于它由于主机/服务器的限制而变得不可用。
什么是拒绝服务或DoS攻击?做WordPress网的基本都会遇到这类的攻击?如何防范呢?简而言之,DoS攻击试图创造虚假的流量,使你的WordPress网站过载,以至于它由于主机/服务器的限制而变得不可用。DoS的一个延伸是DDoS攻击,代表分布式拒绝服务。这种攻击来自于多个IP地址。
DDoS攻击的类型
TCP状态耗尽攻击 | 发送数以百万计的 TCP 连接使稳定表不堪重负,导致网站宕机或性能下降。 |
洪水攻击 | 发送大量 ICMP 回显请求/回复数据包以淹没网络设备,如集线器或交换机,并消耗网络的整个带宽。在攻击期间,没有其他客户端能够连接到目标网站。 |
碎片攻击 | 数以百万计的碎片数据包被发送到网站,使服务器难以重新组装它们;拒绝任何有效用户的访问。 |
应用层攻击 | 大量应用程序请求(XML-RPC 或 WP REST API)被发送到耗尽托管资源的目标,因此它将无法为任何有效的客户端提供服务。 |
SYN 泛洪 | 黑客使用受感染的设备(僵尸)并同时用多个 SYN 数据包淹没网站。SYN 请求的数量会使网站不堪重负,要么出现故障,要么性能下降。 |
捣毁 | 欺诈性更新被发送到硬件,造成永久性损坏并使其无法使用。唯一的解决方案是重新安装硬件。 |
DDoS攻击可以造成什么损害:
- 网站对任何合法访客的反应都会很慢,甚至无法访问。
- 你可能会失去销售或AdSense收入
- 网站在谷歌上的排名会慢慢下降
如何保护WordPress网站免受DDos攻击
禁用WP REST API
WordPress REST API为应用程序提供了一个接口,可以通过发送和接收JSON(JavaScript对象符号)对象的数据与你的WordPress网站进行交互。它是WordPress块状编辑器的基础,同样也可以使你的主题、插件或自定义应用程序为管理和发布你的网站内容提供新的、强大的界面。
要在你的WordPress网站上禁用WP REST API,请在.htaccess中添加以下内容:
# WP REST API BLOCK JSON REQUESTS
# Block/Forbid Requests to: /wp-json/wp/
# WP REST API REQUEST METHODS: GET, POST, PUT, PATCH, DELETE
RewriteCond %{REQUEST_METHOD} ^(GET|POST|PUT|PATCH|DELETE) [NC]
RewriteCond %{REQUEST_URI} ^.*wp-json/wp/ [NC]
RewriteRule ^(.*)$ - [F]
注意:你不应该直接禁用REST API;这样做会破坏WordPress的管理功能,因为这些功能依赖于API的激活。
比如为了限制WP REST API的使用,在没有任何插件的情况下,只允许登录的用户使用,在你的主题 functions.php 文件中添加以下代码。
add_filter( 'rest_authentication_errors', function( $result ) {
// If a previous authentication check was applied,
// pass that result along without modification.
if ( true === $result || is_wp_error( $result ) ) {
return $result;
}
// No authentication has been performed yet.
// Return an error if user is not logged in.
if ( ! is_user_logged_in() ) {
return new WP_Error(
'rest_not_logged_in',
__( 'You are not currently logged in.' ),
array( 'status' => 401 )
);
}
// Our custom authentication check should have no effect
// on logged-in requests
return $result;
});
或者将WP REST API限制在localhost。
function restrict_rest_api_to_localhost() {
$whitelist = [ '127.0.0.1', "::1" ];
if( ! in_array($_SERVER['REMOTE_ADDR'], $whitelist ) ){
die( 'REST API is disabled.' );
}
}
add_action( 'rest_api_init', 'restrict_rest_api_to_localhost', 0 );
禁用XML-RPC Pingbacks
XML-RPC是一个用于pingbacks和跟踪的功能在WordPress 3.5中被引入,并在此后的每个WordPress版本中默认启用。虽然WordPress现在有自己的REST API,但xmlrpc.php文件仍然存在于核心部分,并可能被滥用于各种网络攻击。
黑客利用WordPress的pingback功能以及xmlrpc.php文件来执行DDoS攻击。他们的目标是端点或一个可以被击中几次的页面,需要更长的时间来回应。这样一来,一次点击就可以对服务器资源产生最大的影响,在我们的案例中,XMLRPC很好地为黑客服务,暴露了这样的端点。
铺天盖地的HTTP GET和POST请求阻塞了正常的流量,最终使服务器崩溃。要禁用WordPress的XML-RPC,只需在.htaccess中添加以下内容
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order allow,deny
deny from all
</Files>
你可以把某个IP地址列入白名单,以防你仍然希望通过XMLRPC访问你的WordPress网站。为此,你需要添加以下命令。
<Files xmlrpc.php>
<RequireAny>
Require ip 1.1.1.2
Require ip 2001:db8::/32
</RequireAny>
</Files>
注意:当XML-RPC被禁用时,Jetpack、WP移动应用程序或任何其他通过XMLRPC与你的WordPress网站连接的解决方案不能再与你的网站连接。
使用WAF
网络应用防火墙(WAF)在保护任何托管服务器上的WordPress网站方面发挥着关键作用。它们构成了防御基于云的漏洞的骨干,这些漏洞会破坏安全或损害网站和数据的可用性。
这里有一些最好的开源WAF来保护你的WordPress网站:
- ModSecurity
- WebKnight
- Vulture
还有一些付费的WAFs:
- Cloudflare
- Sucuri
- Stackpath
Tags:DDoS SSH教程 WordPress WordPress安全防护插件 WordPress教程 主机教程
很赞哦! ()
相关文章
- WordPress安装/更新插件后报错“a padding to disable
- 修改WordPress文章及附件图像URL教程
- Zblog转换为WordPress最简单的方法教程
- 关闭/禁用WordPress站点管理员电子邮件验证教程
- WordPress显示此请求已被阻止;该内容必须通过HTTPS提供
- Weebly与WordPress的详细对比2023
- 使用WP-CLI重新安装所有WordPress插件及主题教程 - 搬
- 通过WP CLI一次性删除WordPress中未使用的图片 - 搬主
- XML-RPC禁用及WordPress保护详细教程 - 搬主题
- 深度优化WordPress网站MySQL数据库表教程 - 搬主题
随机图文
-
wp_reset_postdata 和 wp_reset_query 的作用与区别
什么时候使用wp_reset_query,什么时候用wp_reset_postdata? -
wordpress发布文章HTML标签被自动过滤掉该如何处理?
wordpress发布文章时很多html标签都会自动过滤掉,造成了文章中无法添加<style></style><script></script>等标签。那么该如何如何处理呢? 解决方法一: 将wp-includes文件夹下 -
wordpress 上传的图片不显示的问题 base64,data:image/gif
-
WordPress 页面模板(Page Template)下拉列表不显示的原因及解决方法
WordPress 的自定义页面模板是一个非常强大好用的功能,使用它新建一些静态页面(Page),添加上一些数据调用的函数,再在网页上做一个导航连接到对应的页面就可以实现很多自定义的功