私のサーバーでハッキング活動に遭遇

私のサーバーでハッキング活動に遭遇

最近、ホスティング サーバーを AWS に切り替えました。最初はすべて正常に動作していましたが、最近サーバーが何度もダウンするという問題が発生しています。

注意深く監視したところ、CPU 使用率が何度も 100% になり、そのたびにインスタンスを再起動する必要があることがわかりました。

アクセス ログとエラー ログを確認したところ、サーバー上で何らかのハッキング活動が行われているようです。エラー ログ ファイルの以下のログをご覧ください。

[Wed Sep 23 14:25:56.081268 2015] [:error] [pid 18791] [client 193.0.***.***:59940] script '/var/www/html/includes/custom.php' not found or unable to stat, referer: -1' OR 2+20-20-1=0+0+0+1 or 'Q2fRfUkq'='

[Wed Sep 23 14:25:56.122526 2015] [:error] [pid 18780] [client 193.0.***.***:59939] script '/var/www/html/includes/custom.php' not found or unable to stat, referer: @@EKtcl

[Wed Sep 23 14:25:56.365583 2015] [:error] [pid 18788] [client 193.0.***.***:59930] script '/var/www/html/includes/custom.php' not found or unable to stat, referer: -1" OR 2+392-392-1=0+0+0+1 --

[Wed Sep 23 14:25:56.663520 2015] [:error] [pid 18786] [client 193.0.***.***:59908] script '/var/www/html/includes/custom.php' not found or unable to stat, referer: if(now()=sysdate(),sleep(9),0)/*'XOR(if(now()=sysdate(),sleep(9),0))OR'"XOR(if(now()=sysdate(),sleep(9),0))OR"*/


[Wed Sep 23 14:25:56.994941 2015] [:error] [pid 18791] [client 193.0.***.***:59940] script '/var/www/html/includes/custom.php' not found or unable to stat, referer: (select(0)from(select(sleep(9)))v)/*'+(select(0)from(select(sleep(9)))v)+'"+(select(0)from(select(sleep(9)))v)+"*/

ここで、存在しないファイルにアクセスし、SQL インジェクションを追加しようとしていることがわかります。信じられないことに、CPU 使用率が 100% に達し、mysql サービスが 90% を使用しています。

では、どうすればこれを防ぐことができるのでしょうか。ご協力をお願いします。

ここで MySQL アクセスを取得しているので、このようなことが起きているのでしょうか? ご覧のとおり、custom.php は利用できません。では、サーバー上で MySQL クエリをどのように実行しているのでしょうか?

そして最も重要なことは、ハッカーがcurlやpostscriptを使ってハッキングしているが、私のマシンをまったく使用していないことです。

答え1

このコードを見ると、SQL インジェクションの一般的なパターンを試行する自動化された試みであるように見えます。CPU が集中的に使用されているのはそのためです。このレベルで攻撃が成功していることを意味するものではありません。

DB 内のデータが破損していることに気付きましたか? または、PHP アプリの動作が異常であることに気付きましたか?

これを避けるには:

  • PHP アプリケーションで、PHP コード内で SQL がどのように管理されているかを確認してください。PHP コードが SQL コマンドを直接操作することを許可しないでください。関数を使用し、URL とフォーム POST をクリーンアップしてください。その場合は安心してください。

  • この種のアクティビティをブラックリストに登録するための方法を見つけてください。つまり、ログをチェックして IP をブロックするソフトウェアです。たとえば、SNORT のような IDS をインストールします。

簡単な解決策としては、artilleryをインストールすることです。これは、偽造されたポートに基づいて自動化された試行をブラックリスト化する単純なハニーポットです。良いチュートリアルは、https://www.digitalocean.com/community/tutorials/how-to-set-up-an-artillery-honeypot-on-an-ubuntu-vpsそして砲兵のレポhttps://github.com/trustedsec/artillery私はこのソリューションを何人かの顧客に使用しましたが、効果的でシンプルです。

関連情報