web-dev-qa-db-ja.com

ファイルへの悪意のある変更についてWebサイトを監視する方法

最近、私たちのウェブサイトが危険にさらされる機会がありました-あるときはリンクファームがいくつかのページに追加され、別のときは大きくて厄介なaspxファイルがサーバーに置かれました。ホストの名前(Hostway)については言及しませんが、誰かがこれを実行できたことにかなり悩まされました。いいえ、それは漏洩パスワードではありませんでした-連続したIPアドレスを持つHWがホストする約10のサイトがゴミになりました。

とにかく。必要なのは、Webサイトのコンテンツのスナップショットを取得し、不正な変更や追加がないかファイル(サイズと日付スタンプ)を定期的に監視し、アラートを出すユーティリティまたはサービス(できれば無料)です。 1つのファイルの変更を監視するWebサービスを使用しましたが、もう少し積極的なものを探しています。

3
rossmcm

これを使用してきました Monitor Hacked Files 、これはサーバーにインストールするPHPスクリプトです。サイトに変更があった場合、変更されたファイルのリストを記載したメールを送信します。これにより、少なくともどこを見ればよいかがわかります。 Googleやクライアントがあなたよりも前に見つけるよりも間違いなく優れています!

5
nthonygreen

私たちのサイトの1つが最近ハッキングされ、Google検索でスパムの単語が表示されているサイトに気付くまで、何も壊れていなかったため、しばらく気付きませんでした。私たちのサイトはgitを使用していたため、git diffコマンドを使用してサイトの不正なファイルの変更を監視するための迅速で汚れたソリューションを思いつきました。

cronのようなものを介して定期的に実行されるbashスクリプト(ただし、Windows環境のバッチスクリプトに変更するのに十分なほど単純です)。

#!/bin/bash

# change the following two params,
# set up a cron job and there you go!
email="[email protected]"
site="your site"

cd "$(dirname "$0")"

if [ ! -f snitch.log ]; then
    touch snitch.log
fi

# if git diff finds a difference between
# HEAD and what we have now, snitch!
if [[ -n $(git diff --name-only HEAD) ]]; then
    git diff --name-only HEAD > snitchtemp.log
    if [[ -n $(diff snitch.log snitchtemp.log) ]]; then
        git diff --name-only HEAD > snitch.log
        cat snitch.log | mail -s "snitch@$site" "$email"
    fi
else
    echo "OK"
fi

それは非常に簡単です。呼び出しごとに、git diffを使用して、最後のコミット以降にファイルが変更されているかどうかを確認し、変更されている場合は、改ざんされたファイルのリストをメールで送信します。注意を払うまで同じメールを何度も送信しないように、最後に実行されたときに改ざんされたファイルのリストを保存し、それに対してファイルのリストが変更されたかどうかを確認します。別のメール。

git diffgitが追跡している変更されたファイルのみをリストすることに注意してください。したがって、侵入者が新しいファイルを作成しても、それらは捕捉されません。ただし、最初に新しいファイルを作成するには、少なくとも1つの既存のファイルを改ざんする必要があるため、このスクリプトは問題ありません。

2
Hayko Koryun

Google Alert を設定して、サイトでジャンクの可能性を検索できます。たとえば、「viagra site:example.com」のアラート検索があります。 Googleアラートは、検索対象が見つかった場合にメールで通知します。

2
Jamie Cox

Windowsで実行される2つのツールが機能する場合があります md5deep および AFICK-別のファイル整合性チェッカー 。監査を許可し、新しいファイルを認識します。

AFAICKにはWebインターフェイスがありますが、とにかくツールが警告にフラグを立てた瞬間から、電子メールでレポートを送信することができます。

1
initall