nginx 1.27.4์ ๋ฉ์ธ ๋ธ๋์น๊ฐ ์ถ์๋์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ์๋ก์ด ๊ธฐ๋ฅ์ด ๊ฐ๋ฐ๋๊ณ ์์ต๋๋ค. ๋ํ, ์ฌ๊ฐํ ์ค๋ฅ ๋ฐ ์ทจ์ฝ์ ์ ์ ๊ฑฐํ๊ธฐ ์ํ ๋ณ๊ฒฝ ์ฌํญ๋ง ํฌํจ๋ nginx 1.26.3์ ๋ณ๋ ฌ ์์ ๋ธ๋์น๋ ์ถ์๋์์ต๋๋ค. ํด๋น ์ ๋ฐ์ดํธ๋ ํด๋ผ์ด์ธํธ TLS ์ธ์ฆ์ ๊ฒ์ฆ์ ์ฐํํ ์ ์๋ ์ทจ์ฝ์ (CVE-2025-23419)์ ํด๊ฒฐํฉ๋๋ค.
์ด ์ทจ์ฝ์ ์ ๋จ์ผ IP ์ฃผ์ ๋ฐ ํฌํธ ๋ฒํธ์ ๋ฐ์ธ๋ฉ๋๊ณ SNI TLS ํ์ฅ์ ์ฌ์ฉํ์ฌ ์ง์ ๋ ๋๋ฉ์ธ ์ด๋ฆ์ ๊ธฐ๋ฐ์ผ๋ก HTTPS ์ก์ธ์ค ์ ์ ํ๋๋ ๊ฐ์ ํธ์คํธ๋ฅผ ์ฒ๋ฆฌํ ๋ ์ ์ ํ ์ ํจ์ฑ ๊ฒ์ฌ๊ฐ ๋ถ์กฑํ์ฌ ๋ฐ์ํฉ๋๋ค. ์ด๋ฌํ ๊ตฌ์ฑ์์ ๊ณต๊ฒฉ์๋ ๋ค๋ฅธ ๊ฐ์ ํธ์คํธ ์ปจํ ์คํธ์์ TLS ์ธ์ ์ ์ฌ์ฌ์ฉํ์ฌ ํด๋ผ์ด์ธํธ์ TLS ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ ์ธ์ฆ์ ์ฐํํ ์ ์์ต๋๋ค. ์ด ๋ฌธ์ ๋ "TLS ์ธ์ ํฐ์ผ"์ ์ฌ์ฉํ์ฌ TLS ์ธ์ ์ฌ๊ฐ๋ฅผ ์ง์ํ๊ฑฐ๋ ์ค์ ์์ TLS ์ธ์ ์บ์๋ฅผ ์ฌ์ฉํ๋ ๊ตฌ์ฑ์์ ๋ํ๋ฉ๋๋ค. ์๋ฒ ๊ธฐ๋ณธ์ ์ผ๋ก ํด๋ผ์ด์ธํธ TLS ์ธ์ฆ์๋ฅผ ํตํ ์ธ์ฆ์ ์ฌ์ฉํฉ๋๋ค. ์ด ์ทจ์ฝ์ ์ OpenSSL์ ์ฌ์ฉํ์ฌ ๋น๋ํ๊ณ TLSv1.3 ํ๋กํ ์ฝ์ ํ์ฑํํ nginx 1.11.4 ๋ฆด๋ฆฌ์ค๋ถํฐ ์กด์ฌํด ์์ต๋๋ค.
๋ณด์๊ณผ ๊ด๋ จ๋์ง ์์ ๋ณ๊ฒฝ ์ฌํญ:
- ๋๊ท๋ชจ ์๋ฒ ๋ฐ ์์น ๋ธ๋ก์ด ์๋ ๊ตฌ์ฑ์์ TLS๋ฅผ ์ฌ์ฉํ ๋ ๋ฆฌ์์ค ์๋น์ CPU ๋ถํ๋ฅผ ์ค์ด๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ถ๊ฐ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ๋ฉด, ๊ฐ ๊ตฌ์ฑ ๋ธ๋ก์ ๋ํด ๋ณ๋์ SSL ์ปจํ ์คํธ(OpenSSL์ SSL_CTX)๋ฅผ ์์ฑํ๋ ๋์ ๋ถ๋ชจ ๋ธ๋ก์ ๊ธฐ์กด SSL ์ปจํ ์คํธ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๋์ผํ ์ค์ ํ์ผ ์ธํธ๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ํ์ฑํ์ฌ ๋ก๋ฉ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๋ ๋ฌธ์ ๋ฅผ ์์ ํ์ต๋๋ค. TLS ์ธ์ฆ์์ธ์ฆ์, ํค ๋ฐ ์ธ์ฆ ๊ธฐ๊ด ๋ชฉ๋ก์ ์ฌ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ ์ฌ๋ก๋ ์๋๋ฅผ ํฅ์์์ผฐ์ต๋๋ค. ๊ตฌ์ฑ ์ ๋ฐ์ดํธ ์ค ๊ฐ์ฒด ์์์ ๋นํ์ฑํํ๊ธฐ ์ํด "ssl_object_cache_inheritable" ์ง์์ด๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ์ง์๋ฌธ์ ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๋๋ ์ธ์ฆ์ ๋ฐ ํค์ ๋ํ ์บ์๋ฅผ ์ถ๊ฐํ์ต๋๋ค(์: "ssl_certificate /etc/ssl/$ssl_server_name.crt"). ์บ์๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด "ssl_certificate_cache", "proxy_ssl_certificate_cache", "grpc_ssl_certificate_cache" ๋ฐ "uwsgi_ssl_certificate_cache" ์ง์นจ์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ง์ ๋ ์ง์นจ์ ์ฌ์ฉํ๋ฉด ์ต๋ ์บ์ ํฌ๊ธฐ, ๋ ์ฝ๋ ์ ํจ ๊ธฐ๊ฐ, ์ฌ์ฉ๋์ง ์๋ ๋ ์ฝ๋ ์ ๋ฆฌ ์๊ฐ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด: "ssl_certificate_cache max=1000 inactive=20s valid=1m;".
- nginx๊ฐ ํด๋ผ์ด์ธํธ์์ ์ฐ๊ฒฐ ์ ์ง ์ฐ๊ฒฐ์ ๋ซ์ง ์๋ ์๊ฐ ์ ํ์ ์ ์ํ๋ "keepalive_min_timeout" ์ง์์ด๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- zlib-ng ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋น๋ํ ๋ "gzip ํํฐ๊ฐ ๋ฏธ๋ฆฌ ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ง ๋ชปํ์ต๋๋ค"๋ผ๋ ๋ก๊ทธ ๋ฉ์์ง๊ฐ ๋ํ๋๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
- "--with-libatomic=DIR" ๋น๋ ์ต์ ์ ์ฌ์ฉํ ๋ libatomic ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋น๋ํ๋ ๋ฐ ๋ฐ์ํ๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
- 0-RTT๋ฅผ ์ฌ์ฉํ ๋ QUIC ํ๋กํ ์ฝ์ ํตํด ์ฐ๊ฒฐ์ ์ค์ ํ ์ ์๋ ๋ฒ๊ทธ๋ฅผ ์์ ํ์ต๋๋ค.
- ํด๋ผ์ด์ธํธ์ QUIC ๋ฒ์ ํ์ ์์ฒญ์ด ๋ฌด์๋๋๋ก ํ์ต๋๋ค.
- ngx_http_v10_module ๋ชจ๋์ ์ฌ์ฉํ์ฌ Solaris 3์์ ๋น๋ํ๋ ๋ฐ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
- HTTP/3 ๊ตฌํ์ ๋ฒ๊ทธ๊ฐ ์์ ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru
