wordpressのセキュリティ対策のためにやったこと。(ベーシック認証とか、configファイルとか)

security
最近wordpress周りでの乗っ取りが騒がれており、セキュリティ強化をする必要がありまして。
そこで、色々調べて使いやすさとのバランスを考えてみた結果導入したものをまとめておきまっする。

インストールしたセキュリティ系プラグイン

Google Authenticator

Googleの二段階認証をwordpressのログイン時にも使えるプラグイン。
詳細はここを参照しました。
ダウンロードはこちら → Google Authenticator

Crazy Bone (狂骨)

ログイン履歴を蓄積、閲覧できるプラグイン。
精神安定的にたまにチェックする用。
ダウンロードはこちら → Crazy Bone (狂骨)

BackWPup

万が一侵入された時のため+サーバーが落ちた時ように、自動で決めたスケジュールでバックアップを取得してくれるプラグイン。
バックアップの保存先にはDropBoxも指定できて、バックアップの個数も指定できるのでかなり便利!
詳細はここを参照。
ダウンロードはこちら → BackWPup

変更した.htaccessまわり

wp-login.phpのIP制限

管理画面周りにログインできるIPを自宅のみに制限。
これで基本的には管理画面のファイル自体にアクセスができないようになる。
実際の.htaccessのコードは下記。

<Files wp-login.php>
Order deny,allow
Deny from all
Allow from xx.xx.xx.xx
</Files>

wp-login.phpへのベーシック認証

管理画面まわりにIP制限をかけた上でベーシック認証っていう、これでもかプラン。
実際の.htaccessのコードは下記。

<Files wp-login.php>
AuthName "Input ID & Password"
AuthType Basic
AuthUserFile /home/○●/.htpasswd
Require valid-user
</Files>

wp-config.phpへのアクセス除外

こんかい起きたwordpressの乗っ取りはwp-config.phpがデフォルトのままで、それを踏み台にされて・・・っていう話もあるので、念のためwp-config.phpファイルへのアクセスを除外。
実際の.htaccessのコードは下記。

<Files wp-config.php>
order allow,deny
deny from all
</Files>

これで無理な場合には、もう諦めます!
(とりあえずバックアップは自動化できているからなんとかなる!)

wordpressでブログじゃないウェブサイトを作ったよ!

テラシマンのサイトを静的なhtmlサイトからwordpressベースのサイトへリニューアルしました。
その経緯とプロセスをまとめておきたいと思います。

今までの問題点

更新が面倒

一覧ページも詳細ページもすべてhtmlで、手で作成していたので、詳細ページを追加したら一覧ページにも追加して、詳細同士の移動のリンクも書き換える必要があるなど、1ページを追加するだけでも手間でした。

newsコンテンツが貯まらないのでSEO的にもったいない

サイトの構造に原因がありましたが、最新の活動状況を知らせるnewsページについて、urlを固定にして、アーカイブページを持っていなかったことから、最新状況を更新すると以前のコンテンツは上書きされ、ページは蓄積されていませんでした。

SNS系のボタンがない

以前のサイトは制作したのが3年前とかで、まだツイッターもフェイスブックも出たばかりの頃で、SNS系のボタンは設置していませんでした。

リニューアル内容

上記の問題点より「サイト自体をwordpressで制作し直すことでページの追加・蓄積を簡単にすること」と「Twitter・facebookのボタン設置によるソーシャル機能の追加」が必要でした。

また、wordpressにすることでウェブの知識がなくても更新できるようになるので、コンテンツの種類が「news」「gallery」「works」「notebook」と4つある中で、更新のしやすさも気をつける必要がありました。
ついでにHTML5でマークアップしたことがなかったので、<section>や<article>、<time>、<figure>などHTML5の主要なタグも使ってみました。

リニューアル前と後のサイト構造

リニューアル前、トップページはFLASHの簡易的な紹介用のムービーが流れるのみでした。
また、コンテンツについてはニュースページは上書き更新で、今までの仕事的をまとめたページはありませんでした。

リニューアル後では全ページにTwitter・facebookのボタンを設置し、またGallery、Worksの詳細ページにはPinterstのボタンを設置しました。
Pinterstは今流行始めたから追加しただけです・・・。

wordpressの勉強

最近「wordpressでサイトを作るには!」系のエントリーが色々なところでされているので、それを読んで勉強しました。インストールと更新、テーマの編集程度は以前何度かやったことがあったのですが、ゼロからサイトとして設計してつくることは初めてだったので、とにかく調べる→読む→やってみる→調べる→・・・を繰り返しました。
中でもWordPressでブログじゃないWebサイトを作るときのいろいろ(サンプル付き)WordPressのオリジナルテーマ作成フロー・基本マニュアルを参考にしました。

入れたプラグイン

Custom Post Type UI
→カスタム投稿タイプが簡単に作れるヤツ。
Webデザインレシピさんの記事が詳しいです。
WordPressでサイト設計をする時に覚えておきたいポストタイプの特徴などいろいろ

Custom Field Template
→カスタムフィールドのテンプレートを簡単に作れるヤツ。
こちらの記事が詳しいです。
WordPressで「カスタム投稿」と「カスタムフィールドテンプレート」
Custom Post Type UIと組み合わせることで、下図のように投稿画面がシンプルでわかりやすくできます。

Google XML Sitemaps
→検索エンジン向けのサイトマップ(sitemap.xml)が自動で生成、更新されるヤツ。

WP Super Cache
→ページのキャッシュを作って読み込みを早くしてくれるヤツ。

苦戦したところ

wordpressのテーマ(サイト)作成周りは調べれば大抵のことはあるので問題なかったのですが、開発→リリースの移行で手間取ってしまいました。

開発時は別ドメインのサブドメインに設置し、ベーシック認証で他人・検索エンジンに対してはじいていたのですが、いざリリース使用としてサーバー内のディレクトリ名を本番のものに変えて、.htaccessファイルとパスワード用のファイルを削除したら404のままという・・・。

実は.htaccess内にワードプレスの設定も書かれていたので、ファイルごと消したことが間違いなのですが、それに気がつかず、混乱したのでとりあえず寝てしまいリリースが1日遅れました。

今後の課題(まだやってないこと)

トップページは今newsコンテンツの最新を乗せているのですが、実はまだhtmlのままなので、「最新のnewsエントリーを表示させる」ようにする必要があります。
また、そもそもトップページはそれでいいのか?という話もあるので、それは追々。
あとは、SEO用に各ページにディスクリプションを入れるのもやってないので、それも追々。

2010-01-09 のtwitter

  • 実家で飲みすぎて食いすぎたなう。 #
  • かつてのランニングコースを散歩中なう。夜景がきれい。 http://tweetphoto.com/7843761 #
  • 米軍基地前なう。 http://yfrog.com/4ezufjj #
  • 東名混んでるー http://twitgoo.com/aurlz #
  • 上空をヘリがパトールしているのか懐かしい。 #
  • お、フォロー数が100 #
  • 正月の実家挨拶終了。
    毎日呑むの大変ざんす。 #
  • wordpress2.9にした #
  • 家でのネットはchromeに切り替わった!
    chrome、いいね! #
  • DBエクスポート→DB削除→新規DB→保存したDBインポートでいけね?RT @achirabe なんか一つのブログだけ出来ないんだけど。 MySQL version 4.1.2 or higher. You are running version 4.0.27.RT #
  • Wii、ボクシングで腕筋肉痛。 #
  • 帰宅中。電車空きすぎ。 #
  • いっすねー!あのスーパー銭湯が懐かしいっす。RT @t_chandler 今日はうどん屋に行って、スーパー銭湯行こうと思います。お疲れ様ですっ。 #
  • RT @iphonefan 将来の為に保存w RT gizmodojapan 【最新記事】iTunesライブラリをWindowsからMacに移動する方法(逆もOK)http://bit.ly/7nUFKD  [twicco.jp @iPhoneSky ] #
  • RT @netsugen 誰かを愛するとき、人は相手が背負っている重荷や悲しみ、弱さなどをどこかで、引き受けていかなければなりません。 #
  • 一日に二回、朝晩電車で寝過ごした‥。
    どんだけですか、俺。
    早く家に帰りたい寒い。 http://twitgoo.com/b8qiw #
  • 誕生日休暇にクレーム対応で往訪とはね。けど終わったぜ! #
  • RT @netsugen 成功の反対は失敗ではない。「なにもしない」だ。 #
  • なんかちげーんだよなぁって思う。 #
  • http://bit.ly/58LbzS
    今更だけど、スーザン・ボイルで泣きそうになった。 #