カテゴリー: WordPress

  • [WordPress] Lazy Loader プラグイン – 画像の読み込み遅延によるサイト・レスポンスの改善

    [WordPress] Lazy Loader プラグイン – 画像の読み込み遅延によるサイト・レスポンスの改善

    Lazy Loader

    Lazy Loaderをインスールした。参考にしたblog siteは、に画像の遅延読み込み系プラグインで一番有能なのはコレ!

    機能の意味

    サイト閲覧時の画像表示を一旦停止しておき、文字などを先に表示して、ユーザーがスクロールなどの操作が可能になってから、画像のロードを開始します。この機能によりユーザービリティを向上できます。

    この機能は、画像関連プラグインにも含まれていることが多いので、多重に機能させないように、その他のプラグインの同機能を確認して無効にしておく必要があります。

  • [WordPress] スパム・コメント対策にreCaptchaプラグイン – 更に、「Statify」/ 「SiteGuard WP」でログイン画面の守りを固める – セキュリティ対策

    [WordPress] スパム・コメント対策にreCaptchaプラグイン – 更に、「Statify」/ 「SiteGuard WP」でログイン画面の守りを固める – セキュリティ対策

    はじめに

    自前NASにWordPressを導入してblogを発信していることを前提にしています。Synology NAS/Routerには、それぞれのマシンのログインや、Synologyが独自で提供する各種サーバーの守りは、それぞれのOS (DSM/SRM)で完結できます。しかし、WordPressは独自に守る必要があります。そのために、WordPressのためのプラグインが存在しています。

    これまで、たとえば、スパム・コメントの対策には、「Throws SPAM Away」にお世話になっていました。その役割も、僕の知識も変化・発展したことで、reCaptchaなるGoogleが提供するセキュリティ対策へと移行しています。更に、冒頭で述べたように、WordPress自体を守るために、新たなプラグインとして「Statify」、「SiteGuard WP」を更に導入しました。

    注) Throwは野球でいう「スローイング」のスロー、投げるの意。

    試したプラグイン

    reCAPTCHAで試したのは、2つ。一つ目の「reCAPTCHA in WP comments form」は、コメントの送信ができなかったので使えず、使えたのは2つ目の「reCaptcha by BestWebSoft」を稼働させることにした。

    • reCAPTCHA in WP comments form
      • 8ヶ月前のupdateで、互換性テストがされておらず、結果的には、コメントの送信ができなかったため、使用できなかった。
    • reCaptcha by BestWebSoft
      • Pro版もあり、メンテナンスはされています。Pro版でない無料版のまま使用することにした

    プラグイン

    reCAPTCHA in WP comments form

    reCaptcha by BestWebSoft

    Throws SPAM Away

    日本語が含まれないコメントは、強制的にコメント送信しても廃棄するプラグインです。現在は使用していません。

    Statify

    Statifyの機能

    「Statify」は、サイトのアクセス数をカウントしてくれるプラグインです。純粋なページへのアクセスに関して「Google Analytics」は、詳細なレポートを示してくれます。Statifyを導入する意義を確認するためにStatifyとの比較をしたところ、結果が異なっていました。Statifyでは、/login/へのアクセスがカウントされていたのに、Google Analyticsではカウントされていなかったのです。

    /login/へのアクセスは、私が知らないアクセスでした。不正なアクセスを試みているものと判断できました。Statifyをインストールして約半日の集計で、すごい勢いでアクセス数が増えるのが観察されました。その反日での結果、/login/のアクセス数は、200を超えました(下図に205とある項目)。少し愕然としました。そんなにアクセスを試みるハッカーがいるものだと。「Statify」を、セキュリティ対策プラグインとして採用することにしました。

    わかったこと

    • Google Analyticsは、善意の第三者がページを閲覧することを前提にしたページモニタリング・ツールである。すなわち、Statifyがカウントするログインページのカウントはない。
    • Statifyは、アクセスした数を実直にカウントしてくれる。すなわち、ログインページのカウントもしてくれるので、セキュリティ対策としてのモニタリング・プラグインとして使用が可能と判断した。

    SiteGuard WP

    SiteGuardの機能

    Statifyが示した愕然する程のログイン画面への多数のアクセス数、この結果を受けて調べました。デフォルトのログイン・リンクは変更すべきなのです。プラグインを使用せずに、PHPファイルにコードを加える方法でも可能なのですが、30行から50行程度のコード追加が必要です。メンテナンスが大変そうなので、プラグインで対応することにしました。

    「SiteGuard WP」は、デフォルトである/login/を、安易に想像できないパーマ・リンクに設定する機能を持っています。SiterGuard WPをインストールした途端、即時に/login/をランダムな数で修正するので、当然ですが、その瞬間から/login/へのアクセスの増加は無くなりました。変更後のパーマ・リンクのアクセスのカウントもモニターされていません。「SiteGuard WP」を、セキュリティ対策プラグインとして採用することにしました。

    上記の機能と説明について、以下に捕捉します。

    • ログインページ変更
      • /login/のデフォルトから変更
    • 画像認証
      • bot対策です。かな文字を画像として表示して、それを入力するように促す機能

    以上のSiteGuardによるログイン・ページの変更だけで不正ログインを試みる事例は、一時期極端に減少しました。しかし、運用開始から1週間後の夜中から今日の朝方にかけて約8時間程度で、3つのIPアドレスからの3,000回以上で、WordPressログイン画面に対してアタックを受けました。このログは、SiteGuardの「ログイン履歴」からわかったことです(下図参照)。Google Analyticsではカウントされ無いものです。

    • XMLRPC防御
      • XMLRPC (XML形式のデータを使いHTTPの通信、RPC: remote procedure call)は、WordPressが開発された当時が実装されているログインしたりリモート制御したりするときに使用する通信機能の1つですが、現在ではREST APIというものに置き換えられています。
      • XMLRPCには全弱性があるため無効にすべきです。
      • XMLRPCにある1つの機能であるピンバック機能のみを無効化するか、XMLRPC全体を無効にするか、いずれかを選ぶことができます。

    WordPressのxmlrpc.php詳細ガイド(xmlrpc.phpとは、セキュリティリスク、無効にする方法)- kinsta –

    https://kinsta.com/jp/blog/xmlrpc-php/

    ロックは完璧

    以下の図は、ログ画面の一部です。内容を確認してみると、3つのIPアドレスからの不正なログインアタックが記録されているのが分かりました。下図の例では、3回失敗した後は、ロックされる設定にしているため、その後のアクセスはロックされているのが分かります。

    次の対策

    念の為、危険なIPアドレスを知った後の処置です。自前のSynology NASまたはSynology RouterがGeteになっているなら、ファイアウォールの設定をしておきます。完全に「出禁」に設定してしまうのです。

    Synology NAS/Routerの場合は、下図を参考にして、以下の通りで設定します。

    1. コントロールパネル (Synology Routerの場合; ネットワークセンター)→ セキュリティ → ファイアウォール (タグ)
    2. ファイアウォール プロファイル → 規則の編集
    3. 「作成」をクリック
      • 全てのポート
      • 特定IP → ソースIP → 単一ホスト(を設定)
      • 拒否
    4. OKで登録

    以上の手順で、危険と思われるIPアドレスをファイアウォールに登録しました。しばらくは、この方法で運用して様子を見てみます。

    まとめ

    コメントのスパム対策から始めたこの記事でしたが、それではサイトの守りはままならないことがわかってきました。AMPプラグインとの相性の問題から、一部のページの守りには、reCaptcha を使えています。しかし、ログイン・ページの守りは、これまでは不十分でした。純粋にアクセス数をカウントする「Statify」プラグインの導入をきっかけに、「SiteGuard WP」プラグインと併用することで、ログイン・ページの守りを強固なものにすることができます。確認された危険なIPアドレスはファイアウォールに拒否リストとして登録します。しばらくは、この運用で様子を見てみます。

    編集履歴

    2019/12/25,はりきり(Mr)
    2021/01/07,追記(Statify, SiteGuard WPをセキュリティ対策プラグインとして採用)
    2021/01/23,追記(WPへの不正アクセス試行を発見し対処する方法)
    2021/09/17,追記(XMLRPC防御について),文言整備
  • [Synology] Dynamic DNSサービスとは – Synology Router RT2600ac – myDNS.jpに登録 [2021/01/02]

    [Synology] Dynamic DNSサービスとは – Synology Router RT2600ac – myDNS.jpに登録 [2021/01/02]

    Dynamic DNS (DDNS)サービス

    DDNSとは、固定IPアドレスを持たないでも固定IPアドレスを持っているように振る舞えるサービスです。原理は以下の通りです。

    DDNSの原理

    • DDNSサービサーは、固定アドレスを持っています
    • DDNSサービスを受ける、我々は、固定IPを持っていない一般ユーザーです
    • DDNSサービスに登録すれば、自分のexternal IPアドレスに変更があった場合や定期的に、DDNSサービサーに自動的に連絡する必要があります (Synology NASのDSMにその機能があります)
    • DDNSサービサーは、固定アドレスであり、そこに問い合わせしてくる問合者に対して、DDNSの役割を元にして、管理している該当するドメイン名に対応する、登録ユーザーの現在のexternal IPアドレスを返します
    • 以上の原理により、DDNSサービスを受けるユーザーのIPアドレスに変更があっても、ドメイン名でのアクセスは常に維持されることになります

    DDNSサービサー

    DDNSサービスは、以下のようなプロバイダがあります。当サイトでは、「harikiri.diskstation.me」を使用していますが、「harikir.myDNS.jp」も無料で取得しています。どのドメイン名を使用しても、割り当てられている特定のIPアドレスが返されて、訪問者は、そのIPアドレスに飛んでくる訳です。

    DDNSサービス(Dynamic Network Serviceともいう)とは、固定のIP Addressを持っていない自宅のサーバーにおいて、IP Addressに変更があった都度、その設定されたDomain Nameに対して、変更後のIP Addressを再割り振り、問い合わせに応じて、その問合者に対して通知してくれます。

    Synology NASを購入すれば、NASのDSM (Disk Station Manager)からSynologyサイトへ入り登録することでDDNSを無料で利用できます。

    有料のものでは、バッファローが年間3,600円のサービスを提供しているようです。

    その他のサービスも含め、有料コースのメリットは何なのかは調査不足です。名前を自由に決めたりできるのかもしれませんが、経験もないことから言及できません。

    今回は、無料のDDNSサービスサイトを紹介しているサイトの紹介です。

    DDNSの登録サイト

    DynDNS (US西海岸,CAのサーバー)の登録方法については、kajuhomeさんを参照。おススメ3つ(ieServer net, no ip, myDNS.jp)を紹介頂いているサイトは、Viral Communityさんを参照。

    Synology NASの設定について何時もお世話になっている「観音寺」さんによるホームネットワーク研究所には、myDNS (東京のサーバー)の導入方法が紹介されています。

    当サイトでは、「harikiri.diskstatiom.me」のドメイン名は、1年以上(2021/01現在)使用しているので、馴染んでしまいましたが、異なるドメイン名に別のWordPressサービーを立ち上げれないかを検討していました。先ずは、Synologyが提供するドメイン以外で、フリーのDomain Name登録を模索します。

    上記の目論見は、実は不可能なのです。「harikiri.diskstation.me」と「harikiri.myDNS.jp」はいずれも同じIPアドレスを指しています。すなわち、「ドメイン名」と「IP アドレス」は1対1に対応するためです。殆どの場合、ドメイン名の登録は、ポート番号を含めては登録できません。

    従って、外部からのアクセスは、一旦、ドメイン名に対応する一意に設定されたIPアドレスに飛んで来ます。そして、それは、ポート転送により1つのサーバーに誘導されます。よって、どのようなドメイン名をコールしても、必ず1つのサーバーに飛んでくることになります。

    • そこで、ポート番号が設定されてあれば、それに従った振り分け先である別サーバーに飛ばすことが可能となります。この方法では、ポート番号を付加したアクセスになってしまい、コール側では、ポート番号を意識しなければならず、また、サーバー側では、複数ページで全てにポート番号を付加しないといけなくなります。この方法は、あまりにも冗長です。

    次に、サプドメインで飛ばす方法です。この方法は、少し可能性があります。

    • 「harikiri.diskstation.me」にサブドメインを付加して、例えば「happy.harikiri.diskstation.me」としてやって、happyの部分をポード変換(設定が必要)で、別サーバーに飛ばして上げます。
    注) IPアドレス・ポート番号をドメイン名に割り当てることはできないが、「リバースプロキシ」を使えばできるらしい。今後要検討。
    
    注) DNSの「SRVレコード」を使うと、特定のドメイン名とIPアドレス・ポートの組を紐付けることが可能なようですが、そもそも、WebブラウザSRVレコードに対応していないものが殆どないため実現は不可です。

    以下、「myDNS.jp」ドメインを取得を前提に解説します。

    設定

    myDNS.jp

    2020年の夏頃からか、接続ができなくなっていて、ドメイン通知が機能しなくなっていました。今日(2020/12/29)まで原因がよく分からず放置していましたが、少し集中して原因を調査したところ、以下の設定のように修正して、httpでのアクセスをhttpsにすることで解決しました。

    • 外部アクセス → DDNSを開く
    • myDNS.jpのカスタム設定を開く
    • 以下のように設定を修正する
    • https://www.mydns.jp/directip.html?MID=USERNAME&PWD=PASSWORD&IPV4ADDR=MYIP

    設定が完了していれば、定期的にDDNSとのやりとりをして「ドメイン名」を維持してくれます。「ログセンター」には以下のログが確認できるはずです。

    System successfully registered [<external IP address>] to [<your domain>.myDNS.jp] in DDNS server [USER_myDNS.jp].

    * <>内は、設定による。

    ツール

    スピードテスト : SolveDNS
    スピードデータ : DNSPerf

    WordPressウェブサイトのスピードアップについて(2020年のガイド)

    https://kinsta.com/jp/learn/speed-up-wordpress/#dns

    RockDiskというNASでは

    Threat Preventionを導入してから、5年以上前に導入・稼働させているNAS (IO-DATA, RockDisk)が、定期的に外部に通信しているこことがログから分かりました。ログではHigh Riskの扱いです。High RiskはThreat Preventionからドロップ設定しておくと安心である。

    threat prevention

    しかし、その相手先のIP Adressを調べてみると、Dynamic DNS Servieのサイトのようでした。

    そこで、RockDiskが通信しているIP Address: 216.146.43.71を調べてみるとUSの東海岸にあるDynamic DNS Serviceサイトであることが分かり増した。

    余談ですが、この地は、アニメ「ヴィンランド・サガ」で登場する楽園であるところの「ヴィンランド」に近い。

    同様にしてWhois検索してみると、以下のような応答がありました.真ん中よりすこし下に「Dynamic Network Services, Inc. DNSINC-3」とあります。RockDiskのDDNSとの関連は不明ですが、IO-DATAがRockDiskのDDNSを可能にするために用意した、おそらく無料のサービスであると考察しています。

    #
    # ARIN WHOIS data and services are subject to the Terms of Use
    # available at: https://www.arin.net/resources/registry/whois/tou/
    #
    # If you see inaccuracies in the results, please report at
    # https://www.arin.net/resources/registry/whois/inaccuracy_reporting/
    #
    # Copyright 1997-2019, American Registry for Internet Numbers, Ltd.
    #


    #
    # Query terms are ambiguous. The query is assumed to be:
    # "n 216.146.43.71"
    #
    # Use "?" to get help.
    #

    Oracle Corporation DNSINC-3 (NET-216-146-32-0-1) 216.146.32.0 - 216.146.47.255
    Dynamic Network Services, Inc. DNSINC-3 (NET-216-146-32-0-2) 216.146.32.0 - 216.146.47.255



    #
    # ARIN WHOIS data and services are subject to the Terms of Use
    # available at: https://www.arin.net/resources/registry/whois/tou/
    #
    # If you see inaccuracies in the results, please report at
    # https://www.arin.net/resources/registry/whois/inaccuracy_reporting/
    #
    # Copyright 1997-2019, American Registry for Internet Numbers, Ltd.
    #
    

    その他、DynDNSに登録してサービスを受ける手順: site

    DDNSで与えられたドメイン名と証明書

    何度も経験しているのですが、この証明書が無いか期限が切れていると、myDNS.jpにおけるドメイン維持のための通信にエラーが発生します。確認が長期に続く場合は登録が削除されます。通信エラーによりドメインが確認できない場合、myDNS.jpからアラートメールが届くので、日頃からのメール確認はこまめにする必要があります。

    与えられたドメイン名でサービス(サーバーを立ち上げてblogを発信)をするには、そのドメイン名が正当であることの証明書が必要です。それにより、「https://」でアクセスすることが可能になりSSLによる暗号化通信とすることができます。

    証明書は、第三者機関からもらいます。最近では、ボランティア団体(Let’s Encrypt)により、その証明書が発行されているので、証明書をもらいます。

    Synology RouterのRT2600acでは、Let’s Encryptの証明証を取得する設定画面があるので、取得は簡単にできます。

    編集履歴

    2019/12/21 Mr. Harikiri
    2020/12/29 追記 (DS918+のDDNS設定の修正により接続できるようになった)
    2021/01/02 追記 文言整備
    
  • My home NAS History – IO-DATAのRockDisk (1TB~4TB), IPHL2-A (8TB :RAID 0, 4TB x 2 ) → そして、SynologyのDS918+ (8TB x 4, RAID5)に至るまで (DS918+をどのような基準で選択したのか) [2021/03/10]

    My home NAS History – IO-DATAのRockDisk (1TB~4TB), IPHL2-A (8TB :RAID 0, 4TB x 2 ) → そして、SynologyのDS918+ (8TB x 4, RAID5)に至るまで (DS918+をどのような基準で選択したのか) [2021/03/10]

    はじめに

    RockDiskRockDisk Nextは、IO-DATAのNASです。音楽ファイルをストリーミングしてたりして喜んでいました。

    Synology NAS (DS918+)を1年前に導入してからも、RockDisk/Nextは、壊れずに現役で稼働しています。ただし、外からアクセスすることはもうなくなりました。

    図1. RockDisk
    図2. RockDisk Next

    RockDisk & RockDisk Next

    rockdisk
    rockdisk next io-data
    図3. RockDisk と RockDisk Next

    RockDiskを導入したころは、NASには、そもそも興味がありませんでした。「高価そうだし何ができるの?」と毛嫌いさえしていた。

    ある日、ネットサーフィンしているとき、IO-DATAのRockDiskなるNASキットが、HDD別売でNASを導入できるといいます。それならと、それを購入・組み立ててローカルネットに載せました。外からNASにアクセスしてみたりと、自分のネットの広がりを実感しなが戯れごとで満足していた。

    今考えれば、そのアクセス速度は非常に遅かったことを、後から導入したRockDisk Nextで知りました。

    IPHL2-A

    RockDisk Nextでも応答速度に不満を持っていたので、その後、IO-DATAから少し本格的と思われたIPHL2-A8.0RTをネットで見つけてしまった。導入して4TB HDD x 2でストライピングしてみると、応答速度は、目に見えて早くなりました。

    これまでにPDF化した書籍をIPHL2-A8.0RTにストックし、出先からダウンロードして喜んでいた。

    現在では、メール通知機能も使えなくなり単なるバックアップストレッジに化しています。メール設定では、20文字までのパスワードでないとシステムとして受付けないことで、Gmailにて設定している20文字以上のパスワード長に対応することができません。この制約については、現在生産中止となっていることから、今後の対応はしてもらえないと考えられます。長く現役で頑張って欲しかったですが、それも叶いませんでした。少し高価でもSynology NASを選ぶべきです。

    IPHL2-A.IO-DATA

    IPHL2-A メール通知機能の設定方法

    https://www.iodata.jp/product/nas/personal/iphl2-art/

    IPHL2-Aシリーズのファームウェア:

    HDL2-Aシリーズ ファームウェア | ソフトウェア | サポートライブラリ | IODATA アイ・オー・データ機器

    Synology NAS

    昨年(2018)の初頭あたりから、Synology NASがネットで話題になっているのに気付きました。

    Q-NAPは、マシン性能、Synologyは、ソフトウェア性能(基本ソフトウェア: OS、ユーザーインターフェース等を含め)を、それぞれ売りにしていることが理解できました。

    Q-NAPと比較

    同程度の価格では、Q-NAPの方が性能が高いようでした。マシン性能が高い方が良いと思うのは普通ですが、時間をかけてじっくり考えてみました。

    あるメーカー内では、全てのシリーズのNASにおいて、ほぼ同じ「基本ソフトウェア」(搭載されているCPUの違いで使えないパッケージアプリなど)が搭載されるため、使いやすく且つ長く使うためには、基本ソフトウェアの性能差を優先すべきと考えました。

    マシン性能は、投資する額を自分の設定より上げれば済むことが多く、一方、ソフトウェア性能は、メーカー技術そのものの技術力が反映されることが多いと考えられます。この事は、IO-DAT製品NASを使った経験からよく知っていました。

    以上の考察から、ソフトウェア性能が高い、Synology製品のNASを選択することにしました。

    最後に、Synology NASを選んで、尚且つ、私が求める要求仕様を満たすには、投資額を上げることで、マシン性能もソフトウェア性能も両方ともに解決できると考えたのでした。

    • ソフトウェア性能が高いメーカーを選ぶ
    • マシン性能は、そのメーカーの中でも上のクラスを選ぶ

    エントリーモデル? それとも

    通常、Synology NASの売れ筋は、2xHDDで運用するDS218シリーズであり、2コアです。

    Synologyに決めた後は、CPUの性能差やその後の拡張性を考慮する必要がありました。

    エントリーモデルでは、HDD x 2スロットなので将来的に容量不足になりそうだし、Raid 5も構築できずデータの保護に問題があります。かといってプロ仕様の8スロットは論外だったので、HDD x 4スロットを選定範囲とした。

    結局、クアッドコア(1.5GHz)のDS918+を選択しました。

    メモリー増設、キャッシュ追加、更にHDD拡張ボックス(HDDx4)の追加が可能です。長く使えるという期待がありました。

    DS918+

    DS918+を導入すると決めてから、小遣いを貯め始めました。結局購入できたのは、約1年弱かかり年末になりました。

    2013

    RockDisk x 4
    IO-DATA
    1TB HDD

    mpgファイルなどら、Toshiba REGZA R1からネットを介して視聴可能

    RockDisk Next
    IO-DATA

    搭載CPUがコレードアップされてアクセス速度が改善

    2014
    2016

    IPHL2-A
    IO-DATA
    2x4TB HDD

    Raid1(ストライピングによるアクセス速度高速化で運用)

    DS918+
    Synology
    1 x 8TB HDD (basic) for short time to 3 x 8TB HDD update

    3x8TB HDD with RAID5
    2x4GB Memory
    2x512GB SSD cache

    2018 ~ 2019
    2020/06

    Update to DS918+ with one 8TB HDD

    4x8TB HDD with RAID5
    2x4GB Memory
    2x512GB SSD cache

    初期のDS918+のHDD運用は、シングル・モードのBasic HDDで開始し、その後2台のHDDを追加して3台にして、Raidに移行した。メモリーも追加し、キャッシュも追加して現在の形になった。

    ホームページの作り方が大きく変化していた

    DS918+を導入するまで、RockDiskで遊んでいたりしていた、それより以前には、PCにApacheを導入してホームページをローカルネットワーク内で稼働させたりしていました。そのような方法しか、ホームページを作る方法は無いと思っていました。

    ところが、「最近のポームページの構築(2018年現在)は、どうやらWordPressでする」のだと分かってきました。

    WordPressの発表は、2003年です。普及時期のVersion 3.0は2010年です。Version 3.1には、少し時間が経過してした2016年です。世間一般になてきた時期が2016年以降ということだと思います。

    ぼくは、化石の世界にいたことっを知りました。

    昔は、自分のローカルネットワーク上に、事事を保存・まとめるために、Linux上でポームページを作っていたことを少し述べましたが、その詳細は、以下の通りで結構本気でやっていました。

    • PostgreSQL、Apache
    • しまいには、15万円もするIBMのRelational DataBaseのDB2 for Linuxを導入
    • コンテンツは、HomePage BuilderというIBMのソフトウェア製品

    blog?

    blogとはなんですが? 僕はよく知りませんでした。そう、WordPressの登場で、個人で発信するホームページは、今ではblogという代名詞に置き換わり、その導入・運用のハードルは無いに等しくなったようです。レンタルサーバーが拍車を掛けています。

    以前では、今で言うWordPressのプラグインは、Perlなどのプログラミング言語を使用してカウンター機能や特別な表示機能などを自作してい増したた(ミドルウェアともいう)。自分用なので自分がどれだけ閲覧しているかを知るのみでしたが。。。

    これからは。

    それで、今のぼくの環境と言えば、Synology NASとWordPress, Maria DB, Dynamic DNS(ローカルではなくインターネットに公開できる; Synology NASを購入すれば1つのDomain Nameを登録するともらえる、実はフリーの登録サイトもある)で、事ごとを日々綴っています。

    DS918+は、CPU:Celeron 4 core, 読み書きともに高速、ハードウェア暗号化、4ベイを拡張ユニットDX517 (5ベイ)により9ベイまでHDDを追加可能。

    https://www.synology.com/ja-jp/products/DS918+

    以上

    編集履歴
    2019/12/20 はりきり(Mr)
    2020/02/23 表題追加
    2020/03/07 追記(Feature Image)、文言整備
    2020/05/31 追記(Cool Timelineによるタイムライン表示)
    2021/03/10 追記(IPHL2-Aのメール設定が貧弱であるため長いPWに対応していないことによる弊害について)
    2023/07/09 訂正: 8TB x 2 mirror -> 8TB: RAID0, 4TB x 2)
  • [Synology] Threat Preventionから通知が来なくなる現象を取り敢えず回避する(改)

    [Synology] Threat Preventionから通知が来なくなる現象を取り敢えず回避する(改)

    Threat PreventionからのE-mail通知が来なくなる

    Threat Preventionは、Synology Router RT2600acに導入しています。不正なアクセスがあればメールでの通知を設定しているが、突然来なくなることが、これまでにもあり、今回も突然来なくなりました。

    設定

    Threat Preventionを使うには、3GB以上のUSB Memoryを外部接続しなければなりません。

    統計やログに使っているようです。すべての通信をみているのだから、そのログの容量は大量に発生します。

    先入先出しにより、メモリーいっぱいになったら、古い物は廃棄する設定です。

    今回、通知が来なくなったので、以前の場合もすこしきなっていいた対処法を試してみました。

    その結果、ログをクリーンしたところ、解決しました。接続していUSB Memoryは4GBであるものの、10年ものです。まあぁ高価な方でした

    • 古さのせいか
    • ログは3GBが必要とあるので、空き容量の少なにさが悪さか
    • 発熱しているようなので、熱暴走か

    4ヶ月経過しても順調に、ドロップした時の通知のE-mailは、毎日10〜20通くらい届きます。

    2019/12/20 はりきり(Mr)
    2020/04/17 追記、経過観察した結果

    関連記事

  • [WordPress] 自宅サーバーのWordPress – プラグインで致命的なエラーにより管理画面(ダッシュボード)に入れなくなった場合の対処法

    [WordPress] 自宅サーバーのWordPress – プラグインで致命的なエラーにより管理画面(ダッシュボード)に入れなくなった場合の対処法

    プラグインによる致命的なエラー

    どなんプラグインでも起こり得ることだか、今回、初めてのプラグイン関連の致命的なエラーを経験をしたので、詳細をのこします。

    エラーしたプラグイン

    エラーしたのは、Cool Timelineというタイムラインを簡単に作れるWordPressのプラグインです。ライト版のCool Timelineと正式版のCool Timeline Proがあります。

    最初にライト版で試用して、正式版に乗り換えましたが、今まで、ライト版も停止状態で残していました。今回、削除しようとして誤って有効化のボタンに触れたことで、致命的なエラーが生じたと表示が出て、ログインもサイト表示もできなくなってしまいました。

    復旧

    これまでに、Synology NAS用のパッケージソフトであるバックアップ・アプリを2種類をインストールしていたので、そのバックアップ・ファイルから復元を試みました。

    しかし、復元しても、やはりダッシュボードには入れず、サイトの表示もエラーが出てできませんでした。

    WordPressの裏口から

    以下のメールがWordPressのシステムから来ていました。それを知らずに色々していた訳です。

    そのメールの「リカバリーモード」のリンクからダッシュボードにはいり、エラーしているCool Timelineを削除することで、ログイン時にエラーする現象から復旧できました。

    分かったこと

    しかし、最初に「リカバリモード」を使わず、バックアップ復元による方法による復旧を試したことから、以下のことがわかりました。

    • バックアップファイルから復元したファイルには、プラグインの有効化/停止の状態を保存しているファイルはないこと。
    • おそらく、それ以外のところ(Maria DB)に保管されているのではないかと思われます。今回の復元は、DBアプリを含めずblogのデータのみを対象にたことから、そのように考察しています。

    復旧手順が書かれた受信メール

  • [WordPress] Post SMTP Mailer/Email Log プラグインを導入

    [WordPress] Post SMTP Mailer/Email Log プラグインを導入

    機能

    サイト外へのメールをWordPressから飛ばせなかったが、このプラグインのお陰で無事に飛ばせるようになった。

    自宅NASサーバーのメール関係に設定不良があることが、WordPressからサイト外にメールを飛ばせない原因かも知れません。

    Ultimate Memberプラグインでは、ユーザー認証のために、登録を要求してきたメールアドレスに対して、確認メールを送ります。その時にサイト外へのメールの送信が必要になります。

    編集履歴
    2019/12/14 Mr.HARIKIRI
  • [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」プラグんインを使用していることを追記