WooCommerceを使ってオンラインショップを開設しようとしているあなた。
セキュリティ面で不安を感じていませんか?
ECサイトは顧客情報や決済データを扱うため、サイバー攻撃や情報漏洩のリスクが高いです。
これらのリスクに対する対策をしっかり考えてから導入したいと思っていることでしょう。
もしセキュリティが不十分な状態でサイトを公開し、ハッキングなどの攻撃を受けた場合、ビジネスの信頼性は大きく失われ、法的な責任も問われる可能性があります。
あなたの大切なオンラインショップを守るためには、最初からガチガチなセキュリティを整えることが不可欠です。
このブログを読むことで、WooCommerceを安全に導入するための具体的なセキュリティ対策を学べます。
画像付きで詳しく手順を解説しているので、操作が不安の方も安心してセキュリティ対策に取り組めます。
今すぐこの記事を読んで、セキュリティ対策を万全にしましょう。
WooCommerceのセキュリティ機能と脆弱性
WooCommerceは、世界中で利用されている人気のECサイト運営プラグインです。
強力なセキュリティ機能が備えており、顧客情報や取引データを保護するための仕組みが備わっています。
他のCMSと比較してセキュリティが弱いというわけではありませんが、オープンソースなため狙われやすいという欠点があります。
そのため、WordPressやサーバー全体のセキュリティ対策が重要であり、リスクに対処するためには適切なセキュリティ対策を組み合わせることが不可欠です。
まずは、WooCommerceのセキュリティ機能と脆弱性について理解しておきましょう。
1.WooCommerceのプラグインに備わる2つの安心セキュリティ機能
1-1.クレジットカード情報の保存なし
WooCommerceでは、顧客のクレジットカード情報を自社サーバーに保存せず、「外部の決済サービス」に管理を任せています。
この仕組みにより、カード情報が漏洩するリスクを大幅に軽減しています。
- Stripe
トークン化技術を採用し、カード情報を安全に処理 - PayPal
クレジットカード番号を入力せずに決済が可能 - Square
PCI DSS準拠の仕組みでカード情報を直接保存せず安全を確保
1-2.迅速なアップデート対応
WooCommerceは、脆弱性が発見されるとすぐに修正パッチが提供されます。
定期的な更新により、最新のセキュリティ状態を維持できます。
2.WooCommerceの脆弱性
WooCommerceは、いくつかの脆弱性も存在します。
これらの脆弱性が悪用されると、サイトや顧客データが危険にさらされます。
以下、主な脆弱性とその影響を簡潔に説明します。
2-1.WordPress不正ログインリスク
攻撃者がWordPressの管理画面に不正にアクセスし、サイトの管理権限を奪うことです。
簡単なパスワードやログイン試行制限がない場合、リスクが高まります。
- サイトの管理権限を奪われる。
- 顧客情報や取引データが盗まれる。
- 悪意のあるコードやマルウェアを挿入される可能性。
2-2.サーバー不正ログインリスク
サーバー管理パネルに不正アクセスされることです。
サーバー管理の資格情報が盗まれることで、サイトのデータや設定にアクセスされます。
- サーバー内の全データが改ざんされる。
- サイトが乗っ取られる。
- サーバーに不正なアクセスの入り口が設置され、継続的に攻撃されるリスク。
2-3.キャッシュ問題
WooCommerceのカートやチェックアウトページなど、動的なデータがキャッシュされることによる設定ミスです。
- 他のユーザーのカート内容や情報が表示される。
- 最新の在庫状況や価格が反映されない。
2-4.非SSL化
SSL証明書を適用しない場合、顧客情報が暗号化されず、盗聴されるリスクがあります。
- 顧客情報や取引データが盗まれる可能性。
- ブラウザに『安全ではありません』と警告が表示され、信頼性が下がる可能性。
WooCommerceサイトのWordPress不正アクセス対策
WooCommerceは強力なECサイト構築プラグインですが、セキュリティの一部はWordPressやサーバー環境に依存しています。
そのため、WooCommerceを安全に運用するには追加の設定や対策が必要です。
WordPressの不正アクセス防止策について、必要となる具体的な対策と手順を詳しく解説します。
1.セキュリティプラグインの導入
WooCommerceサイトを安全に運営するには、セキュリティプラグインの導入が必須です。
不正アクセスやマルウェアなどの脅威を防ぐために、非常に効果的な手段です。
中でも「Wordfence Security」が最もおすすめです。
WooCommerceとの相性が良く、不正アクセスやマルウェアへの対策に優れています。
また、無料版でも高いセキュリティ機能が備わっており、基本的な防御をしっかりカバーできます。
他にもいくつかの選択肢がありますので、それぞれの特徴を以下で比較しながら紹介します。
無料版
プラグイン名 | マルウェアスキャン | ログイン試行回数制限 | 2段階認証対応 | WAF | reCAPTCHA |
---|---|---|---|---|---|
Wordfence Security | |||||
Solid Security | |||||
Sucuri Security | |||||
All In One WP Security & Firewall |
※〇:対応 △:一部対応 ー:非対応
有料版
プラグイン名 | マルウェアスキャン | ログイン試行回数制限 | 2段階認証対応 | WAF | reCAPTCHA |
---|---|---|---|---|---|
Wordfence Security | |||||
Solid Security | |||||
Sucuri Security | |||||
All In One WP Security & Firewall |
※〇:対応 △:一部対応 ー:非対応
1-1.Wordfence Securityの導入手順
①WordPressにログインします。
②ダッシュボードの「プラグイン」>「新規プラグインを追加」をクリックします。
③画面右のプラグイン検索窓に「Wordfence」を入力します。
④「今すぐインストール」をクリックします。
⑤「有効化」をクリックします。
⑥「WORDFENCEライセンスを入手」をクリックします。
使用するためにはライセンスを取得する必要あり、無料で取得できます。
⑦「Get a Free License」をクリックします。
⑧「I’m OK waiting 30 days for protection from new threats」をクリックします。
無料で利用するためにはこちらを選択。
⑨以下の内容を入力してください。
- メールアドレスの入力
- セキュリティアラートの通知「YES」を選択
- 利用規約を確認しチェックボックスにチェックを入れる
- 「Register」をクリック
⑩「メールを確認してください」の表示が出ます。
⑪先ほど登録したメールを確認し、画面をスクロールして、「Install My License Automatically」をクリックします。
⑫「ライセンスインストール」をクリックします。
⑬インストールが完了しました。
「ダッシュボードへ」をクリックしてください。
⑭「自動更新を有効化」をクリックします。
自動更新を有効にしておくことで、最新のセキュリティパッチが迅速に適用され、サイトを守ることができます。
2.ログインに2段階認証の導入
WordPressへの不正ログイン対策で最も効果が高いものが2段階認証です。
これは、WordPressにログインする際に、通常のログインIDとパスワードに加え、スマホに届く数値を入力しなければログインできないといった仕組みです。
これにより、ほぼ完全にWordPressへの不正ログインを防ぐことができます。
2-1.2段階認証のおすすめ設定方法
WordPressで2段階認証を導入するには、以下を組み合わせる方法がおすすめです。
- Google Authenticatorアプリ
(スマートフォン用)
スマホにインストールして一時的な認証コードを生成します。 - Wordfence Securityプラグイン
(WordPress用)
セキュリティ対策と2段階認証機能を提供する強力なプラグインです。
Wordfence Securityには2段階認証機能が組み込まれているため、Google Authenticatorプラグインを別途インストールする必要がありません。
これにより、プラグインの数を減らして、サイトの管理をシンプルにできます。
2-2.Google Authenticato導入手順
①スマートフォンに「Google Authenticator」のアプリをインストールします。
②Wordfence Securityをインストールします。
Wordfence Securityのインストール手順はこちらのリンクから確認してください。
③WordPressのダッシュボードにログインします。
④Wordfence>ログインセキュリティをクリックします。
⑤「次へ」>「次へ」>「完了」をクリックします。
⑥画面を上にスクロールして、二段階認証をクリックします。
⑦リカバリーコードをダウンロードします。
スマホを紛失した際に備え、リカバリーファイルをダウンロードして保存しておきます。
⑧スマートフォンにインストールしたアプリの「Google Authenticator」を開き、「+」ボタンをクリックします。
⑨「QRコードスキャン」をタップするとカメラに切り替わるので、パソコン画面のQRコードを読み込みます。
⑩アプリに表示される6桁のコードをWordfenceの設定画面に入力し、連携を完了します。
2-3.2段階認証のログイン手順
①WordPressにログインします。
②2段階認証の画面になります。
③スマホアプリの「Google Authenticator」を開き、表示された6桁のコードを確認し、WordPressの認証画面に入力します。
④ログインが完了しました。
2-4.自分のIPアドレスのみ2段階認証を省略する
①WordPressのダッシュボードにログインします。
②「Wordfence」>「ログインセキュリティ」をクリックします。
③設定をクリックします。
④画面をスクロールして「一般」の項目に、除外したい自分のIPアドレスを入力します。
⑤自分のIPアドレスを調べます。
こちらのサイトから調べることができます。
⑥IPアドレスの入力が完了したら、「を保存」をクリックします。
⑦完了です。
次回ログインから設定したIPアドレスのみ、2段階認証が省略できるようになりました。
3.強力なログインパスワードを設定
2段階認証がある場合でも、万が一の脆弱性やパスワード漏洩に備えて、強力なパスワードを設定しておくことが重要です。
WordPressのログインパスワードを強力なパスワードに変更しましょう。
短く単純なパスワードを避け、ランダムな文字列をしましょう。
3-1.WordPressのログインパスワード変更手順
①WordPressのダッシュボードにログインします。
②「ユーザー」>「プロフィール」をクリックします。
③画面を下にスクロールして、アカウント管理の項目にある「新しいパスワードを設定」をクリックします。
④パスワードを記録しておきます。
⑤画面を下にスクロールして「プロフィールを更新」をクリックします。
⑥パスワードの変更が完了しました。
4.自動プログラム対策
WordPressサイトを安全に運営するためには、不正ログインを試みる「自動プログラム」への対策が欠かせません。
2段階認証が設定されている場合でも、自動プログラム攻撃はサーバーに過度な負荷をかける可能性があり、サイト全体の動作に影響を及ぼすため、対策が重要です。
自動プログラム攻撃とは何か、そしてその対策として効果的なreCAPTCHA機能について解説し、設定方法を紹介します。
4-1.自動プログラム攻撃とは?
自動プログラム攻撃とは、人ではなくプログラムを使用して、ユーザー名やパスワードを自動的に何度も試行し、不正ログインを試みる攻撃です。
このような攻撃は短時間で大量の試行が可能で、セキュリティの弱いサイトが狙われやすい特徴があります。
4-2.WordfenceのreCAPTCHA機能が効果的な理由
WordfenceはWordPress用のセキュリティプラグインで、「reCAPTCHA機能」は自動プログラムによる不正ログインを防ぐための優れたツールです。
- Google reCAPTCHAを活用
GoogleのreCAPTCHA技術により、ログインフォームでアクセス者が「人間」か、「自動プログラム」かを判別します。 - セキュリティ強化
不正な自動プログラムがログインフォームを利用できなくなるため、攻撃や不正アクセスのリスクを大幅に低減します。
4-3.WordfenceのreCAPTCHA機能の設定手順
①Google reCAPTCHA v3 Serviceにアクセスします。
②「v3 Admin Console」をクリックします。
③以下の項目を入力および選択して送信をクリックしてください。
- ラベル>ドメイン名を入力
- reCAPTCHA タイプ>スコアベース(v3)を選択
- ドメイン>ドメイン名を入力
- プロジェクト名>分かりやすい名前を入力(例:haru-art-design-recaptcha)
ドメイン名は”https//”を省略する必要があります。
④「サイトキー」と「シークレットキー」を、それぞれコピーします。
⑤ワードプレスのダッシュボードにログインします。
⑥Wordfence>ログインセキュリティをクリックします。
⑦画面を下にスクロールし、「reCAPTCHA」の項目にある、チェックボックスにチェックを入れ、「サイトキー」と「シークレットキー」をそれぞれペーストします。
⑧「を保存」をクリックして設定を保存します。
⑨WordPressからログアウトし、ログインページにアクセスします。
⑩ログインフォームにreCAPTCHAが表示されてることを確認します。
⑪設定が完了しました。
5.ログインIDを隠す
WordPressの「ブログ上の表示名」は、必ずニックネームに変更しておきましょう。
なぜなら、WordPressのテーマによっては、ブログやプロフィールページに「ユーザー名(ログインID)」がそのまま表示される場合があり、第三者にログインIDが知られてしまうリスクがあるからです。
このような状況では、不正アクセスのリスクが高まります。
WordPressにログインする際には、ログインIDとパスワードを入力しますよね。
ログインIDは「ユーザー名」と同じなので、ブログ上で公開されると、攻撃者がそのIDで不正アクセスを試みることが簡単になります。
だからこそ、ログインIDが第三者にバレないように、「ニックネーム」を設定し、「ブログ上の表示名」としてニックネームを設定するようにしましょう。
これにより、不正アクセスのリスクを低減できます。
5-1.ブログ上の表示名を変更する方法
①ワードプレスにログインします。
②「ユーザー」>「プロフィール」をクリックする
③画面を下にスクロールし、ニックネームを入力し、ブログ上の表示名はニックネームを選択します。
④「プロフィールを更新」をクリックします。
⑤ブログ上の表示名が、ユーザー名(ログインID)からニックネームに変更することができました。
6.テーマとプラグインの改ざん防止
WordPressの管理画面では、テーマやプラグインのコードを直接編集できる機能があります。
- テーマファイルエディッタ
- プラグインファイルエディタ
この機能を無効化することで、誤操作や不正アクセスによる改ざんを防ぐことができます。
この設定は、特に管理画面のセキュリティを強化したい場合に有効です。
6-1.設定手順
シンレンタルサーバーを例に設定手順を解説します。
①シンレンタルサーバーにログインします。
②ファイル管理をクリックします。
③設定したいドメインを選びます。
④「wp-config.php」>「編集」をクリックします。
⑤以下のコードを「wp-config.php」ファイルに追加します。
define(‘DISALLOW_FILE_EDIT’, true);
⑥WordPress管理画面からのテーマ・プラグインエディタが無効化されました。
⑦「ダッシュボード」>「外観」の「テーマエファイルディッタ」と、「プラグイン」の「プラグインファイルエディッタ」の表示が消えていれば成功です。
7.更新頻度が高く信頼性のあるテーマを使う
WooCommerceにおすすめの無料テーマは以下の記事でご紹介しています。
8.プラグインやテーマを必要最小限にする
プラグインやテーマは必要最小限にすることで、WooCommerceサイトのセキュリティを強化し、パフォーマンスを向上させることができます。
プラグインやテーマを多く使いすぎると、次のようなリスクが発生します。
- セキュリティホールが発見されることがあり、更新を怠ると攻撃者に悪用される可能性がある。
- プラグイン同士が干渉してエラーや予期しない挙動を引き起こすことがある。
- 不必要なプラグインがサイトの読み込み速度を遅くする原因になる。
例えば、複数のキャッシュ系プラグインやセキュリティ系プラグインを導入している場合、機能が重複し、サイト全体の挙動が不安定になることがあります。
また、使用していないプラグインやテーマを放置すると、アップデートが行われず、セキュリティリスクが増大します。
そのため、WooCommerceサイトを安全かつ快適に運営するためには、必要なプラグインとテーマだけを厳選して使用し、不要なプラグインやテーマはアンインストールすることが重要です。
9.定期的にアップデートする
セキュリティ対策を行う上で、WordPress本体、テーマ、プラグインを定期的にアップデートすることは非常に重要です。
アップデートには「自動更新」と「手動更新」の2種類があり、それぞれにメリットとデメリットがあります。
これらを正しく理解し、自動更新と手動更新を適切に切り分けて設定しておきましょう。
9-1.アップデートの種類
WordPressのアップデートは、以下の3つに分類されます。それぞれの特徴を理解しておきましょう。
- メジャーアップデート
- 例: 6.0 → 7.0
- 内容: 新機能の追加や大規模な仕様変更を伴います。プラグインやテーマとの互換性に影響を与えるリスクが高いため、慎重な対応が必要です。
- マイナーアップデート
- 例: 6.1 → 6.2
- 内容: 小規模な機能の改善や追加が行われます。後方互換性が保たれることが一般的ですが、場合によってはバグや互換性問題が発生することがあります。
- パッチアップデート
- 例: 6.10 → 6.11
- 内容: セキュリティ修正やバグ修正を目的とした更新です。リスクが低いため、迅速な適用が推奨されます。
9-2.自動更新のメリット・デメリット
以下のように自動更新にはメリットとデメリットがあるので、適切に使い分ける事が必要です。
- アップデートが迅速に適用される
- 更新を忘れる心配がない
- 手動更新の手間を省ける
- プラグインやテーマとの相性問題によりバグが発生するリスクがある
- メジャーアップデートやマイナーアップデートでは、サイト全体の動作に影響を与える可能性がある
9-3.WordPress本体の更新
WordPress本体のアップデートは、基本的に手動更新を推奨します。
特に、メジャーアップデートやマイナーアップデートでは、プラグインやテーマとの互換性問題が発生しやすいため、テスト環境で事前確認を行うことが必要です。
WordPressの自動更新設定や「Easy Updates Manager」などのプラグインでは、パッチアップデートのみを自動で適用する設定はできません。
そのため、以下の方法で手動管理を行うことを推奨します
手動更新の方法
自動更新を完全に無効化するには、「wp-config.php」ファイルに以下のコードを追加します。
define(‘AUTOMATIC_UPDATER_DISABLED’, true);
9-4.テーマの更新
WooCommerce専用のテーマ(例: OceanWP)やWordPress標準テーマ(例: Twenty Twenty-Five)は、自動更新を有効化して問題ありません。
これらのテーマはセキュリティ修正やバグ修正が頻繁に行われ、最新の状態を保つことで脆弱性リスクを軽減できるためです。
ただし、テーマにカスタマイズを加えている場合は、子テーマを使用し、自動更新の影響を避けることが推奨されます。
また、バックアップや事前テストを行うことで、更新時の不具合リスクを最小限に抑えることが可能です。
使用していないテーマは削除するか、自動更新を有効にしておきましょう。
9-5.プラグインの更新
プラグインの更新は種類や役割に応じて、自動更新と手動更新を使い分けることが重要です。
- 自動更新を推奨するプラグイン
セキュリティプラグイン(例: Wordfence)は、脆弱性修正が迅速に反映されるため、自動更新を有効化します。 - 手動更新を推奨するプラグイン
決済プラグイン(例: PayPal、Stripe)や物流連携プラグインは、安定性が重要なため、手動更新で慎重に対応します。更新前にステージング環境でのテストが推奨されます。
10.WordfenceのWAF設定
WordfenceのWAF(Web Application Firewall)は、不正ログインや攻撃からサイトを守る重要な機能です。
Wordfenceファイアウォールを最適化して「拡張保護モード」を有効化することで、サイトのセキュリティを大幅に向上させることが可能です。
10-1.WAF導入のメリット・デメリット
デメリットはありますが、適切な設定で解消可能です。
セキュリティ強化のメリットが大きく、WooCommerceサイトにはWAF導入が必須です。
- ログインページをブルートフォース攻撃から守る
- 顧客データや決済情報を保護
- 攻撃ログを確認し、セキュリティの現状を可視化できる
- サイトパフォーマンスの負荷
- 誤検知のリスク
10-2.WAFの設定手順
①WordPressのダッシュボードにログインします。
②「Wordfence」>「ファイアウォール」をクリックします。
③「WAF管理」をクリックします。
④「Wordfence ファイアウォールの最適化」をクリックします。
⑤「.HTACCESSをダウンロード」と「.USER.INIをダウンロード」をそれぞれクリックして、任意の場所に保存します。
⑥「閉じる」をクリックします。
⑦WAF設定が完了しました。
11.xmlrpc.phpの無効化
xmlrpc.phpは、WordPressがリモート通信を行うためのファイルで、主にトラックバックやピンバックといった古い機能に利用されてきました。
しかし、現在これらの機能を使うサイトはほとんどなく、悪用されるリスクが高いため、無効化が推奨されます。
xmlrpc.phpは、不正アクセスや攻撃の入り口として狙われやすいポイントです。
このファイルを無効化することで、不要なリスクを排除し、WordPressサイトの安全性を向上させましょう。
- 不正アクセスのリスクを軽減
- サーバー負荷の軽減
11-1.トラックバックやピンバックとは?
- トラックバック: 他のブログにリンクを貼ると、リンク先に「リンクされました」と通知を送る機能。手動で設定が必要。
- ピンバック: 自動でリンク元とリンク先を検知し、通知を送る仕組み。WordPressが自動処理。
これらはかつてブログ同士の交流を促進するために使われていましたが、現在はほぼ不要で、むしろスパムや攻撃に悪用されることが多くなっています。
11-2.無効化の手順
シンレンタルサーバーを例にして無効化の手順を解説します。
①レンタルサーバーにログインします
②ファイル管理をクリックします。
③無効化設定するドメインを選びます。
④「public_html」をクリックします。
⑤「.htaccess」>「編集」をクリックします。
⑥以下のコードを「.htaccess」に追加します。
#xmlrpc.php無効
<Files xmlrpc.php>
Order deny,allow
Deny from all
</Files>
保存文字コードが「UTF-8」になっていることを確認して「更新」をクリックします。
⑦xmlrpc.phpの無効化が完了しました。
12.「.htaccess」へのアクセス無効化
「.htaccess」は、WordPressやサーバーの動きを管理する重要なファイルであり、攻撃者に狙われることがあります。
例えば、ブラウザを使って「https://example.com/.htaccess」に直接アクセスし、設定内容を確認しようとする攻撃があります。
このようなアクセスを無効化することで、ファイルの内容を守り、不正な操作を防ぐことができます。
12-1.無効化の手順
①「.htaccess」ファイルの編集手順については、xmlrpc.phpの無効化を参考にしてください。
②以下のコードを「.htaccess」に追加します。
#.htaccessアクセス無効
<Files .htaccess>
Order deny,allow
Deny from all
</Files>
保存文字コードが「UTF-8」になっていることを確認して「更新」をクリックします。
③「.htaccess」へのアクセス無効化が完了しました。
13.WordPressの管理画面を保護する
WordPressの管理画面やログインページへの不正アクセスを防ぐには、HTTPS通信を強制的に適用する設定が効果的です。
この設定により、管理画面へのアクセスを暗号化し、盗聴や不正アクセスのリスクを大幅に軽減できます。
13-1.なぜHTTPSを強制するのか?
- ログイン情報の保護
管理画面へのログイン時にユーザー名やパスワードが暗号化され、盗聴や中間者攻撃のリスクを防ぎます。 - HTTPアクセスの防止
HTTPSを強制することで、誤ってHTTPでアクセスした場合でも自動的にHTTPSにリダイレクトされ、通信が暗号化されます。
13-2.設定方法
wp-config.phpファイルに以下のコードを記述します。
define(‘FORCE_SSL_ADMIN’, true);
WooCommerceサイトのサーバーセキュリティ対策
WooCommerceサイトのサーバー不正アクセス対策について、効果的なものから順番にご紹介していきます。
1.サーバーログイン時の2段階認証を行う
サーバー不正ログイン対策に対して2段階認証を導入することが最も効果的です。
万が一パスワードが漏洩しても、攻撃者がサーバーにアクセスするリスクを大幅に低減できます。
2段階認証では、パスワードに加えてワンタイムコードや認証アプリの確認が必要になるため、パスワードだけでログインされるリスクを防ぎます。
私がメインで使っているシンレンタルサーバーでは、「シンアカウントでのログイン」と、「サーバーパネルへのログイン」の2つの方法でログインできるので、それぞれに対して2段階認証を設定します。
1-1.シンアカウントでのログイン2段階認証手順
①レンタルサーバーにログインします
②画面右上のシンアカウントメニューから「登録情報確認・編集」をクリックします。
③画面を下にスクロールして、二段階認証の項目の「設定変更」をクリックします。
④「設定する」を選択し、「設定を変更する」をクリックします。
⑤「QRコードを表示」をクリックします。
⑥QRコードが表示されます。
⑦スマートフォンにアプリ「Google Authenticator」をインストールします。
⑧スマートフォンにインストールしたアプリの「Google Authenticator」を開き、「+」ボタンをクリックします。
⑨「QRコードスキャン」をタップするとカメラに切り替わるので、パソコン画面のQRコードを読み込みます。
⑩アプリに表示される6桁のコードを、「認証コードを入力」の欄に入力して「認証」をクリックします。
⑪バックアップコードをメモして保存し、「登録情報確認・編集トップに戻る」をクリックします。
大切に保管してください。
⑫シンアカウントへログインする際の2段階認証設定が完了しました。
⑬1度ログアウトして、実際にシンアカウントにログインして確認してみましょう。
⑭二段階認証ログイン画面になりました。
⑮スマートフォンにインストールしたアプリの「Google Authenticator」に表示される6桁の数値を入力します。
⑯2段階認証でのログインが成功しました。
1-2.サーバーパネルへのログインの2段階認証手順
①サーバーパネルにログインします
②サーバー」>「二段階認証設定」をクリックします。
③スマートフォンにアプリ「Google Authenticator」を開きます。
④「QRコードを表示」をクリックします。
⑤QRコードが表示されました。
⑥スマートフォンにインストールしたアプリの「Google Authenticator」を開き、「+」ボタンをクリックします。
⑦「QRコードスキャン」をタップするとカメラに切り替わるので、パソコン画面のQRコードを読み込みます。
⑧アプリに表示される6桁のコードを、「STEP3:認証コードを入力」に入力して「認証して設定する」をクリックします。
⑨バックアップコードをメモして保存し、「閉じる」をクリックします。
大切に保管してください。
⑩2段階認証の設定が完了しました。
⑪1度ログアウトして、実際にサーバーパネルにログインして確認してみましょう。
ここでは、シンアカウントIDを入力します。
⑫二段階認証ログイン画面になりました。
⑬スマートフォンにインストールしたアプリの「Google Authenticator」に表示される6桁の数値を入力します。
⑭2段階認証でのログインが成功しました。
2.PHPの推奨バージョンを使う
PHPはWordPressを動作させるプログラムであり、レンタルサーバーの推奨バージョンを使うことがセキュリティ上非常に重要です。
古いPHPバージョンはサポートが終了しており、セキュリティの脆弱性が修正されないため、ハッキングのリスクが高まります。
2025年1月4日現在では、PHPバージョン8.0以下はサポートが終了しています。
多くのレンタルサーバーでは、推奨されるPHPバージョンがドメインを設定時に自動で付与されますが、時間が経つと推奨バージョンが更新されている可能性があるため、手動で定期的に確認・更新することが大切です。
特に、WooCommerceを利用する場合は、セキュリティ対策が重要になるため、サーバーの推奨するPHPバージョンを必ず使用してください。
2-1.PHPバージョンの確認手順
シンレンタルサーバーを例にしてPHPバージョンの確認手順について解説します。
①レンタルサーバーにログインします。
②サーバー管理をクリックします。
③画面をスクロールしてドメインの項目からPHPバージョンが確認できます。
3.サーバーのWAF設定
WAFは、WooCommerceサイトのセキュリティに必須の対策です。
不正なリクエストを検知し、攻撃をブロックします。
- サーバーレベルで攻撃をブロック
- サイトに負荷をかけず、全体を保護
3-1.WAFの設定手順
シンレンタルサーバーを例に設定手順を解説します。
①サーバーパネルにログインします
②「セキュリティ」>「WAF」をクリックします。
③すべて「ON」に設定します。
④WAF設定はサーバーに変更が反映されるまで最大で1時間程度かかります。
4.海外からのアクセスを拒否する
WooCommerceサイトを国内向けに運営する場合、海外からのアクセスを拒否するのは効果的なセキュリティ対策です。
特に中国、インド、ロシアは不正アクセスが多い国として知られています。
Wordfenceの有料機能「国別ブロック」を使えば、簡単にこれらの国からのアクセスを遮断し、リスクを大幅に軽減できます。
ちなみに、私が管理しているいくつかのサイトにはシンガポールや日本からの不正アクセスも多いです。
5.wp-config.phpファイルの保護
「wp-config.php」 は、WordPressの重要な設定ファイルです。
この中には、サイトを動かすための情報やデータベースのログイン情報が含まれています。
このファイルが盗まれたり書き換えられたりすると、次のような被害が起こる可能性があります。
- サイトのデータが勝手に変更されたり削除される。
- サイトに不正なプログラムを仕込まれる。
こうしたリスクを防ぐために、「wp-config.php」を守ることが必要です。
次に、その方法を説明します。
5-1.wp-config.phpファイルの移動
wp-config.phpを公開ディレクトリの外に移動することで、直接アクセスされるリスクを根本的に減らせます。
アクセスそのものが困難になるため、最も高い効果があります。
これは WordPress公式が推奨する設定 であり、安心して実施できます。
- 移動前:/example.com/public_html/
- 移動後:/example.com/
/
├── wp-config.php <– 移動
├── public_html/
├── index.php
├── wp-content/
├── wp-includes/
注意点としては、サブドメインの場合はこの方法はおすすめしません。
1階層上の保存場所がメインドメインと同じ階層になってしまい、メインドメインの保存場所と共有されるため、セキュリティリスクを完全に回避できません。
wp-config.phpファイルの移動手順
シンレンタルサーバーを例にして解説します。
①シンレンタルサーバーにログインします。
②サーバー管理をクリックします。
③「サーバー」>「手動バックアップ作成」をクリックします。
④「作成してダウンロードする」をクリックして、wp-config.phpファイルを移動するドメインのバックアップを作成します。
万が一の不具合に備えてバックアップをダウンロードしておきましょう。
バックアップファイルは任意の場所に保存してください。
⑤トップページをクリックします。
⑥ファイル管理をクリックします。
⑦wp-config.phpファイルを移動するドメインをクリックします。
⑧「public_html」をクリックします。
⑨「wp-config.php」>「ダウンロード」をクリックします。
⑩「ダウンロード」をクリックします。
ダウンロードした、「wp-config.php」は任意の場所に保存します。
⑪ドメイン名をクリックします。
⑫「アップロード」をクリックします。
⑬「ファイルを選択」をクリックして、先ほどダウンロードした「wp-config.php」を選択し、アップロードします。
⑭「wp-config.php」ファイルが1階層上にアップロードできました。
⑮「public_html」をクリックします。
⑯「wp-config.php」>「削除」をクリックして、元のファイルを削除します。
⑰削除するファイルが「wp-config.php」であることを確認して、「完全に削除」をクリックします。
⑱「wp-config.php」が1階層上のディレクトリに移動完了しました。
⑲ダウンロードした「wp-config.php」ファイルは削除しておきましょう。
5-2.htaccess でアクセス制限
「wp-config.php」ファイルを公開ディレクトリの外に移動することで、攻撃者がファイルを見つけにくくなりました。
しかし、万が一見つけられた場合でも、直接アクセスを禁止する設定を追加することで、さらなるセキュリティ強化を行いましょう。
「.htaccess」ファイル で「wp-config.php」へのアクセス制限を行う手順
シンレンタルサーバーを例にして手順を解説します。
①シンレンタルサーバーにログインします。
②ファイル管理をクリックします。
③「.htaccess」ファイル を編集するドメインを選択します。
④「public_html」をクリックします。
⑤「.htaccess」>「編集」をクリックします。
⑩「.htaccess 」ファイルに以下のコードを追加し、wp-config.php への直接アクセスを禁止します。
#wp-config.php への直接アクセスを禁止
<Files “wp-config.php”>
Require all denied
</Files>
⑪保存文字コードが「UTF-8」になっていることを確認して、更新をクリックします。
⑫「wp-config.php」へのアクセス制限が完了しました。
これで、第3者がブラウザや自動プログラムを通じてサーバー上にアクセスできないようになりました。
5-3.パーミッション設定
「wp-config.php」ファイルは、WordPressの重要な設定ファイルです。
読み取り専用に設定することで、改ざんを防ぎ、セキュリティを強化できます。
ディレクトリ移動や 「.htaccess」によるアクセス制限を施していても、サーバー内で動作する不正なプログラムや悪意あるコード(例えば、侵入者がアップロードしたファイル)がファイルを書き換えるリスクを防ぐため、パーミッション設定が必要です。
パーミッション | 説明 |
---|---|
400 | 所有者が読み取りのみ可能で最も安全 |
600 | 所有者が読み取り・書き込み可能 |
wp-config.phpのパーミッション設定手順
シンレンタルサーバーを例に解説します。
①シンレンタルサーバーにログインします。
②ファイル管理をクリックします。
③wp-config.phpのパーミッションを設定するドメインを選びます。
④「wp-config.php」>「パーミッション変更」をクリックします。
⑤「パーミッションを数値で指定する」に「400」を入力して、変更をクリックします。
⑥「wp-config.php」が読み取り専用となりました。
WooCommerce全体のセキュリティ対策
1.SSL証明書を適用する
WooCommerceで安全なオンラインショップを運営するには、SSL化が非常に重要です。
通常、新規でドメインを設定すると、多くのレンタルサーバーでは無料で標準のSSLが適用されています。
以下では、SSL化の目的と、確認の手順について解説します。
1-1.SSL証明書の目的
- データの暗号化
SSL証明書を適用することで、サイトとユーザーの間で送受信されるデータ(パスワードやクレジットカード情報など)が暗号化され、第三者に盗まれるリスクを防ぎます。 - 信頼性の向上
サイトURLが「https://」で始まり、ブラウザに鍵マークが表示されることで、訪問者に安全なサイトであることを示し、信頼性が向上します。
Google ChromeやFirefoxではSSL化されていないサイトに「保護されていない通信」と警告を表示します。 - SEO対策
Googleなどの検索エンジンは、SSLを適用しているサイトを優遇する傾向があるため、検索順位が向上する可能性があります。 - 法的および規約上の要件
クレジットカード情報を扱う場合、多くの規制や決済サービスプロバイダーがSSLの適用を義務付けています。
1-2.SSL化の確認方法
自分のサイトURLをブラウザに入力し、次の点をチェックします。
- URLが「https://」で始まっているか。
- 鍵マークが表示されているか。
2.支払いゲートウェイのセキュリティ確認
WooCommerceの支払いゲートウェイにおけるセキュリティ対策は、以下の3つがポイントです。
- 信頼できるゲートウェイの選択
- APIキーの管理
- 不正防止ツールの活用
これらの対策を講じることで、顧客情報や決済データを安全に保ち、サイトの信頼性を向上させることができます。
2-1.信頼できるゲートウェイの選択
ゲートウェイは以下の3つの中から選ぶとよいでしょう。
- PayPal Payments
- Stripe for WooCommerce
- Square for WooCommerce
これらは以下の必須セキュリティ要件を満たしているため、安全で信頼できます。
- PCI DSS準拠
クレジットカード情報を安全に処理する国際基準 - 顧客情報の外部管理
顧客情報をゲートウェイ側で管理 - 顧客情報のトークン化
カード情報を安全に送信 - SSL/TLS暗号化
ゲートウェイとの通信を暗号化し、データを保護。
対応状況
セキュリティ項目 | PayPal | Stripe | Square |
---|---|---|---|
PCI DSS準拠 | ✅ | ✅ | ✅ |
顧客情報 | 外部管理 | トークン化 | 外部管理 |
SSL/TLS暗号化 | ✅ | ✅ | ✅ |
どれを選んでも必須セキュリティ要件を満たしています。
2-2.APIキーの管理
WooCommerceで支払いゲートウェイを安全に利用するには、APIキーの適切な管理が欠かせません。
APIキーは、WooCommerceと支払いゲートウェイ(PayPal、Stripe、Square)を連携させるための認証情報であり、不正利用を防ぐための管理が重要です。
- 安全な保存
- WooCommerceの支払い設定画面にAPIキーを入力する。
- 不要なキーの削除
- 使わなくなったキーや古いキーは削除して、不正利用を防止。
- 権限の最小化
- APIキーの権限を必要最低限(読み取り専用など)に設定。
- 定期的な更新
- APIキーを半年~1年に一度更新し、漏洩リスクを低減。
- アクセスログの確認
- APIキーの利用状況をゲートウェイの管理画面で定期的にチェック。
APIキーの管理は、ゲートウェイの提供する管理画面を使って行います。
適切に管理することで、支払い情報の安全性を確保しましょう。
2-3.不正防止ツールの活用
不正アクセスや不正な支払いを防ぐためには、ゲートウェイが提供する不正防止ツールを活用しましょう。
たとえば、Stripe RadarやPayPalの不正取引保護機能を有効にすることで、不正リスクを軽減できます。
- Stripe Radar: 不審な取引を検知して自動でブロック。
- PayPalの不正取引保護: リアルタイムで取引の安全性を評価。
- Squareのセキュリティツール: 高度な詐欺検出機能を搭載。
3.クリックジャッキングを防ぐ方法
クリックジャッキングは、他のウェブサイトがあなたのサイトを偽装し、不正な操作をユーザーに行わせる攻撃です。
これを防ぐために、簡単なセキュリティ設定を導入しましょう。
3-1.クリックジャッキングとは?
クリックジャッキングは、iframeを使ってあなたのサイトを別のサイト内に表示させ、不正なボタン操作やスパムサイトへの誘導を行う攻撃です。
この攻撃により、以下のリスクが発生します:
- 管理画面の不正操作
- ユーザーのスパムサイトへの誘導
3-2.対策方法:.htaccessを使った設定
以下のコードを.htaccess
に追加するだけで対策できます。
#.クリックジャッキング対策
Header always append X-Frame-Options SAMEORIGIN
WooCommerceのリカバリ対策
1.バックアップの徹底で不測の事態に備える
データの消失やシステムトラブルに備えるために、定期的なバックアップは欠かせません。
WooCommerceでオンラインショップを運営する際は、1日1回の自動バックアップがおすすめです。
ほとんどのレンタルサーバーでは、自動バックアップ機能が標準で提供されています。
たとえば、エックスサーバーやシンレンタルサーバーでは初期設定で自動バックアップされます。
ただし、重要な変更や新しいプラグインの導入を行う場合には、手動でバックアップを追加することで、万が一のトラブルにも迅速に対応できます。
1-1.自動バックアップで十分な場合
通常の運営では、次のような状況で1日1回の自動バックアップが対応可能です。
- 商品登録や設定の軽微な変更
サイトの基本的な運営作業では、自動バックアップでカバーできます。 - 変更頻度が少ない運営初期
新規立ち上げ段階ではデータの更新頻度も少なく、自動バックアップで問題ありません。
1-2.手動バックアップが必要な場合
WooCommerce運営の初期段階でも、次の場合には手動でバックアップを追加することをおすすめします。
- プラグインやテーマの設定変更を行う場合
設定の変更やカスタマイズを行う前にバックアップを取ると、トラブル時にも元に戻せます。 - 新しいプラグインを導入する場合
プラグインの追加は他のプラグインやテーマとの互換性に影響する可能性があります。導入前にバックアップを取っておきましょう。
1-3.おすすめの運用
- 通常時:1日1回の自動バックアップを活用。
- 設定変更時:手動バックアップを1回追加。
- プラグイン導入時:手動バックアップを1回追加。
WooCommerceのキャッシュ設定とセキュリティ
WooCommerceサイトでは、キャッシュ設定のミスが「他人のカート内容や会員情報の表示」や「在庫や価格情報の不正確な表示」につながるリスクがあります。
そのため、キャッシュプラグインを導入する場合は慎重に設定を行い、設定に自信がない場合は導入を控えることも考えてください。
特に、カートやチェックアウトページは必ずキャッシュ対象から除外してください。
1.キャッシュ設定の注意点
- カート・チェックアウトページのキャッシュ
- 他人のカート内容や会員情報が誤って表示されるリスク。
- 最新の在庫状況や価格が正確に反映されない可能性。
- サーバー側キャッシュの問題
- 一部のレンタルサーバーで自動的にキャッシュが適用されることがある。
- WooCommerce非対応のサーバーキャッシュを使うと、不具合が発生する可能性。
- キャッシュプラグインの導入
- WooCommerce対応のキャッシュプラグインを使用することが必須。
- 「カートやチェックアウトページのキャッシュ除外」設定ができない場合は導入を控えるべき。
2.推奨アクション
- サーバーやキャッシュプラグインの設定で、以下を必ずキャッシュ除外:
- カートページ
- チェックアウトページ
- マイアカウントページ
- WooCommerce対応のキャッシュプラグイン(例: WP Rocket)を活用する。
- サーバー管理者にキャッシュ設定がWooCommerceに対応しているか確認。
キャッシュ設定は、WooCommerceサイトのパフォーマンスを向上させる一方で、不適切な設定によるリスクも伴います。
設定に不安がある場合、キャッシュプラグインの導入を控えるのも安全な選択肢です。
WooCommerceのセキュリティに関するFAQ
- WooCommerceでSSL証明書は絶対に必要?
-
はい、必要です。
SSL証明書は、顧客のデータ(例: パスワードやクレジットカード情報)を暗号化し、安全に通信するために必須です。
さらに、GoogleのSEO対策としてもSSL化は有利であり、ブラウザ上の「安全でないサイト」という警告を防ぐ効果もあります。
- プラグインの脆弱性を見分ける方法は?
-
以下のポイントを確認しましょう
- 更新頻度: 最近更新されていないプラグインは脆弱性がある可能性があります。
- インストール数と評価: インストール数が多く、評価が高いプラグインを選びましょう。
- セキュリティ履歴: 開発者が提供するリリースノートでセキュリティ修正の有無を確認。
- 公式プラグインを利用: WooCommerce公式が推奨するプラグインは信頼性が高いです。
- 無料のセキュリティツールで十分ですか?
-
ECサイトでは有料ツールが推奨されます。
無料ツールでも基本的なセキュリティ機能(例: ログイン制限、マルウェアスキャン)は対応可能ですが、有料ツール(例: Wordfence Premium)はリアルタイムモニタリングや高度な詐欺検知機能が備わっており、より強力な保護が可能です。
コメント