ホームページ >運用・保守 >Nginx >Nginx を使用して HTTP/2 の脆弱性を防ぐ方法

Nginx を使用して HTTP/2 の脆弱性を防ぐ方法

WBOY
WBOYオリジナル
2023-06-10 11:51:531530ブラウズ

Web アプリケーションの開発に伴い、Nginx は多くの Web 開発者や管理者にとって最適なサーバーになりました。トランスポート プロトコルを効率的に処理し、安全なサービスを提供します。しかし、最近、Web アプリケーションに脅威をもたらす HTTP/2 脆弱性と呼ばれるセキュリティ上の脆弱性が発見されました。この種の脆弱性を防ぐために Nginx を使用するにはどうすればよいでしょうか?以下で一緒に調べてみましょう。

HTTP/2 脆弱性の概要

まず、HTTP/2 脆弱性とは何なのかを理解しましょう。実際、この脆弱性は、特定の HTTP/2 実装が暗黙的な長さフィールドを持つ DATA フレームを適切に処理しないことが原因で、その結果、サービス妨害攻撃が発生します。攻撃者はこの脆弱性を悪用して、被害者のサーバーに悪意のあるパケットを送信し、サーバーをクラッシュさせる可能性があります。この脆弱性は、Apache や Nginx などの現在の HTTP/2 サーバーの一部にすでに存在しています。

Nginx はどのようにして HTTP/2 の脆弱性を防ぐのでしょうか?

Nginx は、最新バージョンで HTTP/2 の脆弱性の問題を解決しました。 Nginx 1.13.10 以降を使用している場合は、すでに安全です。ただし、これより前のバージョンの Nginx をまだ使用している場合は、攻撃に対する脆弱性を避けるために、すぐにアップグレードすることをお勧めします。

Nginx バージョンのアップグレード

Nginx バージョンをアップグレードするには、まず Nginx 構成ファイルと関連ファイルをバックアップし、それらを復元できることを確認する必要があります。次に、最新バージョンの Nginx バイナリをダウンロードする必要があります。バイナリは公式 Web サイトまたは Nginx リポジトリからダウンロードできます。

たとえば、最新の Nginx バイナリをローカル ホストにダウンロードできます:

$ wget https://nginx.org/packages/mainline/ubuntu/pool/nginx/n/nginx /nginx_1.19.1-1~xenial_amd64.deb

依存関係の問題の解決

新しい Nginx バイナリをインストールする前に、いくつかの依存関係の問題を解決する必要がある場合があります。 Nginx バイナリをインストールするには、OpenSSL や PCRE などの依存関係をインストールする必要があります。次のコマンドを使用して、これらの依存関係の問題を解決できます。

$ sudo apt-get update
$ sudo apt-get install libpcre3-dev zlib1g-dev libssl-dev

Nginx の新しいバージョンをインストールします

インストール後依存関係を修正したため、最新バージョンの Nginx をインストールできるようになりました。

$ sudo dpkg -i nginx_1.19.1-1~xenial_amd64.deb

HTTP/2 を有効にする

Nginx の新しいバージョンが正常にインストールされたら、HTTP/2 を有効にする必要があります。 HTTP2 HTTP/2 の脆弱性を回避します。 Nginx 構成ファイルを変更することで HTTP/2 を有効にできます。 Nginx 構成ファイルを開き、次の行を見つけます。

listen 443 ssl;

この行の後に次の行を追加します

http2;

最終行は次のようになります:

listen 443 ssl http2;

設定ファイルを保存して閉じ、Nginx サーバーを再起動します。

ファイアウォール

Nginx バージョンをアップグレードして HTTP/2 を有効にすることに加えて、サーバーのセキュリティを向上させるためにファイアウォールの使用も検討する必要があります。ファイアウォールは、不要な受信トラフィックをフィルタリングし、安全なトラフィックのみが Web サーバーに到達することを許可します。ファイアウォールを使用すると、外部ネットワークからのアクセスを制限し、信頼された IP アドレスのみが Web サーバーにアクセスできるようにすることができます。

結論

上記は、Nginx を使用して HTTP/2 の脆弱性を防ぐ方法に関するいくつかの方法です。 Nginx のバージョンをアップグレードし、HTTP/2 を有効にし、ファイアウォールを使用して Web サーバーを保護することが重要であることに注意してください。これらのセキュリティのベスト プラクティスに従うことで、Web 攻撃の脅威に対抗し、Web アプリケーションを安全に実行し続けることができます。

以上がNginx を使用して HTTP/2 の脆弱性を防ぐ方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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