投稿アップデート情報 追記(2/22) 追記2(4/16)
ほんと,今更ながらなんですが, wp-login.php にアクセス制限をかけました。なんのためかというと, AWStats の統計から外すためです。
この件については,ずっと,ほったらかしだったんです。というのが,不正アクセスされてるみたいだなという程度で,数もそれほどでなく,特に問題はないようだったもんで。それに,WordPressのフォーラムを見ても,常に最新版を使うようにし,強いパスワードを使っていれば,うちのようなサーバの使い方(使用者は,私だけ)であれば,そこまでする必要もないだろうと感じていたものですから。
そんなわけで,ときどきパスワードを変えたりでお茶を濁していたのですが,年末から, wp-login.php への不正アクセスがドッと増えちゃって。どうも,英語版の「ブログに雪が降る。」を書いてからのような気がします。先年,大震災についての記事を英語版で書いたときも,ドッとスパムが増えたような覚えがありますが,英語版でタイムリーなトピックを取り上げたときは,そういうほうでも反応が早いみたいで,いい迷惑です……
なにしろ,ログイン画面が表示された時点で,HTTPステータスコード 200 が戻るもんで,これのアクセス数がすべて AWStats の統計に入ってきちゃって,参った参ったというところです。で,このさい, access-denied.conf という extra-conf を作り apache に読み込ませることにしました。
ついでに,主な迷惑サイト(主として,*.163data.com.cn―苦笑)のアクセス制限もこっちに移しました。
access-denied.conf の中身は,下記のようなものです。 G:/WEB というのは,ドキュメントルートです。ディレクティブは新しいほうの形で書いてみました(笑)。
wp-login.php のアクセス制限をどんな形にしようかと思ったのですが,当面,自宅からだけ認める形にしました。さっき設定したばかりなんですが,error.log に,[authz_core:error] がすでに 10 個ばかり並んでますから,効果大ですねぇ。これで AWStats の統計から wp-login.php への不正アクセスが外せます。やれやれ。
<Files “wp-login.php”>
Require ip xxx.xxx.xxx.xxx/xx <<--- 自宅LANのIPアドレス
</Files>
<Directory "G:/WEB">
<RequireAll>
Require all granted
# [*.163data.com.cn]
# [110.80.0.0 - 110.91.255.255]
Require not ip 110.80.0.0/12
# [112.112.0.0 - 112.115.255.255]
Require not ip 112.112.0.0/14
# [116.52.0.0 - 116.55.255.255]
Require not ip 116.52.0.0/14
# [117.24.0.0 - 117.31.255.255]
Require not ip 117.24.0.0/13
# [117.60.0.0 - 117.63.255.255]
Require not ip 117.60.0.0/14
# [117.80.0.0 - 117.95.255.255]
Require not ip 117.80.0.0/12
# [119.96.0.0 - 119.103.255.255]
Require not ip 119.96.0.0/13
# [120.32.0.0 - 120.43.255.255]
Require not ip 120.32.0.0/12
# [121.204.0.0 - 121.207.255.255]
Require not ip 121.204.0.0/14
# [121.224.0.0 - 121.239.255.255]
Require not ip 121.224.0.0/12
# [121.32.0.0 - 121.35.255.255]
Require not ip 121.32.0.0/14
# [123.184.0.0 - 123.187.255.255]
Require not ip 123.184.0.0/14
# [123.52.0.0 - 123.55.255.255]
Require not ip 123.52.0.0/14
# [124.72.0.0 - 124.72.255.255]
Require not ip 124.72.0.0/16
# [124.76.0.0 - 124.79.255.255]
Require not ip 124.76.0.0/14
# [125.112.0.0 - 125.112.127.255]
Require not ip 125.112.0.0/17
# [125.77.0.0 - 125.78.255.255]
Require not ip 125.77.0.0/14
# [125.88.0.0 - 125.95.255.255]
Require not ip 125.88.0.0/13
# [218.78.0.0 - 218.83.255.255]
Require not ip 218.78.0.0/11
# [218.85.0.0 - 218.86.127.255]
Require not ip 218.85.0.0/14
# [219.128.0.0 - 219.137.255.255]
Require not ip 219.128.0.0/12
# [220.160.0.0 - 220.162.255.255]
Require not ip 220.160.0.0/14
# [220.185.192.0 - 220.185.255.255]
Require not ip 220.185.192.0/18
# [220.191.0.0 - 220.191.127.255]
Require not ip 220.191.0.0/17
# [221.236.0.0 - 221.237.255.255]
Require not ip 221.236.0.0/15
# [222.170.0.0 - 222.172.127.255]
Require not ip 222.170.0.0/13
# [222.208.0.0 - 222.215.255.255]
Require not ip 222.208.0.0/13
# [222.76.0.0 - 222.79.255.255]
Require not ip 222.76.0.0/14
# [27.148.0.0 - 27.151.255.255]
Require not ip 27.148.0.0/14
# [58.37.0.0 - 58.37.255.255]
Require not ip 58.37.0.0/16
# [58.48.0.0 - 58.55.255.255]
Require not ip 58.48.0.0/13
# [58.60.0.0 - 58.63.255.255]
Require not ip 58.60.0.0/14
# [59.32.0.0 - 59.42.255.255]
Require not ip 59.32.0.0/12
# [59.52.0.0 - 59.61.255.255]
Require not ip 59.52.0.0/12
# [60.176.0.0 - 60.176.255.255]
Require not ip 60.176.0.0/16
# [60.188.128.0 - 60.188.255.255]
Require not ip 60.188.128.0/17
# [61.140.0.0 - 61.146.255.255]
Require not ip 61.140.0.0/11
# [61.154.0.0 - 61.154.255.255]
Require not ip 61.154.0.0/16
# [61.169.0.0 - 61.173.255.255]
Require not ip 61.169.0.0/13
</RequireAll>
</Directory>
追記(2/22):
題名のせいか,wp-login.phpのせいか,WordPressのセキュリティ強化の記事として読みに来る方が結構いらっしゃるようなので,現時点で参考になりそうなサイトを3つあげておきます。まあ,セキュリティ関係はナマモノなので,あくまで現時点の話です。上げられてる10個のうちの半分は,WordPressに限る話ではないですよね。up-to-dateとか,パスワード強度とか,ユーザの啓蒙とか。最後のものなんて一番苦労するとこじゃないですか。
記事は番号順にお読みください。
- WordPress のセキュリティ、こんな記事は要注意
- WordPress使いならこれだけはやっておきたい本当のセキュリティ対策10項目
- Re: WordPress使いならこれだけはやっておきたい本当のセキュリティ対策10項目
追記2(4/16):
以下のようなニュースがあった。対策していない場合は,やった方がいい。なにしろ,うちのような零細ブログでも,wp-login.phpへの不正アタック数は,1日平均
2012/11 — 99 2012/12 — 370 2013/01 — 290
2013/02 — 320 2013/03 — 117 2013/04 — 377 15日終了時点
なんて感じだから,何も対策ができていない場合は,結構,破られる可能性はあると思うよ。しかし,本当に,12月にブログに雪が降るの話を書くまでは,アタック数少なかった気がするんだけどなあ。
- 全世界のWordPressサイトに大規模攻撃; デフォルトのアドミンユーザ名’admin’がねらわれている
- Brute Force Attacks Build WordPress Botnet
- WordPressを狙った大規模な攻撃
とりあえず, 管理者ユーザ名を「admin」から他の何かに変更するとか,強いパスワードを使うとかいう対策が推奨されているようだが,先日の「2013年4月マイクロソフト定例。」あたりにも出てきた話だけど,パスワードの使いまわしとかはやめた方がいい。