ホームページ >運用・保守 >Nginx >OpenSSL のセキュリティ脆弱性に対して Nginx サーバーを調整する方法

OpenSSL のセキュリティ脆弱性に対して Nginx サーバーを調整する方法

WBOY
WBOY転載
2023-05-12 20:55:041319ブラウズ

1. 概要
現在、openssl には個人情報が漏洩する脆弱性が存在しており、関係するマシンが多く、環境も大きく異なるため、修復方法も異なります。多くのサーバーは nginx を使用して openssl を静的にコンパイルし、openssl を nginx に直接コンパイルします。つまり、openssl をアップグレードするだけでは効果がありません。nginx は外部 openssl ダイナミック リンク ライブラリをロードしません。nginx は再コンパイルする必要があります。


2. nginx が静的にコンパイルされているかどうかを確認する

nginx が静的にコンパイルされた openssl であるかどうかを確認するには、次の 3 つの方法があります。
2.1 nginx コンパイル パラメータの表示

次のコマンドを入力して、nginx コンパイル パラメータを表示します:

# ./sbin/nginx -v

コンパイル パラメータに --with-openssl が含まれている場合=...、以下に示すように、nginx が openssl を静的にコンパイルすることを示します。

nginx version: nginx/1.4.1
built by gcc 4.4.7 20120313 (red hat 4.4.7-3) (gcc)
tls sni support enabled
configure arguments: --prefix=/opt/app/nginx --with-http_ssl_module --with-openssl=/opt/app/openssl-1.0.1e --add-module=/opt/app/ngx_cache_purge-2.1

2.2 nginx の依存ライブラリを確認する

さらに確認するには、プログラムを確認してください。依存ライブラリ、次のコマンドを入力します:

# ldd `which nginx` | grep ssl

Display

libssl.so.10 => /usr/lib/libssl.so.10 (0xb76c6000)

注: 出力に libssl.so のファイル () が含まれていない場合は、静的にコンパイルされていることを意味します。 openssl

openssl を決定するコマンドを入力して、ライブラリが属する openssl のバージョンを確認しますが、詳細は省略します。たとえば、1.0.1e.5.7 である必要がありますが、1.0.1e のみが存在します。出力:

# strings /usr/lib/libssl.so.10 | grep "^openssl "
openssl 1.0.1e-fips 11 feb 2013

2.3 nginx で開かれたファイルを確認する

nginx で開かれたファイルが静的にコンパイルされているかどうかを確認することもできます。次のコマンドを入力します。

# ps aux | grep nginx
# lsof -p 111111<这里换成nginx的进程pid> | grep ssl

openssl ライブラリ ファイルが開かれていない場合は、次の図に示すように、openssl が静的にコンパイルされていることを意味します:


OpenSSL のセキュリティ脆弱性に対して Nginx サーバーを調整する方法

3 nginx の再コンパイル

インターネット企業では nginx のバージョンが統一されておらず、各部門が業務ニーズに応じて対応するプラグインを選択し、独自にコンパイルしています。コンパイル時にプラグインに注意を払う必要があり、一部のプラグインをコンパイルすることを忘れずに、nginx の機能を変更しないようにしてください。

以上がOpenSSL のセキュリティ脆弱性に対して Nginx サーバーを調整する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。