誰かに見てもらうための、簡単なデザイン

素人ながらにやってみたWordPressのセキュリティ対策 #wpacja2013

この記事はWordPress Advent Calendar 2013の10日目の記事です。
WordPress Advent Calendar 2013に、初心者ながらに参加してみました。12月25日まで毎日誰かがWordPressについてブログか何かで語ってくれるらしいです。

今日は12月10日です。なぜこの日を選んだかというと、いいニート(1210)の日だからです。
イエス!アイアムニート( ゚∀゚ )!!

…(´;ω;`)ブワッ!

ありがたいことに個人での仕事が全くないわけではないのですが…パートでも定職に就くっていいことだな、と引きこもってて感じます…。
平日の昼間からYoutubeとかガン見しちゃってすみません…。良いニートになりますよってに。

そんな前置きはさておき、10月に姫路ゆるいWeb勉強会にて、Webサイトのセキュリティに関する勉強会(WordPress中心)を行いました。
その勉強会や、ググって得た情報を元に、WordPress初心者&セキュリティ系素人の私が色々やってみたことを書きます。
考えが甘かったり、間違ってる点等々あるかと思いますが、変なところあったら突っ込んであげてください…。

姫路ゆるいWeb勉強会で使用した資料はこちらです。
第3回姫路ゆるいWeb勉強会 〜セキュリティの基本(WordPress中心)〜

資料制作と説明をしていただいたワテ(@aWebprogrammer)さん、ありがとうございます!

33_wpacjp-security

前情報として

私が勉強会の前情報として見ていたのは、こちらのスライドです。
WordBench Osaka vol.22 WordPressのセキュリティ対策

深い内容までは理解できていませんが、素人が「おお!こんな対策が!」と思うに十分で、参考になりました。

とりあえず確認すること

第3回姫路ゆるいWeb勉強会 〜セキュリティの基本(WordPress中心)〜の資料の中にあるのですが、WordPress Codex(WordPressの公式取扱説明書みたいなもの)にWordPressの安全性を高めるという項目がありまして。。。
おお!こんなとこにセキュリティに関してのことがまとまっている!と教えてもらったわけであります。(←Codexあまり見てない人)
うん…Codexって見るの大切なんだな…ちゃんと見ようね、私…。
その中にもありますが、パーミッション。これちゃんと設定するの大切らしいです。
ちょっと前にあった某サーバーのWordPressサイト改ざん事件でも「パーミッションの確認を!」と言われてましたが、大事。

パーミッションに関しても、Codexに記述があります。パーミッションとは何か?という説明や、FTPソフトを利用した変更手順も書かれているので分かりやすいです。
ファイルパーミッションの変更 – WordPress Codex 日本語版

wp-config.phpファイルを編集するというのもセキュリティ対策としてあるらしいのですが、素人でちょっとそこまでは…触るの怖い( ;∀;)!…ということで、今回それに関してはやってないです…。

ユーザーの種類と権限を確認し、設定するというのも、グループでサイト運営する時などは必要になってきそうですね。私は個人でやっているので、ユーザーは私しかいないので…あんまりちゃんを見てませんが…。

そんなんですが、次はプラグインを使ったセキュリティ対策を。

Crazy Bone入れてみた

ログイン履歴が見れるようになるプラグインCrazy Bone(狂骨)
なんでそんな名前なの(;´Д`)!?と思いつつも、WordPressの管理画面にどれだけの外部アクセス(アタック)があるかを調べるのに入れてみました。
「こんな弱小ブログ、絶対アクセスないわー、このブログ乗っ取ったところで何のメリットがwww」などと思っていたのですが…。

kyokotus_login_img

あった!あったよお母さん!総当たり攻撃めっちゃきてるよ(´;ω;`)ブワッ!!
導入してから2週間程度で300ほどの不明なアクセスがww どんだけww
総当たり攻撃(ブルートフォースアタック)は身近でも起こってました。。。
なんか…ID(ユーザー名)もパスワードも知らんのにとりあえず入れてみるか!と思ってる人たちっているんですね…。←楽観的すぎるわ。

これを見て、とりあえずユーザー名をadminにするのはやめました。っていうか元からadminにはしてなかったんですが、絶対するもんかと決めました。みんなadminで入ろうとしてきている。
推測されにくい名前にした方が良いですね。ハンドルネームとか誕生日とか、そういうのも避けた方が良さそうです。
E-mailをユーザー名にするプラグインForce Email Loginもあるそうですが、メアドも公開している場合もあるし、それ用にメアド作るのも面倒なので、私は現在使っていないです。

パスワードに関しても推測されにくいものがいいですね。大文字小文字数字が入り混じっているような。
ログイン履歴をみると、みんな様々なパスワードで入ろうとしてきていますが、大体平易な単語を打ち込んできています。rascalとかsurferとか。
私アライグマでもないし、サーファーでもないしww
パスワード自動生成 (Automated Password Generator)といったパスワード生成ツールもあるようなので、使ってみるのも手かと。

とりあえず、めっちゃアタックされてるのが分かったので、それらを対策するプラグインを入れて試してみました。
仕組みがよく分かっていないので、プラグインで対策することしか思いつかなくてすみません…。

管理画面のURLを変える

WordPressの管理画面のURLは、デフォルトで決まっています。なので、WordPressを知っている人なら構造が分かるので、アクセスするのは容易いです。だからいっぱいアクセスされる、と。
なので、管理画面を秘密のURLにしよう!と思い、それ用のプラグインを探していたのですが…結構あるんですが、ググっていると「自分も入れなくなった」というレビューもあったりで、どうしようかと…。
まぁとりあえずやってみようと思い、その中からBetter WP Securityというプラグインを試しに入れてみました。

このプラグインはセキュリティやバックアップを一元管理できるもので、ログインできる時間帯を設定したり、不正アタックがあればログイン画面をロックしたり…などと色んなことができるのですが、これに引っかかりました…。
全英語のプラグインですが、日本語で使い方を説明してくれているサイトもあったりして参考にしつつ設定し、不正を検知したらログイン画面をロックするようにしたのですが、これが…。
ある日「不正を検知したからログイン画面をロックしたよ!必要があれば手動で解除してね!」といった内容のメールが英語で送られてきたので、「おお!効果あったか!?」と思って管理画面に行こうとしたら、私も入れませんでした(*ノω・*)テヘ☆

…(´;ω;`)ブワッ!!

手動で解除、といっても解除方法わからんし…管理画面に行けないし(管理画面のURLにアクセスすると、トップページにリダイレクトされる)、どうすりゃいいの(´;ω;`)!?となって、結局このプラグインを使うのはやめました…。
ログイン画面のURLを変えたりロックしたりするプラグインは、たまにこういうことが起こるらしく?ログインできなくなったという報告も何件か見かけました…。
解除の仕方、どこかに書いてあったのかもしれませんが、英語だしよく分からなかったので、この系のプラグインの使用はちょっと控えることにしました…。
英語が得意な方だったらちゃんと使えるのかも…。

simple login Lockdown

割と使っている人が多いSimple Login Lockdown
一定回数ログインに失敗すると、そのIPアドレスからのログインが一定時間できなくなるというプラグインです。
これ入れようかなーと思ったんですが、Crazy Bone(狂骨)でログイン試行回数を見てみると、2〜4回で諦めている人が多かったので、これくらいならまぁいっか、自分もたまに失敗するしな(・ω<)☆と思って(楽観的…)入れてないです。

今のとこ落ち着いたのはGoogle Authenticator

login_googleauth

次はGoogleの2段階認証を入れてみました。
これは、通常のユーザーIDとパスワードの他に、スマホなどで発行する認証キーを入力しないとログインできなくなるという、ちょっと面倒ですが効果が高そうな方法です。
WordPressにGoogle Authenticatorプラグインを入れて、スマホにもGoogle 認証システムアプリを入れます。これで設定をすれば使えるようになります。

IMG_1346

プラグイン(iPhone)の画面はこんな感じです。一定時間経てば認証キーが変わるので、急いで入れないとキーが使えなくなったりします。新しいキーはすぐに発行されるので問題はないですが…。
しかしこれは本当にセキュリティ効果ありそう。
難点は、アプリを入れたスマホ等がないとログインできないということかな…。スマホが手元にない時は困りますね。これがあったので入れるのをためらったんですが、まぁ一回やってみるかと思って入れてみました。

設定も簡単で、こちらに詳しい手順がまとめられています。

Googleの中の人も使ってるらしいWordPressでGoogle2段階認証を使うプラグイン | アンギス

入れてみて、まだちょっとしか経ってないのですが、効果が!

login_googleafter

効果があったよお母さん!
2段階認証を設定してから、あんなにあった管理画面への不明なアタックがなくなりました。ぱったりと。
そりゃ入力項目が3つになったら諦めるよね。20秒に1回変わる認証キーなんて分かりようがないよね。
ありがとうGoogleさん!!

本気出したら破られる?

ワテ(@aWebprogrammer)さんや他の方も仰っていたのですが、ハッカーが本気をだすと、セキュリティ対策をしてても破られるそうで。。。
そういや某番組「○こ×○て」でも、ハッカーは侵入自体は出来ていたような…?
ハッカーすごすぎる((((;゚Д゚))))ガクガクブルブル
そんな本格的なハッキングとなるとどうしたら良いのか分かりませんが、総当たり攻撃対策くらいはやっぱり必要なのかなぁ…と思います…。

というわけで、2段階認証を現在は利用しています。
これでひとまず安心?だと思いたい…。
他に何かいい方法とか、間違っている点などあればご指摘いただければ嬉しいです…!

以上WordPress Advent Calendar 201310日目の記事でした。
みんなすごい記事書いていらっしゃるのに、こんな素人くさい記事でいいのだろうか…(;´Д`)
などと思いつつ、今年初めて触ったWordPress、そして色々教えて頂いたWordPressコミュニティ、勉強会の皆さんに感謝の意を表してこの記事を締めます(逃げた)。
明日も続きますのでWordPress Advent Calendar 2013を要チェックだー☆

それでは!Have a nice design!!