マルウェアの感染タイプ: サーバー設定

Search Console でマルウェアの感染タイプが「サーバー設定」と表示されるページがありますが、どのような意味ですか?

サーバーの設定ファイルの変更などによって、ハッカーがサイトを侵害し、サイトの訪問者を通常のサイトからマルウェアの不正サイトにリダイレクトしているという意味です。通常、サーバー設定ファイルでは、サイト管理者がウェブサイトの特定のページやディレクトリへの URL リダイレクトを指定できるようになっています。たとえば、Apache サーバーでは .htaccess ファイルと httpd.conf ファイルが該当します。

マルウェアを配布するためにサイトを侵害する手法全般に関して詳しくは、被害を評価する(マルウェアによるハッキング)方法の説明をご覧ください。

「サーバー設定」のマルウェア タイプによるリダイレクト動作を確認するには、どうすればよいですか?

まず、ブラウザを使ってサイトの感染したページを表示するのは避けてください。マルウェアはブラウザの脆弱性を利用して広がる場合が多いため、マルウェアに感染したページをブラウザで開くと、お使いのパソコンに被害が及ぶおそれがあります。

cURL または Wget を使って HTTP リクエスト(ページの取得など)を実行し、動作を確認することを検討します。無料で入手できるこれらのツールはリダイレクトの診断に便利で、リファラーやユーザー エージェントの情報を指定できる柔軟性があります。ハッカーは特定のユーザー エージェントやリファラーを使用するユーザーにのみ悪質なコンテンツを配信して、「実在のユーザー」を狙い、サイト所有者やマルウェア スキャナから検出されるのを避けようとします(これらのツールを使用するにはサイトがオンラインである必要があります)。次に例を示します。

$curl -v --referer <referer-field> --user-agent "Mozilla/5.0 
  (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.30 (KHTML, like Gecko) 
  Chrome/12.0.742.112 Safari/534.30" </your-infected-url>
次のように使用します。
$curl -v --referer "http://www.google.com" --user-agent "Mozilla/5.0 
  (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.30 (KHTML, like Gecko) 
  Chrome/12.0.742.112 Safari/534.30" http://www.example.com/page.html
「サーバー設定」タイプに感染したページを取得すると、次のようなヘッダーが返されることがあります。
...
< HTTP/1.1 301 Moved Permanently
< Date: Sun, 24 Feb 2013 21:06:45 GMT
< Server: Apache
< Location: http://<malware-attack-site>/index.html
< Content-Length: 253
...

 

マルウェア タイプが「サーバー設定」のサイトをクリーンアップするには、どうすればよいですか?

シェルまたはターミナルからアクセスしてサーバーにログインし(サイトはオフラインのままでもかまいません)、関連するサーバー設定ファイルを確認します。ハッカーが変更したサーバー設定ファイルがサイト上に複数ある場合もあります。このようなファイルにリダイレクトなど、不要なディレクティブがないかどうかを確認します。ハッカーがこうしたディレクティブを使って、知られていないマルウェアの不正サイトにリダイレクトするようにサイトを設定することがあります。たとえば .htaccess が次のように設定されます。

RewriteEngine On 
RewriteCond %{HTTP_REFERER} .*google.* 
RewriteRule ^third-page.html($|/) http://<malware-site>/index.html [R=301]
さらに、以下を確認します。
  • ファイルの最後にハッカーがコードを追加している場合に備えて、ファイル全体を確認します。ファイルの最後は見落としやすいので注意します。
  • ハッカーが .htaccess ファイルを何度も更新するように作成した cron ジョブがないかどうかを調べます。cron ジョブは /etc/crontab(またはさまざまな /etc/cron* ディレクトリ)や /var/spool/cron などの複数の場所に設定されていることがあります。

サイトをクリーンアップする準備ができたら、正常なバックアップでサーバー設定ファイルを置き換えるか、既存の設定ファイルから不要なコードを削除することができます。新しい設定ファイルを有効にするために必要であれば、必ずウェブサーバーを再起動します。

「サーバー設定」のマルウェア タイプをクリーンアップすることは、ハッキングされたサイトの復旧には有効ですが、ハッカーによるサイトへの最初の侵害を許した(および再び侵害できる)根本的な脆弱性に対処したことにはなりません。サイト全体のクリーンアップについて詳しくは、ハッキングされたサイトの復旧に関するドキュメントでマルウェアによるハッキングをご覧ください。

この情報は役に立ちましたか?
改善できる点がありましたらお聞かせください。