【メモ】「WordPress管理者アカウント乗っ取り」のセキュリティ対策をまとめてみた。

2013年の4月に話題になったWordPressの管理者アカウント「admin」を狙った攻撃のニュースですが、ホスティング業者からの注意の促しなどでアカウント名を変える等の対応をされた方も多いと思います。

■WordPress狙う大規模攻撃が発生、管理者アカウントを標的に
http://www.itmedia.co.jp/news/articles/1304/16/news033.html

米セキュリティ機関のUS-CERTは4月15日、オープンソースのブログツール「WordPress」を狙った攻撃が続いているとして注意を呼び掛けた。

US-CERTによると、攻撃者は「admin」のユーザーネームと、総当たり方式のブルートフォース攻撃で見つけ出したパスワードの組み合わせを使って、Webサイトの管理用パネルを制御しようとしているという。

しかし「admin」アカウントを変更したらアタックがされないという訳ではなく、継続的にこのアタックは来ている様です。その辺を理解した上で、セキュリティ対策は正しく運用したいものです。そこでまだ未対応の方もふくめ、改めて対応いただきたい内容をまとめてみました。

1. アカウント名に「admin」を使っている場合、速やかに別のアカウントをつくり「admin」は削除する。

もし対応をされてない方はすぐに別のアカウント名を「admin」以外でつくり、パスワードは英数字合わせて8文字が強度的にも運用的にも妥当だといわれています。
http://www.waseda.jp/mnc/letter/2011sep/end_column.html

「admin」以外のアカウントを作成した後そのアカウントでログインし、「admin」は削除しましょう。削除する際に「admin」に紐づいている投稿をどうするか聞かれるので、必ず新しいアカウントに紐づけてください。

2. アタックの状況を監視するプラグインやログイン回数を制限するプラグインをインストールする。

先ほども申し上げたように、アカウント名を変更しても不正なアタックは毎日サイトに来ていると思った方がよいです。それを可視化するプラグインを入れておき、現状を認識・ウオッチしセキュリティの意識を高めることが大切です。

Crazy Bone
http://wordpress.org/plugins/crazy-bone/ 

WordPressのログイン履歴を表示するプラグイン。どこから、どのID/PWでログインをしたか、ログインに失敗したかが表示されるので状況を理解するには必須。設定は至って簡単で、プラグインのインストールから「Crazy Bone」を探して有効化すればOK。管理画面のユーザメニューに「ログイン履歴」というのが表示されます。ちなみに私のブログの場合、1日で不正アクセスが16件もありました。これをみてむやみに恐れるのではなく現実として受け止めて、日々ウオッチをしながら次のセキュリティ対策の情報としてストックしておきましょう。

ログイン履歴

ウオッチを続けてあまりにも同じIPからのログイン回数が多い場合は、ログイン回数を制限するプラグンを入れておくのもよいと思います。

Simple Login Lockdown
http://wordpress.org/plugins/simple-login-lockdown/

Simple Login Lockdownは同一IPアドレスからのアクセスで連続してログイン失敗すると、一定期間経過するまではそのIPアドレスからのログイン操作が出来なくなるというもの。こちらもプラグインのインストールから「Simple Login Lockdown」を探して有効化すればOK。管理画面の「設定→表示設定」に表示されるので、そちらでアクセス数や時間の設定を行ってください。

ログイン回数制御

 

3. 【上級編】管理画面へのアクセスを決まったIPアドレスからのみ可能とする。

固定の環境やPCで作業をされる場合はいいと思うのですが、外でWifiを使って更新する場合はかなり不便になりますのでサイトの運用条件に合わせて設定してください。例えばかなりセンシティブな情報を扱っている方やとにかくとても心配という方向けでしょうか。

設定方法は wp-adminフォルダの下に.htaccessを作成し

order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx ←IPアドレス

を記述すればOK 。指定したIPアドレスのみ管理画面にアクセスすることができます。

4.やはり基本的なことは怠らない!

すごくシンプルですがやはりよく言われているセキュリティの基本対策は忘れずに対応しておきましょう。

  • WordPressを最新版にする。
  • バックアップを定期的にとる。
  • パスワードを推測しにくいものにする、可能であれば定期的に変更する。

現状できるWordPressのセキュリティ対策はいかがでしたか?
セキュリティ対策はいたちごっこなので上記の設定をしたからといって安心せず、常に世の中の情報に意識しながら必要に応じてアップデートやセキュリティ対策を施してくださいね。

<参考サイト>
WordPressの管理画面への不正アクセス対策 
http://tech.basicinc.jp/WordPress/2013/05/19/wordpress-security/

AWS(Amazon Web Services)のお勉強メモ

最近、ちまたでよく聞くAWS(Amazon Web Services)についてのお勉強です。ちょっと難しいので段階を踏んでお勉強。目標はWordPressで動いているブログをお引っ越しさせることです。

【ステップ1】
ここは無料でお勉強できる「ドットインストール」で基本的なことを学びました。

Amazon Web Servicesの基礎 (全17回) 
http://dotinstall.com/lessons/basic_aws

ちなみにAWSを初めて使う方は1年間は利用料が無料。ただ、私は以前からアカウント登録だけをしていたのでAWSを使った分だけ課金されました。このAWSの分かりづらいところとしては、料金体系がとっても複雑。一体普通に使っていくらかかるの?というのが不明なのですが、練習でも課金される私のアカウントでだいたいの料金の目安が分かりました。

2週間で約$14ドル!。練習なので外部からのアクセスはほとんどないので、アクセスがある場合はもっと課金されるでしょう。基本的な構成で使って1ヶ月$30ってところですね。個人がホスティングから引っ越すにしてはちょっと割高かなあ。

AWS料金目安

AWSの基本的なことが分かったところで、WPを動かそうと思ったのですが、これはもうちょっと後かな。ということで、とてもまとまっているサイトをメモして、いったんはお勉強は終了です。

【ステップ2】実際にWPをインストールしてみる。(まだ保留)

AWS + 網元で、超高速 WordPress を手に入れよう、そうしよう
http://8bitodyssey.com/archives/3344

そうそう、気をつけていただきたいのは、ドットインストールでお勉強が終わったら、不要なサービスはすべて削除または終了させることをお勧めします。1年間無料であってもそのまま残って無料期間も過ぎて残っていたら、おそらく勝手に課金されます。ドットインストールでもちゃんとその辺をお知らせすればいいのに。

SEO的にGoogleにちゃんとアピール!アドレスの変更は301リダイレクト

長くサイトを運用していると、あるドメインで運用していたサイトを、あらたに別なドメインに移したいというニーズがでてきたりします。

例えば、ホスティングのドメインでサイトを運用していたが、独自ドメインに引っ越したいというのが多いのではないでしょうか。引っ越しで重要な点は引っ越し前のサイトのアクセス数を、正しく新しいサイトに誘導させる必要性があります。

そういう際にhtmlレベルの「META Refresh」タグを使って「移転しました。○秒後にジャンプします」とメッセージがでて自動的に切り替わっているのをよく見かけます。これは要件は満たされていますが、前のドメインが持っていた情報が、新しいドメインに受け継がれないのです。「情報」とは、被リンクだったり、PageRankだったりドメインエイジだったり、その他諸々のサーチエンジンが認識している情報です。古いドメインのサイトが検索結果で1位だったとしても、新しいドメインのサイトが1位になることなく、別のサイトとしてゼロからのスタートとなります。

SEO的に正しいアドレス変更の手順については、Google ウェブマスターツール(https://www.google.com/webmasters/tools/)に詳しくかいてありますので、まずはそちらを一読してください。もちろん、まだ自分のサイトを登録していない方はまずは登録をしてみてください。ウェブマスターツールには、こんな感じで手順がのっています。↓

アドレスの変更

サイトを新しいドメインに移転する場合は、アドレス変更ツールを使用して、新しい URL を Google に知らせることができます。このツールにより、Google のインデックスを速やかに更新し、ユーザーを新しいサイトに誘導できます。

次の手順に沿って操作することをおすすめします。

  1. 新しいサイトを設定します

    新しいドメインへのサイトの移転について Google のガイドラインを確認します。新しいドメインでコンテンツを準備し、すべての内部リンクが新しいドメインを参照していることを確認します。

  2. 以前のサイトのすべてのトラフィックをリダイレクトします

    301 リダイレクトを 使用して、以前のサイトのページを新しいサイトに恒久的にリダイレクトします。リダイレクトは、サイトが恒久的に移動されたことをユーザーと検索エンジン に通知します。リンク先のウェブマスターに連絡して、新しいドメインへジャンプするようにリンクを更新してもらいます。そして、以前のサイトへのリンクが 301 リダイレクトを使用して正しくリダイレクトされることを確認します。

  3. ウェブマスター ツールに新しいサイトを追加します

    新しいドメインが追加されたことを確認します。

  4. 新しいドメインの URL を Google に連絡します。
    XXXXXXX.net の新しい URL:○○○○○○○○.com

    アドレスの変更を送信した後は、ウェブマスター ツールのデータを定期的に確認し、新しいサイトがクロールされインデックスに登録されていることを確かめます (サイトマップを使用している場合は、サイトマップで新しいサイトのデータを確認し、クロールとインデックスの完了したページ数を確かめます)。

この中にでてくる「301 リダイレクト」が重要なキーワード。永久的なリダイレクトといわれていて、古いページから完全にひっこしましたよ〜と宣言していることになります。またリダイレクトの仕方として「古いサイトの各ページ→新しいサイトの各ページ」の1対1で転送させるのがベストです。

具体的に1対1とはこういうことですね。
XXXXXXX.net/blog/test.html → ○○○○○○○○.com/test.html
XXXXXXX.net/blog/test2.html → ○○○○○○○○.com/test2.html

では、301リダイレクトの方法ですが、一番簡単なのは「.htaccess」に記述する方法です。

■「.htaccess」を使った301リダイレクト方法

設置場所:旧サイトのルートディレクトリ 例)XXXXXXX.net/blog/ であれば blogディレクトリ内におく。

サーバが「Mod-Rewrite」をサポートしている場合の.htaccessの記述方法
▼ここから▼
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^○○○○○○○○\.com
RewriteRule ^(.*)$ http://○○○○○○○○.com/$1 [R=permanent,L]
▲ここまで▲

「Mod-Rewrite」をサポートしていない場合の記述方法
▼ここから▼
Redirect 301 /blog http://○○○○○○○○.com/
▲ここまで▲

※様々な環境があると思いますので、具体的な設定方法については個別にググってみてください。

■301リダイレクト方が行われているかの確認

古いサイトのドメイン名を下記サイトでいれて、submitを押すと301リダイレクトされているかが分かります。
http://web-sniffer.net/


■Google ウェブマスターツールでgoogleに連絡

先ほどのGoogle ウェブマスターツールのアドレスの変更の申請をすれば、googleはちゃんと理解し、古いドメインの被リンクだったり、PageRankだったりドメインエイジなど新しいドメインに引き継がれることになります。

Google的に情報が引き継がれるのは2-3週間程度とのこと。1ヶ月以内にはドメインの切り替えが完全に完了することができますね。