WordPressのセキュリティ対策9つ【保存版】

WordPressのセキュリティ対策

ウェブサイトがWordPressのCMSによって素人でも簡単にウェブサイトを構築することができるようになりました。

では、WordPressのセキュリティ面を考慮して運営している運営者がどれぐらいいるでしょうか。WordPressのセキュリティ面を強化する意味あいでも自身の備忘録として記載してきます。

SPONSORED LINK

1.WordPressが受ける攻撃について

WordPressが受ける攻撃

  • WordPressの管理画面にアクセスされ突破される
  • アタッカーの標的にされやすくなる

などの項目が上げられます。近年多くみられる傾向としては、アジア諸国からのアタッカーが管理画面を突破し、リンク目的やサイトの書き換え目的などで攻撃を仕掛けてくるケースが多いです。

せっかく作ったサイトが見れなくなってしまったり、故意にURLを書き込んだり書き換えられたりなど、なんでも好き放題やられてしまいます。

だからこそ、最低限のセキュリティは必要と言えるでしょう。今回はWordPressセキュリティ面について詳しく説明するとともに、このページでは情報は新たに分かった事や変更した点があれば随時、更新して行きます。

それでは始めていきます。

 

2.WordPressのテーマ・プラグインは公式のものを利用する

WordPressのテーマ・プラグインは公式

WordPress公式のテーマやプラグインというのは、WordPress管理画面内にて検索時に表示させるテーマ及びプラグインのことを指します。WordPress公式プラグインの場合は一度審査を通過してから公開されているものなので、脆弱性やバグが少ない傾向にあります。(完全にないとは言いきれませんので注意が必要です)

使用しない方が良いプラグインとは

  • WordPress公式で配布されていない非公式プラグイン
  • WordPressを形成するファイルへのアクセスを必要としている
  • WordPress公式で配布されているが更新が止まっているもの

もちろん非公式プラグインでも完全にアウトというわけではありません。セキュリティのリスクを分かった上で利用していきましょう。

WordPressの非公式テーマについて

WordPressのテーマは日本国内のものでも、海外のものでも非常に非公式で配布されています。これは、WordPressのテーマへの公式審査が非常に厳しいため、多くのテーマ作成者はWordPress公式の証明を受けることなくフリーダウンロードや有料販売を行っているのが実情です。

可能な限りはWordPress公式のファイルを利用したほうが無難ということになります。また、非公式が完全にダメだというわけではないので制作者やバージョンアップがしっかりと行われているテーマファイルをなるべく利用したほうが良いでしょう。

 

3.WordPressは常に最新版にアップデートする

WordPressは常に最新版

WordPress本体だけではなく、以下のバージョンアップは必ず行っておくべきといえます。

  • WordPress本体を最新バージョンに
  • テーマが更新があれば最新バージョンに
  • プラグインが更新があれば最新バージョンに

上記の3つの項目を必ず最新バージョンにすることがセキュリティにつながります。WordPress、公式テーマ、公式プラグインはセキュリティを強化するため、その都度バージョンアップにて対策を行っています。最新バージョンは(既知の)脆弱性がなく、逆に古いバージョンは、古ければ古いほど、脆弱性は多くなります。

使わないプラグインは停止ではなく削除する

使っていないプラグインをそのまま停止して、WordPressに「停止」で残している場合もありますが、使わない場合は必ず「削除」しておきましょう。なぜ「削除」が必要かといいますと、プラグインに脆弱性が存在した場合、「停止」してあってもその脆弱性が狙われる可能性があるからです。

 

4.WordPress管理画面「wp-config.php」への制限

制限する

WordPress管理画面の「wp-config.php」とは、そのウェブサイトのデータベースアカウント情報が記載されているファイルです。
そのため、「wp-config.php」がハッカーの手に渡ってしまった場合に、データベースを直接操作されてしまう危険性がでてきます。そのため以下のような対策が必要となります。

  • 「wp-config.php」へのアクセス制限
  • 「wp-admin」への外部からのアクセス制限

アクセス制限をする方法としては、「IP制限」や「Basic認証」「Apache」「Nginx」等での制限と様々な方法がありますので自身のウェブサイトに合った制限を行いましょう。

 

パーミッションについて

ファイルやディレクトリに対するアクセス権のことを言います。

  • 「wp-config.php」のパーミッションは「400」
  • 「.htaccess」のパーミッションは「404」

上記に設定をしておきましょう。

 

5.ブルートフォースアタック対策を行う

ブルートフォースアタック対策

ブルートフォースアタックとは、日本語に翻訳すると「総当たり攻撃」のことをいい、ユーザー名とパスワードのパターンを、片っ端から試していく、ハッキング手法のことをいいます。

こちらのハッキングを経験したことがある方は、WordPressからログイン回数の超過メールなどが届いた場合はブルートフォースアタックを受けている危険性がありますので注意しましょう。ブルートフォースアタック対策は以下の通りです。

パスワードの精度を上げる

パスワードを簡単な設定にしておくと、ブルートフォースアタックで突破される可能性が高いため、必ず「弱いパスワードを使わない」ようにすることをお勧めします。(原理上ふつうのWordPressユーザーが心配する必要はないと思います。)

どうしても心配される方に関しては

  • 二段階認証
  • ワンタイムパスワード
  • 画像認証

などを取り入れることで強化しておきましょう。

 

アクセス制限する

アクセス制限については、「4.WordPress管理画面「wp-config.php」への制限」の方法で行います。制限する場所に関しては以下の通りです。

  • ログインページ
  • 管理ページへ

上記2つをアクセス制限しておきましょう。

 

アーカイブへの対処は不要?

ブログのWordPressセキュリティ記事でよく見かけることですが、URL アドレスの最後に /?author=1 を付けてアクセスを行うと、投稿者アーカイブページが表示されます。

表示されるのが基本的にユーザーIDとなるため危険であると良く書いてありますが、基本的にパスワードを解析されない限りはログインページを突破されることがないため不要と言えるでしょう。

この部分が気になる方に関しては以下の処理を行ってみてください。

 

【functions.phpへ以下を記述】add_filter(‘author_rewrite_rules’,’__return_empty_array’ );

(上記設定で投稿者アーカイブが作成されずに404が返される様になります。)functions.phpを上書きした後は、最後に必ず「ダッシュボードの設定→パーマリンク設定」で(変更しないで)「更新」ボタンのみををクリックしておいてください。

 

6.データベースユーザー権限の制限

データベース制限

これはWordPressだけではなくウェブサイトの対策となります。ウェブサイトへの攻撃は以下のような攻撃方法が存在します。

  • SQLインジェクション
  • クロスサイトスクリプティング(XSS)
  • Dos攻撃
  • HTTPヘッダインジェクション

記に挙げている攻撃に対して有効な「WAF(Webアプリケーションファイアウォール)」という仕組みもあります。「WAF」は、Webサイトへの攻撃に特化したファイアーウォールになり、各レンタルサーバーでも採用されています。
「SQLインジェクション」や「クロスサイトスクリプティング」は、現在、最も一般的な攻撃手法になっているので、必ず対策しておきましょう。

WordPress 運用においては、MySQL データベースユーザーはデータの読み書き(SELECT / INSERT / UPDATE / DELETE)が可能な権限のみが必要となります。DROP / ALTER / GRANT といったデータベース構造の変更や管理のための他の権限は必要ありません。

 

7.WordPressの管理画面とログイン画面のSSL化

SSL化

WordPressの管理画面とログイン画面を「SSL化」を行うことで、暗号化されるため、ログインやアカウント情報の特定を防ぐことが可能となります。GoogleでもHTTPS化に関しては推奨していることなので、セキュリティ面とSEO対策面も含めてSSL化は行っていた方が良いでしょう。

Googleの検索エンジン順位に関しては「HTTPSに対応してても、HTTPSエラーの場合はSEO対策の恩恵は受けれない?」を一度確認しておきましょう。

 

8.サーバー内部へのアクセス制限

サーバー内部へのアクセス制限

ハッカーの侵入経路はWordPressのようなCMSに限っていません。サーバーにファイルをアップロードする歳に受信を傍受されている可能性もあります。そのため、サーバー内部へのアクセスを特定のユーザーのみに制限をかけることも大事です。IPアドレスで制限してしまう方法が一般的といえます。

その他注意点は以下の通りです。

  • サーバーへのアクセスは SSH を基本にする
  • FTPクライアントソフトを使う場合、SFTP または FTPS で接続する
  • レンタルサーバーはSFTPまたはFTPSを提供しているサーバーを選ぶ

FTPを使わないことがなぜ対策になるかというと、FTP通信は暗号化されず、パスワードも平文でサーバーに送られているからです。

SFTPやFTPSを使うと、通信が暗号化されます。最近は価格帯の低いレンタルサーバーでも使えるようになって来ましたし、セキュリティ対策としてそもそもFTPサーバーを起動しないということも当たり前になってきたのではないかと思います。

FTP通信が使えるサーバーであっても、使わないようにしましょう。

 

9.乗っ取られた時の「もしも対策」について

もしも対策

ハッカーにWordPressを乗っ取られてしまった万が一の時に以下の対策を行っておくことが大切です。

アクセスされても書き換えさせない

悪意のあるコードを設置されたり、ファイルを書き換えたりといった操作させないために管理画面内で出来ることに制限をかけましょう。

  • テーマの新規インストールさせない
  • テーマの編集をさせない
  • プラグインの新規インストールさせない
  • プラグインの編集をさせない
  • 投稿画面でPHPコードを入力実行させるようなプラグインは絶対入れない
  • WidgetでPHPコードを入力実行させるようなプラグインは絶対入れない

上記の点は守って制限をかけておきましょう。制限の方法については以下の通りです。

 

テーマ・プラグインの制限の方法について

テーマ・プラグインの新規インストールと編集を行えないようにするには、「wp-config.php」に以下の定数を入れて制限します。

define(‘DISALLOW_FILE_MODS’,true);
※ただしダッシュボードからのテーマとプラグインの更新(アップデート)も行えなくなりますので、SSH や SFTP・FTPS でファイルを更新する様にしましょう。
※テーマ、プラグイン編集のみを制限するのであれば、以下の通りです。
wp-config.phpにdefine(‘DISALLOW_FILE_EDIT’,true);

 

バックアップは必ず取っておくこと

WordPressのバックアップを取っておく項目は以下の3点になります。

  • WordPressのフォルダ・ファイル一式
  • WordPressで利用しているデータベース

WordPress管理画面からエクスポートできる「各記事・固定ページ・カテゴリ・タグ等の情報(XML形式)

上記は必ず定期的にバックアップを取得しておきましょう。
ハッキングに関しては100%防ぐことは不可能だと考えます。そのため原状回復ができるようにバックアップは必須といえます。バックアップには色々な方法がありますが、基本的にプラグインを使ったバックアップが紹介されていますが、あまりお勧めできません。

WordPressのバックアップ方法は「データベースのバックアップ」の記事を参考に行っていただくことが一番良い方法といえます。

 

まとめ

WordPressは無料で利用できる利点や素人がウェブサイト構築に利用しやすいCMSとなっており便利度はますます向上しています。ただ、オープンソースなため脆弱性が発見されやすく、ハッカーの標的になりやすいというデメリットも存在します。

そのデメリットを少しでも和らげるためにWordPressのセキュリティ対策は必須ではないでしょうか。WordPressに対して間違った知識を持たずに確実で有効な対策を講じてください。

最後までありがとうございました。

 

この記事が気に入ったら
いいね!しよう

最新情報をお届けします

Twitter でフォローしよう!

Edit

[Google Ads and peko]

この記事を書いた人

辻 昌彦

辻 昌彦
当サイトにお越しいただいてありがとうございます。株式会社peko(ペコ)の代表をしております。 趣味にならないように・・・企業や個人の方になるべく役に立つようなSEOの記事、Webマーケティング関連の記事を配信していきますので、よろしくお願いします。

コメント:3件

コメント

メールアドレスは非公開情報です。必須項目: *

*