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機能を利用の際は、mod_deflateを利用することができません。
GZIP 圧縮が使えなくなるため、無効のままにしています。
国外IPアドレスフィルター
国外IPアドレスフィルターとは、海外からの不正なアクセスを防ぐために、海外のIPアドレスからの特定の通信を制限するセキュリティ機能です。これにより、Webサーバーへの不正アクセスや、SMTP認証を利用したメールの不正送信などを防ぎ、サーバー負荷の軽減にもつながります。
無効のままにしています。過去、会社のシステムで、日本国内からのアクセスなのに海外からのアクセスと認識され、システムが使えなかったことがあるので、この手の仕組みにあまり良い印象がありません。
テーマ・プラグインの自動更新
自動更新のメリット
- 最新のセキュリティパッチがすぐに適用され、脆弱性を突かれるリスクが減少します。
- 最新の機能が利用でき、既存のバグが修正されます。
自動更新のデメリット
- 更新によってテーマや他のプラグインとの間で予期せぬ互換性の問題が生じ、サイトのデザインが崩れたり、機能が停止したりする可能性があります。
- カスタマイズされたテーマやプラグインを使用している場合、カスタマイズ内容が上書きされて消えてしまう可能性があります。
推奨される運用方法
特に重要なサイトやカスタマイズが多いサイトでは、以下の運用が推奨されます。
- 自動更新は無効化しておき、手動で更新する。
- 更新を行う前に、バックアップを取得する。
- ステージング環境(本番とは別のテスト環境)がある場合は、そこで先に更新を行い、動作確認を行ってから本番環境に適用する。
この運用により、セキュリティを保ちつつ、更新によるサイトのトラブルを最小限に抑えることができます。
すべてのテーマ・プラグインの自動更新を有効にしました。自動更新によってサイトが壊れた場合は、定期バックアップから戻して復旧します。
セキュリティプラグイン
WordPress セキュリティプラグイン比較
| プラグイン名 | 特徴・おすすめポイント | 主な機能 | 料金体系 |
| SiteGuard WP Plugin | 【初心者一押し!】 日本製で管理画面がすべて日本語。設定が簡単。主に不正ログイン対策に特化しており、まずこれを入れるのがおすすめ。 | ログインページURL変更、画像認証、管理ページアクセス制限、ログインロック | 無料 |
| All In One WP Security & Firewall (AIOS) | 無料で利用できる多機能な総合セキュリティ対策プラグイン。セキュリティ強度をメーターで可視化してくれるので、対策状況が分かりやすい。 | ファイアウォール、ブルートフォース攻撃対策、アカウントセキュリティ強化、ファイル変更検知 | 無料 (一部Pro機能あり) |
| Wordfence Security | 世界的に最も人気が高い総合セキュリティプラグイン。リアルタイムのファイアウォール(WAF)とマルウェアスキャンが強力。 | WAF、マルウェアスキャン、ログイン制限、二要素認証(2FA)、IPブロック | 無料版あり (高機能なPremium版は有料) |
| Solid Security (旧 iThemes Security) | 多岐にわたる細かい設定が可能で、総合的な対策をしたい中〜上級者向け。30種類以上のセキュリティ対策項目がある。 | ログイン制限、ファイル変更検知、脆弱性チェック、二要素認証(2FA) | 無料版あり (Pro版は有料) |
| Akismet Anti-Spam | スパムコメント対策の定番プラグイン。WordPressにデフォルトでインストールされていることが多い。 | スパムコメントの自動フィルタリング・ブロック | 個人・非営利サイトは無料 (商用利用は有料) |
🚨プラグイン導入の注意点
- 総合プラグインは1つに絞る: SiteGuard, Wordfence, AIOS, Solid Security のような総合的な機能を持つセキュリティプラグインは、サイトの動作が不安定になるのを避けるためにも原則として1つだけを導入しましょう。
- バックアップは必須: セキュリティ対策とは別に、必ず**バックアッププラグイン(例: BackWPup)**を導入し、定期的にサイト全体のバックアップを取ることを強くお勧めします。
- 日本語重視ならSiteGuardから: 英語が苦手な方や、まず手軽に始めたい方は、「SiteGuard WP Plugin」の導入から始めるのが最も簡単で効果的です。
さくらのレンタルサーバでプリインストールされていた All-In-One Security (AIOS) を有効化し、設定を行いました。
AIOS の設定内容
AIOS は初期状態では何も保護機能が働きません。設定で必要な機能を有効にする必要があります。
運用上差支えない機能はすべて有効にしました。
AIOS の不具合
1年位サイトを運用していて、データベースが 500 MB 位に肥大化していました。以下が原因でした。
- AIOSを導入したが、設定を何もせずにそのままにしていた。
- 1日に数百回の不正アクセスの試みがあり、監査ログにそのイベントが記録されていた。
- ログにはスタックトレースの情報も含まれていたため、1件あたりの容量が非常に大きかった。
仕方ないので、手動で削除後、メンテナンスプログラムを作って自動削除することにしました。
後になって、以下の2つの機能を有効にすると不正ログイン試行がまったく記録されなくなることが分かりました。
早く設定しておけば良かったです。。。