Nginx用のModSecurityベータ

ModSecurityは、人気のある無料のオープンソースWebアプリケーションファイアウォール(WAF)です。 長い間、Apache Webサーバーへのモジュールとしてのみ存在していました。

その後、世界が変化していることに気付いて、開発者はいわゆる 任意のアプリケーションに組み込むことができるスタンドアロン実装。 ライブラリはまだディープベータ版であり、 APRに完全に関連付けられていますが、IISのmodSecurityのバージョンがしばらく前に登場しました。

現在、フロントエンドバックスキームは事実上の標準になっており、アプリケーションの外部セキュリティ機能をフロントエンドに転送することは論理的です。

Nginxのアーキテクチャは、コンパイル時にモジュールが接続され、リクエスト処理のさまざまな段階でハンドラーの呼び出しが発生するようなものです。 現時点では、モジュールはGETおよびPOSTリクエストの処理を実装しています。これには、独自のロケーションハンドラーのインストールが必要な( naxsiとは異なり)大きなボディサイズのリクエストが含まれます。
このため、モジュール接続図は次のようになります。
modSecurityなし:
location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_redirect off; proxy_pass http://localhost:8080; } 

接続されたmodSecurityの場合:
 location / { //  ,  off     location   ModSecurityPass ModSecurityEnabled on; //  mod_security,  ,     nginx.conf ModSecurityConfig modsecurity.conf; //named location,    ,    ModSecurityPass @backend; } location @backend { //   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_redirect off; proxy_pass http://localhost:8080; } 


現在のバージョンで実装されているもの:

実装されていないもの:


モジュールはsvn利用可能です 。レビュー、推奨事項、バグレポート、パッチは大歓迎です。

Igor SysoevValery Kholodkovのおかげで、モジュールでソースコードが使用されているWebサーバーとアドオンの作成者。

Source: https://habr.com/ru/post/J152251/


All Articles