wp-login.phpへの不正アクセスと対策

公開:

当サイトへの不正アクセス

ログをみると、wp-login.php などへのアクセスが多い。これはブルートフォース攻撃(Brute Force Attacks, パスワード総当り攻撃)と呼ばれるものであるらしい。

参考:ブルートフォース攻撃 - WordPress Codex 日本語版

過去一週間(2015年1月20日〜26日)の当サイトにおける不正アクセス先

  • /wp-login.php
  • /blog/wp-login.php
  • /wp-admin/
  • /wp/wp-admin/
  • /wordpress/wp-admin/
  • /blog/wp-admin/
  • /old/wp-admin/
  • /test/wp-admin/
  • /wp-admin/admin-ajax.php
  • /wp-content/plugins/wp-filemanager/incl/libfile.php
  • /wp-content/themes/parallelus-mingle/framework/utilities/download/getfile.php
  • /admin.php
  • /administrator/index.php
  • /administrator/

wp-login.php をはじめ "wp"が含まれているのは、WordPress を想定してブルートフォース攻撃の入り口を探すアクセスか。
admin.php, administrator は他の CMS だろうか?

下記は、fckeditor、TinyMCE、photogallery……へのアクセス。これらは、Javascript エディタやプラグイン類で、脆弱性が発見されているらしいが、最新バージョンにすれば問題ない様子。

  • /fckeditor/editor
  • /admin/fckeditor/editor/
  • /fckeditor/editor/
  • /js/fckeditor/editor/
  • /manage/fckeditor/editor/
  • /include/fckeditor/editor/
  • /fckeditor/editor/filemanager/browser/default/connectors/test.htm
  • /photogallery/zp-core/plugins/tiny_mce/plugins/ajaxfilemanager/jscripts/for_tinymce.js
  • /sites/all/libraries/tinymce/jscripts/tiny_mce/plugins/ajaxfilemanager/jscripts/for_tinymce.js
  • /plugins/editors/tinymce/jscripts/tiny_mce/plugins/ajaxfilemanager/jscripts/for_tinymce.js
  • /js/tiny_mce/plugins/ajaxfilemanager/jscripts/for_tinymce.js

次は、uploadify.css を探るアクセス。css を見てどうするの? 12月分の不正アクセスの詳細|カーと嫁と愉快な仲間たちによると、cssがあるかどうかで、そのjqueryが存在するのかを見てるものと思われるとのこと。なるほど一理ある。それで、ジェイクエリーに脆弱性があるのかは不明。

  • /admin/includes/uploadify/uploadify.css
  • /admin/js/uploader/uploadify.css
  • /js/uploader/uploadify.css

ブルートフォース攻撃の対策

サイト自体には金目のものは何もないので、管理者権限を乗っ取ったところで大したことはない、ことは全然なく、他のサイトへの攻撃の踏み台にされたり、閲覧者へのウィルス感染など、想定されないことが起こる可能性がある(ような気がする)。なにもないなら、そもそも不正アクセスする意味がないだろう。

WordPressの対策としては、下記サイト記事が参考になりそうなので、WPサイトを作るときにしっかり読もう。

当サイトの不正アクセスへの対策

このサイトは、WordPressなどの CMS でなくて、ハンドコーディングで作っている(いわゆるHTML手打ち)。したがって、誰も(私も)ログインできないので、この手の不正アクセスからは安全である。

一時期、CMSを使ってみようと、MoveableType や WordPress を使ってはみたものの、phpやデータベースの知識がほとんどなく(学習意欲もなし)、セキュリティ対策やバックアップなどいろいろと面倒になってしまい、結局ハンドコーディングに戻したのでした。