Cloud & IT Cert Prep · Pelajaran

Versi TLS, Rangkaian Sandi, dan Kerahasiaan Terus-Menerus

Konfigurasikan TLS 1.2/1.3, pilih rangkaian sandi yang kuat, dan aktifkan kerahasiaan terus-menerus untuk memastikan lalu lintas yang direkam tidak dapat didekripsi di kemudian hari.

Pelajaran 2 dari 413 langkah

Versi TLS, Rangkaian Sandi, dan Kerahasiaan Terus-Menerus adalah pelajaran Cloud & IT Cert Prep gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cloud & IT Cert Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.

Gambaran Umum Protokol TLS

TLS (Transport Layer Security) adalah protokol kriptografi yang mengamankan sebagian besar komunikasi internet — HTTPS, SMTPS, IMAPS, LDAPS, dan VPN semuanya bergantung pada TLS. TLS menyediakan tiga properti keamanan: kerahasiaan (enkripsi mencegah penyadapan), integritas (MAC mencegah perubahan tanpa izin), dan autentikasi (sertifikat memverifikasi identitas Server). TLS berkembang dari SSL (Secure Sockets Layer), yang kini sudah tidak direkomendasikan. Versi saat ini adalah TLS 1.2 (diterapkan secara luas) dan TLS 1.3 (lebih cepat dan lebih aman, direkomendasikan untuk semua penerapan baru).

Riwayat Versi TLS dan Penghentian Dukungan

TLS telah melalui beberapa versi, dan versi-versi lama mengandung kerentanan kritis. SSL 2.0/3.0: tidak lagi direkomendasikan, rentan terhadap serangan POODLE dan DROWN. TLS 1.0: tidak lagi direkomendasikan oleh NIST dan PCI-DSS pada 2020 (rentan terhadap BEAST dan POODLE pada cipher blok). TLS 1.1: tidak lagi direkomendasikan bersamaan dengan TLS 1.0. TLS 1.2: standar minimum saat ini; aman jika dikonfigurasi dengan benar menggunakan rangkaian cipher yang kuat. TLS 1.3: dirilis pada 2018; menghapus semua algoritma lemah, mewajibkan kerahasiaan penerusan, mempercepat handshake secara signifikan (1-RTT, bukan 2-RTT), dan mencegah serangan penurunan versi. PCI-DSS 4.0 mewajibkan minimal TLS 1.2 dan merekomendasikan 1.3.

# TLS version timeline
SSL 2.0   1995  DEPRECATED (DROWN)
SSL 3.0   1996  DEPRECATED (POODLE)
TLS 1.0   1999  DEPRECATED 2020 (BEAST, POODLE)
TLS 1.1   2006  DEPRECATED 2020 (no improvements over 1.0)
TLS 1.2   2008  MINIMUM STANDARD (strong ciphers required)
TLS 1.3   2018  RECOMMENDED (mandatory PFS, faster, secure)

# Check which TLS versions a server supports
nmap --script ssl-enum-ciphers -p 443 example.com
# Or:
openssl s_client -connect example.com:443 -tls1_2
openssl s_client -connect example.com:443 -tls1_3

Rangkaian Cipher

Rangkaian cipher adalah sekumpulan algoritma kriptografi yang digunakan bersama dalam sesi TLS. Setiap rangkaian cipher menetapkan: algoritma pertukaran kunci (cara kunci sesi dibuat), algoritma autentikasi (cara Server diverifikasi), algoritma enkripsi data (algoritma yang mengenkripsi data), dan algoritma kode autentikasi pesan (MAC) (cara integritas diverifikasi). Client dan Server menegosiasikan rangkaian cipher yang akan digunakan selama handshake TLS — Server memilih rangkaian terkuat yang didukung oleh kedua pihak.

# TLS cipher suite naming format (TLS 1.2)
# TLS_[KeyExchange]_WITH_[Cipher]_[MAC]
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  ECDHE     = Elliptic Curve Diffie-Hellman Ephemeral
  RSA       = Server certificate authentication
  AES_256_GCM = 256-bit AES in Galois/Counter Mode
  SHA384    = HMAC with SHA-384 for integrity

# TLS 1.3 simplified format (fewer components)
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
TLS_AES_128_GCM_SHA256

Algoritma Pertukaran Kunci

Fase pertukaran kunci membuat kunci sesi tanpa mengirimkannya. Pertukaran kunci RSA (TLS 1.2): Client mengenkripsi rahasia pramaster dengan kunci publik Server — jika kunci privat kemudian terbobol, semua sesi sebelumnya dapat didekripsi. DHE (Diffie-Hellman Ephemeral): membuat pasangan kunci baru untuk setiap sesi; menyediakan kerahasiaan penerusan, tetapi lambat. ECDHE (Elliptic Curve DHE): mencapai kerahasiaan penerusan yang sama seperti DHE, tetapi dengan ukuran kunci yang lebih kecil dan kinerja yang lebih baik — ini adalah pertukaran kunci yang lebih disukai pada TLS 1.2 dan TLS 1.3. TLS 1.3 mewajibkan ECDHE atau DHE, sehingga sepenuhnya menghapus pertukaran kunci RSA.

Kerahasiaan Penerusan Sempurna (PFS)

Kerahasiaan Penerusan Sempurna (PFS) memastikan bahwa meskipun kunci privat jangka panjang Server kemudian terbobol, sesi-sesi yang direkam sebelumnya tidak dapat didekripsi. PFS dicapai dengan menggunakan pertukaran kunci ephemeral (ECDHE atau DHE), yaitu pasangan kunci sementara yang baru dibuat untuk setiap sesi lalu dibuang setelah digunakan. Tanpa PFS (pertukaran kunci RSA), Attacker dapat merekam semua sesi TLS terenkripsi hari ini, lalu mendekripsinya secara retrospektif ketika akhirnya memperoleh kunci privat. Strategi pengawasan NSA berupa “kumpulkan sekarang, dekripsi nanti” berasumsi bahwa target pada akhirnya akan meningkatkan kunci ke yang lebih kuat atau komputer kuantum akan memecahkan kunci yang digunakan saat ini.

# Cipher suites WITH perfect forward secrecy
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384     # Good
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256   # Good
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256        # OK (slower)

# Cipher suites WITHOUT perfect forward secrecy
TLS_RSA_WITH_AES_256_CBC_SHA256  # NO PFS - avoid
TLS_RSA_WITH_3DES_EDE_CBC_SHA    # NO PFS + weak

# Key: look for ECDHE or DHE prefix
# RSA alone as key exchange = no forward secrecy

Algoritma Cipher Lemah yang Harus Dihindari

Beberapa komponen cipher lama telah rusak secara kriptografis dan harus dinonaktifkan. Cipher NULL: sama sekali tidak menggunakan enkripsi. Cipher tingkat ekspor (serangan FREAK): sengaja dilemahkan untuk mematuhi peraturan ekspor US pada 1990-an. RC4: cipher aliran dengan bias statistik yang dieksploitasi dalam serangan. DES dan 3DES: cipher blok dengan ukuran blok yang terlalu kecil (serangan SWEET32) atau panjang kunci yang tidak memadai. MD5 dan SHA-1 untuk MAC: rentan terhadap kolisi. Cipher anonim (aNULL): tidak menyediakan autentikasi Server. Konfigurasi TLS modern seharusnya hanya mengizinkan AES-GCM, ChaCha20-Poly1305, AES-CCM sebagai cipher data.

# nginx: disable weak ciphers, enforce strong only
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:
             ECDHE-RSA-AES256-GCM-SHA384:
             ECDHE-ECDSA-CHACHA20-POLY1305:
             ECDHE-RSA-CHACHA20-POLY1305:
             ECDHE-ECDSA-AES128-GCM-SHA256:
             ECDHE-RSA-AES128-GCM-SHA256';
ssl_prefer_server_ciphers on;

# Explicitly disable weak ciphers in Apache
SSLCipherSuite 'HIGH:!aNULL:!MD5:!3DES:!RC4:!EXPORT'

Peningkatan pada TLS 1.3

TLS 1.3 memberikan beberapa peningkatan keamanan penting dibandingkan 1.2. PFS wajib: pertukaran kunci RSA dihapus — semua sesi menggunakan ECDHE atau DHE. Lebih sedikit rangkaian cipher: hanya 5 rangkaian cipher AEAD yang diizinkan; tidak mungkin terjadi negosiasi cipher lemah. Handshake lebih cepat: satu perjalanan pulang-pergi (1-RTT), dibandingkan 2-RTT pada TLS 1.2, serta 0-RTT untuk melanjutkan sesi (meskipun 0-RTT memiliki pertimbangan terkait serangan pemutaran ulang). Handshake terenkripsi: sertifikat Server dienkripsi dalam handshake, sehingga pengamat pasif tidak dapat mengetahui sertifikat mana (dan karena itu situs web mana) yang dihubungi Client.

# TLS 1.3 handshake (simplified)
Client -> Server: ClientHello (supported ciphers, key shares)
Server -> Client: ServerHello (chosen cipher, key share)
                  {EncryptedExtensions}
                  {Certificate}
                  {CertificateVerify}
                  {Finished}
Client -> Server: {Finished}

# Both sides now have session keys
# Total: 1 round-trip before application data
# (TLS 1.2 required 2 round trips)

# Note: {} = encrypted (cert is hidden from observers)

Serangan Penurunan Versi dan POODLE

Serangan penurunan versi mengelabui Server dan Client TLS agar menggunakan versi TLS atau rangkaian cipher yang lebih lama dan lebih lemah daripada yang sebenarnya didukung oleh keduanya. POODLE (Padding Oracle On Downgraded Legacy Encryption) mengeksploitasi fakta bahwa penerapan TLS akan beralih ke SSL 3.0 ketika terjadi kesalahan koneksi. Mitigasinya adalah menonaktifkan SSL 3.0. FREAK dan Logjam mengeksploitasi cipher tingkat ekspor. TLS_FALLBACK_SCSV adalah rangkaian cipher semu yang disertakan Client untuk memberi sinyal “ini bukan versi yang saya pilih” — jika Server melihatnya dan mendukung versi yang lebih tinggi, Server membatalkan upaya penurunan versi.

Verifikasi dan Pinning Sertifikat

Autentikasi Server TLS bergantung pada Client yang memverifikasi rantai sertifikat Server hingga ke CA akar tepercaya. Pemeriksaan penting: masa berlaku (sertifikat harus berada dalam periode validitas), pencabutan (pemeriksaan CRL atau OCSP memastikan sertifikat tidak dicabut), nama host (SAN atau CN harus cocok dengan domain yang dihubungi), dan rantai tanda tangan (tanda tangan CA perantara dan CA akar valid). Certificate Transparency (CT) mewajibkan semua sertifikat yang dipercaya publik dicatat dalam log CT yang hanya dapat ditambahkan, sehingga sertifikat yang salah diterbitkan dapat terdeteksi dalam hitungan menit setelah diterbitkan.

# Check TLS certificate details
openssl s_client -connect example.com:443 \
  -showcerts 2>/dev/null | openssl x509 -noout \
  -text | grep -E 'Subject:|Issuer:|Not After:|SAN'

# Verify certificate chain
openssl verify -CAfile /etc/ssl/certs/ca-certificates.crt \
  server.crt

# Check OCSP status
openssl ocsp -issuer intermediate.crt \
  -cert server.crt \
  -url http://ocsp.ca.example.com \
  -text -noverify

SSL Labs dan Pengujian Konfigurasi

Qualys SSL Labs (ssllabs.com/ssltest) adalah alat berstandar emas untuk mengevaluasi konfigurasi TLS Server web. Alat ini memberi nilai Server dari A+ (sangat baik) hingga F (masalah kritis) berdasarkan: versi TLS yang didukung, kekuatan rangkaian cipher, validitas sertifikat, konfigurasi HSTS, dukungan kerahasiaan penerusan, dan ketahanan terhadap serangan yang diketahui. Nilai A+ memerlukan: hanya TLS 1.2+, semua cipher ECDHE, sertifikat valid, serta HSTS dengan preload. Organisasi seharusnya menjalankan pengujian SSL Labs setelah konfigurasi awal dan kembali menjalankannya setelah setiap perubahan pada tumpukan TLS. Banyak kerangka kerja kepatuhan (PCI-DSS) mewajibkan penilaian konfigurasi TLS secara berkala.

Praktik Terbaik Pengelolaan Sertifikat TLS

Sertifikat TLS yang kedaluwarsa menyebabkan gangguan dan peringatan kepercayaan dari pengguna yang dapat dieksploitasi oleh Attacker. Pengelolaan siklus hidup sertifikat mencakup: melacak semua sertifikat dalam inventaris sertifikat, mengonfigurasi alert kedaluwarsa setidaknya 30 hari sebelum kedaluwarsa, mengotomatiskan pembaruan dengan protokol ACME (Let's Encrypt, Certbot), menggunakan masa berlaku sertifikat yang singkat (90 hari untuk sertifikat publik) guna mengurangi jendela risiko akibat pembobolan, serta menggunakan sertifikat wildcard secara hati-hati (*.example.com) karena sertifikat wildcard yang terbobol memengaruhi semua subdomain. Platform pengelolaan sertifikat (Venafi, DigiCert CertCentral) mengotomatiskan penemuan dan siklus hidup di seluruh inventaris sertifikat yang besar.

# Auto-renew Let's Encrypt cert with Certbot
# Install Certbot
apt install certbot python3-certbot-nginx

# Issue certificate
certbot --nginx -d example.com -d www.example.com

# Certbot auto-renewal (runs twice daily via systemd timer)
systemctl status certbot.timer

# Test renewal without actually renewing
certbot renew --dry-run

# Verify cert expiry date
openssl x509 -enddate -noout -in /etc/ssl/certs/example.crt
# Output: notAfter=Feb 20 12:00:00 2025 GMT

Pemeriksaan Singkat

Test pemahaman Anda tentang konsep CompTIA Security+ (SY0-701) dari pelajaran ini.

Ringkasan Pelajaran

Dalam pelajaran ini, Anda mempelajari: TLS 1.0/1.1 tidak lagi direkomendasikan dan TLS 1.2 merupakan standar minimum, sementara TLS 1.3 lebih disukai dengan PFS wajib dan handshake terenkripsi, rangkaian cipher menetapkan pertukaran kunci (utamakan ECDHE), enkripsi data (AES-GCM, ChaCha20), dan algoritma MAC, serta Kerahasiaan Penerusan Sempurna memerlukan pertukaran kunci ephemeral (DHE/ECDHE) agar sesi sebelumnya tidak dapat didekripsi bahkan setelah kunci terbobol. Selanjutnya, kita akan membahas DNS aman: DNSSEC dan DNS melalui HTTPS.

Gratis untuk memulai

Belajar Cloud & IT Cert Prep dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
150
Pelajaran
600

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Versi TLS, Rangkaian Sandi, dan Kerahasiaan Terus-Menerus” gratis?

Ya — teks lengkap “Versi TLS, Rangkaian Sandi, dan Kerahasiaan Terus-Menerus” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cloud & IT Cert Prep, upgrade ke CoddyKit PRO. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Versi TLS, Rangkaian Sandi, dan Kerahasiaan Terus-Menerus”?

Konfigurasikan TLS 1.2/1.3, pilih rangkaian sandi yang kuat, dan aktifkan kerahasiaan terus-menerus untuk memastikan lalu lintas yang direkam tidak dapat didekripsi di kemudian hari. Kamu berlatih Cloud & IT Cert Prep dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cloud & IT Cert Prep?

Tidak diperlukan pengalaman sebelumnya. Cloud & IT Cert Prep di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Versi TLS, Rangkaian Sandi, dan Kerahasiaan Terus-Menerus” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cloud & IT Cert Prep ini?

Ya. Setiap pelajaran Cloud & IT Cert Prep menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Mengganti Protokol Tidak Aman: Telnet vs SSH, FTP vs SFTP
  2. Versi TLS, Rangkaian Sandi, dan Kerahasiaan Terus-Menerus
  3. DNS Aman: DNSSEC dan DNS melalui HTTPS (DoH)
  4. IPsec, Protokol VPN, dan Keamanan Akses Jarak Jauh
← Kembali ke Cloud & IT Cert Prep