次の内容を含むPOSTサーバーへのリクエストを受け取りました。
%63%67%69%2D%62%69%6E/%70%68%70?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C%61%74%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72%65%63%74%3D%30+%2D%64+%63%67%69%2E%72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73%5F%65%6E%76%3D%30+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%F%69%6E%70%75%74+%2D%6E
URLデコードを使用すると、これは次のように変換されます。
cgi-bin/php?-d allow_url_include=on -d safe_mode=off -d suhosin.simulation=on -d disable_functions="" -d open_basedir=none -d auto_prepend_file=php://input -d cgi.force_redirect=0 -d cgi.redirect_status_env file=php://input -n
それは buntu 14.04のNginx経由の奇妙なURLリクエスト、悪意のあるユーザーは何をしようとしているのですか? に似ているようです。リクエストはどのシナリオで機能しますか? 404を送信したログを確認しましたが、脆弱性のある他のボックスがないことを確認したいと思います。
何年も前に、人々はPHPをCGIスクリプトとして(FastCGIでさえも、まだ存在していませんでした!)実行していたため、Apacheを低パフォーマンスのprefork MPMから新しい、ややパフォーマンスの高いワーカーMPM(そしてnginxはまだ知られていない、それはずっと前のことでした。)サーバーがCGIスクリプトとしてPHPを実行するように設定されている場合、 PHPインタプリタは/cgi-bin/php
に直接あります。
PHPは技術的にはまだCGIとしてインストールできますが、人々が望んでいたほどパフォーマンスが良くないことがわかり、FastCGIが発明されました。現在のすべてのハイパフォーマンスPHPサイトはFastCGI/FPMを使用します。一般的にnginxまたはApacheのイベントMPMを使用します。FastCGI/ FPMは許可されていないため、これに対して脆弱ではありませんPHP /cgi-bin
を介して直接呼び出されます。
サーバーがPHP CGIとして実行される)の古い腐敗した山でない場合は、このリクエストについて心配する必要はありません。
一般的な問題は コマンドインジェクション です。 404を送信した最新のWebサーバーは特にこれに対して脆弱ではありませんが、phpの実行方向を許可する古い安全でないCGI構成によって簡単になりました。
これを防ぐには、不要な場所でCGIを削除し、ファイル権限とSELinuxでWebサーバーをロックダウンし、Webアプリを保護します。 Open Web Application Security Project Testing Project には、いくつかの一般的なアドバイスがあります。
悪意のある攻撃者、またはバグ報奨金の一部を取得したい侵入者は、Webアプリケーションの作成時またはWebサーバーの構成時に発生する一般的なエラーについてWebサイトをテストします。これらの攻撃は、あなた、あなたのベンダー、Webアプリケーション開発者、またはあなたのITチームが小さなエラーを犯したか、新しく発見されたセキュリティ問題のためにあなたのソフトウェアや設定を最新に保つことを忘れた可能性があるという事実に基づいています。インターネット上のすべてのサーバーに対して多くの既知の問題を悪用しようとしています。システムを最新の状態に維持せず、使用しているプラットフォームまたはソフトウェアスタックの最新のセキュリティ問題に関する情報を入手しないと、最終的にセキュリティ(または訪問者のセキュリティ)が危険にさらされます。
攻撃の成功に対してWebアプリケーションを強化する方法はいくつかあります。
これらのオプションはどちらも100%の保証はありません。すべてのオプションを実行することをお勧めします。
Centos7システムで実行できるすべてのセキュリティ/強化対策の完全なリストについては、RedHatによる次のガイドに従ってください。 https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/ html/security_guide/index/index