こんにちわ。kimonoです
本日、サイトを閲覧されている一般の方より、弊社で運営管理しているサイトが改ざんされていて、フィッシングサイトへ誘導されているというご報告がありました。
調査、修正した対応内容より、皆様でもお役にたつ、必ずやっておいた方がいいのでは?と思われます注意点がいくつかありましたので、せっかくですので、こちらでお伝えさせていただきたいと思います。
ちなみに、今回サイトの改ざんが行われたのは、最新のWordPressのサイトで、コア、プラグイン全てが最新の状態のサイトでした。
改ざんの方法は、まず、何かしらの方法にてWordPressの管理画面のIDとパスワードを入手し、それでログインし、テーマの編集機能を利用して、外部からファイルをアップロードできるテーマに書き換えること、更に現在のサイトにアクセスした際に、フィッシングサイトへ誘導するように組み替えること、更にそのコードがばれないようにファイルの端の方へと文字コードもエンコードされた状態で書きこまれることが行われました。
その後、変更されて外部からアップロードできるようになったプログラムへPOSTでファイルをアップロードし、どんどんとさまざまなサイトへ誘導するプログラムが埋め込まれておりました。
ちなみに、ftpでのアクセスログはなく、ファイルから編集された日付を確認し、その日付とファイル名より、アクセスログにて解析していくという地道な作業により、最終的な方法が分かりました。
最終的に改ざんされたファイルを元に戻し、埋め込まれたスクリプトは全て削除したのですが、一度IDとパスワードが盗まれた場合、変更しても、ロボットによる総当たりでのランダム攻撃などが怖く、更に最新版にしている状態では、ファイルを元に戻すだけで、なかなか対策ができないと思います。
現に、過去に弊社のサーバーを利用している方で改ざんされ、すぐに停止し、修正を依頼した皆様方も行うのは、基本的にバージョンアップと、ファイルを元に戻すだけという方が圧倒的に多いです。
しかし、それでは、対策がされていなく、また同じ状態になってしまうだけですので、しっかりと対策を行い、同じようにならないようにしていくことが、ハッキングされた場合は重要になります。
今回行った対策は、WordPressに限らず、Zen Cartや、もっと他のCMSでも同様に利用できる内容になりますので、皆さん是非ご活用くださいませ。
WordPress使いならこれだけはやっておきたい本当のセキュリティ対策10項目
の「8. 管理画面にIP制限をかける」がそれになります。
以前、弊社でもFTPに対してIP制限をかけることをオススメし、紹介させていただきましたが、それのサイト版で、管理画面専用ということになります。
参考:【お客様各位(緊急)FTPアカウント乗っ取りによるサイト改ざん、ハッキングについて】
ただ、ここで気を付けないといけないのは、単純に.htaccessにてIPを全て制限してしまいますと、admin-ajax.phpが利用できなくなり、プログインによっては、上手く動作しなくなってしまいますので、下記のように対策します。
/htdocs/wp-admin/.htaccess(.htaccessのファイルがない場合は、作成します。ローカルにてhtaccessというファイル名で作成、アップ後、名前を変更するのがいいかもしれません)
ご自身のIPアドレスは、あなたが現在インターネットに接続しているグローバルIPアドレス確認などのサイトへアクセスして確認するのがいいでしょう。
<Limit GET POST> Order Deny,Allow Deny from all Allow from ご自身のIPアドレス </Limit> <Files ~ 'admin-ajax.php'> Order Allow,Deny Allow from all </Files>
これで、WordPressの管理画面へのアクセスできるのは現在インターネットを利用している環境のみとなりました。
他の場所でも利用されたい場合は、Allow from ご自身のIPアドレスを改行し、複数登録すればいいです。
また、注意点としまして、プロバイダー契約を固定IPで申し込んでいない場合は(基本的に固定IPを利用できるプロバイダーは少なく、わざわざ申し込まないと利用することはできませんので、通常はこちらです)、IPアドレスがインターネットにつなぐたびに変わりますので、管理画面にアクセスできなくなりましたら、都度自分のIPアドレスを調べて、変更することが必要です。
※オビタスターでは、ネットワーク構築、プロバイダー契約などの代行も行っており、現在社内用に利用される固定IP1でありましたら、通常のプロバイダーとあまり変わらずに安価で利用できるケースが多いため、サイトのセキュリティ、FTPのセキュリティなどを考えた場合、固定IPのプロバイダーへ変更される方が何かと便利になってくるかた思います。そのようなご用命はまずはご相談くださいませ。
もし、ログイン画面自体へ、アクセスをIP制限されたい場合は、下記のように対策を行います。
/htdocs/.htaccess(.htaccessのファイルがない場合は、作成します。ローカルにてhtaccessというファイル名で作成、アップ後、名前を変更するのがいいかもしれません)
<Files ~ 'wp-login.php'> Order Deny,Allow Deny from all Allow from ご自身のIPアドレス </Files>
もちろん、両方設定し、強固にされる方がいいかと思います。
また、せっかくですので、先日お伝えさせていただきまして、上記でも参考にあげさせていただきましたFTPのIP制限につきましても、記載させていただきます。
/.ftpaccess(.ftpaccessのファイルがない場合は、作成します。ローカルにてftpaccessというファイル名で作成、アップ後、名前を変更するのがいいかもしれません)
のファイルを作成します。
内容は下記のようになります。
Order allow,deny Allow from ご自身のIPアドレス Allow from 127.0.0.1 # FIlemanagerが接続するIPアドレス、これを削除しますと、Filemanagerでもアクセスできません。 Deny from all
※FTP でログイン出来なくなった際の対処法
お客様の環境によっては、IP アドレスが動的に変わる場合がございます。(例: 大手プロバイダと回線をご契約されている方など)
.ftpaccess を設置後 FTP でログインできなくなった場合には、Filemanager にログインしていただき、.ftpaccess を削除もしくは編集し直してください。
これらの設定がややこしい。分からないという方は、是非ともオビタスターの「サポート・保守・メンテナンス付レンタルサーバーパック」をご検討ください。
オビタスターでサイトを構築いただいたお客様のみが選べる限定サービスで、サイトの保守・メンテナンスを定期的に行わせていただきます