テーマ Virtue を3.2.0(現在は3.2.1)に更新したら、
カテゴリーページがエラーになり、表示されなくなってしまった。
templates/content.php の何行目だかが問題なのだと。
子テーマで修正しているファイルなので、取り急ぎ内容を親テーマと同じにしておく。
それでエラーなく表示はされるのだが、問題はカテゴリーインデックスページに画像サムネールが出ないこと。もうすっかり作業内容を忘れていたので、しばらく放置するも、本日修正できた。
テーマ更新によりコードの構造が変わっているので、どこを直せばよいのかがしばらくわからなかった。
サムネール画像部分が col-md-5 post-image-container というdiv class なので、この指定場所を探し、<a>タグ内の <img src・・・以下をごっそり以下のタグに差し替える(width height と meta などの4行も削除)。
<img src="<?php echo catch_that_image(); ?>" alt="<?php the_title(); ?>" />
これで無事、記事トップの画像をサムネールとして取得してくれるようになった(前段階としてfunctions.phpに追加コードが必要。こちらはそのまま利用でOK)。
懸案事項が片付いて嬉しいのだが、実はもう一つ大きなトラブルが発生している。
wpX からメールが来た。
お客様の上記サーバーアカウントにおいて、 サーバー用メール送信ソフトウェア(Sendmail)を用いた 日本国外のメールアドレスに対する大量のメール送信処理を確認いたしました。
当サポートにてセキュリティ調査を行いましたところ、 お客様がご利用のプログラムにセキュリティ上致命的なバグ(脆弱性)が存在し、 当該脆弱性を第三者に悪用されてしまった可能性が非常に高い状況でございました。
そのため海外からの接続を遮断した、よって海外からのアクセスは403エラーとなる。ただし国内のアクセスに問題はない、という。
続いてJetpackからも「サイトが読み込まれていない」とメールが届いた。ブラウザからアクセスすると、国内の自宅PCでも403エラー。なぜかwpXの管理画面からWPの管理画面に入ると、表示されるようになる。
実はたまたまプロバイダを変えたのが、このタイミングだった。それも関係しているのかもしれないが、不思議なのはリンクなどでダイレクトにページに飛ぶと表示され、トップページのみが表示されないということ。
とにかく、以下の三点を検証し報告せよ、その結果解除を検討する、とのこと。
1.配布元等で脆弱性が公開されていないかどうか
2.古いバージョンのまま利用していないかどうか
※脆弱性が残ったままの古いバージョンのプログラムを使用し続けると、不正アクセスの対象として狙われやすくなってしまいます。
3.ファイルの改ざん、不正ファイルの設置がないかどうか
ちなみに今回FTPは大丈夫そうなので、問題はほぼプログラムのバグ(脆弱性)だろうという。
が、プログラムの脆弱性といったって、何をどう調べればいいのか皆目わからない。まずはプラグインとテーマを全て更新する。バグについては、プラグインやテーマについて検索するも別段ひっかかるようなものはなかった。ファイルの改ざんはなさそう。
例としてアクセスログの一部が転記されていた。IPアドレスは皆同じで、調べたらアメリカだった。
アクセスされているページは二ページ。このうちの一ページにPDFファイルをプラグインで埋め込んでいた。しばらく前からこの埋め込みが非表示になっていて、ファイルの置き場所を同じサーバー上に変えたら(一旦は)表示されるようになったのに、その後また表示されなくなっていた。このプラグインを停止してみた。
この段階で、できることはやったとサポートに連絡。が、あいかわらず国外からアクセスが継続している、メールフォームに画像認証を導入せよ、との回答。
(wpXの)デフォルトで入っていたSiteGuardを有効化し、コメント欄にひらがな認証を設置。コンタクトフォームをテーマのテンプレート利用をやめ(数式計算の認証がついてたんだけどね…)、contactform7+reCAPTCHに変更。連絡。様子を見ますとの返信あり。
wpXの管理画面でエラーログを見ると、あいかわらず件の二ページにアクセスが続いていて、access_compat:error となっている。海外からのアクセスだからはじかれている、ということか? このアクセスがなくならないと403制限解除はしてくれないのだろうか?? というか、致命的なバグがなくならない限り同じことは繰り返されるわけで、へたしたら国内からも不正アクセスされてしまうのではないのか???
検索してみたら、Xサーバーでいきなりアクセス制限された、というトラブル事例が結構ヒットした。マルウェアを仕込まれた結果、ファイルを全て削除し、ドメインも初期化?し、サイト再構築を余儀なくされた、というような話がほとんど。サーバー内の他のドメインも全て削除初期化再構築したと。
当サイトの場合はどうなのだろう。制限はこのドメインだけ、つまり脆弱性はこのサイトだけのトラブルで済んでいるようだけれど。何が原因なのかがわからないままで行くより、いっそ削除初期化再構築せよ、としてもらったほうが気は楽かも。
セキュリティ用プラグインが別途必要だろうか。Firewallみたいなやつ、あるんだろうか。なにせ、CAPTCHAというプラグインは、不正アクセスをふせぐどころか、プラグインにバックドアとかいうものが仕込まれていたという。
別サイトで使っていたSI Captcha Anti-Spamも、悪意のあるプログラムを仕込まれていたことが発覚し、公式から削除されたとのことで、そちらもreCAPTCHに変更した。セキュリティ対策で入れたプラグインがセキュリティ破りの悪者に変身していたとは。恐ろしい話である。
4/27 解決したみたい…
4/24日にJetpack からサイトが復旧したとメール。
トップページに問題なくアクセスできるようになった。
追って27日、wpXから問題が解決されたようなので海外アクセス制限を解除した、とメール。
サーバー管理画面で見たらエラーログもゼロになっていた。
結局何が悪かったのだろう? よくわからない。
問題解決はプログラムの脆弱性が修正されたのか、ただキャプッチャが効いているだけなのか…。
コメントする