Nginx ログ分析と HTTP/HTTPS セキュリティ監査の実践

WBOY
リリース: 2023-06-10 08:23:27
オリジナル
2500 人が閲覧しました

インターネットの継続的な発展に伴い、ネットワーク セキュリティの問題はますます注目を集めています。 IT 実務者として、ログ分析とセキュリティ監査は習得しなければならないスキルの 1 つです。この記事では、Nginx ログ分析ツールを使用して HTTP/HTTPS セキュリティ監査を実施する方法に焦点を当てます。

1. Nginx ログ分析

Nginx は高性能 Web サーバーとして、豊富なログ機能を提供します。 Nginx ログ ファイルは /usr/local/nginx/logs/ ディレクトリにあり、access.log は最も頻繁に使用するアクセス ログです。

Nginx アクセス ログ形式は非常に豊富で、一般的な形式は次のとおりです:

$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"
ログイン後にコピー

その中で、$remote_addr はクライアントの IP アドレスを表し、$remote_user はユーザー名を表し、$time_local はクライアントの IP アドレスを表します。アクセス時間、$ request はリクエストの内容、$status は応答ステータス、$body_bytes_sent は送信バイト数、$http_referer は参照元、$http_user_agent はクライアントのユーザー エージェント、$http_x_forwarded_for はクライアントの IP アドレスを表します。プロキシサーバー。

Nginx のアクセス ログの分析を通じて、ユーザーのアクセス パス、リクエストの種類、クライアントの種類、戻りステータス コードなどの情報を理解することができ、その後のセキュリティ監査に有利な基礎を提供します。

2. HTTP/HTTPS セキュリティ監査の実践

  1. HTTP リクエストを監視する

ネットワークには SQL などの悪意のあるリクエストが大量に存在します。インジェクション攻撃や XSS 攻撃など、これらの攻撃は多くの場合、HTTP を使用して有害なデータを配信します。 Nginx のアクセス ログを分析することで、これらの悪意のあるリクエストを適時に発見し、遮断して阻止することができます。

ログ形式とログ パスを設定する Nginx を通じて HTTP リクエストを監視できます。一般的な設定方法は次のとおりです:

log_format monitor '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
ログイン後にコピー
access_log  /usr/local/nginx/logs/monitor.log monitor;
ログイン後にコピー

このようにして、ログを監視 .log に出力できます。ファイルに保存すると、その後の分析が容易になります。

  1. HTTPS リクエストの監視

HTTPS の暗号化された送信メカニズムにより、悪意のあるリクエストの検出がより困難になります。HTTPS リクエストを監視するには、より高度なログ分析方法を使用する必要があります。

Nginx は、SSL ハンドシェイクと証明書検証プロセスのログを提供します。これらのログは、ssl_protocols と ssl_ciphers を構成することで有効にできます。一般的な設定方法は次のとおりです。

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;

# 开启SSL握手和证书验证日志
ssl_session_tickets off;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /usr/local/nginx/conf/cert/ca.pem;
ssl_certificate /usr/local/nginx/conf/cert/server.pem;
ssl_certificate_key /usr/local/nginx/conf/cert/server.key;
ssl_session_log /usr/local/nginx/logs/ssl_session.log;
ログイン後にコピー

その中で、ssl_session_log は SSL ハンドシェイクと証明書検証のログを有効にし、その後の分析を容易にするためにログを ssl_session.log ファイルに出力できます。

  1. アクセス ソースの監視

ネットワーク攻撃では、HTTP リファラーまたは HTTP ユーザー エージェントを使用してサーバーを欺き、不正なアクセス許可を取得することがよくあります。したがって、悪意のあるアクセスを防ぐために、アクセス元をタイムリーに監視する必要があります。

Nginx を使用して、アクセス ソースを監視するための access_log ログ形式とログ パスを設定できます。一般的な設定方法は次のとおりです:

log_format referer '$remote_addr [$time_local] "$request" "$http_referer" "$http_user_agent"';
ログイン後にコピー
access_log /usr/local/nginx/logs/referer.log referer;
ログイン後にコピー

このようにして、リファラーとユーザー エージェントを組み合わせることができます後続の分析のために、referer.log ファイルに出力されます。

4. 概要

Nginx ログ分析と HTTP/HTTPS セキュリティ監査の実践により、ネットワーク セキュリティ防止機能が向上し、セキュリティの脆弱性や悪意のあるリクエストをタイムリーに発見して処理することができます。この記事で紹介する設定方法により、HTTPおよびHTTPSリクエストの監視やアクセス元の分析が簡単に行えます。皆さんも実際の作業でこれらのツールを上手に活用し、安全性の向上を図っていただければ幸いです。

以上がNginx ログ分析と HTTP/HTTPS セキュリティ監査の実践の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート