问题:
如果发现有大量的wordpress程序网站对外发包攻击别人,导致服务器资源耗尽,带宽跑满,网站直接瘫痪的情况,大部分原因是wordpress的pingback被利用导致的,此时日志里应该有大量的相关记录可供查看。
如何解决防范?
关闭pingback功能
pingback在wordpress简体中文中译作“引用”,原本用途是通知对方这个地方有和你相关的信息,但却被黑客大面积利用进行攻击,所以直接建议进行关闭。
操作流程:
登陆网站后台 --> 设置--> 讨论 --> 接受从其它博客的链接通知(pingback和trackback)
将勾选去掉并保存,如下图所示:
并使用phpmyadmin在线管理mysql,在sql中执行以下语句:
UPDATE wp_posts SET ping_status = 'closed';
另外可以将下面的代码添加到主题目录的functions.php文件中。
add_filter( 'xmlrpc_methods', function( $methods ) {
unset( $methods['pingback.ping'] );
return $methods;} );
防范wordpress pingback对自己网站攻击:
需要阻止wordpress pingback攻击,可以利用rewrite设置屏蔽wordpress的U-AGENT请求。rewrite屏蔽规则参考说明:http://www.west.cn/faq/list.asp?unid=662
HTTP_USER_AGENT头信息这行填写WordPress。
即RewriteCond %{HTTP_USER_AGENT} "WordPress" [NC]
示例(linux下规则):
RewriteEngine On
#Block WordPress
RewriteCond %{HTTP_USER_AGENT} "WordPress" [NC]
RewriteRule (.*) - [F]
注意:利用规则屏蔽并不能完全解决,攻击量太多还是会导致网站瘫痪。
以上就是全部内容,希望对你有所帮助!
|