プロジェクトの枠組みの中で PHP7 インタープリターに接続するためのモジュール。環境のセキュリティを向上させ、PHP アプリケーション実行時の脆弱性につながる一般的なエラーをブロックするように設計されています。このモジュールを使用すると、脆弱なアプリケーションのソース コードを変更せずに特定の問題を修正するための仮想パッチを作成することもできます。これは、すべてのユーザー アプリケーションを最新の状態に保つことが不可能な大規模ホスティング システムでの使用に便利です。このモジュールは C で書かれており、共有ライブラリ (php.ini の「extension=snuffleupagus.so」) の形式で接続されており、 LGPL 3.0に基づいてライセンスされています。
Snuffleupagus は、標準テンプレートを使用してセキュリティを向上させたり、独自のルールを作成して入力データや関数パラメータを制御したりできるルール システムを提供します。たとえば、ルール「sp.disable_function.function(“system”).param(“command”).value_r(“[$|;&`\\n]”).drop();」アプリケーションを変更せずに、system() 関数の引数での特殊文字の使用を制限できます。同様に、次のように作成できます 既知の脆弱性をブロックします。
開発者が実施したテストから判断すると、Snuffleupagus はパフォーマンスをほとんど低下させません。独自のセキュリティ (セキュリティ層の潜在的な脆弱性が追加の攻撃ベクトルとして機能する可能性がある) を確保するために、プロジェクトはさまざまなディストリビューションで各コミットを徹底的にテストし、静的分析システムを使用し、監査を簡素化するためにコードをフォーマットして文書化しています。
組み込みメソッドは、問題などの脆弱性のクラスをブロックするために提供されています。 データのシリアル化を使用すると、 PHP mail() 関数の使用、XSS 攻撃時の Cookie コンテンツの漏洩、実行可能コード (たとえば、 )、低品質の乱数生成、 XML 構造が正しくありません。
PHP のセキュリティを強化するために、次のモードがサポートされています。
- Cookie の「セキュア」および「同じサイト」(CSRF 保護) フラグを自動的に有効にします。 クッキー;
- 攻撃の痕跡やアプリケーションの侵害を特定するための組み込みルール セット。
- 「」のグローバルな強制アクティベーション" (たとえば、引数として整数値を期待する場合に文字列を指定しようとする試みをブロックします) ;
- デフォルトのブロック (たとえば、「phar://」の禁止) 明示的なホワイトリストによる。
- 書き込み可能なファイルの実行の禁止。
- eval 用のブラックリストとホワイトリスト。
- 使用時に TLS 証明書チェックを有効にするために必要です
カール; - HMAC をシリアル化されたオブジェクトに追加して、逆シリアル化によって元のアプリケーションによって格納されたデータが確実に取得されるようにします。
- クエリログモード。
- XML ドキュメント内のリンクを介した libxml への外部ファイルのロードをブロックします。
- アップロードされたファイルをチェックおよびスキャンするために外部ハンドラー (upload_validation) に接続する機能。
このプロジェクトは、フランスの大手ホスティング事業者の 1 つのインフラストラクチャでユーザーを保護するために作成され、使用されました。 Snuffleupagusを有効にするだけで、今年発見された多くの危険な脆弱性から保護されるだろう。 Drupal, WordPress およびphpBB。 Magento また、モードをオンにすると Horde をブロックできます
「sp.readonly_exec.enable()」。
出所: オープンネット.ru
