スパム対策設定その後

先のスパム設定の結果と追加対策

対策前の1週間: 対象のスパムなどのメール は 284通。 これは振り分け前なので一部MLも含んでいる。 半数はスパム候補として判定されマークされている。一番対策したかったのは、メーラーやSpamAssassinでスパム判定し漏れてメインのメールボックスに入ってくる新しめ?のスパムでした。 100通/週くらいありました。

対策後の1週間;メインのメールボックスに入るスパムはほぼなくなり、1週間で2,3通でした。スパム判定の下メール内訳は次の通り、
先に追加したスパム判定ルールで検出したスパム:222通。うち、97通はメーラーやSpamAssassinでスパム判定し漏れたものでした。 追加したルールで引っかからず、メーラーやSpamAssassinで検出したものは157通ありました。 
 誤判定がないとは言えませんが、誤判定してしまうような環境から送信されたメールは不要としてしまってもよいかもしれません。数はほとんどないのでどうしても必要ならホワイトリストに入れることで回避できます。 スパムに困っている人は参考にしてください。

スパムメール対策 、おや多いと思ったら設定し漏れ…

最近スパムメールが増えてきたので、設定の見直しをしてみた。いくつかのパターンに分けて対策を試みる。

fromが自分のメールアドレスに偽装されているもの

このパターンは、一目でスパムとわかるので、まとめて削除できるが、事前に何とかならないか設定方法を見直してみる。
 このパターンは、サーバーで拒否してほしい。これは、送信元IPや送信元サーバーのドメインで判断できる。しかし、ここのレンタルサーバサービスでは提供されていない。仕方ないので、メーラで受信後に自動削除してみよう。
 メーラによって設定方法や設定ができるかどうか変わりますが、以下はThunderbirdでの設定方法です。
 ツール→メッセージフィルタ→新規→フィルタ名を入力→条件で”カスタムヘッダ”「Received」 に”次を含む”「.XXXX (unknown」を指定し、 動作に「メッセージ削除」を指定する。
  この設定で、 *.XXXX ドメインと語るサーバー(本当のドメイン名unknownつまりDNSで逆引きできない)から送信されたメールを削除する。

特定IPからの送信を拒否

特定IPからの送信を拒否するより、送信元のメールアドレスが自分で、送信元のIPが自分以外のものを拒否するほうが効果的だろう。このパターンも レンタルサーバサービスでは拒否方法が提供されていない。同様に、メーラーで削除設定してみよう。上と、同様に
 仕方ないので、メーラで受信後に自動削除してみよう。
 ツール→メッセージフィルタ→新規→フィルタ名を入力→条件でカスタムヘッダ「差出人」に「次を含む」・「自分のメールアドレス」とand条件で「Received」 に「次を含む」、「unknown」を指定し、 動作に「メッセージ削除」を指定する。 「Received」 に「次を含む」、「(unknown」を指定し、 動作に「メッセージ削除」を指定する。※2019/12/26更新 普通にサービスされている正式なものにも意外に送信元名が設定されていないサーバーがあるので、IP逆引きできないものに限定することにした。これだけでも半数以上のスパムを処置できそうです。

以上の設定で、かなりの数のスパムメールが減るハズ。
とりあえず、1週間くらいこれで様子を見てみよう

セキュリティパッチでないのに短期間でWordPress5.3.2がリリース。 5.2系のパッチは?

 WordPress5.3.2が12/18にリリースされた。 5.2.6はリリースされているかは自動適用されていないので不明。5.3.2での修正内容からは5.3.1で作りこまれた致命的なバグとわかります。これが短期間でのリリースの理由でしょう。ないことです。1件のバグ(#48145)は煮え切らない解析の結果、5.3での修正(#45821)の影響で発生していると判断して、修正を行っている。意外にPHP側に問題があり、その問題回避をしているのかもしれない。 いずれにしても、5.3.2は5.3以降に発生した問題の修正なので、これらの対処のために5.2.6がリリースされることはなさそう。  それから、 分かりにくいが5.2.5が登録されていた。  
 そのほか5.3.2リリースでは、5.3系のアップデートはこれで終わりで次は5.4とされている。なので、5.3系へのアップデートは様子見とします。
 ただ、5.3.1に上がってしまっている環境については、5.3.2にアップデートすることとします。

■それより、プラグインのパッチは?

 プラグインについては、当てられるものはパッチ適用する。

WordPress5.3.1 セキュリティパッチが出たけど、5.2.5が適用された。

 WordPress5.3.1 セキュリティパッチが12/13にリリースされた。 同時に、5.2.5もリリースされたようだ。5.2.5についてはセキュリティパッチのページには掲載されていない。5.2.5が適用されたことは期待値どおりだが、5.2.5のことが情報公開されていない点がいまいちだ。修正内容の管理も5.3.1は情報があるが、5.2.5の情報がない。相変わらず管理が不十分な感じはぬぐえない。

■で、パッチ適用はどうする?

 手動でのパッチ適用は、5.3.1しかできないようだ。これは5.3.に誘導する策略なのかと違ってしまうが、、、。 まずは、テストサイトで5.3.1の検証を行う。そこで、問題が無ければ、ほかの本番系サイトにも適用していく流れにするしかなさそうだ。…..  困ったものだ。

WordPress5.3はとりあえず様子見

 WordPress5.3が11/12にリリースされたので、別に構築したWordPress検証サイトで動作確認しています。

■更新する際に留意しておきたい点

 WordPress5.3へコンテンツの更新を行った後に、DBの更新が行われる。DB構成が更新されていそうです。どこが更新されたのかは、ぱっと見ではわかりません。
 → 更新でトラブルが発生した場合、書き戻しするにはDBの書き戻しも必要となる。更新&検証の際には、切り戻し時間にDB書き戻し時間も考慮しておく必要がある。当然だが、更新直前にDBデータのバックアップを行う時間も考慮しておく必要がある。

■WordPress5.3での変更点の確認

 エディタ機能が強化された。  メニューに「ブロックのグループ化 」が追加されています。 
 全体的にはあまり大きな強化や変更はない。急いで更新したいというものはない。また、更新に関して、問題も特に問題はなかった。そのため、とりあえず5.3の適用は保留し、今後提供されると推測されるセキュリティパッチがで提供されたタイミングで更新することにする。

WordPress5.2.4セキュリティパッチ

5.2.4セキュリティパッチが適用されてました。動作的には問題ないようなので、パッチ検証環境以外にも適用します。

 このほかに、5.3 Release Candidate が出ています。特にほしい機能があるわけではないので、取り換えず様子見です。

 そして、以前に旧版へセキュリティパッチの話を書きましたが、5.1.3が同時にリリースされていました。パッチリリースのところには情報公開されないのですね。ちょっと不親切な感じがします。

spamの配信ツールはDNSキャッシュがずっと残る?

サーバが切り替わったので、古いサーバ宛のメールはほとんど来なくなりましたが、今日もまだ古いサーバに1件メールが来ていたので確認してみました。

”Security Notice. ……”というタイトルのspamメールでした。
送信ツールから、直接古いメースサーバ宛に送信されていました。普通のメールクライアントからの送信なら、送信用メールサーバーを経由するので、2段階以上の送受信となるはずですが、つぎのように、1段階だけでした。
 この部分をチェックするだけでも、何らかのツールを使って送信していることが分かります。

メールのソース
:省略
X-Mozilla-Keys:                                                                                 
Return-Path: <xxx@mic.or.jp>
Received: from tm.82.192.61.119.dc.telemach.net (tm.82.192.61.119.dc.telemach.net [82.192.61.119])
 by mic.or.jp (Postfix) with ESMTP id 7070911002A03
 for <xxxx@mic.or.jp>; Wed,  9 Oct 2019 10:25:50 +0900 (JST)
From: xxxx@mic.or.jp>
To: <xxxx@mic.or.jp>
Subject: 
:省略

  そして、DNSを切り替えて、1週間程度経過しているにも関わらず、古いサーバ宛に送信されています。 どこかにキャッシュされていたDNS情報を取得して古いサーバ宛に送信されたことが考えられます。しかし、今回のケースだと、1週間以上前にもメール送信した実績があり、その時に取得したDNS情報をキャッシュしていて、昨日メール送信する際にその情報を使ってメール送信したと考えるのが妥当でしょう。 メールマガジンの配信など大量メール送信ツールにはDNS情報のようにキャッシュできるものはキャッシュして性能を稼ぐ実装を採用しているものもあります。そのような技術をspam送信に利用しているのでしょう。

WordPress 5.3 Betaリリース、 旧版へのセキュリティパッチは?

2019年9月23日にWordPress5.3Beta1がリリースされていますが、旧版へのセキュリティパッチの情報は特にありません。WordPressは新版をリリースするときは1か月くらいかけて毎週のように更新版を出してきます。開発のほうに力を入れていて、セキュリティへの対処へ使うパワーがあまりない感じがします。
セキュリティ対処は外部の人の力に頼っていて、自己対処ができていないのではないかと思われます。このような状態では、新規開発部分に作りこまれる脆弱性は減らず、脆弱性がどんどん増えていく状態になるのではないでしょうか?

さて、追加でWordPress 5.2.3 で対処された脆弱性について確認します。 影響度と影響範囲の情報について追加情報が出ていますが、あまり詳しくありません。 CVE-2019-16220JVNDB-2019-009141)の場合、影響バージョンは WordPress 5.2.3 未満 となっています。該当機能が、初期バージョンから存在するのか疑問ですが、該当機能はかなり以前からあるので事実上すべてのバージョンに影響があるといってもよいのかもしれません。それから9/12の午後以降にJVNの情報公開がされていました。今後のセキュリティパッチはWordPress5.3に対して提供されることになると思われるので、どのタイミングでWordPress5.3に上げるのか、検証計画を立てておくなど検討しておいたほうがよさそうです。

WordPress セキュリティパッチのみ自動適用するには

 WordPressのセキュリティパッチに関して検討および対処してきましたが、多数のプラグインの利用とWordPressのパッチリリースのスタンスや情報公開の仕方を考慮してパッチリリース状況の監視と適用の手順を見直しました。
 セキュリティパッチのみを適用するということが、WordPressの場合は「セキュリティ修正が含まれているのにメンテナンスパッチ」となっていたり、「プラグインのセキュリティ問題の対処をセキュリティ修正としない」とされていたりする状況からあまり妥当でないとなっていると判断しました。

つまり、ポイントは次の2点です。
・WordPressがいうところのメンテナンスリリースとセキュリティリリースとを区別して別の取り扱いをする意味はあまりない。メンテナンスリリースとされていてもセキュリティの対処が含まれている場合がある。
・ メンテナンスリリースとセキュリティリリースのどちらも適用しないと問題があるかどうかを確認できない場合がある。

以上の状況から、つぎのようにします。

「テスト用サイトを立ち上げておいて、テスト用のサイトについてはパッチを自動適用する設定にしておく、パッチ適用のメールが来たら動作確認を行い、本番環境に適用するかどうかを吟味し適用手順を確立したうえで適用作業を行う。」

WordPress 5.2.3 セキュリティパッチの適用

2019年9月5日にリリースされたセキュリティ&メンテナンスパッチWordPress5.2.3について書きます。 wp-config-sample.phpが更新されていましたが、動作に影響がある変更はなく実質的には気にする必要はありませんでした。5.2.1のように白画面になることもありませんでした。
 しかし、” Page Visit Counter ”がエラー(具体的に何のエラーなのか情報がない)で止まっていました。この停止問題はプラグインを設定ページで有効化することで解決しています。

WordPress 5.2.3 で対処された脆弱性について確認します。 WordPressのサイトの情報では1件ごとに明確にされるべき影響度とか影響範囲の情報がなく、問題検出者への感謝?の公開の場でしかありません。何とかしてほしいが、他のサイトで確認してみましょう。 9/12時点でJVNのほうにはまだ登録されていないように見えます。NVDの情報では、つぎの7件がWordPress5.2.3で対処されたことが分かります。

CVE-2019-16223WordPress before 5.2.3 allows XSS in post previews by authenticated users.
CVE-2019-16222WordPress before 5.2.3 has an issue with URL sanitization in wp_kses_bad_protocol_once in wp-includes/kses.php that can lead to cross-site scripting (XSS) attacks.
CVE-2019-16221WordPress before 5.2.3 allows reflected XSS in the dashboard.
CVE-2019-16220In WordPress before 5.2.3, validation and sanitization of a URL in wp_validate_redirect in wp-includes/pluggable.php could lead to an open redirect.
CVE-2019-16219WordPress before 5.2.3 allows XSS in shortcode previews.
CVE-2019-16218WordPress before 5.2.3 allows XSS in stored comments.
CVE-2019-16217WordPress before 5.2.3 allows XSS in media uploads because wp_ajax_upload_attachment is mishandled.

9/11にDBに登録されたばかりで影響範囲など詳しい情報はまだありませんでした。

想像ですが、9/12時点で過去バージョンに対してセキュリティ修正のみ(WordPress5.1.2?)を提供しようと準備しているように見えます。5.2.3のリリースには「In addition to the above changes, we are also updating jQuery on older versions of WordPress. This change was added in 5.2.1 and is now being brought to older versions. 」の記述があります。しかし明示的には5.1.2について特にアナウンスしているようには見えないので、本当にリリースされるかはわかりません。どうしても欲しければチームに入って推進すればよいかもしれません。