ネットワークセキュリティ
 Computer >> コンピューター >  >> ネットワーキング >> ネットワークセキュリティ

Magentoセキュリティ完全ガイド – Magento 1・Magento 2対応のステップバイステップ対策マニュアル

Magentoストアを安全に守る方法

現在、あらゆるWebサイトが深刻なサイバーリスクにさらされています。その中でも、最も危険にさらされているのがEC(電子商取引)業界です。そして、MagentoはEコマース分野のリーディングプラットフォームであるため、ハッカーにとって格好の標的となっています。

しかし、Magentoのセキュリティベストプラクティスに沿って体系的に対策を行えば、こうしたリスクを大幅に低減できます。本ガイドでは、Magentoを強化するための実践的なセキュリティ対策を網羅的に解説します。

このガイドを最後まで読み、優先順位をつけて実践すれば、Webサイトの脆弱性が確実に減少することをお約束します。

以下の情報をお探しの方はこちら:

  • Magentoハッキング除去ガイド
  • AstraによるMagentoセキュリティ拡張機能
  • Magentoセキュリティチェックリスト

Magento CMSは、現在世界中のECサイトの約25%を支えています。言うまでもなく、Eコマース向けCMSとして最も人気のあるプラットフォームの一つです。さらに、Magentoは顧客の個人情報や金融データといった膨大な機密データを扱うため、ハッカーにとってはなおさら魅力的なターゲットとなります。以下のMagentoに関するハッキング統計がそれを裏付けています。

Magentoハッキング統計

  • Magentoはインターネット全体の1.2%を支えています。
  • 全ECサイトの12%がMagentoで構築されています。
  • 実際の数字では、約25万のアクティブなサイトがMagentoを使用しています。
  • しかし、そのうちMagento 2で稼働しているのはわずか11,000サイトほど、つまり全Magentoサイトの約44%にとどまります。

また、MagentoはWordPressに次いでハッキング被害の多いCMSです。Magento CMSのCVE詳細を見ると、XSS(クロスサイトスクリプティング)が最大の脅威であることがわかります。その他の脅威には、コード実行、SQLインジェクション、ディレクトリトラバーサル、Magentoストアへの不正リダイレクト、CSRFなどがあります。

さらに、Magentoカードスキミング(Magecart攻撃)やクレジットカード情報の窃取も、Magento上で発生するデータ侵害の典型例です。Magecart攻撃はこれまでにない持続的な攻撃手法として知られており、その結果、顧客はなりすまし、データ漏洩、不正取引などの被害に直面します。

Magento 1とMagento 2を守る16の重要セキュリティ対策

サイバー犯罪が増加するこの時代において、Webサイトの保護とメンテナンスは極めて重要です。特にEコマースの場合、攻撃を受けた際の影響はより多くの人々に及びます。被害を受けるのは、何も知らない一般ユーザーとその大切なデータなのです。

結局のところ重要なのは、ユーザーが安心してクレジットカードを使えるよう、Webサイトをしっかりと保護することです。サイト運営者にとっては、セキュリティを怠れば厳しい罰則が待っています。

しかし、本ガイドで紹介する以下のセキュリティ対策を実践すれば、嵐に見舞われることを回避できます。誠実に取り組めば、リスクは最小限まで抑えられるでしょう。

関連ガイド – Eコマースセキュリティ

1. PCI-DSS(Payment Card Industry – Data Security Standard)への準拠

ECサイトは顧客の機密性の高い決済データを扱うため、継続的な監視が必要です。PCI(Payment Card Industry)は主要なクレジットカード会社の業界団体であり、Magentoストアの決済セキュリティ基準を定めています。

Webビジネスオーナーにとって、顧客に安全な決済環境を保証することは最重要事項です。PCI-DSSでは、すべてのMagentoサイトに対し、標準的かつ安全なクレジットカード管理を義務付けています。準拠しない場合、高額な罰金や厳しい制裁が科される可能性があります。

PCI準拠に含まれる要件とは?

PCI準拠のセキュリティ要件は、ポリシー・手順、ソフトウェア設計、ネットワークアーキテクチャなどを含みます。具体的には以下の通りです。

  • 安全なネットワークとシステムの構築・維持
    要件1: カード会員データを保護するためのファイアウォール設定を導入・維持する。
    要件2: システムパスワードやその他のセキュリティパラメータに、ベンダー提供のデフォルト値を使用しない。
  • カード会員データの保護
    要件3: 保存されたカード会員データを保護する。
    要件4: 公開ネットワーク上でのカード会員データの送信を暗号化する。
  • 脆弱性管理プログラムの維持
    要件5: すべてのシステムをマルウェアから保護し、ウイルス対策ソフトを定期的に更新する。
    要件6: 安全なシステムおよびアプリケーションを開発・維持する。
  • 厳格なアクセス制御の実施
    要件7: カード会員データへのアクセスを業務上必要な範囲に限定する。
    要件8: システムコンポーネントへのアクセスを識別・認証する。
    要件9: カード会員データへの物理的アクセスを制限する。
  • ネットワークの定期監視とテスト
    要件10: ネットワークリソースおよびカード会員データへのすべてのアクセスを追跡・監視する。
    要件11: セキュリティシステムとプロセスを定期的にテストする。
  • 情報セキュリティポリシーの維持
    要件12: 全従業員を対象とした情報セキュリティポリシーを維持する。

PCI-SSCが定めるガイドラインに準拠しなければ、ストアでのクレジットカードハッキングの扉を開くことになりかねません。

2. Magentoストアの管理者ユーザー名を変更する

サイトのPCI準拠を確認したら、次に管理者のデフォルトユーザー名を変更しましょう。「admin」、自分の名前、サイト名など、推測されやすいユーザー名の使用は絶対に避けてください。新規インストールされたMagentoサイトでは、プロジェクトオーナーのメールアドレスがデフォルトのユーザー名になっています。以下の手順で変更しましょう。

  1. Magento管理パネルにログインします。
  2. System >> My Accountへ移動します。
  3. 「Username」フィールドに新しい一意のユーザー名を入力します。
  4. 「Save Account」をクリックします。

3. Magentoの管理画面URLを変更する

ほぼすべてのWebサイトで、管理ページのデフォルトURLは「/admin」になっています。このデフォルトURLを変更しないままにすると、重大な脆弱性につながります。一方、URLを変更すれば管理ページを外部から隠蔽でき、Magentoのセキュリティが向上します。「admin」や「backend」など、推測されやすい語句は避けましょう。

以下の手順でデフォルトの管理URLを変更できます。

  1. 管理パネルでSystem > Configurationを選択します。
  2. 左端の列からAdminを選択します。
  3. Admin Base URLセクションに移動し、以下のように設定します。
    a)Use Custom Admin URLを「Yes」に設定し、次のような形式でカスタム管理URLを入力します。
    https://yourdomain.com/magento/
    b)Custom Admin Pathを「Yes」に設定し、カスタム管理パス名を入力します。攻撃者に推測されにくい名前を選びましょう。
  4. 最後にSave Configをクリックし、新しいURLでログインします。

4. Magentoログインに二段階認証を導入する

二段階認証(2FA)は、Magentoパスワードに関連するセキュリティリスクを大幅に軽減します。仮にハッカーが盗んだ認証情報を持っていても、追加のセキュリティ層があるため、管理パネルにログインできません。さらに、二要素認証はブルートフォース攻撃への対策にも有効です。TFAをログインページに導入すれば、正規ユーザーのみがアカウントにアクセスできるようになります。

二段階認証を提供する拡張機能は多数あるため、評価を参考に最適なものを選びましょう。

5. MagentoでIPホワイトリストと.htaccessを活用する

次のステップは、IPホワイトリストと.htaccessの活用です。特定のIPアドレスのみにMagento管理パネルへのアクセスを許可するのは、サイトを守る賢明な方法です。開発環境、ステージング環境、テスト環境へのアクセスは、IPホワイトリストと.htaccessによるパスワード保護でブロックしましょう。これらは非常に機密性の高いシステムであり、侵害されると深刻なデータ漏洩や攻撃につながります。

a) 単一ストアビューのMagentoインストールの場合

b) サブディレクトリ内のストアビューの場合

Magentoがサブディレクトリにインストールされている場合、またはメインドメインの仮想サブディレクトリとしてストアビューが設定されている場合(例: https://www.example.com/features/ 、https://www.example.com/en/)も同様の手順で保護できます。

IPをホワイトリスト化するもう一つの簡単な方法は、GeoIPロックなどの拡張機能を利用することです。この種の拡張機能を使えば、特定のIPアドレスにのみストアへのアクセスを許可したり、望ましくない国・地域・IPアドレスからのトラフィックを簡単にブロックしたりできます。さらに、ストア全体、特定の商品、特定のWebページへのアクセス制限も可能です。

6. 強力なパスワードを使用する

まだ推測されやすいパスワードを使っているなら、今すぐ見直してください。強力なパスワードは以下を守る助けになります。

  • 個人情報の保護
  • メール、ファイル、その他コンテンツの保護
  • 第三者によるアカウント不正アクセスの防止

強力なパスワードは、ブルートフォース攻撃のような危機にも耐えます。では、何が強力なパスワードで、何がそうではないのでしょうか? 英字・数字・記号を組み合わせたパスワードは強力です。パスワードは大文字小文字が区別されるため、大文字と小文字を混在させるとさらに強度が上がります。理想的なパスワードの長さは8〜14文字です。逆に、「password」「12345678」「9874561」のような単純な単語やフレーズ、推測しやすい組み合わせは脆弱なパスワードとされます。

自分でパスワードを作成してもよいですし、オンラインのパスワードジェネレーターを利用しても構いません。自作する場合は、「安全で強固なパスワードの作り方」ガイドを参照することをおすすめします。

以下は、単純なパスワードを強力なパスワードに変換する例です。

英字を数字や記号に置き換える 例:「Spooky Halloween」→「sPo0kyH@ll0w3En」

7. Magento管理画面のログイン試行回数を制限する

管理パネルを攻撃者から守るもう一つの方法は、ログイン失敗回数の上限を設定することです。パスワードリセット要求の最大回数も制限できます。これにより、不正なログイン試行からサイトを守れます。

設定手順は以下の通りです。

Magento 1.xの場合:

  1. 管理パネルにログインします。
  2. Systemへ移動します。
  3. Configurationを選択します。
  4. Advanced > Adminをクリックします。
  5. Securityオプションを展開し、各設定を変更します。

Magento 2.xの場合:

  1. 管理パネルにログインします。
  2. Stores > Settingsへ移動します。
  3. Configurationを選択します。
  4. Advanced > Adminをクリックします。
  5. Securityオプションを展開し、各設定を変更します。

関連記事 – Magentoログイン保護

8. Magentoのログインと各フォームでCAPTCHAを有効化する

CAPTCHAは「Completely Automated Public Turing test to tell Computers and Humans Apart(コンピュータと人間を区別する完全自動化された公開チューリングテスト)」の略称です。名前の通り、ボットによる攻撃を防ぐのにCAPTCHAは最適な手段です。Magento管理パネルへのボット攻撃を抑止しましょう。以下の簡単な手順でCAPTCHAを有効化できます。

Magento 1.xの場合:

  1. Systemへ移動します。
  2. Configurationをクリックします。
  3. 左端のパネルでAdvanced >> Adminへ移動します。
  4. CAPTCHAセクションを展開し、「Yes」を選択してCAPTCHAを有効にします。

Magento 2.xの場合:

  1. Stores >> Settingsへ移動します。
  2. Configurationをクリックします。
  3. 左端のパネルでAdvanced >> Adminへ移動します。

CAPTCHAセクションを展開し、「Yes」を選択してCAPTCHAを有効にします。

9. Magentoストアに推奨されるファイル・ディレクトリ権限を設定する

Magentoを自社のビジネスニーズに合わせてカスタマイズする場合、ファイルやフォルダ、それぞれの権限設定が重要な役割を果たします。ただし、この作業は複雑でもあります。

セキュリティ責任者として、ディレクトリには755、ファイルには644の権限を推奨します。ただし、Magentoサイトによっては、一部のファイルに異なる権限が必要な場合があります。すべてのファイルと適切な権限を列挙すると本ガイドが冗長になるため、「Magentoの正しいファイル権限の設定方法」ガイドをご参照ください。

あわせて読みたい: PHPウェブシェル

フォルダ権限の設定手順:

  1. FTP経由でサイトにアクセスします。
  2. Magentoのインストールフォルダに移動します。(例: /path/to/your/magento/install/)
  3. フォルダを右クリックし、File Permissionsオプションを選択します。
  4. 新しいウィンドウが開くので、Numeric value欄に「700」と入力します。
  5. Recurse into subdirectories」オプションを有効にし、下のリストで「Apply to directories only」にチェックを入れます。
  6. OKボタンを押します。
  7. ファイル数が多い場合、処理には数分かかることがあります。

ファイル権限の設定手順:

  1. FTP経由でサイトにアクセスします。
  2. Magentoがインストールされている場所に移動します。(例: /path/to/your/magento/install/)
  3. ファイルを右クリックし、File Permissionsオプションを選択します。
  4. 新しいウィンドウが開くので、Numeric value欄に「600」と入力します。
  5. Recurse into subdirectories」オプションを有効にし、下のリストで「Apply to files only」にチェックを入れます。
  6. OKボタンを押します。
  7. ファイル数が多い場合、処理には数分かかることがあります。

10. Magentoストアに推奨されるユーザーロールと権限を設定する

適切なユーザーロールを定義することで、業務の分離が実現します。各ユーザーにすべての権限を与えないことで、ストアのセキュリティも向上します。権限には複数のレベルがあり、ユーザーの職務と運用方針に応じてロールを割り当てられます。

正しいユーザー権限を設定する手順は以下の通りです。

  1. サイトにログインし、「System」へ移動します。
  2. 「Permissions」をクリックすると、「Users」「Roles」の2つのオプションが表示されます。
  3. 「Roles」はロールを定義するセクションで、「Users」はそれを割り当てる場所です。

11. データを定期的にバックアップする

予期せぬ攻撃が発生した際、バックアップがサイトを救います。良好なバックアップがあれば、ハッキングされたサイトを数分で復旧できます。これは最高の災害対策です。ただし、バックアップを機能させるには、以下の点に注意が必要です。

  • 含めるべきファイル
  • バックアップの頻度
  • バックアップの機能性(復元できるかどうか)

バックアップを始める前に、必要事項を正しく理解しましょう。バックアップには、サイトの構成、外観、動作に必要なすべてのファイルを含める必要があります。Magentoサイトでは、以下の4種類のバックアップが可能です。

  1. システムバックアップ(ソースコード+データベース+メディア)
  2. データベースバックアップ(データベースのみ)
  3. メディア付きデータベースバックアップ
  4. メディアなしシステムバックアップ

注意点:

  • バックアップ実行前に、サイトをメンテナンスモードに切り替えてください。バックアップ完了後、サイトは自動的にメンテナンスモードを解除されます。
  • サーバーとデータベースは、必ずサーバー以外の外部ロケーションにバックアップしてください。

システムバックアップは、ソースコードとデータベースの両方を含むため、最も実用的なバックアップです。ただし、ニーズに応じてタイプを組み合わせても構いません。

バックアップ頻度については、サイトコンテンツの更新頻度によって異なります。日次、週次、月次のバックアップから選べます。

バックアップ方法としては、手動バックアップと自動化プロセスのどちらかを選択できます。

バックアップの目的は、サイトを元の正常な状態に復元することです。そのため、必ずバックアップがサイト上で完全に機能することを確認してください。大規模サイトの場合、バックアップからの復元は非常に手間と時間がかかります。そのような場合は、ホスティング業者と協力して、プロフェッショナルなデータベースバックアップソリューションを導入するのが得策です。

12. Magento 2.0の未適用セキュリティパッチを更新する

古く脆弱なバージョンでサイトを運営することが、CMSハッキングの主な原因です。常に最新バージョンのMagentoでストアを運営しましょう。そうすることで、インストール環境に既知の脆弱性がないことが保証されます。各アップデートには最新のセキュリティ改善が含まれています。セキュリティアップデートは https://magento.com/security で確認できます。

何らかの理由で最新バージョンにアップグレードできない場合は、Magentoが推奨するすべてのセキュリティパッチを必ず適用してください。Magentoは重大な問題に対応するためのセキュリティパッチを公開しており、新製品バージョンにもサイトを保護するための追加改善が含まれています。

13. 信頼できるソースから拡張機能をインストールする

未更新で脆弱なサードパーティ製拡張機能も、多くのハッキングの原因となっています。拡張機能は信頼できるソースからのみインストールしてください。Magento Marketplaceの統計やレビューを確認し、どの拡張機能開発者が信頼できるプロファイルを持っているかを見極めましょう。

有料拡張機能をトレントサイトなどから入手してはいけません。拡張機能が提供するサポート体制も確認しましょう。これは、拡張機能が更新・メンテナンスされているかの確認に次いで重要なポイントです。インストール前に、必ずセキュリティ問題がないか拡張機能をチェックしてください。

不審なリンクをクリックしたり、怪しいメールを開いたりしないでください。サーバーやMagento管理者のパスワードを他人に教えないでください。不正な管理者アクセスを定期的に確認しましょう。ホスティング業者と協力してサーバーログを調査し、不審なアクティビティを検出してください。ネットワークには侵入検知システム(IDS)を導入しましょう。

14. Webアプリケーションファイアウォール(WAF)でMagentoストアを保護する

ECストアはハッカーの格好の標的です。AstraのようなWebアプリケーションファイアウォール(WAF)を利用すれば、トラフィックを分析し、不審なパターンを検出できます。ファイアウォールは、サイトへのハッキングを試みる悪意あるトラフィックやIPアドレスをブロックします。XSS、LFI、RFI、SQLインジェクションなど、100種類以上の脅威からストアを守ります。

私たちの言葉を鵜呑みにしないでください。ご自身でお確かめください!

Astraの内部を覗いてみましょう

サイトにファイアウォールを設置することは、セキュリティシールドを装備するようなものです。ファイアウォールは、リアルタイムのWebサイト監視メカニズムを展開する最良の手段です。Astraファイアウォールがサイトを守る仕組みは以下の通りです。

15. サーバーを強化する

サーバーの保護も、ストアセキュリティ体制のもう一つの柱です。サイトをホスティングする前に、ホスティング業者の提供内容を慎重に比較検討しましょう。確認すべき項目は以下の通りです。

  • セキュリティ
  • サポート
  • カスタマイズ性
  • 読み込み速度

可能であれば、ホスティング業者がどのようなセキュリティ対策を講じているか尋ねてみましょう。サポート体制も確認してください。適切なサポートのないホスティングは、サイトに問題が発生した際に本当にフラストレーションが溜まるものです。マネージドホスティングはこの問題を効果的に解決します。マネージドホスティングなら、専任のホスティング担当者がサイトを管理し、緊急時にも迅速に対応してくれます。

マネージドホスティング以外では、現在クラウドホスティングが注目されています。クラウドホスティングは、最寄りのクラスターから情報を配信するため、サイトの読み込み時間を短縮できます。Amazon、ServerGuyなど、多くの企業が信頼できる価格でクラウドホスティングを提供しています。

16. Magentoセキュリティ監査を実施する

サイトのメンテナンスには、定期的な監査も含まれます。セキュリティ監査により、ハッカーに先んじて脆弱性、バックドア、破損したセキュリティ構造を発見できます。ただし、徹底的な監査をビジネスオーナー自身が行うのは難しいものです。そこで、Astraによるプロフェッショナルなセキュリティ監査の利用をご検討ください。

Astraのセキュリティ専門家が、お客様がビジネスを続けている間に、徹底的なセキュリティ監査とペネトレーションテスト(pentesting)を実施します。この監査により、サイトが抱えるあらゆる脆弱性、抜け穴、バックドアが明らかになります。セキュリティエンジニアが修正手順もサポートし、開発者が修復を完了するまで伴走することをお約束します。

Magentoセキュリティ:まとめ

魅力的なオンラインストアの構築には多大な努力が必要で、その維持にはさらに努力が求められます。しかし、不可能ではありません。むしろその逆です。本ガイドを通じて、Magentoストアに不可欠なセキュリティ対策をお伝えできたことを願っています。ここで紹介した基本的なプラクティスを実践すれば、オンラインセキュリティは飛躍的に向上するでしょう。

不足している点にお気づきでしたら、ぜひ下のコメント欄でお聞かせください。皆様のご意見をお待ちしています!

  1. Y2mateウイルスと広告の削除方法【Windows・Mac・ブラウザ別 完全ガイド】

    Y2mateウイルスの削除方法をお探しですね?この記事がまさにその答えとなります。 ご存じない方のために簡単に説明すると、Y2mateはYouTubeから音声や動画をダウンロードできるウェブサイトです。同様の機能を持つサイトはインターネット上に数多く存在しますが、注意が必要なのは、その大半が危険性や悪意を含んでおり、アクセスしただけでデバイスが感染する恐れがあるという点です。 Y2mateウイルスが発動する仕組みは次の通りです。サイトにアクセスして検索を実行すると、悪意のあるウェブページへリダイレクトされたり、画面に迷惑なポップアップが表示され続けたりすることがあります。もしあなたがす

  2. Ytmp3.ccウイルスの完全除去ガイド|リダイレクト・不要な通知を削除する方法

    Ytmp3.ccとは? Ytmp3.ccは、YouTube動画などをMP3またはMP4形式に無料で変換できると謳うウェブサイトです。しかし、この怪しいサイトには数多くの副作用が伴います。大量の広告を表示するだけでなく、ユーザーの個人情報を収集しており、セキュリティ専門家からも「利用は非常に危険」と警告されています。 そもそも、Ytmp3.ccの利用はYouTubeの利用規約違反にあたります。YouTubeは動画の直接ダウンロードを禁止しているためです。 また、Ytmp3.ccは悪質な広告ネットワークを使用しています。 さらに、ブラウザの通知機能にアクセスし、偽のアップデートやソフトウェアを通