これも自分用の覚書。
セキュリティの基本
オープンソースで、誰でも開発が可能な WordPress は、それゆえ、誰にでもセキュリティホールを、じっくりと探ることが可能。そのため、現在分かっている脆弱性を修正した、「最新版を使用し続けること」が、もっとも根本的なセキュリティ対策になる。
これはプラグインも同様。また、プラグイン自体が、脆弱性になる場合もあるので、絶対に必要なもの以外は、やたらにインストールしない方がよい。もちろん、セキュリティー関連のプラグインでも同様。
[注意点]
⇒更新の止まっているプラグインは使用しない
⇒使用していないプラグインは削除する
⇒テーマも使用していないものは削除
またサーバーにアクセスして、さまざまな処理をおこなう、あなたのパソコンがウィルスに感染しても、漏洩や改ざんの被害にあうので、パソコンへのセキュリティソフトの導入と維持は、(もっともワードプレスなど関係なく、)絶対に必要。
「WordPress」をインストールすると、デフォルトでユーザー名として登録されている「admin」は、パスワードが強固なものであれば、一部サイトであおり立てるほど、危険なものではないらしい。しかし、使用していないユーザー名を残しておく必要はないので、消去するのがよい。
とりあえず、ユーザー名が分からないようにしておく方法
① adminユーザーの削除
② しかし「/?author=1」(あるいは2、3など)と入力すると
⇒ユーザーが表示されてしまう
③ 『Edit Author Slug』」というプラグインで
⇒スラッグを変更
④ 当たり前だが、自分のユーザー名が、
ブログの情報から分からないような名称であること
adminよりも
より大切なのは、十分に強固なパスワード。小文字のアルファベットだけのパスワードなら、8桁でも半月くらいで解読されてしまう。覚えやすさと、パスワードの長さと、同じパスワードを使い回さない、という条件をクリアすることを考えると、ノイローゼになってしまうので、たとえば
[ノートンIDセーフ]
などの、パスワード管理ソフトを導入して、そのマスターパスワードだけを記憶しておく。他のパスワードは、パスワード生成ソフトなどによって、使用できる最大の桁数のパスワードにしておく。それは記憶にはとどめない。といった方法がよいかもしれない。
覚えやすいパスワードの作り方
日本語の場合は、お気に入りの文章を元にして、母音(aiueo)を抜いて子音のみを抽出。ただし母音の発音、つまり「あいうえお」の場合は含む。たとえば、「おはようございます」なら、「ohyugzims」とする。これによって、一つの発音ごとに、なんらかのアルファベットが記入されるので、唱えながら入力しやすくなる。
さらに、言葉の切れ間に[-]を加え、数字に置き換えられる部分は、優先的に置き換え、アルファベットの大文字と小文字は、覚えやすい範囲で変えるなどしてセキュリティーを高めながら、たとえば、
枯れ木に花を咲かせましょう。
Krk2-87o-3KS-msyu
という方法で、覚えやすくてランダムなパスワードが作れる。あとはオリジナルのルールを加えつつ、パスワードにしやすい文脈を探すのがこつかと思われる。
他のパスワードやメール
さらに、パスワードについては、
以下を十回口に出して唱えたらよいでしょう。
⇒引用元
ワードプレスにログインするためのパスワードは重要だが、ホスティングのアカウントにアクセスするためのパスワードも同じぐらい重要である。FTPやcPanelで容易に推測することが可能なパスワードを利用しているなら、危険である。また、ワードプレスはeメールを使ってパスワードを再設定することも出来るため、eメールのアカウントが脆弱なら、サイトも脆弱である。サイトのパスワードを改善したなら、ホスティングのアカウントおよびeメールで使っているパスワードも改善しよう。
最後に
「Crazy Bone」
などのプラグインを導入しておくとよい。これによって、管理画面からアクセスログを見ることが可能になり、自分ではない第三者が、ログインを試みたかどうかなどを把握することが出来る。
セキュリティーの設定
基本は、
ブルートフォースアタック
(Brute-force attack、力任せの攻撃、総当たり攻撃)、
コメントスパム(スパムコメント)
のブロックになります。
[厳密には]
ブルートフォースアタックというのは、デジタル情報はすべて[0]と[1]に還元されることから、[0、1、10、11、100、101、110、111、1000、1001、1010、1011、1100、1101、1110、1111、10000……]と果てしなく入力していけば、いつかはパスワードを二進法に還元した数値と一致してしまう。つまりランダムなアルファベットだの、大文字小文字だの、記号だのを使用したからといって、そんなことはお構いなしに、すべての[0]と[1]の組み合わせを、総当たりで確かめて、いつかは必ずパスワードにたどり着くという攻撃。
Wordpressへの攻撃で多いのは、よく使われるユーザー名と、よく使われるパスワードを、ソフトに納められた「辞書」から持ち出して、順次試みるという、「辞書攻撃」のようだが、検索するともっぱら「ブルートフォースアタック」として、Wordpressへの攻撃が語られているようなので、気にせず、それにしたがう。
[コメントスパム、スパムコメントとは]
ようするに、コメント欄に、あなたのブログへのコメントではなく、何の関係もない広告を掲載したり、リンクを張ってその先にウイルスを忍ばせてみたり、あらゆる有害なコメントのこと。多くの場合は、プログラムによって、自動的に掲載されているので、自動でコメントしずらい環境を用意しておくことが大切。
どちらも、特に多いのは、日本国外のIPアドレスからの攻撃(もちろん国内からの攻撃もある)なので、日本語による日本人だけを対象にしたようなブログであれば、もっとも効率的なのは、日本国外のIPアドレスからのアクセスを制限してしまうこと。
さらに、ブルートフォースアタックは、パソコンの処理能力に任せて、ソフトで、自動的かつ迅速(じんそく)に、ユーザー名とパスワードを次々に試して、一致を試みるもの。たとえば、ワードプレスのデフォルトのユーザー名、「admin」が残されたままだとすれば、そのユーザー名はもっとも優先的に試行されるものなので、みじかいパスワードであれば、あっという間にパスワードが解析されてしまう。
ところで、もっとも多い侵入者は、特定のサイトを突破しようとするよりも、あらゆるユーザーのワードプレスのログイン画面を、不特定に調べては、ありがちなユーザー名とパスワードを、ひたすら試みて、突破出来たら、進入をはかるものなので、
一定回数以上ログインを試みた、
IPアドレスからのアクセスを、
しばらくの間遮断する
くらいでも、かなりの足止めの効果を持つ。
[Wordpressのプラグインなら]
Login LockDown
あるいは
Simple Login Lockdown
というものがあるので、これをインストールして有効化しておこう。
⇒三回の入力間違いで[12h~24h]程度のログイン不能でよい
⇒「ユーザー名、パスワードが違っています」の表記も無しに
エックスサーバーの場合
・サーバーパネルの「ホームページ」の項目にある、「WordPressセキュリティ設定」を開いてみよう。[国外IPアドレス制限設定]を眺めると、管理画面と、ログイン画面への国外IPアドレスからの接続は、デフォルトで制限されている。
【アクセスが制限されるURL(パス)一覧】
/wp-admin ……管理ツール(ダッシュボード)のフォルダ
/wp-login.php ……ログイン時にアクセスするファイル
・さらに[ログイン試行回数制限設定]が「ON」になっていて、ワードプレスのプラグインを導入しなくても、短期間に複数回のログイン失敗が行われた場合、24時間のログイン制限がかかるのが分かる。したがって、はじめはプラグインを導入せず、様子を見ればよいでしょう。
ログイン不正侵入防止
さらに強固なものとして、いくつかを紹介しておくが、不正の侵入の試みが多いなら、導入を検討してみるとよい。詳細は割愛。
[プラグイン「Google Authenticator」]
ログイン画面に、グーグルの「二段階認証」と「ワンタイムパスワード」を導入できるもので、グーグルで「二段階認証」を使用している人は、検討してもよいかもしれない。ただし、わずらわしいかと思われる。
[Basic認証]
ログイン画面を表示させるために、さらにユーザー名とパスワードの入力が必要にするもの。
[管理画面へのIPアドレスを限定する]
固有のIPアドレスを持っている場合、自分のIPアドレス以外は、ログイン出来ないようにしてしまうことも可能。強固だが、不便な点も多い。
パーミッションの変更
レンタルサーバーは、UNIXのシステムを使用し、これはもともと、複数のユーザーが使用するためのものである。そこで、ファイルやフォルダごとに、「誰が読み込めるか」「誰が書き込めるか」「誰が実行できるか」といった権限を与えるための「数値」が設定されている。これをパーミッション(属性)という。数値は三桁で、
[自分自身、グループ、他の人]
の順に設定され、
読み込み可能には 4
書き込み可能には 2
実行可能には 1
が当てはめられている。
これらの数値は、たわいもない足し算によって、
読み書き可能であれば、[4+2=6]
すべて可能であれば、 [4+2+1=7]
といった数値が与えられ、それがそれぞれ
[自分自身、グループ、他の人]
の順番で
[606]とか[444]
などと設定される。
とりあえず、はじめの一手としては、[FTPソフト]を使用して、Wordpressを開いたところにある、
.htaccessを[604]に、
wp-config.phpを[400]、
(ただし何らかのエラーの出る場合は、[404])
に変更しておこう。
・やり方は[FTPソフト]で対象ファイルを選択して、属性変更などとあるところからおこなう。詳細は割愛。
スパムコメント対策
まずはじめに、はじめから WordPress にインストールされているプラグイン、
[Akismet]
を必ず有効化しておく。やり方は、検索するとすぐ出てくるので、それにしたがう。登録の際にユーザー名は、本名である必要はないようだ。金銭の欄もあるが、いくら払いますかのバーをスライドさせると、ゼロ円、つまり無料で使用できる。
[SI CAPTCHA Anti-Spam]の導入
画像認証。つまり表示されているアルファベットを打ち込まないと、コメントが送信されないプラグイン。スパムコメント対策とともに、流しコメントを避ける効果があるので、導入しておくとよいかもしれない。このプラグインは、ログイン画面に「画像認証」を表示させることも可能だが、チェックを入れたら、正しく入力してもログインできなくなったことがあったので、一応記しておく。
とりあえず
このくらいのセキュリティ対策を済ませてから、ブログを開始すると良いかもしれない。あとは気になるところを、気になる時に、あらためていったらよいでしょう。
おまけ 必要ではないか?
以下のものは、わざわざ試みなくても良さそう。(個人的見解)
・バージョン表記を隠さなければならない
・テーブルプレフィックスを変更しよう