WordPressは、世界で利用者数が最も多いCMS(コンテンツ管理システム)です。
今では全Webサイトの40%以上がWordPressで作られているため、残念ながらその分悪意を持ったユーザーから狙われるリスクも高くなってしまいます。
そこで当サービスでは、あなたの大切なサイトの被害リスクを最小限に抑えられるよう、徹底したセキュリティ対策を行っております。
この記事では、対策の概要をご紹介します。
WordPressには多くのセキュリティ対策プラグインが存在し、ユーザー数も年々多くなっています。
しかし多くの人が利用するプラグインは、当然悪意のあるユーザーのターゲットになり得ます。
また他のプラグインと競合し、予期しない動作を引き起こすかもしれません。
そのため当サービスではプラグインに頼らず、独自のセキュリティ対策を施しています。
ユーザー名流出防止
WordPressは、デフォルト状態ではドメイン名の後ろに「/?author=1」や「/wp-json/wp/v2/users」などのパスをつけてアクセスすると、ユーザー名を確認することができてしまいます。
通常のログインではユーザー名とパスワードが全てですので、ユーザー名が漏れてしまっては、セキュリティに心配が出てきてしまいます。
そこで当サービスでは、上記のようなURLへアクセスされた際にもユーザー名が露出しないよう、対策を施しています。
後ほどご紹介する2段階認証と併せれば、ログインのセキュリティをより向上させられるでしょう。
WordPressバージョン隠蔽
WordPressのデフォルト状態では、バージョン情報がheadタグの中に書き出されます。
バージョンによっては脆弱性が含まれることもありますので、そのバージョンがコード上で確認できてしまうことは、攻撃者へヒントを与えることになりかねません。
そこで当サービスでは、WordPressのバージョン情報を出力しないよう、対策を施しております。
ログインページURL変更
WordPressの管理画面へのログインは、デフォルト状態では「/wp-admin」や「/wp-login.php」などでアクセスすることができます。
これは、全てのWordPressサイトに共通する事項です。
もうお気づきかもしれませんが、WordPressサイトで作られたサイトであれば、他人のサイトでもログインページへは簡単にアクセスできてしまうということです。
そこで当サービスでは、ログインURL(外部との接点)を変更することで、ブルートフォースアタック等のリスクを低減しています。
FILE_EDIT機能の無効化
万が一あなたのサイトがハッカーにより乗っ取られてしまった場合、FILE_EDIT機能がONになっていると、管理画面から簡単にテーマやプラグイン等のファイルを編集できてしまいます。
しかしこれでは、二次被害・三次被害をもたらしかねず、危険な状態です。
そこで当サービスでは、FILE_EDIT機能を無効にしています。
ネット上には管理画面からのファイル編集方法が紹介されている記事も多く見受けられますが、ファイル編集はSSH接続で安全に行うことができますので、ご安心ください。
最低限のプラグイン導入
WordPressには、魅力的なプラグインが星の数ほど存在します。
しかし、中にはメンテナンスが滞っているプラグインや脆弱性のあるもの等も含まれているため、プラグインを導入すればするほどそのリスクは高まります。
そこで当サービスでは、必要最低限の機能をテーマ側へ実装することで、プラグインの導入も最低限にできるよう設計しております。
適切なエスケープ・サニタイズ処理
XSS(クロスサイトスクリプティング)は、Webサイトに仕掛けられる最も代表的な攻撃の一つです。
フォームから送信された値やデータベースに保存された値等、不確定要素をページへ表示する際、処理せずそのまま表示してしまうとXSSの脆弱性となります。
そこで当サービスでは、WordPress Coding Standards(WordPressコーディング規約)に準拠し、全ての画面出力をエスケープ・サニタイズしております。
これにより、XSSのリスクを限りなく低くしています。
クリックジャッキング対策
クリックジャッキングとは、攻撃者のサイト上に被害サイトを透過状態で重ねることで、被害サイトでの予期しないアクションをさせる攻撃手法です。
外部からiframe(インラインフレーム)での埋め込みを許可していることで、このような脆弱性が生まれます。
そこで当サービスでは、サイトが外部サイトで埋め込まれることを拒否することで、クリックジャッキングへの対策を施しております。
2段階認証ログイン(有料)
WordPressの管理画面はユーザー名とパスワードのみでログインできてしまうため、少し心許ない部分があります。
そこで当サービスでは、管理画面のログインにワンタイムパスワード認証を追加することで、セキュリティを飛躍的に上げられるオプションをご用意しております。
詳細は下記ページでご紹介しておりますので、ご興味のある方はご覧ください。
SQLインジェクション対策(有料)
SQLインジェクションとは、不正な値の送信等により、アプリケーションに予期しないSQLを発行させ、データベースを不正操作する攻撃手法です。
当サービスでは、データベースのprefix(接頭辞)を変更することで、SQLインジェクションのリスクを下げる有料オプションをご用意しております。
詳細は下記でご紹介しておりますので、ご興味のある方はご覧ください。