カテゴリー: WordPress

  • [Synology] NAS – WordPressからサイト外にメールを送信する  [2020/09/13]

    [Synology] NAS – WordPressからサイト外にメールを送信する [2020/09/13]

    この記事は、少し古いです。代わりに以下の記事をご覧ください。この記事は、参考資料として「Appendix」を保存するために、このまま維持することにしました。
    代わりの記事では、2020/09の時点において、Synology NASに立ち上げているWordPressから、外にメールを送れるように、「WP Mail SMTP by WPForms」プラグインとGMAIL APIを使って可能にする内容です(2020/09/13)。

    概要

    メール送信の手段は、以下のとおり2つある。

    1. SMTPにるメール発信

    このSMTPとは、WordPressが導入されてるいサーバーで可動しているSMTPである。SynologyもGoogleのgmailの仕様が変更されたことで、少し混乱しているかもしれない。サイトに行っても解決策が古かったりしているので、今、現在は、どうなのか不明だ。

    現状では、SMTPを使用したサイト外への発信は断念した。そもそも、Synology NASのSMTPからWordPressのメールを飛ばせるのかどうかすら、よく理解できていない。

    SMTPを使用する場合、DNSの設定とMailPlus Severの設定をそれぞれ整合させなければならないと思われるが、DNSの設定については、以下で述べているように、なかなかハードルが高く僕の技術と知識レベルでは、現状断念せざるを得なかった。

    2. PHPによるメール発信

    色々調べていく過程で、WordPressのプラグインを使用して、その基本プログラム言語であるPHPからメール配信をコントールできることが分かった。まず、最初に試した”WP mail SMTP by WPForms”は、配信の成否が分かるものの、配信できない場合の解決策を提案してくれなかった。

    Synology: WordPress not Sending Emails (Solved)

    そこで、次に試した”Post SMTP Mailer/Email Log”は、GmailアカウントとGoogle API consoleの設定により、メールをWordPress(厳密にはPHP)からサイト外に発信できるようにするプラグイン (作者: Yehuda Hassineさん)。これを使って、且つ、blogにある設定方法:“How to Set up and Configure Postman SMTP on WordPress”に従い設定を進めてた。

    その結果、サイト外へのメール発信がこれまでできなかったが、無事に発信できるようになった。

    3. 設定方法

    基本的には、同設定方法に従えばよい。Google API Consoleの体裁が若干の変更があり混乱するが、図1のように、設定する項目は、左側のタグのように、後ほど確認できる。設定し忘れても、このページに戻ってから設定すれば問題ない。以下に、Google API Consoleでの作業における特記事項を示す

    • ドメイン(harikiri.diskstation.me)の承認には、Google API Consoleでの作業でダウンロードしたhtmlファイルを、Google API Consoleが指定する、ドメインにコピペする
    • クライアントIDとクライアント シークレットを、当該プラグインの入力領域にコピペすれば良い。

    設定項目は、以下の図のようなタグ(左側)がある。

    今回の作業で全体として分かったこと

    • Synology NASのメールシステム(SMTP)を使用できるようにするには、DNSの設定が完全でないといけない。
    • DNSの設定の検証には、MX TOOLBOXを使用できる。このツールは、Synologyサイトにも使用の記載があり、DNS, SMTP, MXなどをはじめ、サイトにおける多数のサーバーの設定の適切性を調べてくれる。
    • DNSの設定には、A RECORD, NS RECORDに加えて、メール配信に関わるMX RECORDの正しい記載が必要である。
    • 更に、近年のSPAMメール対策のために、多数の認証方法が取られており、SPF RECORDについても正しい記述が必要である。
    • 以上のように、SMTPを使えるまでには、まだ、知識・技術が不足している。今後の自助努力によるSMTPの設定の完了に期待する。時期バージョンのDSMにも期待。
    編集履歴
    2019/12/14 はりきり(Mr)
    2020/09/13 修正 (新しいくプラグインを変更したので、その記事への誘導、この記事は、Appendixほ保存するために、このまま維持する)
    (さらに…)
  • WordPress 5.3 標準テーマ Twenty Twentyに完全移行

    WordPress 5.3 標準テーマ Twenty Twentyに完全移行

    WordPress 5.3とTwenty Twenty

    古いテーマは、メンテナンスや改良が行われなくなるのは世の常。現在までで、Synology NASにWordPressを導入しblogを立ち上げて丁度1年となる。この機にTwenty Twentyにテーマを変更することにした。

    blogを日頃書いている目的の一つに、blogが自分のブレーンたれと、いう気持ちで”知のストック”を蓄積する活動としている。そのため、自分は当然に全ての内容を知っておきたいのだが、ありま公開したくない内容については、どうすべき考えていた。

    今回、Ultimate MemberとUltimate Member – reCAPTCHAの2つのプラグインを導入し、公開したくないカ所を非表示にすることができるようになる。この機能を快適に使うためには、Gutenbergエディターのブロック機能がある方が使いやすくなる。Ultimate Memberの設定->アクセスでGutengergを使用できるようにチェックしておき、Gutenbergでblogを編集している時に、ブロック自体の設定に”UM access Congtrols”で制限(Restrict)することができる。

  • [WordPress] Easy Table of Contents – プラグインの導入  [2019/12/08]

    [WordPress] Easy Table of Contents – プラグインの導入 [2019/12/08]

    Easy Table of Contents

    見出し(H1~)を自動的に、最初の見出しの前に、自動的に目次を挿入してくれる

    AMP (Accelerated Mobile Pages )で動作する

    Table Conctentsのプラグインは、ここで紹介したプラグインと比較して甲乙付けがたいのですが、2020/04時点で、「Table of Contents Plus」を使っています。

    編集履歴
    2020/02/23 更新
    2020/04/08 現在「Table of Contents Plus」プラグんインを使用していることを追記
  • [WordPress] 会員限定ページや会員のみが閲覧できるページやページ内に会員のみ閲覧できるブロックを作る – 調査編 [2019/12/08]

    [WordPress] 会員限定ページや会員のみが閲覧できるページやページ内に会員のみ閲覧できるブロックを作る – 調査編 [2019/12/08]

    はじめに

    調査を結果、Ultimate Memberプラグインをインストールしています。

    当サイトは、Ultimate Memberプラグインを試験的に導入しています。よろしければ、「いたずら」してみて下さい。使い勝手などがわかると思います。どれだけの堅牢性(ロバストネス)があるか知りたいと思っているので、ぜひどうぞ。

    よく海外からの「ヒヤカシ」があります。ユーザー登録はしていただけるのですが、その登録したe-mailに対して、自動で送られてくるリンク付きのe-mailの処理をしてくれません。そのリンクをクリックすれば、登録したe-mailは実在し且つロボットではないと、おおよそ判断できるので、登録が完了します。登録の削除もできるはずです。

    メール一覧から、ステータスが確認できます。「ヒヤカシ」の場合、「メールアドレスの確認待ち中」と表示されています。メールの確認が完了すば、「承認済み」になります。以上、これらの挙動は、Ultimate Member -> 設定 -> Emailから設定します。

    はじめに

    以下のサイトをまとめると、WordPressで会員限定ページを無料のプラグインで構築することは、必要十分のようで、有料版までは必要なさそうです。

    TCD Themeを購入することも考えたが、機能は、プラグインで達成するか、購入したテーマに組み込まれた機能で達成するかの違いであり、それぞれの開発力からすると、専門的に開発している個別プラグインから調達する方が、機能的に高いもので構築できると考えられる。

    ただ、バランス面からするとオールインワンのThemeを調達する方が良いとも言える。

    考えたあげく、出費を抑えて茨の道を行くかもしれないプラグインのインストールの方法を選択することにした。

    必要な機能(要求仕様)

    必要な機能を以下に上げてみた。こりらを全て無料のプラグインで実現できるかは分からない。

    • 会員サイトがアクセスした際の会員登録を促す
    • 会員登録の内容を不適切な登録(ユーザー名として電話番号など)はできない
    • 会員でない場合、そのアクセスしたページは一部だけを表示する閲覧制限を付けることができる
    • パスワードを忘れたユーザーに対する自動対応機能
    • メール送信機能(単純型、メルマガ型)
      • TCDテーマのプレミアムプライスでもメルマガ型はサポートしない)
    • マイページ
    • botによる不正なユーザー登録の抑制

    必要な機能が全て満たされているかは、プラグインの機能を十分に理解していないため不明だが、bot対策があるUltimate Memberには、bot対策のためのプラグインとして、Ultimate – reCAPTCHAが、2018年以降追加されたらしい。これも同時に導入するのがよい。

    WordPressプラグイン|Ultimate Memberでユーザー管理、コミュニティー投稿サイトにする方法、wano.jp – さんの記事

    WordPress(ワードプレス)で会員サイトを簡単に作成できるプラグイン10選

    WordPressで会員サイトを作るには?おすすめプラグインまとめ【2019年度最新版】

    無料で会員サイトが作れるWP-Membersの使い方を紹介

    会員サイトに必要な機能を一通り実装できるUltimate Memberについて紹介!、ページのブロック設定を参考

    「Mailchimp(メールチンプ)」の評判と実態|15個のメール配信システムを試したアイミツが徹底比較!

    WordPressで掲示板を作るならbbPress!使い方の完全マニュアル

    CTDテーマによる(2017)、WordPressで会員限定向けコンテンツが配信できる「パスワード付き保護ページ」が作れるテーマ

  • [Synology] Threat Preventionが検知したWordPressへの連続Loginアタックは全てIPアドレスが異なっているBrute Force Attack – reCAPTCHAプラグインで対策する [2020/03/20]

    [Synology] Threat Preventionが検知したWordPressへの連続Loginアタックは全てIPアドレスが異なっているBrute Force Attack – reCAPTCHAプラグインで対策する [2020/03/20]

    Threat Preventionとは

    Synologyのパッケージ「Threat Prevention」は、IT業界における一般的な名称は、「侵入検知システム (IPS: Intrusion Prevention System)」です。

    攻撃を受けた

    Threat Preventionのログを眺めていると、少し怖いログが残っていました。調べてみると、Brute-Force-Attackと呼ばれる不正にアカウントを取得する総当たり攻撃であることがわかりました。

    Threat Preventionでは、アラート処理に留まっており、ドロップしていないことがログよりわかりました。何かの対応策が必要です。

    参考
    ブルートフォースアタックとは?実験から分かる危険性と有効な4つの対策

    https://japan.norton.com/brute-force-attack-9215

    攻撃内容

    その内容は、18:30から始まり、44分間で35回のWordPress Longin が試みられていて、どれも異なるIPアドレスからでした。

    最初は1分間隔で、後半は2分間隔の攻撃で、ログには、”ET POLICY Cleartext WordPress Login”とあり、以下の図の様に実行されていました。

    WordPressには、時間と回数によるセキュリティは掛けていました、IPアドレスが異なると機能しなはずです。

    35回程度でPWを破られることは無いと思われますが、2段階認証(2ステップ認証)も導入しておかないと危険であると判断しました。

    2019/11/24 はりきり(Mr)

    threat prevention

    CAPTCHの導入を考える

    このような攻撃に対処するreCAPTCHAプラグインをWordPressにインストールすることにしました(2019/11/24)。

    追記 (2019/11/24)

    Brute-force attack (参考1)と呼ばれるアカウント取得のハッキングのようです。多くのHTTP Brute Force Attack Toolは、ネット上に存在するポートが空いているプロキシサーバーのリストをもとに、そこを中継して攻撃をしてくるため、IP Addressが異なることが多いようです。

    このため、このプロキシサーバーのリストにあるIP Addressを全てブロックできればよいようですが、個人そこまでできません。

    デバイスCookie

    既知および未知のブラウザまたはデバイスからの認証試行を個別にロックアウトすることも検討できます。 デバイスCookieを使用したオンライン推測攻撃のスローダウンの記事(参考2)では、特定のブラウザーが既にログインに使用されているかどうかに関する情報に基づいて、ロックアウトメカニズムのプロトコルを提案しています。 このプロトコルは、単純なアカウントのロックアウトよりもDoS攻撃の影響を受けにくく、効果的で実装が容易です。

    CAPTCHAの使用

    よくある写真で自転車だけ選びなさいとか言うやつです。パズルもありますね。

    最終的に、GoogleのreCAPTCHAを利用するWordPressのPlugin “Login No Captcha reCAPTCHA”をインストールしました。インストール方法は、TechMemoさんをご参照ください。

    Amazonに行く

    参考1

    Blocking Brute Force Attacks

    https://www.owasp.org/index.php/Blocking_Brute_Force_Attacks

    参考
    デバイスCookieを使用したオンライン推測攻撃の速度を落とす

    https://owasp.org/www-community/Slow_Down_Online_Guessing_Attacks_with_Device_Cookies

    参考3

    ブルートフォース攻撃のブロック

    https://translate.google.co.jp/translate?hl=ja&sl=en&u=https://www.owasp.org/index.php/Blocking_Brute_Force_Attacks&prev=search

    編集履歴

    2020/03/20 文言整備、用語整備、参考サイトの整備

    関連記事

  • [愚者は経験から学ぶ] WordPressのあるカテゴリの表示ができないことに気づいた,その奮闘と解決 [2019/11/23]

    [愚者は経験から学ぶ] WordPressのあるカテゴリの表示ができないことに気づいた,その奮闘と解決 [2019/11/23]

    物語の流れは

    表示されなくなったカテゴリ

    状況把握と対策のステージに入る

    • カテゴリ”WordPress”の表示ができなくなっていたことに気づく
    • WordPressに原因があるのか,カテゴリがこわれたのか?
    • 今使用しているテーマTwenty seventyが原因なのか? 2カラム表示で楽しんでいたのに.
    • CTDテーマ(約1万円)に変更すれば,なおるかも.国内トップのテーマ売上らしいが.
    • いっそのこと,WordPress 5.3にアップデートしようか? 5.3より5.3.?になってからが良いと考えていたが.
    • それなら,最新のテーマTwenty Twentyに乗り換えようか?

    実行ステージに進む

    さんざんググったり考えた挙句,WordPress 5.3-jpにUpdateしてテーマTwenty Twentyを使ってみた.

    Twenty Twentyは,ググってみると1カラムモードのみのようだ。今日からは、あまり飾らず。初期設定のままでいってみよう。アクセスは少ないので世の中には迷惑をかけようが無い。飽きたら、また、ドレスアップしよう、と思っている。それにしても、スマホから見た表題がBig過ぎだなぁ。まぁ見やすいか。

    その結果

    表示テストの結果,不具合の原因は,WordPressでもテーマでもなかった.

    今日の律速は体力のようだ.今日はもう寝ることにした.夜中過ぎなので,また,今日の朝に起きてからにする.

    睡眠中でも,何かが競合しているなどあれこれ夢をみているのか,考えていてるのか,それで目が覚めた.

    最終的な解決に至る

    WordPressカテゴリのページが表示されない原因は,固定ページのパーマリンクがwordpressであったことで,カテゴリのwordpressと競合していることであった.

    Updateによる不具合

    WordPress 5.3-jpにすることで,Editor(エディター)に問題が発生した.iOSのChromeでは問題ない.Windows10のEdgeもChromeも同様に問題が発生した.TinyMCE advancedとGutenbergが競合して,TinyMCE advancedによるメニュー表示が表示されたりされなかったり,表示されてもカーソルを動かすと,そのメニューが消えたり,と症状が発生した.乗りかかった船,これまでお世話になったTinyMCE advancedとお別れして,これからは,標準エディターのGutenbergのみを使用することにした.依然としてEdgeでは不具合が残る.

    結論

    固定ページも投稿ページも,同じページであり,パーマリンクは,当然に競合可能である。それが問題を起こす。

    2019/11/22~2019/11/23、はりきり(Mr)

  • [WordPress] Imsanity プラグイン – アップした画像を一括でリサイズ [2019/11/22]

    [WordPress] Imsanity プラグイン – アップした画像を一括でリサイズ [2019/11/22]

    Imsanity

    ImsanityというWordPressのプラグインで、取り込んだ画像のリサイズを一括で行えます。ただし、元のサイズに戻すことは出ません。

    今後、通信速度が5Gになれば、画像サイズによるレスポンス問題はなくなるので、チューニングせずに、それまで(家宝は)寝て待てでも良いかもしれませんね。

    FoxWP

  • [Synology] RT2600ac – Threat Prevention ユーティリティで重大度が高いパケットのドロップ設定、ポリシー設定でローカルネットワークを守る – [2021/05/15]

    [Synology] RT2600ac – Threat Prevention ユーティリティで重大度が高いパケットのドロップ設定、ポリシー設定でローカルネットワークを守る – [2021/05/15]

    ID3461

    Synology Router RT2600ac

    Synology社は、台湾の企業です。個人レベルのNASから、ラック収納するタイプの大規模サーバー製品も作っており、世界的な企業になってきました。独自開発のパッケージ製品の性能が高いことが特徴です(by Mr.HARIKIRI, 2020/12/10)。

    Synology RT2600ac
    Synology RT6600ax
    2022/8にRT2600acからRT6600axに変更しましたが,Synologyのルーター製品では,同じユーザーインターフェースのSRMが使用されているので,使い勝手は同じです.

    RT2600acには、Synology製のインターネットからのアタックからローカルネットワークを守るThreat Preventionというセキュリティ・パッケージが提供されています。

    Synologyのテストによる接続性ですが、RT2600acへの同時接続は、100台までならフル速度で接続できたとしています。個人で使用するRouterとしては十分な性能であり、僕みたいに自宅のNASにblogを立ち上げているようなパワーユーザーである個人使用としても十分に役割を果たしてくれるRouterです。

    その他にも、RT2200acというルーターも提供されていますが、「Threat Prevention」はサポートされていません。セキュリティを高めたいなら、RT2600acを選択すべきです(2021/0515, MR.HARIKIRI)。

    Synology Routerの比較 – Synology site –

    https://www.synology.com/ja-jp/products/compare/routers

    Rule Set

    Threat Preventionのプロックする基準は、脅威のルールセットを元にしています。設定にソースを選ぶところでは、ET Open/ET Proを選べるようになっていますが、ET Openがオープンソースです。ET Proは$900の費用が必要であるとネットには記載がありました。

    Proofpoint Emerging Threats Rules

    http://rules.emergingthreats.net

    Threat Prevention

    Synology RouterのSRMからThreat Preventionユーティリティを起動する。

    1. 概要 > 潜在的な脅威のあるデバイス > 詳細クリック
    2. 定期的に重大度(高)を探して、「ポリシー追加」ボタン > ポリシーの編集 > 造作:ドロップ、に設定しておく。
    3. 起動には、外付けのUSB メモリ にシステムデータベースの構築が必要
      • 当初、余っていたUSB メモリ4GBを使っていました
      • ログの最大を2GBにしていたため、余りが2GBの計算となっていたが、残り3GBは必要との記載があった
      • SRM 1.2.4-8081 Update 2にアップデートしてから、Threat Preventionが途中停止していることが数回あった。
      • そこで、USB メモリ 4GBを16GBに交換することにした

    攻撃からの防衛ポリシー管理は、自己定義ポリシーのページで行います。

    • 自己定義ポリシー > ポリシー > 「クラスポリシー」項目

    最も脆弱性があり被害のインパクトが高いものは、重大度: 高として、Web Application AttachやPotential Corporate Privacy Violationなど、いくつもクラスがあります。代表的なクラスは、以下の「Web Application Attackとは」を参照してください。これらを監視するかの設定は、

    • 自己定義ポリシー > クラス署名
    • 各クラスごと個別に有効/無効を設定できます。

    少なくとも重大度(高)については、有効になっていることを確認しておきます。

    1. Web Application Attack : 重大度 (高)
    2. Potentially Bad Traffic : 重大度 (中)
    3. Misc Attack : 重大度 (中)
    • 自己定義ポリシー > ポリシー > 「著名ポリシー」項目

    署名ポリシーは、どれかのクラスに属する個別の分類です。Web Application Attachクラスに含まれるのが、下図でいうとET WEB_SERVER 401TRG GENERIC WebShell Request – POST with whet in bodyです。これは当然に重大度(高)です。

    ここで、wgetはLinux OS系では一般的に知られいるコマンド型のユーフィリティ、urlを指定すれば、そのサイト全部をゲットできる強力ツールです。

    • 設定 > 全般 > 「ハイリスクなパケットは自動でドロップ」項目にチォック

    してあれば、その都度ドロップされるようですが、そのようなログないので、以下のように、特定のアドレスも含めてドロップの設定にしておいた方が無難です。

    • イベント > 「ポリシー追加」ボタン

    その他、

    • 概要 > 潜在的な脅威のあるデバイス > 詳細クリック

    からも同様に、特定のアドレスのパケット・イベントをドロップ指定することもできます。

    Web Application Attackとは(参考1)

    1. Web Applicationの仕組み

    一般的に、3層のWebアプリケーションモデルが有名です。すなわち、ユーザーの接点は、ネットブラウザのことです。その先にJaveがあり、データベース(Data Base)があってはじめて機能しているのです。

    Web Applicationに対応するServerは、Webサイトへのアクセスを公開する必要があるため、基本的に保護されていません。ポートを規定値から変更していたとしてもポートスキャンなどで知られる危険性はなお残ります。

    • 最初の層: Webブラウザーまたはユーザーインターフェイス
    • 2番目の層: Javaサーブレット(JSP)やActive Server Pages(ASP)などの動的コンテンツ生成技術ツール
    • 3番目の層: データベース。コンテンツ(ニュースなど)と顧客データ(ユーザー名とパスワード、ソーシャルなど)を含む
    • すなわち、Web Applicationは、データベースのゲートウェイと言えます

    2. Web Application Attack (Webアプリケーション攻撃)

    RouterやServerのセキュリティ上の脆弱性により、外部から、そのデータベースに直接および一般からアクセスして、保護されているバスのデータを大量に取得する、これをWeb Application Attackといいます。

    企業のWebサイトを改ざんするような破壊行為(いわゆるスクリプトキディ (script kiddie)によって実行されることが多い)は今でも一般的ですが、今日では、攻撃者は、利益目的のためにデータベースサーバー(Data Base Server)にある機密データへのアクセスを志向しています。

    • データベースを直接標的とするSQLインジェクション攻撃
    • ユーザーをだましてフィッシングサイトにリダイレクトするクロスサイトスクリプティング(XSS攻撃)
    • その他

    重大度が高の統計結果

    参考

    1) scientists,”What Is a Web Application Attack and how to Defend Against It

    2) Understanding IPS Policy, JUNIPER NETWORKS, Techlibrary

    3) Learn more about Policy Violation, ScienceDirect

    4) ET Open vs ET Pro : いずれも脅威をブロックするためのルールセットであり、ET Openはオーブン製品、ET Proは商用製品($900)であることが説明されている。「Threat Prevention」の「設定」にある「ステータス更新」には、「ET Open」がデフォルトになっているが、商用製品も使用できるようになっている。

    編集履歴

    2011/11/22 Mr.HARIKIRI
    2020/12/10 追記 (Synology社についての紹介文、および2020/11/11~2020/12/10の期間 (1ヶ月)でプロックしたパケット地図)
    2022/11/20 追記 (RT6600axについて)