Nginx は、高性能 Web サーバーおよびリバース プロキシ サーバーであり、その優れたパフォーマンスと強力な機能により、ますます使用されており、現在の Web アプリケーション サーバー分野のリーダーとなっています。 Web アプリケーションの開発と展開に Nginx を使用するプロセスでは、HTTP プロトコルのセキュリティをどのように確保するかが非常に重要な問題になります。この記事では、Nginx HTTP プロトコルのセキュリティを次の観点から設定する方法を紹介します。
1. HTTPS プロトコルを有効にする
HTTP プロトコル自体は安全ではありません。HTTP プロトコルは平文で送信されるため、ハッカーによって簡単に盗まれます。 HTTP プロトコルのセキュリティを確保するために、HTTP プロトコルを HTTPS プロトコルにアップグレードできます。 HTTPS プロトコルは、SSL/TLS プロトコルを使用して HTTP プロトコルを暗号化し、ネットワーク送信中のデータのセキュリティを確保します。 HTTPS プロトコルを有効にするには、次の手順を実行する必要があります:
1. SSL 証明書を自分で購入または生成します
2. Nginx 構成ファイルで HTTPS サポートを有効にします
3 .HTTPS リスニング ポートの設定
2. HTTP リクエスト メソッドの制限
HTTP リクエスト メソッドには、GET、POST、PUT、DELETE などが含まれます。 GET メソッドはサーバーからリソースを取得するために使用され、POST メソッドはサーバーにデータを送信するために使用されます。これらの方法は Web アプリケーションでは非常に一般的ですが、ハッカーによって悪用される可能性もあります。たとえば、ハッカーは POST メソッドを通じてユーザーのログイン情報を盗み、ユーザーのアカウント番号とパスワードを取得する可能性があります。この状況の発生を回避するために、HTTP リクエスト メソッドを制限し、ユーザーが必要なメソッドを使用してリクエストを行うことのみを許可できます。 Nginx では、次の手順を使用して HTTP リクエスト メソッドを制限できます:
limit_excel GET {
deny all;
}
上記の手順は、GET メソッドのみが許可されることを示しています他の HTTP リクエストメソッドは拒否されます。
3. HTTP リクエスト ヘッダーの制限を設定する
HTTP リクエスト ヘッダーには、ユーザー エージェント、Cookie など、多くの有用な情報が含まれています。ただし、これらのリクエスト ヘッダーは攻撃に使用される可能性もあります。たとえば、SQL インジェクション攻撃では、ハッカーは HTTP リクエスト ヘッダーの Cookie 値を変更することで攻撃を実行できます。 HTTP プロトコルのセキュリティを確保するために、HTTP リクエスト ヘッダーの制限を設定できます。 Nginx では、次のディレクティブを使用して HTTP リクエスト ヘッダーの制限を設定できます:
if ($http_user_agent ~* ^curl) {
return 403;
}
上記のディレクティブの意味はif HTTP リクエスト ヘッダーの User-Agent 情報にcurl 文字列が含まれている場合、リクエストは拒否されます。
4. 特定の HTTP リクエストをフィルタリングする
Web アプリケーションには、ハッカーによって攻撃に簡単に悪用される HTTP リクエストがいくつかあります。たとえば、/etc/passwd ファイル漏洩の脆弱性を攻撃するために、ハッカーは ../ などのディレクトリ トラバーサル シンボルを HTTP リクエストに追加して、サーバー上の機密情報を取得する可能性があります。この攻撃を回避するには、HTTP リクエストをフィルタリングして、危険な文字や文字シーケンスが含まれないようにする必要があります。 Nginx では、次のディレクティブを使用して特定の HTTP リクエストをフィルタリングできます:
if ($request_uri ~* "/etc/passwd") {
return 403;
}
aboveこのディレクティブは、HTTP リクエストに /etc/passwd 文字シーケンスが含まれている場合、リクエストが拒否されることを示します。
概要
この記事では、Nginx の HTTP プロトコルのセキュリティを設定する方法を紹介します。Web アプリケーションの開発とデプロイメントに Nginx を使用するプロセスでは、HTTP プロトコルのセキュリティの確保に注意を払う必要があります。 HTTP プロトコル。 HTTPS プロトコルを有効にし、HTTP リクエスト メソッドを制限し、HTTP リクエスト ヘッダー制限を設定し、特定の HTTP リクエストをフィルタリングすることにより、Web アプリケーションのセキュリティを効果的に向上させることができます。
以上がNginx HTTP プロトコルのセキュリティ設定の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。