【WEB】WordPressのウイルス対策

e8782040 fb20 42c0 93de 0fdfde615d68 - 【WEB】WordPressのウイルス対策WEB
この記事は約6分で読めます。

年に1回くらいでしょうか…

お客様からWPにログインできない、ページが改ざんされている、管理画面にアクセスできないなどの持ち込みがございます。

大抵がご自身でWPサイトを立ち上げたという方ばかり。

まれにWEB制作会社に依頼して作ってもらったのに、という方もおります。

これは制作会社の責任ではなく、ほぼ全てが運用側で毎年のセキュリティ対策を怠っていたことが原因でした。

普段WP製のサイトを見て回っていてもノーガードサイトをよく見かけるものです。

ログインページがデフォルトのままで、PHPが更新されていないサイトは特に危険ですね。

以降は、不正アクセスによりサイトがウイルス感染してしまった場合の対処手順です。

サーバー管理会社に連絡

530エラーが出てログインできないなどの場合は、まず管理会社にご連絡します。

パスワードを変えたのを忘れていたりする場合もございますので、不正アクセスがあったのか実態を確認してもらいましょう。

管理会社様からの返答

こんな感じの返答が返ってきたら早急に対応します。

お客様よりご要望いただきましたサーバーアカウントにおいて不正アクセス調査を行ったところ、不審なファイルの設置を確認いたしました。

これを受け、当サポートにてセキュリティ調査を行いましたところ、お客様がご利用のプログラムにセキュリティ上致命的なバグ(脆弱性)が存在し、当該脆弱性を第三者に悪用されてしまった可能性が非常に高い状況でございました。

[不正プログラムと思われるファイル一覧]

・/〇〇〇/about.php

・/〇〇/public_html/1.php

[改ざんされたと思われる.htaccess]

※記述の確認と修正をお願いいたします

・/〇〇〇/.htaccess

[不審なアクセスログの一部]

45.11.2.167 – – [〇〇/〇〇/〇〇〇〇:14:02:05 +0900] “POST /wp-login.php HTTP/1.1” 302 – “〇〇〇〇/wp-login.php” “Mozilla/5.0 (Linux; Android 11; 21061110AG) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.98 Mobile Safari/537.36”

45.11.2.167 – – [〇〇/〇〇/〇〇〇〇:14:06:29 +0900] “POST /wp-admin/admin-ajax.php HTTP/1.1” 200 115042 “〇〇〇〇//plugin-install.php?s=File%20manager&tab=search&type=term” “Mozilla/5.0 (Linux; Android 11; 21061110AG) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.98 Mobile Safari/537.36”

Xサーバーサポートさまのご返答

FTPで.htaccseeを修正

まずは.htaccessの修正から行うとダッシュボードにもアクセスできるようになるので、一安心できるかと思います。

FFFTPFileZillaなどのソフトを使い、ご自身のサイト格納データにアクセスしてからの作業となります。

.htaccess▼該当の記述

< FilesMatch “.(py|exe|php)$”> Order allow,deny Deny from all (about.php|radio.php|index.php|content.php|lock360.php|admin.php|wp-login.php)$Order allow,deny Allow from all</FilesMatch >

Xサーバーより

上記は実際にあったものを多少変えたものですが、Xサーバー様はここまで詳しく調査してくれるようです。

何の命令かというと、特定ページ以外へのアクセスを拒否するコードです。

これでダッシュボードにアクセスできない(WPにログインできない)状態を引き起こしていたのですね。

不審なファイルを削除する

002 - 【WEB】WordPressのウイルス対策

今回はXサーバー様より、該当ファイルの場所と名前が提供されていたので、内容に従い削除するだけでした。

もし該当ファイルがわからない場合は、更新日時を見てみるとわかりやすいかもしれません。

WPに異変があった近辺の日時で更新されているファイルがあると思います。

判断に困ったらとりあえずバックアップを取り、1個ずつ削除を試していけば良いでしょう。

WPにセキュリティを追加する

最低限3個のプラグインをいれておけば、そこそこ強固なガードを保ってくれます。

SiteGuardPluginログインページの変更を行い、管理ページアクセス制限により、管理ファイルへの直接的なアクセスを禁止します。
また画像認証の追加など、アナログ的なやり方ですが効果的な対策が取れます。
jetpackWPの入門書などにも掲載されているプラグイン。
サイト高速化・解析がメインと思われがちですが、ウイルスのスキャン、総当たり攻撃のブロック、サイトダウンの監視などあらゆる機能が搭載されています。
EasyUpdatesManagerプラグインやテーマ、WP本体の自動更新を行ってくれます。
散見されるのがプラグイン更新などを行っていないサイト。それだけで脆弱性が跳ね上がり、格好の的となってしまいます。

PHPの更新

古いWordPressサイトに見られるのが、PHPを更新せずに使っているサイト。

この場合は上記3つのプラグインも使用できない可能性があるので、サーバー管理会社のコントロールパネルなどでPHPを更新します。

変更方法は各管理会社によって違いますので、ご確認ください。

■さくらサーバー:PHP変更方法

5599f8df498cee534a6f03cfb058fa87 - 【WEB】WordPressのウイルス対策
PHPのバージョンを変更したい | さくらのサポート情報
【最終更新日:2023年12月18日】このマニュアルでは、PHPのバージョンを変更についてご案内しています。前提条件PHPバージョンの変更により古いアプリケーションが動作しなくなる可能性がありますのでご注意ください。(2022年8月5日追記)「a-blogcms(Ver.2.11

■Xサーバー:PHP変更方法

https%3A%2F%2Fwww.xserver.ne.jp%2Fmanual%2Fman program php ver - 【WEB】WordPressのウイルス対策
PHPのバージョンについて | レンタルサーバーならエックスサーバー
レンタルサーバー「エックスサーバー」のご利用マニュアル|エックスサーバーでご利用可能なPHPのバージョンについてや、管理ツール上からPHPバージョンを切り替える方法についてご案内しています。

PHP更新によるエラーへの対応

e8782040 fb20 42c0 93de 0fdfde615d68 1024x541 - 【WEB】WordPressのウイルス対策

10年以上前に作られたWPのテーマはPHP更新でエラーを吐き出しやすいです。

すでに対応していないプラグインはFTPにて削除し、テーマファイルはPHPのエラーを修正する必要がございます。

ただ、何のファイルの何行目がおかしいよと画面に表示されているので、そこを直せばOKです。

ini_set(‘session.cookie_httponly’, true);

header.php

今回は上記コードがエラーを吐いていました、こちらを修正して完了なのですが、そもそもいらないとのことだったので1行まるごと削除して終了です。

以上でウイルス対策および駆除が終了となりますが、現時点で最大の保護を行っても、時代ともに通用しなくなっていきます。

その都度対処を行うのがWEB担当者の大変な点かと思いますが、一助になれば幸いです。

タイトルとURLをコピーしました