この小さなPHPスクリプトを使用すると、ブラウザのアドレスバーからGETリクエストを手動で入力してコマンドを実行できます。これをいじくり回して、あらゆる種類のことをwww-ディレクトリ構造全体の表示、ファイルユーザーアカウントのコピー、スクリプトとPHPファイル、アップロードスクリプト、PHPファイルと実行可能プログラム、およびアップロードCソースコードをコンパイルします。
インターネットからアクセスできない予備のマシンで遊んでみましたが、このコードがWebページに挿入されるとどうなるかを考えました(過去に使用したオープンソースソフトウェアでも同様です)。サーバーをロックダウンして防止するために実行できる手順について疑問に思っています。
だから、この方法でアクセスされた場合に、サーバー上でこれらのアクションを許可するコマンドをwww-dataが実行するのを防ぐ方法はありますか?
必要ない場合は、実際にオフにしてください。
一般的にできることは2つあります。
1)PHPが必要ない場合は、オフにします。 Ubuntuでは、/etc/Apache2/mods-enabled/
の下で有効になっているモジュールのリストを見ることができます
試してください:
ls /etc/Apache2/mods-enabled/
php5.conf
やphp5.load
などのエントリが表示されたら、それらを削除します。同様に、cgi *。*モジュール、およびRubyおよびPerl(デフォルトではインストールされない)など)をインストールすると、suexecも潜在的な問題になります。 「su」機能を使用すると、全世界を表示できます。
2)PHPを使用する場合は、 mod-security を実行してみてください。そこにあるチェックのほとんどをオンにすると、多くのことを防ぐことができます。しかし、それはまた、多くの合法的なものを防ぎます(つまり、ページにbashコードがある場合、そのページはまったく配信されない可能性があります!)
もちろん、主なアイデアは、DrupalまたはWordpress。などのシステムをインストールできるようにすることです。このような使用PHPです。したがって、使用を強制されます。 Drupalなどのシステムには、Drupalを使用するサーバーまたはクライアントに潜在的な危険をもたらす問題に取り組んでいる完全な セキュリティチーム があるため、一般に安全です。