در حال بارگذاری...
بررسی و تست پیکربندی TLS/SSL سرور برای شناسایی نسخههای قدیمی، cipher suiteهای ضعیف و تنظیمات ناامن.
اهداف این درس
TLS (Transport Security Layer) پروتکل استاندارد برای رمزنگاری ارتباطات بین کلاینت و سرور است. این پروتکل جایگزین SSL (Secure Sockets Layer) شده است و امنیت ارتباطات HTTPS را فراهم میکند. پیکربندی نادرست TLS میتواند امنیت ارتباطات را به خطر بیندازد.
پروتکل رمزنگاری برای امنسازی ارتباطات شبکه. TLS از رمزنگاری متقارن و نامتقارن برای محرمانگی، یکپارچگی و احراز هویت استفاده میکند.
| نسخه | وضعیت | آسیبپذیریها |
|---|---|---|
| SSL 2.0 | ناامن | عدم پشتیبانی از رمزنگاری قوی |
| SSL 3.0 | ناامن | POODLE, DROWN |
| TLS 1.0 | ناامن | BEAST, POODLE |
| TLS 1.1 | ناامن | عدم پشتیبانی از AEAD |
| TLS 1.2 | امن | پیکربندی صحیح لازم است |
| TLS 1.3 | امنترین | حذف الگوریتمهای ضعیف |
Cipher Suite مجموعهای از الگوریتمهای رمزنگاری است که برای امنسازی ارتباطات TLS استفاده میشود. هر cipher suite شامل الگوریتم تبادل کلید، رمزنگاری متقارن، تابع هش و الگوریتم احراز هویت است.
| Cipher Suite | وضعیت | دلیل |
|---|---|---|
| RC4 | ضعیف | آسیبپذیری در الگوریتم |
| DES/3DES | ضعیف | کلید کوتاه و آسیبپذیری Sweet32 |
| NULL | ناامن | بدون رمزنگاری |
| EXPORT | ضعیف | رمزنگاری ضعیف صادراتی |
| AES-GCM | قوی | رمزنگاری AEAD |
| ChaCha20-Poly1305 | قوی | رمزنگاری AEAD مدرن |
بررسی کنید سرور از چه نسخههایی از SSL/TLS پشتیبانی میکند. نسخههای قدیمی باید غیرفعال شوند.
1# شناسایی نسخههای TLS2nmap --script ssl-enum-ciphers -p 443 target.com34# تست نسخه خاص5nmap --script ssl-enum-ciphers -p 443 --script-args=tls.version=TLSv1.0 target.com67# شناسایی cipher suiteها8nmap --script ssl-enum-ciphers -p 443 target.com | grep -E 'TLS|SSL|cipher'cipher suiteهای پشتیبانیشده توسط سرور را بررسی کنید و مطمئن شوید فقط cipher suiteهای قوی فعال هستند.
| ابزار | نوع | کاربرد |
|---|---|---|
| SSL Labs | آنلاین | ارزیابی کامل پیکربندی TLS |
| testssl.sh | خط فرمان | تست جامع TLS |
| nmap | خط فرمان | شناسایی نسخهها و cipherها |
| openssl | خط فرمان | تست اتصال و گواهینامه |
| sslyze | خط فرمان | تحلیل پیکربندی TLS |
پیکربندی نادرست TLS میتواند منجر به شنود ارتباطات، سرقت اطلاعات حساس، حملات Man-in-the-Middle و نقض محرمانگی دادهها شود.
توصیه عملی
از ابزار آنلاین SSL Labs (ssllabs.com/ssltest) برای بررسی سریع پیکربندی TLS سایت خود استفاده کنید. این ابزار امتیاز A تا F میدهد و پیشنهادات بهبود ارائه میدهد.
1ssl_protocols TLSv1.2 TLSv1.3;2ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;3ssl_prefer_server_ciphers off;4ssl_session_timeout 1d;5ssl_session_cache shared:SSL:10m;6ssl_session_tickets off;7add_header Strict-Transport-Security "max-age=63072000" always;هرگز از SSL 2.0، SSL 3.0 یا TLS 1.0 استفاده نکنید.
حداقل از TLS 1.2 و ترجیحاً TLS 1.3 استفاده کنید.
cipher suiteهای ضعیف مثل RC4، DES و 3DES باید غیرفعال شوند.
گواهینامه SSL باید معتبر و بهروز باشد.
کدام نسخه TLS برای استفاده در محیط تولید توصیه میشود؟
تفاوت بین SSL و TLS چیست؟
SSL (Secure Sockets Layer) نسخه قدیمیتر پروتکل رمزنگاری است که دارای آسیبپذیریهای متعددی است. TLS (Transport Security Layer) نسخه جایگزین و امنتر آن است. نسخههای فعلی TLS 1.2 و TLS 1.3 هستند.
چرا استفاده از TLS 1.0 خطرناک است؟
TLS 1.0 دارای آسیبپذیریهای شناختهشده مثل BEAST و POODLE است. همچنین از cipher suiteهای ضعیف پشتیبانی میکند. استانداردهای امنیتی مثل PCI DSS استفاده از TLS 1.0 را ممنوع کردهاند.