HTTPS

HTTPS通信
「Hypertext Transfer Protocol Secure(ハイパーテキスト・トランスファー・プロトコル・セキュア)」の略で、Webブラウザとサーバー間の通信を暗号化し、データを安全にやり取りする仕組みです。HTTPのセキュア版であり、通信内容の盗聴や改ざんを防ぐことで、ユーザーの個人情報や決済情報などを保護し、オンラインサービスのセキュリティを高めます。ブラウザのアドレスバーに「https://」と表示され、鍵マークが表示されているのが特徴です。

SSL証明書
ウェブサイトの運営者実在性を証明し、ブラウザとサーバー間の通信を暗号化するための電子証明書です。これにより、通信内容の盗聴や改ざんを防ぎ、ウェブサイトの安全性を高めます。導入されたサイトはURLが「https」から始まり、ブラウザの鍵マークで確認できます。 

無料SSL(Let’s Encrypt)を設定したい | さくらのサポート情報

無料 SSL 証明書を登録し、HTTPS 通信を有効にしました。

WAF

Web Application Firewall の略で、Webアプリケーションを攻撃から守るセキュリティ対策です。従来のネットワークファイアウォールが通信のIPアドレスなどで制御するのに対し、WAFはアプリケーションレベルで通信内容を解析し、SQLインジェクションやクロスサイトスクリプティングといった特定の攻撃を検知・遮断します。

Webアプリケーションファイアウォール(WAF)を設定したい | さくらのサポート情報

WAF を有効にしました。有効にすると WordPress のサイトヘルスステータスで以下の警告が出ますが、実害はないようです。

国外IPアドレスフィルター

国外IPアドレスフィルターとは、海外からの不正なアクセスを防ぐために、海外のIPアドレスからの特定の通信を制限するセキュリティ機能です。これにより、Webサーバーへの不正アクセスや、SMTP認証を利用したメールの不正送信などを防ぎ、サーバー負荷の軽減にもつながります。

無効のままにしています。過去、会社のシステムで、日本国内からのアクセスなのに海外からのアクセスと認識され、システムが使えなかったことがあるので、この手の仕組みにあまり良い印象がありません。

テーマ・プラグインの自動更新

自動更新のメリット

  • 最新のセキュリティパッチがすぐに適用され、脆弱性を突かれるリスクが減少します。
  • 最新の機能が利用でき、既存のバグが修正されます。

自動更新のデメリット

  • 更新によってテーマや他のプラグインとの間で予期せぬ互換性の問題が生じ、サイトのデザインが崩れたり、機能が停止したりする可能性があります。
  • カスタマイズされたテーマやプラグインを使用している場合、カスタマイズ内容が上書きされて消えてしまう可能性があります。

推奨される運用方法

特に重要なサイトやカスタマイズが多いサイトでは、以下の運用が推奨されます。

  1. 自動更新は無効化しておき、手動で更新する。
  2. 更新を行う前に、バックアップを取得する。
  3. ステージング環境(本番とは別のテスト環境)がある場合は、そこで先に更新を行い、動作確認を行ってから本番環境に適用する。

この運用により、セキュリティを保ちつつ、更新によるサイトのトラブルを最小限に抑えることができます。

すべてのテーマ・プラグインの自動更新を有効にしました。自動更新によってサイトが壊れた場合は、定期バックアップから戻して復旧します。

All-In-One Security

All-In-One Security プラグインを導入し、2要素認証と、ダッシュボードで表示される推奨項目を設定しました。

2要素認証

IDとパスワードのような「知識情報」と、スマートフォンやICカードのような「所持情報」、または指紋や顔のような「生体情報」のうち、異なる2つの要素を組み合わせてユーザー本人であることを確認する仕組みです。これにより、パスワードが漏えいしても第三者による不正ログインを防ぐことができます。

有効にしました。

ファイルパーミッション

WordPress のファイルとフォルダーのアクセス権限設定は、WP インストールを構成するファイルとフォルダーのアクセス権限と読み書き権限を管理しています。この WP のインストールには、ファイルシステムを適度に安全にするファイル権限設定がすでに適用されています。ただし、人や他のプラグインが特定のコア WordPress フォルダまたはファイルのさまざまな権限設定を変更して、間違ったパーミッションを選択することでサイトの安全性が低下することがあります。この機能は、重要な WP コアフォルダとファイルをスキャンし、安全ではないパーミッション設定を強調表示します。

推奨設定を適用しました。

ログインページの名称変更

効果的なブルートフォース対策のテクニックは、WordPress のデフォルトのログインページの URL を変更することです。通常、WordPress にログインする場合は、サイトの WordPress アドレス (URL) に続いて wp-login.php を入力します。この機能は、wp-login.php を含むログイン URL の最後の部分のスラッグを任意の文字列に変更することで、独自のスラッグを設定してログイン URL を変更できます。これにより、悪意のあるボットやハッカーは正しいログインページの URL がわからないため、ログインページにアクセスできなくなります。

ランダム文字に変更しました。

ログインのロックダウン

One of the ways hackers try to compromise sites is via a ブルートフォースログイン攻撃. これは、パスワードが推測できるまで攻撃者が繰り返しログインを試すために使用するところです。強力なパスワードの選択は別として、短期間のうちにログイン失敗を繰り返した IP アドレスの監視とブロックは、これらの攻撃を阻止するために非常に効果的です。

有効にしました。

基本的なファイアウォール

この設定により、サイトに次の基本的なファイアウォール保護メカニズムが実装されます。
1) .htaceessファイルへのアクセスを拒否することで保護します.
2) サーバーの署名を無効化します。
3) アップロードサイズを制限します (10MB)。
4) wp-config.php ファイルへのアクセスを拒否することで保護します.
上記のファイアウォール機能は .htaccess ファイルを通じて適用され、サイト全体の機能に影響を与えることはありません。

有効にしました。

PHP ファイル編集の無効化

デフォルトの WordPress ダッシュボードでは、管理者がプラグインやテーマファイルなどの PHP ファイルを編集することができます。これはコードの実行を可能にするため、不正にログインされた場合に攻撃に利用されることがよくあります。この機能により、ダッシュボードから PHP ファイルを編集する機能が無効になります。

有効にしました。

メタ情報の無効化

WordPress ジェネレーターは、サイトのフロントエンドのすべてのページの "head" タグ内にメタ情報をいくつか自動的に追加します。以下はその一例です。
<meta name="generator" content="WordPress 3.5.1" />
上記のメタ情報は、あなたのサイトが現在どのバージョンの WordPress を実行しているかを示しているので、ハッカーやクローラーがあなたのサイトをスキャンして、古いバージョンの WordPress や既知のエクスプロイトを持っている WordPress があるかどうかを確認するのに役立ちます。

スタイルやスクリプトの読み込みなど、WordPress がバージョン情報を表示するケースは他にもあります。例としては、以下のようなものがあります。
<link rel="stylesheet" id="jquery-ui-style-css" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.0/themes/smoothness/jquery-ui.css?ver=4.5.2" type="text/css" media="all" />

この機能では、WordPress ジェネレータのメタ情報とその他のバージョン情報をサイトのページから削除します。

有効にしました。