PHP は非常に人気のある Web サイトスクリプト言語ですが、その固有のセキュリティは非常に弱いです。この記事では、PHP 拡張プラン (Hardened-PHP プロジェクト) について説明し、新しい Suhosi プランは拡張された PHP セキュリティ構成を提供します。
PHP は物議を醸していますが、最も人気のある Web サイト スクリプト言語です。低価格であるため人気がありますが、その低価格により、PHP で作成された Web アプリケーションがますます増加しており、同時に PHP 自体のセキュリティの脆弱性も増加しています。これらの機能は、PHP が非常に信頼性が低いことを示していますが、同時にスクリプト言語自体は非常に柔軟で、それを使用してコードを実装するのは簡単ですが、これらのコードは肥大化しており安全ではありません。ユーザー。あらゆる種類のアプリケーションが、SQL インジェクション、クロスサイト スクリプティング、任意の実行などに対して脆弱であるというこの脆弱性を何度も示していると想定できます。
safe_mode や open_basedir などの組み込みの PHP セキュリティ対策は無視されるため、PHP Enhancement Project はより安全な PHP を作成し、PHP の検証チェックも実行します。当初、これらは、PHP 自体にパッチを適用して再コンパイルする必要がある拡張 PHP パッチによって実現されました。最近、PHP Enhancement Project は Suhosin と呼ばれる新しいプロジェクトをリリースしました。
Sohosin は 2 つの部分で構成されています。最初の部分は PHP パッチで、バッファ オーバーフローの可能性を回避し、関連する弱点を防ぐために Zend エンジン自体を強化します。 2 番目の部分は、PHP のスタンドアロン モジュールである Suhosin の拡張です。 2 つの部分は連携して動作することも、拡張機能が独立して動作することもできます。
開発者は、セキュリティを実現するために独自の PHP インストールを維持する必要はなく、ベンダーが提供する Linux ディストリビューション システム上で PHP を直接使用し、拡張モジュールを使用して PHP 自体には備わっていないより多くのセキュリティ機能を提供することを確実に好みます。
この拡張機能はインストールが簡単で、PECL 経由でインストールすることも、ダウンロードしてコンパイルすることもできます。
$ tar xvzf suhosin-0.9.17
$ cd suhosin-0.9.17
$ phpize
$ ./configure
$ make
$ sudo make install
suhosin を使用するには以下に示すように、/etc/php.ini も追加する必要があります。
extension=suhosin.so
ほとんどの人にとって、デフォルトの設定オプションで十分です。設定を強化するには、/etc/php.ini に対応する値を追加します。さまざまな構成オプションについては、Web サイトで詳しく紹介されています。これらの手順は、初期構成に役立ちます。
Suhosin を使用すると、これらのログをシステム ログに保存したり、同時に他のログ ファイルに書き込んだりできます。また、GET と POST をフィルタリングすることもできます。リクエスト、ファイルのアップロード、Cookie。暗号化されたセッションや Cookie を送信したり、送信できないストレージを設定したりすることもできます。オリジナルの PHP 強化パッチとは異なり、Suhosin は Zend Optimizer などのサードパーティ拡張機能と互換性があります。