「これだけ」はやっておこう──「WordPress実行環境とアプリ開発環境」のセキュリティ対策マニュアル:とにかく速いWordPress(19)(3/3 ページ)
エンタープライズ用途での利用が増えている「WordPress」の高速化チューニングテクニックを解説する本連載。今回は、「WordPress実行環境としてのサーバのセキュリティ対策」と「開発者がWordPressアプリケーションを開発する際に実施すべき対策」のポイントを解説します。
4:管理画面やフォーム機能を実装する際には「セキュリティトークン(Nonce)」を利用する
WordPressサイトの管理者は多くの場合、WordPressでのサイト管理も、普段の一般業務も同じマシンを使っていると思います。しかし、悪意のあるWebサイトへのリンククリックやリダイレクトなどで、ログイン中のWordPressサイトに意図しない操作が発生してしまう可能性があることを知っておいてください。「クロスサイトリクエストフォージェリー」と呼ばれる脆弱性によるリスクです。
管理画面内に、管理者のみが操作できる「特定の投稿を削除するリンク」があるとします。正しい権限を持つWordPressにログイン中の管理者が、然るべきルールに沿ってこのリンクを操作するのは正常な行為です。しかし「脆弱性を悪用した、悪意あるWebサイトに訪れてしまった」管理者が、その悪意ある(しかも、よく似た)Webサイト内の同じリンクを、正常なリンクと勘違いして操作してしまう……。すると本来は拒否されるべき他サイトからのリクエストが通り、実行されるべきではない処理が行われてしまう可能性があります。
このリスクは「WordPress Nonce」で防ぐことができます。
WordPress Nonceは特定の処理を正しく実行するために、「正当なページからの遷移であることを証明する」ためのワンタイムパスワードです。正しいNonce値を持たないページからは処理しないように保護できます。
5:SQLの実行は「データ処理用に用意されたWordPressの関数を用いる」か、「プレースホルダ」を使う
WordPressでのデータベース処理は、専用として用意されたWordPressの関数を用いるのが一般的です。
例えばデータベースから投稿された情報を取得するには「get_post()」を、投稿を追加するには「wp_insert_post()」を用います。これらのWordPress関数は内部で適切なエスケープ処理がなされているため、安全といえます。
しかし「$wpdbオブジェクト」を使って直接データベースを操作する場合には注意が必要です。自動ではエスケープ処理がなされないからです。
そこで、$wpdbオブジェクトを使う場合には、必ず「プレースホルダ($wpdb->prepare)」を利用してエスケープするようにします。プレースホルダの利用は、特にSQLインジェクション対策として有効です。
今回は、「WordPress実行環境としてのサーバのセキュリティ対策」と「開発者がWordPressアプリケーションを開発する際に留意すべきポイント」を解説しました。次回は、ログの活用方法、WordPressアプリケーションレベルでの「さらなる高速化チューニング」など、運用時に役立つテクニックを解説する予定です。お楽しみに。
筆者紹介
中村けん牛
1971年栃木県生まれ。中学1年生で電波新聞社の『マイコンBASICマガジン』にプログラムを寄稿して以来、プログラミング歴30年。早稲田大学法学部を卒業後、野村證券に入社。公認会計士第二次試験合格。2002年にプライム・ストラテジー株式会社を設立、代表取締役に就任する。2005年にPT. Prime Strategy Indonesiaを設立して以来、アジアでのITビジネスに携わる。執筆監訳書籍に『WordPressの教科書』シリーズ(SBクリエイティブ)、『詳解 WordPress』『WordPressによるWebアプリケーション開発』(ともにオライリー・ジャパン)などがある。
関連記事
- WordPress脆弱性発覚、その後の状況 4.7.2リリース時に脆弱性が公開されなかった理由
2017年2月に発覚したWordPressの脆弱性により、既に約10万件ものサイトで改ざん被害が発生しているという。セキュリティ企業 ESETが、公式ブログで背景と現状、対処方法を解説した。 - 容易にWebサービスを高速化できるNginxを使いこなすための秘訣とは
高速で軽量なOSSのWebサーバとして注目されている「Nginx」。使いこなすための課題や有効なアーキテクチャ構成などをサイボウズでの導入事例と共に明かす。 - 高速・軽量・高機能……Nginxの基礎知識
処理能力の高さなどを理由に、近年、大規模サイトを中心に急速にシェアを拡大しているWebサーバー「Nginx」。この連載では、その特徴と魅力を分かりやすく紹介します。 - WordPress自体のチューニングが必要な理由と高速化の基本的な考え方
企業のCMSサイトやオウンドメディアなどエンタープライズ用途での利用が増加しているWordPressの高速化について解説する連載。初回は、WordPressの高速化が求められる背景や、WordPress高速化の基本的な考え方であるページのロード時間とその構成要素、1秒当たりの同時アクセス数について解説します。
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.