ホームページ >運用・保守 >Linuxの運用と保守 >Linux サーバーを使用して Web インターフェイスのフィルタリングと検査を強化するにはどうすればよいですか?

Linux サーバーを使用して Web インターフェイスのフィルタリングと検査を強化するにはどうすればよいですか?

WBOY
WBOYオリジナル
2023-09-08 11:41:01649ブラウズ

Linux サーバーを使用して Web インターフェイスのフィルタリングと検査を強化するにはどうすればよいですか?

Linux サーバーを使用して Web インターフェイスのフィルタリングと検査を強化するにはどうすればよいですか?

インターネット アプリケーションへの主要な入り口として、Web インターフェイスのセキュリティは常に大きな注目を集めてきました。 Web インターフェースを保護するために、私たちは通常、インターフェースのリクエストおよび応答データをフィルタリングおよび検査するためのさまざまな措置を講じます。この記事では、Linux サーバーを使用して Web インターフェイスのフィルタリングと検査を強化する方法を紹介し、コード例を示します。

1. アクセス制御に Nginx を使用する

Nginx は、アクセス制御のフロントエンド サーバーとして使用できる高性能 HTTP リバース プロキシ サーバーです。 Nginx を構成することで、特定の IP アドレスまたは IP アドレス範囲へのアクセスを制限し、正当なリクエストのみが通過できるようにすることができます。

サンプル構成ファイルは次のとおりです。

server {
    listen 80;
    server_name example.com;

    location /api {
        deny 192.168.0.0/24;
        allow all;
    }

    location / {
        root /var/www/html;
        index index.html;
    }
}

上記の構成では、/api パス下のリクエストは制限され、IP アドレス セグメント 192.168.0.0/24 以外のアクセスのみが制限されます。許可されます。他のリクエストは、/var/www/html ディレクトリ内のindex.html ファイルにリダイレクトされます。

2. リクエスト フィルタリングに Nginx を使用する

アクセス制御に加えて、リクエスト フィルタリングにも Nginx を使用できます。 Nginx の書き換えモジュールとリバース プロキシを構成することで、一部の悪意のあるリクエストや不正なパラメーターを除外できます。

サンプル設定ファイルは次のとおりです。

server {
    listen 80;
    server_name example.com;

    location /api {
        if ($args ~ (?:[^=s&]+)(?:&[^=s&]+)*$) {
            return 403;
        }

        proxy_pass http://backend;
    }

    location / {
        root /var/www/html;
        index index.html;
    }
}

上記の設定では、リクエスト パラメータに不正な文字が含まれている場合、またはパラメータの形式が正しくない場合、403 エラーが返されます。正当なリクエストはバックエンド サーバーに転送されます。

3. アプリケーション層ファイアウォールに ModSecurity を使用する

Web インターフェイスのフィルタリングと検査を強化するもう 1 つの方法は、オープン ソースの Web アプリケーション層ファイアウォールである ModSecurity を使用することです。 ModSecurity を構成することで、リクエストとレスポンスのデータの詳細な検査とフィルタリングを実行できます。

サンプル構成ファイルは次のとおりです:

SecRuleEngine On

SecRequestBodyLimit 13107200
SecRequestBodyInMemoryLimit 13107200
SecRequestBodyNoFilesLimit 13107200
SecRequestBodyAccess On

SecRule REQUEST_METHOD "POST" "id:1,phase:1,t:none,pass,nolog,ctl:requestBodyProcessor=XML"

SecRule REQUEST_HEADERS:Content-Type "application/(?:json|xml)" 
  "id:2,phase:1,t:none,pass,nolog,ctl:requestBodyProcessor=JSON"

SecRule REQUEST_HEADERS:Content-Type "application/x-www-form-urlencoded" 
  "id:3,phase:1,t:none,pass,nolog,ctl:requestBodyProcessor=UTF8"

SecResponseBodyAccess Off

SecDefaultAction "phase:2,log,auditlog,pass"

<LocationMatch "^/api/">
  SecRuleRemoveById 920140
</LocationMatch>

上記の構成では、ModSecurity エンジンを有効にし、要求および応答本文のサイズに制限を設定しました。次に、リクエストの Content-Type に基づいてリクエストを処理し、応答本文へのアクセスを閉じます。最後に、リクエストの通過を許可する特定のルールを削除しました。

要約すると、Linux サーバーの Nginx と ModSecurity を設定することで、Web インターフェイスのフィルタリングと検査を強化できます。これらの方法により、Web アプリケーションを悪意のあるリクエストや攻撃から効果的に保護できます。この記事が皆さんの Web インターフェイスのセキュリティ向上に役立つことを願っています。

(この記事の終わり)

以上がLinux サーバーを使用して Web インターフェイスのフィルタリングと検査を強化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。