WordPress

WordPressの脆弱性対策!事前にできるセキュリティ対策まとめ

cyber-security

2017年の2月に国内のCMSで圧倒的なシェアを誇っているWordPressに脆弱性が発見されました。

これによって、コンテンツ(記事)が改ざんされたり、あなたのサイト経由でウイルスがばらまかれたりしました。

今回は、その例をもとに必要な対策などの知見をつけてもらう為に解説をしていきます。

脆弱性(ぜいじゃくせい)とは?

そもそも脆弱性とは何かということについては、総務省が発表してくれています。

脆弱性(ぜいじゃくせい)とは、コンピュータのOSやソフトウェアにおいて、プログラムの不具合や設計上のミスが原因となって発生した情報セキュリティ上の欠陥のことを言います。脆弱性は、セキュリティホールとも呼ばれます。脆弱性が残された状態でコンピュータを利用していると、不正アクセスに利用されたり、ウイルスに感染したりする危険性があります。

(出典:総務省 国民のための情報セキュリティサイト)

つまり、当時のバージョンではオープンソースのWordPressにおいてセキュリティ上の欠陥があったということになります。

WordPressに見つかった脆弱性

WordPressに見つかった脆弱性とはどのようなものなのでしょうか?

この時見つかった脆弱性は、「REST API」に起因するもので、これを悪用するとサーバー上でコンテンツを改ざんできるものでした。

参考:

WordPress の脆弱性対策について

WordPressにおけるコンテンツインジェクションの脆弱性に関する調査レポート – 脆弱性調査レポート

「REST API」とは?

REST(Representational State Transfer)はWebサービスの設計のモデルの話です。

この設計を取り入れているサービスは、URIにHTTPメソッドを飛ばすことでデータを送受信することが出来ます(URI,HTTPメソッドの説明は省略します)。

TwitterなどでもREST APIは導入されており、こちらからリクエストを送ることで、ツイートのデータやツイートしたアカウント情報などを得ることが出来ます。

つまり、何かしらのリクエストを送ることで、それにあった情報を返してくれる設計のことです。

WordPressの脆弱性による被害状況

実際の被害状況ですが、同年の2月中旬には150万件以上のサイトが改ざん被害を受けたとされています。

僕の友人も、影響を受けたサイトからばらまかれていたウイルスをインストールしてしまい、初期化を余儀なくされていました。(後述)

一方で、WordPressのシェアの凄さが判明したとも言えます。当時の被害状況がかなりイメージしやすい記事を見つけたので、参考にしてみてください。

参考:2月初めの複数の国内サイトの改ざんについてまとめてみた

以下、被害内容の詳細です。

コンテンツが改ざんされる

まず一番メインであったのが、コンテンツが改ざんされるというものです。

これは、本来であれば編集権限の有る人のみのHTTPリクエストしか受け付けない設定になっているはずが、REST APIの脆弱性により、第三者のリクエストが通る仕組みになっていたからです。

運営に携わっていない第三者の「こういう風にコンテンツを書き換えて!」というリクエストが通ってしまうのです。

「身代金ウイルス」のランサムウェアも

この改ざん被害を受けているサイトにアクセスするとGoogleを装ったウィンドウで「フォントが足りません」という表示が出て、フォントのインストールを求められます。

ただ、そのファイルがウイルスになっており、インストールをするとパソコン内に拡散してしまうというものになっています。

既存ファイルのコピーを量産したりと面倒なウイルスで、解除するためにはお金を払わないといけないというシステムになっていました。

詳しくはこちらの記事から「HoeflerText font wasn’t found偽通知でウイルス感染 Chromeフォントexeの正体はSpora

WordPressで事前にできるセキュリティ対策

じゃあ、WordPressを運営している僕らはどんな対策ができるのかといった紹介をしていきます。

以下の対策を行う場合は、自己責任でお願いします。

WordPressのバージョンをアップデートする

まずは、WordPressのバージョンは最新にアップデートしておきましょう。今回の脆弱性もアップデートすれば治った内容ではあります。(少し遅れて公開されましたが)

WordPressのダッシュボードの更新マークを押すと、アップデート状況が確認できます。

wordpress1 - WordPressの脆弱性対策!事前にできるセキュリティ対策まとめ

こちらに更新がある場合は表示されるので、アップデートしておきましょう。

プラグインの更新状況を見る

プラグインにもバージョンによって、脆弱性が存在するものもあります。

これについては、アップデートすればいいというわけでもないです。そもそもアップデートが行われていないプラグインが存在するからです。

どれくらいのユーザーが使っていて、どれくらい頻繁に更新されているかなどを確認するようにするといいかと思います。

筆者の名前をIDにしない

WordPressではデフォルトで、記事の筆者の名前が出るようになっています。

id - WordPressの脆弱性対策!事前にできるセキュリティ対策まとめ

この表示を「ID」にすることも可能なのですが、出来る限り辞めましょう。

IDを公開している状態では、残りの情報はパスワードだけ分かればログイン出来てしまいます。

ブルートフォースアタック なども存在するので、注意しましょう。表示方法を変更するためには「ユーザー」→「ユーザー一覧」→「編集」から変えられます。

パスワードを変更する

定期的にパスワードを変更するようにしましょう。また、パスワードは推測しにくいものにしましょう。

WordPressのバックアップ対策

WordPressのバックアップを取るようにしておけば、改ざんされた場合も即座にバックアップから修正をすることができます。

ただこの方法に関しては、全てのセキュリティ対策をした上でさらに対策として行っておくというものです。

プラグイン・セキュリティソフトを導入する

プラグインやセキュリティソフトを用いるという方法も良いですね。

こういった記事も書かれているので、参考にしてみてください。

WordPressの脆弱性対策のまとめ

以上、いかがでしたか?

今回の記事は、WordPressの脆弱性に関してまとめてみました。自分のサイトを訪れたユーザーのためにも、セキュリティ対策はきちんとしておくのがおすすめです。

最後まで読んでいただき、ありがとうございました。