Terakhir diperbarui pada Juli 11, 2022
Situs web merupakan salah satu media untuk saling tukar informasi yang dapat diakses melalui internet. Maka dalam hal teknis, kecepatan dan keamanan situs web merupakan hal yang utama. Namun, selain website harus dapat diakses dengan cepat, koneksi antara browser dan server juga harus terenkripsi untuk menjaga keamanan data sensitif. Keamanan koneksi ini dapat dilihat dari penggunaan protokol HTTPS yang di lengkapi dengan sertifikat SSL yang valid.
Semakin canggih teknologi keamanan yang digunakan, ada kalanya bukan semakin memudahkan, namun menambah beberapa kerumitan lain. Dalam artikel ini, kita akan membahas mengenai kerumitan dalam penggunaan AutoSSL dan kaitannya dengan CDN.
Hari berganti hari, berlalu dengan kondisi server, SSL, dan website mu yang normal. Namun tiba-tiba ada pemberitahuan masuk ke email kamu. CPanel situs kamu mengirimkan email tentang sertifikat SSL yang tidak dapat diperbarui secara otomatis.
The SSL certificate for “indowhiz.com” has not been renewed. You must take action to secure this site.
To upgrade to an EV or OV certificate, navigate to the “SSL/TLS Wizard” interface.
Ini masalah serius, lalu apa yang harus dilakukan? Oke, Sebelum memperbaiki permasalahan ini, saya jelaskan secara singkat apa yang mungkin terjadi.
Sertifikat SSL
SSL (Secure Sockets Layer) merupakan sebuah teknologi untuk mengenkripsi komunikasi antara browser klien dan server web.[1] Hal ini digunakan untuk menjaga keamanan data-data sensitif agar tidak mudah dicuri oleh pihak lain yang tidak bertanggungjawab.
Saat ini, versi yang lebih baru dan lebih aman bernama TLS (Transport Layer Security). TLS juga merupakan sertifikat keamanan layaknya SSL. Namun, masih lebih sering disebut SSL karena istilah ini lebih dikenal oleh masyarakat. Jadi jika kamu akan membeli dan/atau menggunakan sertifikat SSL, hal tersebut sebenarnya adalah TLS versi terbaru.[2]
Jika sebuah situs sudah memiliki dan menggunakan sertifikat SSL, maka alamat situs tersebut dapat menggunakan HTTPS (dan ada ikon gembok di sebelah alamatnya). Jadi, HTTPS (Hyper Text Transfer Protocol Secure) merupakan salah satu penanda bahwa situs telah memiliki keamanan melalui sertifikat SSLnya. Selain itu, sertifikat SSL juga memberikan informasi tentang penerbit sertifikat, detail nama situs web, tanggal kadaluwarsa sertifikat, dan beberapa informasi publik lainnya. Informasi ini dapat dilihat melalui ikon gembok di address bar browser, seperti pada Gambar 1 di atas.[2]
Pembaharuan otomatis sertifikat SSL
Secara umum, 15-30 hari sebelum masa aktif sertifikat SSL berakhir, provider SSL (misal Let’s Encrypt) akan mencoba untuk memperbarui SSL secara otomatis melalui fitur AutoSSL. Namun jika hal tersebut tidak memungkinkan, ataupun ada kesalahan teknis, maka email pemberitahuan akan dikirimkan kepada pemilik situs. Jika hal itu terjadi, maka kamu harus melakukan pembaharuan sertifikat SSL secara manual.
CPanel, AutoSSL, dan CDN
Pada halaman status AutoSSL di CPanel, kamu dapat melihat apakah sertifikat SSL dapat diperbarui secara otomatis atau tidak. Namun, jika tidak dapat diperbarui secara otomatis, statusnya akan berubah menjadi “The certificate will not renew via AutoSSL because it was not issued via AutoSSL
“.
Mungkin kamu akan berpikiran untuk melakukan “reissue
” sertifikat SSL secara manual, yang mungkin saja berhasil. Namun jika tidak berhasil, umumnya muncul pesan kesalahan seperti berikut:
There was a problem processing your request
- Error issuing certificate
- Failed to issue certificate
- Updating challenge for indowhiz.com: acme: error code 403 "urn:ietf:params:acme:error:unauthorized": Incorrect TXT record ....
Kesalahan apa yang terjadi disini?
Saat memperbarui sertifikat SSL, provider AutoSSL membutuhkan validasi alamat IP dari domain yang bersangkutan. Dalam konsep sederhana, alamat IP publik dari domain kamu akan dibandingkan dengan alamat IP yang terhubung dengan CPanel.[3]
Namun jika kamu menggunakan CDN seperti Cloudflare atau semacamnya, maka alamat IP publik dari domain kamu mungkin akan berubah menggunakan IP Proxy dari CDN tersebut.
Hal ini akan membuat AutoSSL tidak dapat melihat alamat IP asli dari server kamu. Alhasil, AutoSSL tidak dapat melakukan validasi dan memperbarui sertifikat SSL, karena perbedaan alamat IP.
Solusi permasalahan AutoSSL dan CDN
Sebelum kamu mulai mencoba mengatasi permasalahan ini, lakukan backup pada keseluruhan situs kamu!
Kamu perlu memilih salah satu dari solusi yang ada disini. Setiap solusi memiliki keunggulan dan kelemahan masing-masing. Jadi, yakinkan dirimu sebelum memilih.
Opsi 1: menonaktifkan CDN dan menggunakan AutoSSL
Jika CDN yang kamu gunakan hanya sebagai DNS Manager, maka ini mungkin salah satu solusi yang masuk akal. Kamu cukup menonaktifkan/disable/pause CDN yang sedang kamu gunakan, dan dapat menjalankan AutoSSL kembali.[4]
Keunggulan:
- dapat menggunakan AutoSSL untuk memperbarui sertifikat SSL dari provider SSL yang kamu miliki.
Kelemahan:
- kehilangan manfaat dari menggunakan CDN (seperti distribusi konten, keamanan tambahan, cache, minifikasi, dll.);
- menggunakan seluruh sumber daya server kamu sendiri untuk menangani pengunjungmu.
Opsi 2: Menonaktifkan CDN saat pembaruan sertifikat SSL
Jika kamu menggunakan CDN tipe proxy seperti Cloudflare, yang mengharuskan kamu merubah Nameserver, maka cara ini dapat digunakan. Metode ini, sederhananya, hanya menonaktifkan/pause CDN, lalu memperbaharui SSL, dan setelah selesai, kembali mengaktifkan/enable CDN.[4]
Keunggulan:
- dapat memakai provider SSL sendiri dari CPanel kamu;
- pembuatan sertifikat SSL tinggal klik dan klik.
Kelemahan:
- autoSSL tidak bisa diaktifkan untuk memperbarui SSL secara otomatis;
- metode manual ini harus selalu dilakukan beberapa hari sebelum masa sertifikat SSL berakhir (umumnya masa aktif hanya 90 hari).
Opsi 3: mengandalkan enkripsi hanya dari CDN ke browser
Umumnya CDN sudah dilengkapi sertifikat SSL saat berkomunikasi dengan browser para pengunjung. Server kamu tidak akan langsung diekspose oleh CDN. Jika situs kamu tidak memproses data sensitif (seperti login, user session, dll.), bisa saja kamu mematikan enkripsi antara server kamu ke CDN.[4]
Jika kamu menggunakan Cloudflare, kamu bisa menuju ke pengaturan SSL/TLS
untuk merubah mode enkripsi menjadi Flexible
seperti pada Gambar 2.[4]
Keunggulan:
- pengaturan paling mudah;
- tidak perlu melakukan pemasangan sertifikat SSL;
- transfer data dari server kamu ke CDN lebih cepat karena tidak melalui enkripsi.
Kelemahan:
- situs kamu akan langsung kehilangan sertifikat SSL nya saat Cloudflare di nonaktifkan (meskipun hanya dinonaktifkan sementara);
- tingkat keamanan rendah, karena koneksi antara server kamu dan Cloudflare tidak terenkripsi. Menjadikannya beberapa pihak ketiga seperti ISP, pemerintah, dll. masih mungkin untuk dapat membaca data yang tidak terenkripsi;[5]
- kesalahan teknis di server kamu dapat menyebabkan permasalahan lain seperti Mixed Content, Redirect Loops, ataupun situs tidak dapat diakses;[6]
- sangat tidak direkomendasikan jika situs kamu memproses data-data sensitif (seperti login, user session, dll.).[7]
Opsi 4: Menggunakan sertifikat SSL origin dari CDN
Secara teknis, opsi ini jauh lebih baik daripada opsi sebelumnya yang hanya mengandalkan enkripsi antara CDN dan browser pengunjung. Karena pada opsi ini tetap memberikan keamanan antara server kamu dan CDN, serta antara CDN dan browser pengunjung. Opsi ini dapat membantumu dengan masalah “Error 525: SSL handshake failed
” jika kamu menggunakan Cloudflare dengan mode enkripsi Full (strict).
Secara sederhana, kamu hanya perlu untuk menginstall sertifikat SSL yang telah disediakan oleh CDN. Untuk mempermudah penjelasan, disini saya akan memberi contoh CDN Cloudflare, karena versi gratisnya paling banyak digunakan.[8]
Pembuatan sertifikat SSL di CDN
Langkah-langkahnya pembuatan sertifikat SSL di Cloudflare yaitu:[9]
- login ke dashboard CDN, lalu ke menu
SSL/TLS
, pilihorigin server
; - pada bagian Origin Certificates, klik
Create Certificate
; - pilih
RSA
padaPrivate key type
; - sesuaikan
hostname
yang memerlukan cakupan sertifikat SSL (misal domain*.indowhiz.com
danindowhiz.com
); - pilih masa aktif sertifikat pada bagian
Certificate Validity
. - setelah selesai menyesuaikan, klik
Next
. - setelah itu, isi sertifikat akan ditampilkan oleh CDN, dan pada bagian
Key format
biarkan berisi jenisPEM (default)
; - penting! salin dan simpan isi sertifikat SSL yang ditampilkan oleh CDN dalam file terpisah (
OriginCertificate.crt
danPrivatekey.key
); - setelah selesai menyalin dan menyimpan, klik
OK
.
Saat ini, CPanel belum support sertifikat ECC, maka dari itu, pada langkah 3 di atas saya tidak menuliskan ECDSA
. Namun, tidak masalah jika kamu ingin mencoba ECDSA
di Web Panel lain. Selanjutnya jika terjadi error, kamu bisa kembali ke Cloudflare untuk membuat sertifikat versi RSA
.
Pada langkah nomer 4, untuk penulisan cakupan hostname, wildcard *.indowhiz.com
tidak mencakup sub domain lebih dari satu level seperti sub1.sub2.indowhiz.com
. Maka pastikan hostname yang dicakup sesuai dengan yang dibutuhkan.
Selain itu, pada langkah 8, sangat penting untuk menyalin dan menyimpan Private key
, karena setelah klik OK, Private key
tidak akan dapat dilihat lagi di CDN. Jika kamu tidak sempat menyalin, ataupun kehilangan Private key
, maka kamu perlu untuk membuat sertifikat SSL dari awal.
Pemasangan sertifikat SSL di server origin
Setelah mendapatkan salinan isi Origin Certificate
dan Private key
, selanjutnya kamu perlu memasang sertifikat tersebut di server hosting kamu. Kali ini, CPanel sebagai contohnya, jadi mungkin control panel lain (Plesk, CyberPanel, dll.) sedikit berbeda tampilan.
Secara sederhana, ada 3 langkah utama yang perlu dilakukan di CPanel, yaitu: menambahkan Private key
, Origin Certificate
, dan memasang sertifikat SSL tersebut, seperti pada Gambar 4.
Langkah-langkah instalasi sertifikat SSL di server kamu (CPanel) yaitu:[10]
- login ke CPanel kamu, lalu klik menu
SSL/TLS
(atau SSL Manager), - pilih
Private Keys (KEY)
, - pada bagian
Upload a New Private Key
, kamu bisa mem-paste isi dariPrivate Keys
, atau dengan cara mengunggah filePrivatekey.key
, - isi juga bagian deskripsi agar lebih mudah dikenali saat pemasangan, lalu tekan
Save
, - kembali ke menu
SSL/TLS
(atau SSL Manager), - pilih
Certificates (CRT)
, - pada bagian
Upload a New Certificate
, kamu bisa mem-paste isi dari
, atau dengan cara mengunggah fileOrigin Certificate
OriginCertificate.crt
, - isi juga bagian deskripsi agar lebih mudah dikenali saat pemasangan, lalu tekan
Save
, - kembali ke menu
SSL/TLS
(atau SSL Manager), - pilih
Install and Manage SSL for your site (HTTPS)
, - pada bagian
Install an SSL Website
, klikBrowse Certificates
, - pilih sertifikat origin dari CDN yang baru saja ditambahkan, lalu klik
Use Certificate
. Kamu akan lebih mudah mencari sertifikat jika kamu telah menuliskan deskripsi pada langkah 4 dan 8 di atas, - lalu klik
Install Certificate
.
Cara instalasi pada web panel selain CPanel mungkin berbeda, namun dasarnya sama. Untuk lebih lengkapnya, silahkan membaca dokumentasi web panel masing-masing untuk cara instalasi SSL. Selain itu, beberapa web panel lain selain CPanel mungkin saja membutuhkan Root Certificate dari CDN. Cloudflare juga menyediakannya di halaman supportnya, di bagian Origin CA root certificates. Jika menemui kesulitan, kamu dapat meminta bantuan hosting provider kamu.
Setelah selesai menginstal sertifikat SSL di situs web kamu, lalu, jangan lupa untuk mengubah enkripsi SSL/TLS ke mode Full (strict)
. Hal ini untuk menghindari “Error 525: SSL handshake failed
“. Pengaturan ini terletak di menu SSL/TLS
di Cloudflare, seperti yang terlihat pada Gambar 3.
Setelah selesai, kamu dapat memeriksa hasilnya di address bar website kamu. Jika belum ada perubahan, mungkin kamu perlu melakukan clear cache.
Keunggulan:
- sertifikat ini umumnya gratis;
- masa berlaku bisa lebih dari 90 hari (bahkan Cloudflare menawarkan masa berlaku sertifikat SSL hingga 15 tahun);
Kelemahan:
- beberapa langkah pembuatan dan pemasangan sertifikat SSL membutuhkan pengetahuan tentang hal teknis;
- CPanel tidak dapat mengenali sertifikat SSL dan tidak dapat melakukan validasi (tidak perlu khawatir, ini wajar);
- metode manual ini harus selalu dilakukan beberapa hari sebelum masa sertifikat SSL berakhir.
Opsi 5: mengupgrade paket layanan CDN
Jika biaya tidak menjadi masalah bagimu, mengupgrade CDN ke paket layanan yang lebih tinggi (misal Cloudflare Business atau Enterprise). Level layanan ini memungkinkan kamu untuk menambahkan CNAME pada DNS Manager kamu.[11]
Secara sederhana, CDN akan membypass proses validasi SSL yang dilakukan AutoSSL. Hasilnya, AutoSSL dapat digunakan kembali dan juga dapat memvalidasi sertifikat SSL saat pembaruan otomatis.
Keunggulan:
- AutoSSL dapat digunakan meski menggunakan CDN;
- dapat memakai provider SSL sendiri dari CPanel kamu;
- mendapatkan fitur-fitur CDN yang lebih bagus saat paket layanan diupgrade.
Kelemahan:
- membutuhkan biaya operasional bulanan yang tidak sedikit.
Rekomendasi
Secara teknis, kami merekomendasikan opsi 4 (Menggunakan sertifikat origin dari CDN). Selain gratis, masa berlakunya pun sangat panjang. Bahkan kamu mungkin sudah melupakan adanya AutoSSL saat menggunakannya. Harapannya beberapa tahun lagi, versi AutoSSL terbaru sudah dapat memvalidasi sertifikat SSL meskipun menggunakan CDN.
Namun untuk perusahaan, Opsi 5 (mengupgrade paket layanan CDN) merupakan pilihan yang lebih disarankan. Namun perlu diperhatikan apakah sudah ada dana operasional yang dapat digunakan untuk membayar layanan CDN.
Referensi
- [1]VeriSign, “Everything You Need to Know About SSL Certificates,” VERISIGN. https://www.verisign.com/en_US/website-presence/online/ssl-certificates/index.xhtml (accessed Jul. 09, 2020).
- [2]DigiCert, “The Ultimate Guide: What is SSL, TLS and HTTPS?,” DigiCert. https://www.websecurity.digicert.com/security-topics/what-is-ssl-tls-https (accessed Jul. 09, 2020).
- [3]cPanelMichael, “Answer on CloudFlare and AutoSSL,” cPanel Forums, Nov. 21, 2017. https://forums.cpanel.net/threads/cloudflare-and-autossl.615115/#post-2500235 (accessed Jul. 09, 2020).
- [4]J. Lim, “cPanel AutoSSL and Cloudflare causing problems?,” Caveena Solutions, Dec. 12, 2017. https://caveenasolutions.com/2017/12/cpanel-autossl-cloudflare-causing-problems/ (accessed Jul. 09, 2020).
- [5]jeffatrackaid, “Answer on ‘Are there any disadvantages to Cloudflare’s “Flexible SSL”?,’” Stack Exchange: Webmaster , Aug. 11, 2014. https://webmasters.stackexchange.com/questions/67930/are-there-any-disadvantages-to-cloudflare-s-flexible-ssl (accessed Jul. 09, 2020).
- [6]J. H. Dom, “Why flexible SSL mode is not the best choice,” Cloudflare Community, Feb. 20, 2019. https://community.cloudflare.com/t/why-flexible-ssl-mode-is-not-the-best-choice/63531 (accessed Jul. 09, 2020).
- [7]J. H. Dom, “SSL/TLS app Settings,” Cloudflare Community, Jan. 2019. https://community.cloudflare.com/t/ssl-tls-app-settings/53186 (accessed Jul. 09, 2020).
- [8]Datanyze, “Market Share Category: Content Delivery Networks,” Datanyze, 2020. https://www.datanyze.com/market-share/cdn–10 (accessed Jul. 09, 2020).
- [9]Cloudflare, “Managing Cloudflare Origin CA certificates,” Cloudflare Help Center, May 19, 2020. https://support.cloudflare.com/hc/en-us/articles/115000479507 (accessed Jul. 09, 2020).
- [10]Digital Candy, “Cloudflare origin CA free SSL installation guide on Godaddy,” Digital Candy, Oct. 07, 2019. https://www.digitalcandy.agency/website-tips/cloudflare-origin-ca-free-ssl-installation-on-godaddy/ (accessed Jul. 09, 2020).
- [11]Hostragon, “cPanel AutoSSL and Cloudflare SSL,” Hostragon: Knowledgebase. https://billing.hostragon.com/knowledgebase/158/cPanel-AutoSSL-and-Cloudflare-SSL.html?language=english (accessed Jul. 09, 2020).
Gambar sampul oleh pikisuperstar di freepik
Terima kasih Pak Admin, saya pakai solusi opsi 2 dan sukses.
Akhirnya senyum-senyum sendiri, kok enggak kepikiran buat nonaktifin proxied dns di cloudflare gitu… xD
wah selamat…