Π‘ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ Π²ΡΠΏΡΡΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ nginx 1.27.4, Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π½ΠΎΠ²ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠΏΡΡΠΊ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ nginx 1.26.3, Π² ΠΊΠΎΡΠΎΡΡΡ Π²Π½ΠΎΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΡΡΠ·Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ. Π ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΡ ΡΡΡΡΠ°Π½Π΅Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ (CVE-2025-23419), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΎΠ±ΠΎΠΉΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ TLS-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ².
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π²ΡΠ·Π²Π°Π½Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ΠΌ Π΄ΠΎΠ»ΠΆΠ½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ Ρ ΠΎΡΡΠΎΠ², ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ IP-Π°Π΄ΡΠ΅ΡΡ ΠΈ Π½ΠΎΠΌΠ΅ΡΡ ΠΏΠΎΡΡΠ°, ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΏΠΎ HTTPS Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ TLS-ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ SNI. Π ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡ Π°ΡΠ°ΠΊΡΡΡΠΈΠΉ ΠΌΠΎΠ³ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ TLS-ΡΠ΅Π°Π½Ρ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Ρ ΠΎΡΡΠ° Π΄Π»Ρ ΠΎΠ±Ρ ΠΎΠ΄Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΌΡ TLS-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡ , ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ TLS-ΡΠ΅Π°Π½ΡΠΎΠ² ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Β«TLS session ticketΒ» ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΠΊΡΡ TLS-ΡΠ΅Π°Π½ΡΠΎΠ² Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΌ TLS-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°ΠΌ. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²ΡΠΏΡΡΠΊΠ° nginx 1.11.4 ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ Ρ OpenSSL ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° TLSv1.3.
ΠΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° CPU ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ TLS Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌ Π±Π»ΠΎΠΊΠΎΠ² server ΠΈ location. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° 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 Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΡΡΠ²Π°ΡΡ keep-alive ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ.
- Π Π΅ΡΠ΅Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π»ΠΎΠ³Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Β«gzip filter failed to use preallocated memoryΒ» ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ zlib-ng.
- Π Π΅ΡΠ΅Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΎ ΡΠ±ΠΎΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ libatomic, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ±ΠΎΡΠΎΡΠ½ΠΎΠΉ ΠΎΠΏΡΠΈΠΈ Β«βwith-libatomic=DIRΒ»
- Π£ΡΡΡΠ°Π½Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ°, ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ²ΡΠ°Ρ ΠΊ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ QUIC ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ 0-RTT.
- ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ QUIC, ΠΏΠΎΡΡΡΠΏΠ°ΡΡΠΈΡ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ².
- Π Π΅ΡΠ΅Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΎ ΡΠ±ΠΎΡΠΊΠΎΠΉ Π² Solaris 10 Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ ngx_http_v3_module.
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ HTTP/3.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
