Penjelasan untuk perbaikan kesalahan handshake SSL/TLS yang sering dialami oleh pengguna internet dan pemilik situs

Sudah waktunya kita mempublikasi artikel teknis satu ini karena banyak pengguna yang mengalami masalah yang sama. Hari ini, PusatSSL membahas kenapa handshake SSL/TLS gagal dan cara memperbaikinya untuk sertifikat SSL/TLS. Seperti kesalahan teknis lainnya yang terjadi di industri keamanan web, kegagalan handshake SSL/TLS dapat dipicu dari sisi Klien dan sisi server, jadi tekadangan dapat diperbaiki oleh pengguna internet biasa dan di lain waktu ini menunjukkan masalah konfigurasi di bagian situs web.

Terlepas dari asalnya, ini bisa menjadi kesalahan SSL/TLS yang membuat frustasi karena mencegah Anda membuat koneksi yang aman dengan situs web yang sedang Anda coba akses. Menjadikan mimpi buruk bagi pengguna dan pemilik situs–untuk menjauhkan bisnis (berpotensi langsung ke genggaman pesaing Anda).

Kita akan membahas apa itu Handshake SSL/TLS, lalu kita akan membahas alasan kesalahan Handshake SSL/TLS dan apa yang dapat Anda lakukan untuk memperbaikinya.

kenapa handshake ssl/tls gagal dan bagaimana memperbaikinya

 

Apa Itu Handshake SSL/TLS?

Di awal setiap koneksi HTTPS, klien (browser web dari pengguna internet) dan server (hosting website) harus melalui serangkaian pemeriksaan untuk mengautentikasi satu sama lain dan menentukan parameter koneksi yang terenkripsi. Ini dikenal sebagai Handshake TLS, meskipun beberapa di dalam industri masih menyebutnya sebagai Handshake SSL.

(SSL tidak lagi akurat secara teknis karena ini adalah protokol yang tidak digunakan lagi. Namun, kami akan tetap merujuknya seperti itu di seluruh artikel sebab orang-orang masih biasa menggunakan istilah SSL. Jadi, Anda akan melihat “Handshake SSL” dan “Handshake TLS” digunakan secara bergantian di seluruh konten, tetapi ketahuilah bahwa kita masih berbicara tentang Handshake SSL/TLS.)

Proses handshake TLS/SSL menyempurnakan tiga hal :

  • Mengautentikasi server sebagai pemilik sah dari pasangan asymmetric public/private key.
  • Menentukan versi TLS dan cipher suite yang akan digunakan untuk koneksi.
  • Menukar symmetric session key yang akan digunakan untuk komunikasi.

Jika Anda menyederhanakan public key infrastructure (PKI)–yang berfungsi sebagai infrastruktur untuk seluruh ekosistem SSL/TLS – ini benar-benar tentang pertukaran kunci yang aman. Selama koneksi HTTPS, komunikasi sebenarnya dilakukan dengan symmatric session key–umumnya  kunci 256-bit Advanced Encryption Standard (AES) yang dibuat dari sisi klien. Saat symmetric session key dibuat, kedua belah pihak mendapatkan salinannya. Mereka dapat menggunakannya untuk mengenkrip dan mendekrip data yang dikirim di antara mereka.

Meskipun enkripsi 256-bit masih cukup kuat, keamanan sebenarnya ada di gerbang di mana private key yang jauh lebih besar dan lebih kuat (umumnya kunci RSA 2048-bit) membantu menangani bagian otentikasi dari koneksi. Otentikasi penting karena klien ingin memastikan itu terhubung dengan pihak yang benar. Pada dasarnya untuk itulah Handshake SSL/TLS–ini adalah serangkaian pemeriksaan di mana :

  • Klien dan server saling mengautentikasi
  • Mereka menentukan parameter koneksi HTTPS (cipher suite apa yang akan digunakan), dan kemudian
  • Klien mengenkripsi salinan session key dan mengirimkannya ke server untuk digunakan selama koneksi berlangsung

Secara historis, Handshake SSL/TLS telah menambahkan sedikit latensi ke koneksi, yang menyebabkan klaim bahwa HTTPS memperlambat situs Anda. Latensi itu telah diatasi dalam versi yang lebih baru dari protokol TLS, jadi itu hampir seluruhnya tidak benar saat ini–terutama dengan HTTP /2 dan HTTP /3.

Saat ini, ada dua versi berbeda dari Handshake TLS yang digunakan : TLS 1.2 dan TLS 1.3.

 

Proses Handshake SSL/TLS di TLS 1.2 vs TLS 1.3

TLS menggunakan handshake yang membuat beberapa rute perjalanan dua arah atau bolak-balik antara klien dan server.

proses handshake ssl/tls pad situs web bersertifikat ssl/tls

 

Ingin tahu bagaimana proses handshake TLS bekerja? Kami tidak akan melanjutkan langkah demi langkah, tetapi pada dasarnya :

  • Klien dan server melakukan ping satu sama lain.
  • Server menyajikan sertifikat SSL/TLS-nya
  • Klien mengotentikasi sertifikat yang ditandatangi oleh Certificate Authority (CA)
  • Mereka bertukar daftar cipher suite yang didukung dan menyetujui salah satunya, lalu terjadi pertukaran kunci.

Proses ini melibatkan banyak langkah yang semuanya terjadi dalam waktu yang singkat.

TLS 1.3, di sisi lain telah menyempurnakan Handshake TLS menjadi satu rute perjalanan.

handshake-tls.13; proses handshake ssl/tls dengan TLS 1.3

Jelas, ini menghemat waktu yang dibutuhkan untuk memulai koneksi–kita berbicara milidetik di sini jadi mungkin tidak terasa dan membuat semuanya lebih efisien. TLS 1.3 juga memungkinkan dimulainya kembali 0-RTT, yang semakin menyederhanakan koneksi berikutnya ke situs web yang mendukung TLS 1.3.

Namun, mengingat jumlah bagian yang bergerak dalam Handshake TLS, ada banyak peluang bisa saja terjadi kesalahan jika website atau perangkat mengalami miskofigurasi, tetapi kesalahan ini jauh lebih universal dari itu. Jadi sekarang mari kita bicara tentang apa yang bisa saja salah dengan Handshake  TLS dan apa yang harus dilakukan untuk perbaikinya.

 

Gambaran Umum Kesalahan Terjadinya Kegagalan Handshake SSL/TLS

Untuk membuat artikel ini sedikit lebih mudah untuk dipahami, kami akan meletakkan semua kemungkinan penyebab terjadinya error dan kegagalan Handshake SSL/TLS dan siapa yang dapat memperbaikinya. Setelah itu, kami akan menampilkan bagian khusus untuk masing-masing dimana kami memperbaikinya.

tabel yang berisikan penyebab mengapa proses handshake gagal (handshake failure)

Sekarang, mari selami lebih dalam lagi bagaimana cara memperbaiki eror dari kegagalan Handshake SSL/TLS ini. Kemudian kami akan menyelesaikan dengan beberapa hal yang tidak boleh Anda lakukan dari sisi klien untuk mencoba dan memperbaiki error ini.

 

Handshake SSL/TLS – Client Error

Ketika Handshake gagal, biasanya terjadi sesuatu dengan situs web/server dan konfigurasi SSL/TLSnya. Ini menyebabkan error pada Handshake SSL/TLS yang sangat mengganggu.

Sungguh, ini hanya konfigurasi TLS pada saat ini karena dukungan untuk SSL 3.0 hampir sepenuhnya sudah tidak digunakan lagi (SSL Labs melaporkan bahwa hanya 4,6% situs yang masih mendukung protokol SSL 3.0 per Agustus 2020).

Namun, ada beberapa konteks di mana eror dari sisi Klien dapat menyebabkan kegagalan handshake SSL/TLS. Dan banyak dari mereka mungkin tampak sepele–hal-hal seperti memastikan waktu pada sistem dengan benar dan versi browser yang terkini.

Namun, seperti yang telah didiskusikan, ada banyak bagian yang bergerak dengan handshake TLS, dan bahkan terkadang hal kecil yang terjadi saja bisa menyebabkan semuanya menjadi berantakan.

Jadi, mari kita bahas beberapa perbaikan dari sisi Klien untuk masalah ini.

1. Waktu Sistem Yang Salah

Kami tidak benar-benar yakin mengapa masih ada banyak orang yang mematikan jam sistem mereka dari opsi waktu universal, tetapi nyatanya itu banyak terjadi. Jika waktu sistem Anda salah, ini dapat menyebabkan eror dengan Handshake SSL/TLS.

Ini dikarenakan, karena sebagian besar fakta bahwa sertifikat SSL/TLS memiliki waktu yang terbatas, jadi waktu di sini sangatlah penting. Faktanya, dalam beberapa kasus inilah yang paling tinggi dalam sertifikat SSL/TLS–Seperti pada Oculus Rift VR system–pengguna internet bahkan dengan sengaja menyetting waktu sistem mereka kembali ke tanggal sebelum kadaluwarsa, sehingga mereka masih dapat terkoneksi.

Jelas, jangan ubah waktu sistem Anda. Jika Anda masih mendapatkan error dan kegagalan pada handshake SSL/TLS dan waktu sistem Anda sudah benar, berarti masalahnya ada di tempat lain. Mari kita simak lebih jauh lagi!

2. Kesalahan Browser

Ini tidak seperti error pada browser–secara harfiah ini adalah kesalahan yang ditimbulkan dari browser Anda.  Terkadang browser Anda bisa terjadi miskonfigurasi, atau plugin dapat menyebabkan beberapa hal bekerja sedikit berbeda dan mengakibatkan masalah saat menyambung ke situs web yang sah. Meskipun mediagnosis dengan tepat apa yang perlu diubah pada browser Anda saat ini mungkin sedikit lebih sulit, mempersempit masalah error pada browser tentu cukup sederhana: coba saja dengan menggunakan browser yang lain dan lihat apa yang terjadi.

Jika Anda menggunakan Google Chrome, alihkan ke browser asli OS Anda seperti Apple Safari atau Microsoft Edge. Jika tidak, gunakan Mozilla Firefox (preferensi kami) jika Anda memilikinya.

Pada dasarnya, cukup aktifkan dan coba koneksikan ke website. Jika Anda masih mendapatkan eror dan kegagalan pada handshake SSL/TLS yang sama, Anda tahu bahwa itu penyebabnya bukanlah dari browser. Tetapi jika Anda dapat terkoneksi, sekarang Anda tahu ada sesuatu yang salah dengan plugin atau pengaturan Anda.

Cara tercepat untuk memperbaiki masalah penyebab eror pada Handshake SSL/TLS ini adalah dengan mangatur ulang browser Anda ke pengaturan default dan menonaktifkan semua plugin Anda. Dari sana, Anda dapat mengkonfigurasi peramban atau browser Anda, menguji koneksi Anda dengan situs yang dituju saat Anda mengubah beberapa hal. Ini mungkin membutuhkan sedikit waktu, tetapi ini adalah satu-satunya cara untuk mengatasi masalah jika browser Anda salah mengkonfigurasi atau membuat kesalahan.

 

3. Man-in-the-Midlle Attack

Serangan Man-in-the-Middle (MITM) biasanya ditampilkan sebagai peretas jahat yang mencoba mencuri informasi atau menyebabkan kerugian. Sebenarnya tidak selalu demikian. Banyak program dan perangkat yang mencegat lalulintas untuk diperiksa atau tujuan yang tidak berbahaya lainnya seperti load balancing, lalu mengirimkannya ke server aplikasi . Proses ini secara teknis juga merupakan MITM.

bagaimana man in the middle menyerang sertifikat ssl/tls

Sayangnya, terkadang masalah dengan perangkat tersebut dapat menyebabkan handshake TLS gagal. Ini bisa berupa sesuatu seperti firewall jaringan yang mencegah koneksi, atau bisa juga konfugirasi pada perangkat edge di jaringan sisi server. Jadi, masalah ini sebenarnya bisa berupa perbaikan sisi Klien atau server tergantung pada skenario.

Begini masalahnya: apabila masalah ini adalah sisi Klien, Anda berisiko mengekspos diri Anda sendiri jika Anda menyesuaikan dengan pengaturan pada antivirus atau VPN Anda. Biasanya seharusnya ad acara untuk memasukkan ke daftar putih atau membuat pengecualian untuk situs yang dipermasalahkan. Tetapi JANGAN PERNAH melakukan drop pada firewall atau antivirus Anda, cukup sambungkan ke situs web. Jika masalahnya ada di sisi server, kemungkinan itu adalah masalah konfigurasi pada perangkat Edge.

Baru-baru ini, terdapat perangkat yang mengganggu lalu lintas dan menempatkan string data kecil untuk menunjukkan bahwa perangkat tersebut telah pemeriksaan. Hal itu menyebabkan data gagal dalam hash check-sum dan juga berpotensi mengacaukan otentikasi.

Sekali lagi, ada terlalu banyak kemungkinan asal bagi saya untuk mempersempitnya menjadi satu perbaikan di sini, tetapi jika Anda memiliki perangkat yang dapat memeriksa atau mencegat lalu lintas, mulailah dari sana.

Adapun ketiga penyebab di atas adalah yang paling sering terjadi dalam kasus kegagaln Handshake SSL, dan masih ada 9 penyebab lainnya yang akan PusatSSL bahas pada postingan berikutnya–karena akan menjadi pembahasan full teknis satu per satu kasus.

Dan pastikan untuk memeriksa status koneksi Handshake SSL suatu situs dengan mengecek nama domainnya di SSL Labs.

 

superadmin
superadmin

Would you like to share your thoughts?

Your email address will not be published. Required fields are marked *