Kesalahan yang Umum Terjadi Pada Sertifikat SSL dan Solusinya

SSL Common Problems

Jika Anda memiliki sebuah website, software online, atau aplikasi web maupun mobile yang ingin Anda amankan dengan menggunakan standar enkripsi atau tanda tangan digital yang kuat, maka sebaiknya Anda memasang sertifikat SSL (Secure Socket Layer) atau sertifikat Signing Code.

Dengan menggunakan sertifikat SSL, seseorang dapat meningkatkan kepercayaan pengguna dan pelanggan mereka untuk meningkatkan pertumbuhan bisnis dengan cepat. Dengan melindungi website dari serangan cyber, sertifikat ini membantu mengamankan transaksi e-commerce dan informasi sensitif pelanggan (seperti kartu kredit atau kartu debit). Aplikasi atau software yang diamankan dengan sertifikat Code Signing cenderung mendapatkan jumlah download dan ulasan terbaik dari pengguna. Jika diibaratkan pesan sensitif itu adalah surat berharga Anda seperti IMB, Surat Tanah, BPKB, maka Sertifikat SSL itu adalah ibarat brankas besi dimana surat-surat berharga itu Anda simpan sebelum dikirim ke orang lain.

Memang Anda tidak harus melakukan itu dengan surat-surat berharga anda, namun jika harga brankas besinya sekarang sudah gratis, dan anda setiap hari harus mengirimkan surat-surat berharga tadi ke tempat-tempat yang berbeda, bukankah sebaiknya anda gunakan tingkat keamanan tertinggi? Analogi tadi sebenarnya menggambarkan keadaan saat ini. Sertifikat SSL sekarang sudah tersedia versi gratisnya di Dewaweb, Let’s Encrypt. Ini membuat seharusnya Anda tidak perlu ragu menggunakannya, ya kan?

Namun, proses pemasangan sertifikat SSL kadang-kadang dapat menyebabkan beberapa kesalahan atau error pada website yang dapat mengganggu fungsinya, terutama jika sertifikat tersebut digunakan oleh orang yang tidak memiliki banyak pengalaman dalam menangani sertifikat SSL. Tanda bahwa sertifikat SSL telah berjalan dengan benar adalah dengan munculnya gembok berwarna hijau pada kolom URL di browser dan kata-kata Secure pada beberapa browser seperti Chrome. Jika itu tidak ada, dapat dipastikan, masih ada celah keamanan pada website Anda.

Masalah SSL yang Sering Dihadapi

Berikut adalah daftar masalah terkait SSL yang sering dihadapi para webmaster.

SSL Serving Mixed Content

Ketika pengunjung mengetahui bahwa website Anda sudah dilindungi dengan SSL, mereka akan berpikir bahwa mereka tidak akan terkena masalah keamanan lagi. Jika Anda sudah menginstall SSL, namun tidak seluruh isi dari website itu aman, browser akan mengeluarkan peringatan “mixed-content”. Mixed content biasa terjadi jika sebuah halaman situs mengandung konten yang sudah diamankan (HTTPS) dan konten yang belum diamankan (HTTP) dan kedua konten ini dikirim melewati SSL ke browser. Konten yang belum diamankan secara teori bisa dibaca dan dimodifikasi oleh hackers, meskipun website itu sendiri sudah diamankan menjadi HTTPS.

Ketika seorang pengunjung melihat peringatan ini, ada dua hal yang mungkin mereka lakukan. Yang pertama, mereka mungkin tidak akan menghiraukan peringatan tersebut dan tetap lanjut masuk ke website tersebut. Pilihan ini tentunya lebih beresiko. Hal kedua yang mungkin terjadi adalah mereka akan memperhatikan perintah ini dan keluar dari website tersebut dan menganggap bahwa pemilik website ini tidak benar-benar menganggap serius keamanannya situsnya. Tentu pemikiran ini dapat mengurangi jumlah pengunjung website Anda.

Untuk menghindari hal ini, tentu yang harus Anda lakukan adalah memastikan bahwa peringatan ini tidak akan muncul di situs Anda ketika seseorang mengunjunginya. Untuk memastikannya, Anda harus memperhatikan bahwa Anda telah mengkonfigurasi website Anda untuk hanya menyajikan konten yang sudah diamankan.

Seperti yang sudah dibahas sebelumnya peringatan mixed content berarti masih ada elemen konten yang sudah diamankan dan belum diamankan di halaman situs Anda. Semua halaman yang menggunakan alamat website HTTPS harus memiliki konten yang terkirim dari source yang aman. Semua halaman yang terhubung dengan halaman HTTP biasa dianggap sebagai tidak aman dan ditandai oleh browser Anda sebagai konten yang beresiko jika dibuka.

Jenis Mixed Content

Ada dua macam mixed content. Yang lebih berbahaya adalah “mixed active content” atau “mixed scripting”. Ini terjadi ketika ada sebuah website HTTPS memuat sebuah data script melewati HTTP. Memuat sebuah script melewati sebuah koneksi yang tidak aman akan mengganggu keamanan halaman tersebut. Browser akan secara otomatis memblock tipe mixed content yang satu ini.

Jenis mixed content yang kedua adalah “mixed passive content”. Jenis mixed content yang satu ini juga lebih sering terlihat. Ini biasa terjadi ketika sebuah website HTTPS memuat sesuatu seperti gambar atau file audio melewati sebuah koneksi HTTP. Jenis konten seperti ini biasanya tidak akan mempengaruhi keamanan halaman situs seperti jenis mixed content yang pertama sehingga web browser tidak bereaksi sekeras reaksi mereka terhadap “active mixed content”.

Meskipun begitu, ini tetap dapat menyebabkan masalah pada keamanan website Anda. Salah satu penyebab paling umum dari semua peringatan konten campuran adalah ketika situs yang seharusnya aman dikonfigurasi untuk menarik gambar dari sumber yang tidak aman.

Menemukan dan Mengatasi Masalah Konten Campuran

Mencari Konten Campuran

Cara terbaik untuk menghindari masalah konten campuran adalah dengan melayani semua konten melalui HTTPS dan bukan HTTP. Anda dapat dengan mudah mencari mixed content dengan mencari elemen HTTP secara langsung melalui source code Anda.

1.) Buka source code dari halaman manapun

2.) Menggunakan pencarian fungsi pencarian dan memasukkan “src = http”, cari resources seperti gambar, JavaScript, dan links yang diambil melalui koneksi yang tidak aman (HTTP).

Memperbaiki Konten Campuran

Setelah Anda menemukan konten yang ditayangkan melalui HTTP vs. HTTPS, cara untuk memperbaiki masalahnya adalah sesederhana dengan menambahkan huruf s di links yang ada – ubah dari http:// menjadi https://.

Anda pertama-tama ingin memeriksa apakah resource tersebut tersedia melalui koneksi HTTPS dengan menyalin dan menempelkan URL HTTP ke browser web baru dan mengubah HTTP menjadi HTTPS. Jika resource tersebut (seperti gambar, URL) tersedia melalui HTTPS, Anda cukup mengubah HTTP menjadi HTTPS di source code Anda.

Cara lain dan mungkin yang lebih mudah adalah menggunakan tools online, Whynopadlock.com. Masukkan URL website anda pada kolom Secure URL di tengah halaman dan klik Check.

Certificate Name Mismatch Error

Terkadang, saat Anda mengunjungi sebuah website, browser Anda mengeluarkan error message seperti “The security certificate presented by this website was issued for a different website’s address”. Hal seperti ini sering disebut sebagai certificate name mismatch error.

Masalah ini biasa muncul ketika common name atau SAN (Subject Alternative Name) dari sertifikat SSL Anda tidak sesuai dengan domain atau address bar di browser Anda. Sebagai contoh, misalnya Anda mengetik https://example.com/ dan bukan https://www.example.com/ . Jika sertifikat SSL tidak memiliki kedua alamat di SAN dari sertifikat Anda, maka Anda tidak akan bisa membuka website tersebut.

Jika Anda bukan pemilik website tersebut, Anda perlu menghubungi seseorang yang memiliki wewenang untuk membetulkan isu tersebut. Jangan mencoba untuk masuk ke website tersebut karena bisa saja itu merupakan hacker atau phisher yang ingin menjebak orang-orang dengan membuat sebuah website dengan alamat yang mirip.

Jika Anda pemilik website tersebut, berikut adalah cara yang bisa Anda lakukan untuk memperbaiki masalah ini. Perlu diperhatikan bahwa Anda bisa mengalami masalah ini karena beberapa alasan, jadi sebaiknya Anda memulai dengan analisis menyeluruh. Untuk melakukan ini, Anda bisa menggunakan berbagai SSL Checker tools yang pernah kami bahas sebelumnya.

Hal yang harus diingat adalah kemungkinan besar tidak ada yang salah dengan SSL certificate atau website Anda sendiri. Memang ada kemungkinan bahwa akan ada kesalahan pada sertifikat yang disajikan ketika ada beberapa pengunjung yang mengunjungi website Anda dan yang lainnya mencoba mengakses website Anda di satu waktu yang sama.

Hal pertama yang sebaiknya diperhatikan saat melakukan pengecekan adalah melihat sertifikat apakah yang sudah diinstall di server atau IP address. Ini biasa akan membantu Anda mengapa Anda mendapat error message, karena ada beberapa alasan untuk itu.

  • Alamat situs Anda tidak termasuk di daftar common name. Masalah ini sudah disebut di atas. Mungkin Anda sudah membeli sertifikat SSL dengan common name www.example.com , tetapi Anda tidak menambahkan example.com sebagai SAN di sertifikat tersebut.

Pastikan Anda sudah mengklik ‘Ignore Certificate Mismatch’ di GlobalSign SSL Checker dan itu akan membawa Anda ke analysis lengkap sertifikat SSL di domain tersebut.

Anda bisa lihat dari Common Name dan SAN untuk melihat apakah domain dan IP yang benar sudah dimasukkan.

  • Situs web tersebut tidak menggunakan SSL namun berbagi alamat IP dengan situs yang menggunakan SSL. Jika situs web Anda berbagi alamat IP dengan situs lain, ini bisa saja menjadi masalah dan solusinya mungkin berbeda.

Anda mungkin menggunakan shared hosting. Beberapa perusahaan hosting memerlukan alamat IP khusus untuk mendukung SSL. Jika salah satu pelanggan yang berbagi alamat IP tersebut telah memasang Sertifikat SSL pada IP bersama itu, hal itu dapat mengganggu situs lainnya.

Bisa juga klien yang menghubungkan atau server hosting (atau keduanya) tidak mendukung Indikasi Nama Server (SNI). Contoh dari ini adalah jika Anda memiliki example.com (situs default) dan example.org yang di-host di IP yang sama. Anda memiliki sertifikat untuk keduanya dan keduanya dikonfigurasi. Jika server tidak mendukung SNI, hanya Sertifikat SSL default yang akan dilayani. Jika klien tidak mendukung SNI, mereka hanya akan melihat sertifikat situs default.

Jika server dan client mendukung SNI, sertifikat yang benar dilayani setiap saat. Hampir semua klien dan server modern mendukung SNI namun bisa menimbulkan masalah dengan sistem warisan.Jadi sebagai solusi, Anda mungkin harus mendukung SNI atau mendapatkan IP khusus (yang melibatkan perubahan pengaturan DNS).

  • Situs ini sudah tidak ada lagi, namun nama domainnya tetap menunjuk ke alamat IP lama, di mana situs lain menggunakan alamat IP tersebut. Pengaturan DNS juga akan membantu Anda. Pastikan DNS menunjuk IP baru dan bukan yang lama
  • Penyedia hosting yang Anda gunakan memiliki pengaturan pra-konfigurasi yang menggantikan instalasi sertifikat Anda.

Penyedia hosting Anda mungkin memiliki beberapa pengaturan pra-konfigurasi yang memaksa SSL pada setiap domain mereka. Jika Anda membeli Sertifikat SSL / TLS dari pihak ketiga Otoritas Sertifikat lainnya dan menginstalnya, Anda akan melihat mismatch error.

Seperti di atas, buka ‘Abaikan Sertifikat Mismatch’ di GlobalSign SSL Checker untuk melihat rincian sertifikat lengkap. Jika nama umum atau SAN menyertakan nama penyedia hosting Anda, mungkin inilah yang terjadi.

Anda perlu menghubungi penyedia hosting Anda dan meminta mereka menghapus sertifikat mereka sehingga Anda dapat menginstalnya. Jika mereka mengatakan mereka tidak akan melakukan ini – beralih penyedia hosting karena ini adalah praktik yang buruk. Anda harus bisa mendapatkan Sertifikat SSL dari manapun yang Anda inginkan.

  • Konfigurasi server atau firewall Anda. Anda harus memperhatikan firewall dan pengaturan load balancer. Firewall secara khusus dapat diatur untuk mengambil sertifikat dari satu server meskipun mengarah ke beberapa server, jadi Anda harus memastikan ini dikonfigurasi dengan benar.

Sayangnya, dalam situasi ini, Anda adalah satu-satunya yang dapat memperbaiki masalah ini dan harus memiliki beberapa pengetahuan IT atau setidaknya, mintalah seseorang yang dipekerjakan yang dapat membantu Anda dengan IT.

Pesan mismatch error sendiri bisa berbeda untuk setiap browser. Berikut adalah contoh-contoh error message yang mungkin Anda terima di browser Anda.

certificate name mismatch error

Certificate is not issued by a trusted certificate authority

Ketika Anda melihat error di browser Anda yang bertuliskan “The certificate is not issued by a trusted certificate authority”, makan ini berarti browser Anda tidak bisa mempercayai sertifikat yang ada karena sertifikat tersebut tidak mendapat persetujuan atau ditanda tangani oleh authority sertifikat yang terpercaya. Ini adalah beberapa alasan mengapa error ini bisa terjadi:

  • Website menggunakan self-signed certificate. Self-signed certificate bisa dibuat secara gratis tetapi tentunya itu tidak dapat dipercaya sebanyak sertifikat terpercaya. Pilihan Anda adalah menginstrusikan browser Anda untuk mempercayai sertifikat tersebut atau cara yang lebih baik adalah dengan membeli dan menginstal sertifikat SSL dari authority sertifikat yang dapat dipercaya.
  • Website menggunakan sertifikat SSL gratis. Sertifikat seperti ini memang bisa dengan mudah didapatkan dari beberapa otoritas sertifikat terpercaya. Teteapi, untuk menghindari masalah ini, root certificate nya harus diimpor secara manual ke setiap browser.
  • Website menggunakan sertifikat SSL terpercaya tetapi intermediate/chain certificate tidak ada atau tidak terinstall dengan benar. Untuk menghubungkan sertifikat Anda ke source yang terpercaya, sertifikat yang paling dipercaya membutuhkan Anda untuk menginstal paling tidak satu lagi intermediate/chain certificate di server Anda.

Beberapa browser memilih untuk menunjukkan error ini sedangkan ada beberapa browser yang mengabaikan error ini. Misalnya, Internet Explorer yang secara otomatis mendownload sertifikat perantara / rantai saat mengunjungi situs web untuk pertama kalinya sedangkan Mozilla Firefox / Google Chrome tidak mengunduh sertifikat sendiri.

Jadi, setelah sertifikat SSL terpercaya terpasang dengan benar, browser akan terhubung dengan intermediate certificate dan tidak akan pernah menunjukkan error message “The certificate is not trusted”. Cara mudah untuk memverifikasi pemasangan sertifikat SSL yang benar adalah dengan memeriksa pemasangan sertifikat SSL menggunakan tools SSL checker.

Pesan kesalahan ‘Certificate not trusted’ akan berbeda pada setiap browser. Beberapa contoh tercantum di bawah ini:

certificate is not issued by a trusted certificate authority

Dari pembahasan di atas, dapat dilihat bahwa ada berbagai macam masalah yang dapat terjadi dengan SSL Anda. Sekarang, Anda tidak perlu khawatir lagi jika Anda mengalami masalah-masalah yang kami sebutkan di atas. Memang kebanyakan masalahnya terdengar teknis. Tetapi Anda masih bisa menanganinya sendiri jika Anda mengikuti panduan di atas.

Nah sekarang giliran Anda yang bercerita. Adakah di antara Anda yang pernah mengalami masalah dengan SSL? Bagaimana Anda menanganinya hingga situs Anda tidak bermasalah lagi? Ayo bagi cerita Anda di kolom komentar di bawah!