文章目录[隐藏]
部署网站不难,日常维护和带来流量才是挑战。小站或刚起步的站点常常从站点日志发现,爬虫和恶意访问的数量要远远超过正常用户的访问,WordPress等流行的、开源的站点更容易成为攻击者的目标,并且这种攻击行为已经高度自动化、低成本,攻击者几乎不用付出什么成本,所以再小的自觉价值不大的站也会成为目标。一旦攻击者得逞,就可能通过机器人发布垃圾广告信息,窃取数据库信息,甚至将你的服务器变成“肉鸡”,用来干坏事或者从事黑产,而这些行为会给服务器用户带来潜在威胁。总之,日常关注服务器日志,根据常见的攻击做一些防护是很有必要的。本文就几个小站点的日志做了一些分析,揭示以WordPress为主的站点经常会受到那些恶意访问,并提出应对建议。
除了上述威胁,这些攻击和恶意探测还有一个很现实的恶果,就是会让你很难从站点日志中直观、快速地了解,那些你真正需要的针对正常用户的访问记录的统计数据。采取措施尽量将这些攻击屏蔽掉,可以得到更有价值的站点日志。
下面是对一些站点日志的简要表格统计和简评,应对措施和建议会放在文末。
暴力攻击和恶意访问
有个词是专门描述此类行为的,Brute Force Attacks
,就是暴力的、恶意的访问,可以从codex详细了解。以下表格中的请求数占比是对相应路径的访问占一段时间内总请求数的比例。
这是一个WordPress站点,下表是频繁POST /wp-admin/admin-ajax.php
。
这是一个WordPress站点,下表是常见的对 /wp-login.php
请求以尝试登陆和对 /xmlrpc.php
请求以恶意利用API。
这是一个WordPress站点,9成的访问都来自攻击,下表是常见的对 /wp-login.php
请求以尝试登陆和对 /xmlrpc.php
请求以恶意利用API。请求author
参数地址以试图获取管理员账户名称,请求/wp-comments-post.php
试图发表垃圾评论。
这是一个WordPress站点,至少7成的访问来自攻击,下表是常见的对 /wp-login.php
请求以尝试登陆和对 /xmlrpc.php
请求以恶意利用API。另外有一个通过user.php
登陆的尝试。
这是一个WordPress站点,超过6成的访问来自攻击,下表是常见的对 /wp-login.php
请求以尝试登陆和对 /xmlrpc.php
请求以恶意利用API。请求/wp-comments-post.php
试图发垃圾评论。
这是服务器的IP Vhost日志,攻击者试图通过phpMyAdmin
突破数据库。
这是服务器的IP Vhost,攻击者试图利用ThinkPHP
的潜在BUG,以及可能的探针地址。
这是一个利用有一定用户基数的程序部署的forum站点,攻击者尝试注册用户以发布垃圾信息。
恶意探测造成的404
以下表格中的请求占比是行内路径的请求数占全部404数量的比例。
这是一个WordPress站点,下表数据显示了猜管理员、探测可能更改了的登陆地址以及窃取可能的脚本数据等行为。
这是一个WordPress站点,下表数据显示了猜管理员、探测可能更改了的登陆地址以及窃取可能的脚本数据等行为。
这是一个WordPress站点,下表数据显示了猜管理员、探测可能更改了的登陆地址、窃取可能的脚本数据、发现利用插件bug等行为。
这是一个WordPress站点,下表数据显示了猜管理员、下载可能存放在站点根目录下特定名称资料包的行为。
这是一个WordPress站点,下表数据显示了猜管理员、探测可能更改了的登陆地址以及利用插件bug等行为。
这是一个服务器的IP Vhost,下表数据显示了一些对常见名称脚本的访问,可能是为了访问探针或者窃取数据库信息。
这是一个服务器的IP Vhost,下表数据显示了一些对常见名称脚本的访问,可能是为了访问探针或者窃取数据库信息。
这是一个Joomla站点,下表数据显示了一些不熟悉的攻击。
总结
WordPress根目录下有十来个文件,而攻击者总青睐wp-login和xmlrpc,也就是权限是根本,API易被攻击。
WordPress根目录下的文件列表:
index.php
wp-activate.php
wp-blog-header.php
wp-comments-post.php
wp-config.php
wp-cron.php
wp-links-opml.php
wp-load.php
wp-login.php
wp-mail.php
wp-settings.php
wp-signup.php
wp-trackback.php
xmlrpc.php
一些防护建议
- 不要用常见的诸如
admin/root/[域名]的用户名
和类似123456/abcd/admin/password
这样的弱密码,最好用随机字符串做密码; - 隐藏wp-login.php和xmlrpc.php,可以用插件更改其路径,xmlrpc如果用不到可以通过插件关掉,这可以屏蔽大部分针对WordPress的攻击;
- 不要在站点根目录下放简单命名的PHP探针文件或的站点备份压缩包等;
- 一定要有防垃圾评论的手段,如果评论不多,可以设置后台审核后才可见;
- 如果不常用,不要安装类似
phpMyAdmin
这种通过web管理数据库的软件;
-- EOF --
本文最后修改于6年前 (2019-05-12)