TLS Handshake под микроскопа: Защо основата на сигурността ти е по-важна, отколкото си мислиш
TLS Handshake: Защо основата на сигурността е по-важна, отколкото си мислиш
Когато въвеждаш URL в браузъра, зад кулисите се случва магия. Браузърът ти и сървърът започват тайна размяна, която трае милисекунди. Тя решава дали данните ти ще са защитени. Това е TLS handshake – ключов механизъм, за който рядко се замислим.
В NameOcean смятаме, че всеки, който работи с домейни и хостинг, трябва да го разбира. Грешка в TLS може да изложи потребителите ти на риск и да ти създаде проблеми с compliance.
Какво се случва в handshake-а?
Клиентът започва: "Искам сигурна връзка. Ето протоколи и cipher suites, които поддържам." Сървърът отговаря: "Добре, използваме TLS 1.3 с този cipher suite. Ето сертификата ми."
TLS 1.3 завършва всичко за един round trip. TLS 1.2 иска два. Разликата е малка, но в света на скоростта броят всяка милисекунда.
Handshake-ът създава ephemeral keys – временни ключове за сесията. Те осигуряват forward secrecy. Ако ключът на сървъра бъде компрометиран утре, старите разговори остават защитени.
Проблемът с версиите: TLS 1.2 е минимум, 1.3 е идеалът
Интернетът все още има сървъри на TLS 1.0 и 1.1. Те са уязвими към BEAST, POODLE и други атаки. Браузърите ги отхвърлят, а PCI DSS, HIPAA и SOC 2 ги забраняват.
Много стари системи не са ъпдейтнати. Ако ги поддържаш, рискуваш пробив и провален одит.
Препоръка: TLS 1.2 с силни cipher suites като минимум. TLS 1.3 е по-добър – премахва слабите опции и намалява грешките.
Cipher Suites: Избирай силна криптография
След версията идва изборът на шифроване. В TLS 1.3 cipher suites са фиксирани и сигурни.
За TLS 1.2 внимавай:
- Key Exchange: ECDHE за forward secrecy. Избягвай RSA.
- Encryption: AES-GCM или ChaCha20. Не CBC, RC4, DES или 3DES.
- Hashing: SHA-256 или SHA-384.
Пример за Nginx:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
В Apache коригирай SSLProtocol и SSLCipherSuite. Бъди ясен и консервативен.
Certificate Chains: Често срещана грешка
Сайтът работи в Chrome, но фейлва в стари апликации? Причина: непълен certificate chain.
Сертификатът ти е верига до root CA. Ако сървърът изпраща само leaf cert, браузърите се справят. Стари клиенти – не.
Решение: Изтегли intermediate certs от CA и ги конфигурирай. Лесно е и задължително за продакшън.
Compliance и доверие чрез правилен TLS
Compliance задава минимум. Ако поддържаш TLS 1.0, чакай глоби и загубена лоялност.
Forward secrecy, силни cipher suites и актуални версии са основа.
Колко често да проверяваш TLS?
След всяка промяна и месечно. Ъпдейти, нови certs или настройки могат да счупят конфигурацията. Автоматизирай проверките.
Не чакай инцидент.
По-широката картина отвъд TLS
Добър TLS е старт. Добави HSTS, CSP, X-Frame-Options. Пълна сигурност включва auth, API и харденинг.
Регулярни одити покриват всичко.
Заключение
TLS handshake е невидим, но гениален. Разбери го, актуализирай го и проверявай редовно. Така потребителите ти са защитени, а ти спиш спокойно.
В NameOcean имаме инструменти за инспекция и мониторинг на TLS. Сигурността не трябва да е загадка.