プロジェクトの枠組みの中で
Snuffleupagus は、標準テンプレートを使用してセキュリティを向上させたり、独自のルールを作成して入力データや関数パラメータを制御したりできるルール システムを提供します。たとえば、ルール「sp.disable_function.function(“system”).param(“command”).value_r(“[$|;&`\\n]”).drop();」アプリケーションを変更せずに、system() 関数の引数での特殊文字の使用を制限できます。同様に、次のように作成できます
開発者が実施したテストから判断すると、Snuffleupagus はパフォーマンスをほとんど低下させません。独自のセキュリティ (セキュリティ層の潜在的な脆弱性が追加の攻撃ベクトルとして機能する可能性がある) を確保するために、プロジェクトはさまざまなディストリビューションで各コミットを徹底的にテストし、静的分析システムを使用し、監査を簡素化するためにコードをフォーマットして文書化しています。
組み込みメソッドは、問題などの脆弱性のクラスをブロックするために提供されています。
PHP のセキュリティを強化するために、次のモードがサポートされています。
- Cookie の「セキュア」および「同じサイト」(CSRF 保護) フラグを自動的に有効にします。
暗号化 クッキー; - 攻撃の痕跡やアプリケーションの侵害を特定するための組み込みルール セット。
- 「」のグローバルな強制アクティベーション
厳格な " (たとえば、引数として整数値を期待する場合に文字列を指定しようとする試みをブロックします)型操作 ; - デフォルトのブロック
プロトコルラッパー (たとえば、「phar://」の禁止) 明示的なホワイトリストによる。 - 書き込み可能なファイルの実行の禁止。
- eval 用のブラックリストとホワイトリスト。
- 使用時に TLS 証明書チェックを有効にするために必要です
カール; - HMAC をシリアル化されたオブジェクトに追加して、逆シリアル化によって元のアプリケーションによって格納されたデータが確実に取得されるようにします。
- クエリログモード。
- XML ドキュメント内のリンクを介した libxml への外部ファイルのロードをブロックします。
- アップロードされたファイルをチェックおよびスキャンするために外部ハンドラー (upload_validation) に接続する機能。
このプロジェクトは、フランスの大手ホスティング事業者の 1 つのインフラストラクチャでユーザーを保護するために作成され、使用されました。
「sp.readonly_exec.enable()」。
出所: オープンネット.ru