WP Mail SMTPのセキュリティについて

質問があったので、ここに記載します。

前提 : SendGrid がおすすめ

WordPressで安定してメール送信(フォームで自動返信、WooCommerceの通知など)するには、外部のメール送信サーバーを活用すべきです。おすすめは、SendGrid を利用することです。日本語サイトもあるため、使いやすいと思います。詳細は、以下。

WP Mail SMTP プラグインを使う理由

SendGridに登録する方法がわからない、難しく感じる、まだサイトがない(実績がないので審査に落ちるかもと不安を感じる)などの場合は、別の方法を検討することになります。

別の方法として候補に上がるには「ご自身が普段利用してる『メールアカウント』」を使うことです。

例えば、レンタルサーバーに契約し、独自ドメイン設定をすると、独自ドメインでメールを送信できるようになります。この時の「メール送信サーバー」を利用することで、迷惑メールになりづらくできます。

ただし、その設定における危険性について理解しておく必要があります。

なぜ、危ないのか?

以下のような設定をしますが、ここにセキュリティ上の危険が入り込みます。

まず、WP mail SMTPプラグインで「Other SMTP」を選び設定することになると思います。

次に、メールのアカウントを入力します。メールソフトで入力するように、アカウントとパスワードを入力することになります。以下のようなメッセージにあるように、データベースに「パスワードが、平文(ひらぶん・暗号化せず)」で保存されます。

データベースに、パスワードがそのまま保存されていると、何らかのプラグインでその情報を盗み出すことも可能です(訳のわからないプラグインをいれる事はないと思いますが)。

また、世界中に向かって公開されているサーバーに「パスワードを平文で保存する」のは、避けたいところです。

過去に、SonyやAdobeも平文でパスワードを保存しており、そのデータが流出して問題になりました。通常、パスワードは「ハッシュ関数で、一方向暗号化」をします。結果、本当のパスワードを推測するのが難しい状態になります。

ところが、WordPressでパスワードを保持しておかないと、SMTPサーバーにログインできないため、平文で保存するしかありません。

メールアカウントが、管理者アドレスの場合、特に危ない

ここに安全性の問題が生じます。レンタルサーバーによって、メールアドレスのパスワードと、レンタルサーバーの管理者ログインのパスワードが同じ場合があります。

もし、WordPressに保存したメールのパスワードが流出したら、レンタルサーバーの管理パスワードの流出になり危険です。

API Key を使う理由

以上のことから、パスワードの流出を避けるためにAPIキーがあります。ログイン用のパスワードとは別のパスワードを生成し、そのパスワード経由でできることを制限するなどして、セキュリティを高めます。


どうしたら良いか?

  • SendGridを使う
  • サーバーから(デフォルト)送信する(DNS設定などを工夫すれば解決することもあります)
  • SMTPサーバーを利用するなら、専用のアカウントを作って、流出しても問題を減らす
  • WP Mail SMTPに紹介されている方法をとる

🚩お知らせ

toieeLabでは、知識・経験ゼロから、「単なる製作代行ではなく」、WordPressの仕組み、デザイン、コピー、SEO対策、ビジネスモデル、ビジネスシステム構築技術を身につけ、仕事を受注できるようになるためのオンラインコースを準備しています。

ただのオンラインコースではなく、オンラインコースサポートサイト学習コミュニティ(非公開)、個別サポート、オンラインワークショップを通して、一人ひとりの学習をサポートするサポート型のオンラインコースです。

現在、オンラインコースの一部を無料公開しています。ご興味のある方は、ぜひ、ご覧ください。

コメントする