ノンプログラマーのための
WordPress
セキュリティ入門

2013/08/31

WordFes 2013 in Nagoya

宮内 隆行 @miya0001

http://bit.ly/wordfes

自己紹介

和歌山県の串本町というところから来ました! kushimoto

実は愛知県の大府市出身です!

mywork

プラグインを作って公式ディレクトリで公開しています。 http://profiles.wordpress.org/miyauchi

my-plugin

このスライドは以下のプラグインで作りました。 WordPress_›_PresenPress_«_WordPress_Plugins https://firegoby.jp/wp/presenpress

今日のおはなし

 WordPressを安全に運用するための ノウハウについてお話します!

  • プログラミングの話はしないです!
  • 主にレンタルサーバーを想定したお話です。
  • 初心者のみなさんを対象にしたお話です。
  • パーミッションのお話
  • なにはともあれ安全なパスワード
  • 信頼出来るテーマやプラグインだけを使おう
  • 常に最新バージョンを使おう
  • バックアップ
  • セキュリティあるある

パーミッションのお話

755とか644とか意味分かる人、どれぐらいいます?

パーミッションの数字は以下のような表を 3桁の数字で表現したものです。

オーナー グループ その他
読み込み
書き込み
実行

この表の場合は 755 です。

ポイントその1

各数字は、それぞれの権限を指しています。

オーナー グループ その他
7 5 5

644ならこういうこと

オーナー グループ その他
6 4 4

ポイントその2

7とか5とかの数字は以下の数字の合計です。

読み込み 4
書き込み 2
実行 1
オーナー グループ その他
読み込み (4)
書き込み (2)
実行 (1)
4 + 2 + 1 = 7 4 + 1 = 5 4 + 1 = 5
オーナー グループ その他
読み込み
書き込み
実行
オーナー グループ その他
読み込み
書き込み
実行

わかんねーよ!

多くのレンサバでは以下のような感じ

ディレクトリ 705
ファイル 604  .phpだけ600ってのもあり
wp-config.php 600 より慎重にやるなら400

簡単インストールがあるレンサバなら
簡単インストールを使うのが一番確実!

超重要

共有サーバーではグループは0であるべし!

でもほとんどのレンサバでは、
ただちに問題があるわけではないです。

ちなみにMacもUnix系のOSなので全く同じ概念があります。

permission2

permission

安全なパスワード

WordPressを狙ったブルートフォースアタックが急増しています。

ブルートフォースアタックとは?

総当たり攻撃と言って、パスワードを手当たり次第に入力して、強引に不正ログインを試みる方法。

安全なパスワードって?

  • 最低でも8文字以上
  • 数字、文字、できれば記号も混ぜよう
  • パスワードの流用は厳禁

passwd

ちなみにブルートフォースアタックの何がウザイかって…

ログインを大量に試みられることによる サーバー負荷の増大
2013-08-24 07:29:14 admin:boboc
2013-08-24 07:29:26 admin:bonjovi
2013-08-24 07:29:37 admin:booboo
2013-08-24 07:29:50 admin:boule
2013-08-24 07:30:02 admin:bubbles
...
...
...

Screenshot_2013_05_21_17_47 グラフが跳ね上がってる時は絶賛攻撃され中…

WordPress_›_Crazy_Bone_«_WordPress_Plugins http://wordpress.org/plugins/crazy-bone/

ブルートフォースアタックの頻度やログインの履歴を
ログとして保存してくれます。

felogin http://wordpress.org/plugins/force-email-login/

WordPressログイン時のユーザー名を 登録されたメールアドレスに変更。

  • ブルートフォースアタックはユーザー名がメールアドレスであることを想定してないので、パスワード以前にユーザー名が一致しない。
  • ユーザー名がメアドであることを正規表現でチェックしてからデータベースにパスワードを投げるので、ブルートフォースアタックに対してサーバー負荷が上がらない。

信頼できるテーマや プラグインを使おう

信頼出来るテーマやプラグインって?

公式ディレクトリ上のテーマを使おう!

  • 公式ディレクトリに掲載されるには、テーマレビューチームの審査を通る必要があります。
  • 自動アップデートで常に最新版を利用することができます。
  • 豊富なフィードバックにより必然的に信頼性が高くなります。

 野良テーマのリスク

  • 公式ディレクトリ上のテーマが受けている第三者によるレビューを受けていません。
  • 自動アップデートが働きません。
  • 非常に高い確率で、悪意があるコードが含まれています。
有料テーマでも同じであることに注意!

本番で使う前にデバッグモードで 確認を!

define('WP_DEBUG', true);

できればテスト環境で! 本番環境をデバッグモードにする時は、 元に戻すのを忘れずに!

こんなのを使う場合は それなりの覚悟を。^^; buddypress

常に最新バージョンを使おう!

アップデートちゃんとしてます?

WordPress本体、プラグイン、テーマは、 常に最新版を!

automatic-updater http://wordpress.org/plugins/automatic-updater/

本体、テーマ、プラグインを自動的にアップデートして、 メールで通知してくれます。 開発者はコアチームの人なので安心!

hotfix http://wordpress.org/plugins/hotfix/

  • WordPress本体が抱えるバグを暫定的に修正してくれるプラグイン
  • バグがないバージョンでも邪魔にはならないのでとりあえず有効化しておくことをお薦め!
  • このプラグインもコアチームのエライ人がつくってるプラグインです。

でも最新版にアップデートしたら 動かなくなったりしない???

デバッグモードでエラーが出ないプラグインやテーマならほとんどそういうことはないです。

ただし、毎回アップデートすることがとても重要!

間隔をあけるほどリスクが高くなるので要注意!

それでもトラブったら?

ぼくは過去に1度しか経験がないです!

バックアップ

Cursor_and_VaultPress_-_WordPress_Backup_and_Security http://vaultpress.com/

安全はお金を出して買うか スキルアップするしかありません。

  • Automattic社さん謹製のバックアップサービス
  • Jetpackに内蔵
  • リストアもしてくれちゃう!
  • ソースコードもスキャンしてくれる!
  • 月額5ドルから!

無料のバックアッププラグインってどうよ?

Untitled-1

  • 無料のバックアップ系のプラグインを共有サーバーで使用するには、適切なアクセスコントロールを施すための知識が必要です。
  • それに多くの要望に応えるために高機能化する傾向があってすごく難しいです。

セキュリティあるある

admin ユーザーってどうよ?

ブルートフォースアタックがadminを狙い撃ちで来るので、いないに越したことはないかも。 http://example.com/?author=1 で、ユーザー名はわかるのでいないからといって安心ではないです。

WordPressのバージョンを隠したら安全?

ハッキングされたとか攻撃されたとかそういうブログやツイートを見ればバージョンを隠しても意味が無いことは明らかですよね。

テーブルプレフィックスを変えたら安全?

プラグインやテーマの脆弱性でSQLインジェクションが可能だった場合に効果があるかもしれません。

共有SSLは安全?

  • ドメインが変わるのでフィッシングサイトとの区別が困難になりますよね。
  • 来訪者にセキュリティリスクをもたらしてる可能性があることを認識して使用しましょう。

Exec-PHPってどうよ

  • eval() 系のプラグインは初心者こそ使うべきではありません。

おすすめの設定は?

  • テーマやプラグインのブラウザからの修正を拒否します。
    define('DISALLOW_FILE_EDIT', true);
  • wp-config.phpって一つ上の階層においても動くって知ってました?

最後に

WordPress_AMI_-_超高速_WordPress_AMI_網元

  • 超高速WordPress環境!
  • 共有サーバーじゃありません!
  • バックアップ機能付き!
  • インフラの運用はデジタルキューブにお任せ!
  • たったの月額3,000円から!

yojinbo http://yojinbo.wpsi.jp/

  • WordPressアップデート
  • プラグインアップデート
  • Gitでのソース管理
  • バージョンアップ時の検証環境の提供
  • セキュリティーモニタリング
  • 運用コンサルティング

などなど…

ありがとうございました!