ΠΡΡΠ½Π°Ρ Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ ΠΊΠ»ΠΎΠ½ Π½Π° nginx 1.27.4, Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Ρ Π½ΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈΡΡ ΡΡΠ°Π±ΠΈΠ»Π΅Π½ ΠΊΠ»ΠΎΠ½ Π½Π° nginx 1.26.3, ΠΊΠΎΠΉΡΠΎ ΡΡΠ΄ΡΡΠΆΠ° ΡΠ°ΠΌΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ. ΠΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ (CVE-2025-23419), ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ TLS ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π΅ ΠΏΡΠΈΡΠΈΠ½Π΅Π½Π° ΠΎΡ Π»ΠΈΠΏΡΠ°ΡΠ° Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ Ρ ΠΎΡΡΠΎΠ²Π΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π΅Π΄ΠΈΠ½ IP Π°Π΄ΡΠ΅Ρ ΠΈ Π½ΠΎΠΌΠ΅Ρ Π½Π° ΠΏΠΎΡΡ ΠΈ ΠΈΠ·Π±ΡΠ°Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° HTTPS Π΄ΠΎΡΡΡΠΏ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½Π°, Π·Π°Π΄Π°Π΄Π΅Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ SNI TLS. Π ΡΠ°ΠΊΠΈΠ²Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π°ΡΠ°ΠΊΡΠ²Π°Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ TLS ΡΠ΅ΡΠΈΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ΅Π½ Π²ΠΈΡΡΡΠ°Π»Π΅Π½ Ρ ΠΎΡΡ, Π·Π° Π΄Π° Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ΡΠΎ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ TLS ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ ΡΠ΅ ΠΏΡΠΎΡΠ²ΡΠ²Π° Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ Π²ΡΠ·ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° TLS ΡΠ΅ΡΠΈΡΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° βTLS Π±ΠΈΠ»Π΅Ρ Π·Π° ΡΠ΅ΡΠΈΡβ ΠΈΠ»ΠΈ ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΊΠ΅Ρ Π½Π° TLS ΡΠ΅ΡΠΈΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅. ΡΡΡΠ²ΡΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ ΡΡΠ΅Π· ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ TLS ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π΅ Π½Π°Π»ΠΈΡΠ΅ ΠΎΡ Π²Π΅ΡΡΠΈΡ 1.11.4 Π½Π° nginx, ΠΊΠΎΠ³Π°ΡΠΎ Π΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ Ρ OpenSSL ΠΈ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ TLSv1.3 ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΡΡ.
ΠΡΠΎΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΡΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°:
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΡΡΠΈ ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° TLS Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Ρ Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΡΡΡΠ²ΡΡΠΈ ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π·Π° ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ, Π²ΠΌΠ΅ΡΡΠΎ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π° ΠΎΡΠ΄Π΅Π»Π΅Π½ SSL ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ (SSL_CTX Π² OpenSSL) Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ Π±Π»ΠΎΠΊ, Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΡ SSL ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΎΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΊΠΈΡ Π±Π»ΠΎΠΊ.
- ΠΡΡΡΡΠ°Π½Π΅Π½ΠΈ ΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Π΄ΡΠ»Π³ΠΎΡΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΏΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ Π½Π°Π±ΠΎΡ TLS ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ, ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΈ ΡΠΏΠΈΡΡΡΠΈ ΡΡΡ ΡΠ΅ΡΡΠΈΡΠΈΡΠΈΡΠ°ΡΠΈ ΠΎΡΠ³Π°Π½ΠΈ. ΠΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΎ ΡΡΠ΅Π· ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π½Π΅ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΈ TLS ΠΎΠ±Π΅ΠΊΡΠΈ, ΠΊΠ°ΡΠΎ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ, ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΈ CRL. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° β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;".
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° "keepalive_min_timeout", ΠΊΠΎΡΡΠΎ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅, ΠΏΡΠ΅Π· ΠΊΠΎΠ΅ΡΠΎ nginx Π½ΡΠΌΠ° Π΄Π° Π·Π°ΡΠ²ΠΎΡΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠ°ΡΠ° Π²ΡΡΠ·ΠΊΠ° Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
- ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ Ρ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ βgzip ΡΠΈΠ»ΡΡΡΡΡ Π½Π΅ ΡΡΠΏΡ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρβ ΠΏΡΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° zlib-ng Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½.
- ΠΠΎΡΠΈΠ³ΠΈΡΠ°Π½ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Π»ΠΈΠ±Π°ΡΠΎΠΌΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΎΠΏΡΠΈΡΡΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ "--with-libatomic=DIR"
- ΠΠΎΡΠΈΠ³ΠΈΡΠ°Π½Π° Π³ΡΠ΅ΡΠΊΠ°, ΠΊΠΎΡΡΠΎ ΠΏΡΠ°Π²Π΅ΡΠ΅ Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΡΡΠ·ΠΊΠ° ΡΡΠ΅Π· ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° QUIC ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° 0-RTT.
- ΠΠ°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° Π΄ΠΎΠ³ΠΎΠ²Π°ΡΡΠ½Π΅ Π½Π° QUIC Π²Π΅ΡΡΠΈΡ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΡΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠ°Ρ.
- Π Π΅ΡΠ΅Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Solaris 10 Ρ ΠΌΠΎΠ΄ΡΠ»Π° ngx_http_v3_module.
- ΠΠΎΡΠΈΠ³ΠΈΡΠ°Π½ΠΈ ΡΠ° Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° HTTP/3.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
