当記事の内容を利用される場合には、あくまでご自身の責任に置いてご利用ください。利用の結果生じた損害について、一切責任を負いません。site.-“wp-content”ディレクトリ名を変更する必要があります-まとめ前置きここ半年くらいでWordPressの停止中のプラグインの脆弱性を突いてデータを改竄、wp-login.phpへのブルートフォースアタック(総当たり攻撃)といった記事をいくつか目にしたのでWordPressのセキュリティについて調べてみました。Securityが役立ちそうだったので機能の解説をしてみます。Securityプラグインのみでセキュリティ対策になるという訳ではありません。(悪意あるコードが含まれるテーマ・プラグインを管理者自身が導入といったケースには対応していないはずです)また、私はPHP及びセキュリティは専門ではありませんので上記免責事項にもありますがご自身の責任に置いてご利用ください。一覧よりインストール”ですので省略します。(2012/02/21現在バージョンは2.18を使用)インストール完了、有効化でサイドバーにメニューが表示されます。Contents(現在の.htaccessファイル)」が表示されます。上図、ローカル環境でのセキュリティ情報ですが、警告(赤)・注意(黄)だらけなのが確認出来ます。問題ない項目は安全(緑)で表示されます。いうわけで各警告・注意の簡単な説明です。(一部分かっていませんが。hidden.WordPressの管理領域のファイルが隠されていない(翻訳よくわからない?)たぶんログインURL(wp-login.php)等がデフォルトのままなので変更しなさいい、という警告。詳細それでは上の警告から対策して行きたいと思います。各警告横のリンクまたはサイドメニュー”Security”のサブメニューより設定を行います。※無理に全ての警告・注意を安全にする必要はないと考えています。Securityプラグインで警告・注意されている項目でも無駄なものもあるようですので。exists.-ユーザ名”admin”が存在している-ユーザ名で”admin”を使用している場合に警告が出ます。WordPress3.0からインストール時に任意のユーザ名を設定出来るようになりましたが、3.0まではデフォルトの管理者名が”admin”だったため狙われやすい、ということからの警告と思われます。User”よりユーザ名を変更する事で安全となります。帰ってくるように、ユーザIDを増やしていくと容易にユーザ名を知る事が出来るのでこちらの設定はあまり意味がないかもしれません。wp_.-データベースのテーブルプレフィックスが”wp_”のまま-テーブルのプレフィックスがデフォルトの”wp_”のままでは推測しやすいので警告が出ます。Prefix”より変更を行います。Prefix”クリックでテーブルプレフィックスが”wp_”からランダムな値に変更されます。セキリュティについての質問で解説されているようにWordPressではSQLインジェクションがほとんど起こらないらしいので必要ないかもしれません。secured.-.htaccessファイルがセキュアではない-.htaccessがセキュアな状態ではありません。Protection”より設定を行います。次のケースでは以図の警告が出ます。Protection”設定へ行くと以下の設定画面となります。全ての項目の詳細は理解出来ていませんが、readme.htmlやwp-config.phpへのアクセスを拒否したりURLの不審なクエリ文字列を除外したりしてくれているようですので、全てにチェックを入れて保存します。試しにwp-config.phpがある場所へアクセスしてみると403を返してくれました。attacks.-ブルートフォースアタックに対して脆弱-ブルートフォースアタック(総当たり攻撃)への対策を行います。Logins”より設定を行います。設定をOnにすることで、特定ホストからの連続不正アクセス、特定ユーザ名での連続不正アクセスがあった際にそのホスト・ユーザに対して制限を掛ける事が出来ます。Attempts不正ログインに対して試行回数を制限するか。(minutes)ロックアウト期間。不正ログインによる試行回数が設定数以上に達した際の閉め出し時間。Hosts.ロックアウトユーザはサイト全てを閲覧出来なくするかどうか。Notifications.ロックアウトが発生する度に管理者へメール通知を行う。Messageロックアウトユーザがアクセスした際に表示されるテキスト。day?-管理画面へのアクセスは常にできる必要はあるか-24/7がよく分からなかったのですがスラングで「いつも・常に」といった意味ですね。Lukeという訳で、「WordPress管理画面は常にログイン出来る状態にしておく必要があるのか?」といったところでしょうか。確かに企業サイトで営業時間内のみしかブログを更新しないという場合、深夜は管理画面へアクセス出来る必要はありません。Restriction制限の種類。Time(指定の一定期間)を選択。Timeで設定した時間まで管理画面にアクセス出来なくなります。Timeで設定した日付・時間まで管理画面にアクセス出来なくなります。Ruleの項目に以下の通り表示され、この期間一切管理画面にアクセス出来なくなってしまいますので気を付けてください。hidden.-Wordpressの管理領域のファイルが隠されていない-※私の理解不足の所為ですが、この機能をOnにしたらブログにログイン出来なくなりました。なんとかログイン出来るようにはなりましたが怖いのでこの機能は使用していません。詳しい方いらっしゃればアドバイス頂ければ助かります。直訳すると「WordPressの管理領域のファイルが隠されていません。」と出て来たけどいまいち分からなかったので設定画面を見てみる事に。wp-login.phpやwp-register.php、wp-admin/へのアクセスを独自のURLに変更してくれてwp-login.php等へのアクセスを404にしてくれるらしい。機能をOnにすると.htaccessに以下とデータベースのwp_optionsにそれらしき設定が追加されます。[L]</IfModule>処理の流れとしては以下の通りでしょうか。