当社はIT技術のオンライン教育を得意としたセミナー専門会社です。 | 一戸英男

ITエンジニアの技術力UPをお約束します。

WORDPRESS ブルートフォースアタックから守る

WORDPRESS ブルートフォースアタックから守る


ブルートフォースアタックって何!?と思う方もいるかと思いますがこの攻撃が一番緩くて多い攻撃なのです。おそらくこの攻撃を受けていないサイトは無いのではないでしょうか?
ログインの機能を持ったサイトなら必ず受けているはずです。WORDPRESSの場合もちろんこの攻撃は受けています。それは当然のことで世界で最も使われているCMSだから、攻撃する方も事前に調査しています。

ログインページはURIパスがどうなっているか?あるいはソースコードを呼んで弱点は無いのか。など当然考えていると思います。

この攻撃をあまり軽んじていると痛い目に会います。その理由はDoS攻撃に使われていることもあるからです。つまりこのようになるからです。

WORDPRESSの場合はこのようにログインやxmlrpc.phpに対しDoS攻撃を相乗りして相乗的に仕掛けてくるものもあり対策をしたのに、いまいち効果が出ていないケースが有ったりします。その場合はDoS攻撃を相乗りで仕掛けているケースを疑って見ましょう。 中にはパスワードを複雑にするとかadminユーザをなくすという方法を目にしますが、DoS攻撃には効果はありません。

この場合の対策はどうしたら良いのでしょうか?

  • wp-login.phpのURLパスファイル名を変更する。
  • /wp-admin/で直接ログインへ飛ばさないようにする
  • 管理画面に入れるユーザのIPを制限する
  • xmlrpc.phpを実行できるユーザのIPを制限する

サーバの知識を持っている方なら上記の方法を処置するのは簡単だと思います。この処理をすることで意外にも多くのサイトのレスポンス反応が良くなるケースが多いです。遅いのがまさか緩いDoS攻撃を受けているなんて気づかないものです。


もしやり方がわからない場合は、別途弊社までご相談ください。

タグ: , , ,

WORDPRESSでPHPエラー表示を抑制


WORDPRESSのエラー表示はあまり十分な情報を与えてくれないものである。こんな時はテーマファイルで該当するページにあてがわれているものに次のコードを挿入し詳しいデバッグをしましょう。

対象テーマファイルに以下のいずれかのコードを入れると抑制できます。

// エラーを画面に表示(0にすると画面上にはエラーは出ない、1にすると表示する) error_reporting(0); ini_set(‘display_errors’, 0);

タグ: ,

WORDPRESSで度々攻撃されるファイル


WORDPRESSで度々攻撃されるファイルについて一覧化しました。

  • wp-login.php
  • admin-ajax.php
  • wp-config.php
  • xlmrpc.php
  • wp-blog-header.php
  • nav-menu.php
  • wp-cron.php

タグ: , , ,

WORDPRESSの自動アップデート


WORDPRESSは、バージョン3.7移行はマイナーアップデートに関しては自動的にシステムアップデートをするようになりました。しかし、メジャーアップデートに関しては承認作業が必要でした。

これを完全に自動でアップデートしたいという人は下記のコードを挿入することで自動的にメジャーバージョンもアップデートします。


wp-config.phpに下記を挿入してください。WORDPRESSのメジャーアップデートも自動化されます。

define( 'WP_AUTO_UPDATE_CORE', true );

※注意として自動アップデートしてまずい場合があります。カスタマイズでWPのDBをかなりいじっている場合は自動化はやめた方がよいです。

次に、テーマやプラグインですが現状は管理画面上には更新が来ているマークが表示されますが自動化されません。これらも、もし自動化したいというのであれば次のコードをfunctions.phpに挿入することで実現が可能です。

functions.phpに下記を設置してください。テーマとプラグインが自動アップデートになります。

add_filter( 'auto_update_theme', '__return_true' ); //テーマアップデートの自動化
add_filter( 'auto_update_plugin', '__return_true' ); //プラグインアップデートの自動化

※注意としてテーマのアップデートやプラグインのアップデートはユーザ自身でカスタマイズを行うと、自動アップデートで消失します。そのようにならないためにもテーマやプラグインはフォルダー名をデフォルトから変更しオリジナルのものになるようテーマ設定箇所を書きかえましょう。

タグ: , , ,

PHPでセキュリティ上非推奨の関数


PHPでセキュリティ上非推奨の関数配下のものですが、できるだけ使わないほうが安全です。使ったから直ちにまずいというものではありませんが、仕組みを理解して使うなら問題ないものもあります。ある一定のセキュリティ保護をかけた上で使う、もしくは限定用途の範囲で使うのであれば全く駄目というわけではありませんが注意することに越したことはありません。

call_user_method() かわりに call_user_func() を使用します
call_user_method_array() かわりに call_user_func_array() を使用します
define_syslog_variables()
dl()
ereg() かわりに preg_match() を使用します
ereg_replace() かわりに preg_replace() を使用します
eregi() かわりに preg_match() で ‘i’ 修正子を使用します
eregi_replace() かわりに preg_replace() で ‘i’ 修正子を使用します
set_magic_quotes_runtime() およびそのエイリアスである magic_quotes_runtime()
session_register() かわりにスーパーグローバル $_SESSION を使用します
session_unregister() かわりにスーパーグローバル $_SESSION を使用します
session_is_registered() かわりにスーパーグローバル $_SESSION を使用します
set_socket_blocking() かわりに stream_set_blocking() を使用します
split() かわりに preg_split() を使用します
spliti() かわりに preg_split() で ‘i’ 修正子を使用します
sql_regcase()
mysql_db_query() かわりに mysql_select_db() および mysql_query() を使用します
mysql_escape_string() かわりに mysql_real_escape_string() を使用します
ロケールカテゴリ名を文字列で渡すこと。 かわりに LC_* 系の定数を使用します
is_dst を mktime() に渡すこと。 かわりにタイムゾーン処理用の新しい関数を使用します

タグ: ,

1 2 3 4