Cara Memasang Sectigo PositiveSSL Wildcard di Ubuntu 22.04 untuk Nginx atau Apache


Selamat datang di ChotibulStudio. Di artikel kali ini, saya ingin berbagi tutorial cara memasang Sectigo PositiveSSL Wildcard di Ubuntu 22.04. Mentang-mentang baru perpanjangan SSL, langsung dibikinin konten.

Ya, bikin konten itu penting juga, sih. Apalagi perpanjangannya 'kan tiap tahun. Kalau gak ada rekapnya, saya suka lupa.

Jadi, ya, nikmatin aja!.

Oiya, tujuan akhirnya nanti, semoga setelah Anda membaca dan mempraktikkan tutorial ini, Anda bisa lebih faham terkait cara memasang wildcard SSL, baik untuk Nginx maupun Apache.

Tutorial ini tidak akan saya split dan kemungkinan akan menjadi tutorial yang agak panjang. Untuk itu, sebelum Anda mulai membacanya, jangan lupa sedia kopi dan sedikit cemilan.

Sebelum saya lanjut ke teknis pembahasan, apakah Anda sudah tahu apa itu wildcard SSL?

Wildcard SSL

Menurut digicert.com, sertifikat Wildcard SSL/TLS adalah sertifikat tunggal dengan karakter wildcard (*) di bidang nama domain. Hal ini memungkinkan sertifikat untuk mengamankan beberapa nama sub domain yang berkaitan dengan domain dasar yang sama.

Misalnya, sertifikat wildcard SSL dari *.domainanda.id bisa juga digunakan untuk www.domainanda.id, mail.domainanda.id, dan sub domain apapun asalkan masih dibawah domain domainanda.id. Meskipun hampir semua sub domain tersebut terpasang di mesin yang berbeda-beda.

Memasang Sectigo PositiveSSL Wildcard

Sertifikat wildcard SSL bisa Anda dapatkan dengan cara berlangganan.

Alasan kenapa saya memilih layanan Sectigo PositiveSSL Wildcard adalah harganya yang relatif miring dari pada wildcard SSL dari layanan lain.

Nah, untuk mendapatkan layanan sertifikat SSL Sectigo PositiveSSL Wildcard ini berbeda dengan Let's Encrypt.

Untuk mendapatkan sertifikat gratis yang ditenagai Let's Encrypt, Anda cukup punya domain aktif dan surel saja. Sedangkan layanan semacam Sectigo PositiveSSL ini memerlukan langkah tambahan.

Seperti apa langkah tambahannya? Mari kita ulas!.

1. Buat kunci privat dan CSR untuk server utama dengan bantuan OpenSSL

Langkah pertama ini adalah kunci untuk memulai sebelum Anda memutuskan untuk berlangganan layanan SSL premium.

Kita membutuhkan dua kunci utama; kunci privat dan CSR.

Kunci privat. Seperti namanya, kunci ini harus berada di tempat paling rahasia dan harus Anda lindungi dengan segenap jiwa raga. Kehilangan atau beralih tangannya kunci ini bisa berakibat fatal untuk server Anda. Ibarat kata, kunci privat ini adalah kunci dan server adalah rumah Anda.

CSR (Certificate Signing Request), menurut thesslstore.com adalah cara standar untuk mengirim Certificate Authority (CA) penerbit kunci publik Anda yang nantinya akan disandingkan dengan kunci private.

Untuk membuat kedua kunci tersebut, Anda membutuhkan perkakas bernama OpenSSL. Jika Anda belum memasangnya di server Anda, Anda bisa memasang OpenSSL dengan mengeksekusi perintah berikut.

$ sudo apt install openssl

Eksekusi perintah berikut untuk menghasilkan kunci privat dan CSR.

$ openssl req –new –newkey rsa:2048 –nodes –keyout domainanda.id.key –out domainanda.id.csr

Beberapa saat setelah Anda mengeksekusi perintah di atas, OpenSSL akan meminta Anda untuk mengisi detail CRS. Isilah sesuai dengan ketentuan berikut:

  • Common Name : pada bagian ini, masukkan fully-qualified domain name yang ingin Anda amankan dengan sertifikat yang Anda buat. Misalnya *.domainanda.id.
  • Organization : pada bagian ini, isilah dengan nama lengkap resmi organisasi atau instansi, termasuk pengenal perusahaan.
  • Organization Unit (OU) : pada bagian ini, silakan diisi dengan nama departemen Anda, misalnya "Departemen IT".
  • City or Locality : pada bagian ini, silakan diisi dengan nama kota dimana organisasi atau perusahaan Anda didirikan secara hukum. Penulisannya jangan disingkat.
  • State or Province : pada bagian ini, silakan diisi dengan negara bagian atau provinsi dimana organisasi atau perusahaan Anda didirikan secara hukum. Penulisannya jangan disingkat.
  • Country : pada bagian ini, silakan diisi dengan nama negara dengan kode negara dua huruf (two-letter) resmi.

Sampai pada langkah ini, Anda sudah memiliki kunci privat dan CSR. Anda bisa menggunakan CSR ini untuk berlangganan layanan SSL pilihan Anda, nanti.

2. Langganan ke penyedia layanan SSL

Saat ini Anda sudah memiliki sebuah CSR. Anda bisa memanfaatkannya untuk melakukan order sertifikat SSL ke penyedia layanan SSL.

Cukup salin-tempel kode CSR milik Anda ke form yang sudah disediakan oleh penyedia layanan SSL.

Yang paling penting, jangan lupa dibayar tagihannya, ya. Hihi.

Setelah langkah ini selesai, Anda akan mendapat kiriman berkas arsip yang berisi sertifikat untuk domain dan sub domain Anda.

3. Cara memasang Sectigo PositiveSSL Wildcard

Kita sampai di bagian utama dari rangkaian tutorial cara memasang Sectigo PositiveSSL Wildcard ini.

Sebelum Anda benar-benar memasang wildcard SSL ini, ada beberapa langkah tambahan yang perlu Anda lakukan.

Ingat, tutorial ini hanya memandu Anda untuk memasang wildcard SSL di Ubuntu untuk Nginx atau Apache, ya. Bukan di cPanel atau panel kontrol lainnya. Sehingga masih perlu adanya langkah tambahan sebelum akhirnya sertifikat tersebut bisa digunakan.

3.1. Siapkan bundel sertifikat SSL (Sectigo intermediate certificate)

Bundel sertifikat SSL terdiri dari gabungan beberapa berkas 'kunci' yang dikumpulkan menjadi satu.

Untuk membuat bundel sertifikat SSL, silakan unduh berkas arsip sertifikat SSL yang dikirimkan ke surel Anda.

Ekstrak berkas arsip tersebut dengan perintah berikut

$ unzip STAR_domainanda_id.zip

Di dalam direktori hasil ekstrak, Anda akan menemukan beberapa file sertifikat; USERTrustRSAAAACA.crt, SectigoRSADomainValidationSecureServerCA.crt, AAACertificateServices.crt dan STAR_domainanda_id.crt.

Bundel semua sertifikat tersebut dengan langkah sebagai berikut:

$ cat USERTrustRSAAAACA.crt SectigoRSADomainValidationSecureServerCA.crt AAACertificateServices.crt > domainanda.id.ca-bundle

$ cat STAR_domainanda_id.crt domainanda.id.ca-bundle > ssl-bundle.crt

Sampai langkah ini, Anda sudah memiliki satu berkas sertifikat ssl-bundle.crt yang siap digunakan bersamaan dengan kunci privat yang sebelumnya sudah Anda buat juga.

3.2. Pasang sertifikat untuk Nginx atau Apache

Pada kasus ini, kedua aplikasi web server berjalan di mesin yang berbeda. Dimana Nginx berjalan di mesin utama atau mesin yang saya gunakan untuk men-generate kunci privat dan CSR. Sedangkan Apache berjalan di mesin lain yang digunakan untuk kebutuhan yang berbeda.

Pada bagian ini, akan ada perpindahan kunci privat antar server yang berbeda. Untuk itu, saya ingin mengingatkan kembali kepada Anda untuk selalu mengamankan kunci privat Anda.

Cukuplah hanya mengubah beberapa bagian konfigurasi yang sesuai. Jangan mengubah semua konfigurasi yang belum Anda ketahui karena itu bisa jadi akan menimbulkan malafungsi pada layanan web server Anda.

3.2.1 Nginx

Untuk memasang sertifikat wildcard SSL pada Nginx, Anda bisa mengedit konfigurasi blok server yang Anda buat. Blok server yang dimaksud adalah blok server yang menangani permintaan HTTPS.

Eksekusi perintah berikut

$ sudo nano /etc/nginx/sites-available/domainanda.id

Edit bagian blok server yang menangani permintaan HTTPS seperti konfigurasi di bawah ini.

...
        listen [::]:443 ssl ipv6only=on;
        listen 443 ssl;
        ssl_certificate /etc/nginx/ssl/domainanda.id/ssl-bundle.crt;
        ssl_certificate_key /home/user/dir/domainanda.id.key;
...

Simpan konfigurasi yang Anda buat dan mulai ulang layanan Nginx dengan perintah berikut.

$ sudo systemctl restart nginx

Informasi seputar konfigurasi Nginx lainnya bisa Anda baca melalui tautan ini.

3.2.2 Apache

Sejatinya, hampir semua konfigurasi web server memiliki tempat yang sama untuk berkas konfigurasinya.

Hanya saja, dalam praktik bakunya, alih-alih menjadikan konfigurasinya menjadi satu berkas saja seperti Nginx, Apache memisahkan konfigurasi antara konfigurasi yang menangani permintaan HTTP dengan HTTPS. Hal itu terlihat adanya dua berkas 000-default.conf dan ssl-default.conf pada direktori sites-available.

Meski begitu, sebagai Admin sistem, Anda bisa lebih menyederhanakan konfigurasi baru menjadi satu berkas konfigurasi saja.

Metode konfgurasi manapun yang Anda pakai, untuk memasang sertifikat wildcard SSL pada Apache tetap dilakukan pada bagian tag yang mengatur permintaan HTTPS.

Oiya, pada kasus ini, Apache berjalan di mesin lain atau bukan di mesin utama seperti yang sudah saya jelaskan sebelumnya.

Jadi, untuk memindahkan kunci privat dengan aman, saya memanfaatkan bantuan dari secure copy protocol atau scp.

$ scp /home/user/dir/domainanda.id.key user@10.20.30.40:/home/user/dir

Setelah kunci privat siap di mesin kedua, sekarang saatnya melakukan konfigurasi.

Bagi Anda yang mengikuti praktik konfigurasi bawaan Apache, eksekusi perintah berikut.

$ sudo nano /etc/apache/sites-available/default-ssl.conf

Bagi Anda yang sudah menyesuaikan konfigurasinya, Anda bisa mengeksekusi perintah berikut.

$ sudo nano /etc/apache/sites-available/domainanda.id.conf

Edit bagian konfigurasi yang menangani permintaan HTTPS untuk memasang sertifikat wildcard SSL. Kurang lebih seperti ini.

<IfModule mod_ssl.c>
        <VirtualHost _default_:443>

                SSLEngine on
                SSLCertificateFile      /home/user/domain/domainanda.id/ssl/ssl-bundle.crt
                SSLCertificateKeyFile   /home/user/dir/domainanda.id.key

        </VirtualHost>
</IfModule>

Simpan konfigurasi yang sudah Anda buat dan mulai ulang layanan Apache.

$ sudo systemctl restart apache2

Sampai pada langkah ini, Anda sudah melakukan pemasangan didua web server yang berbeda.

3.3. Pengujian

Untuk melakukan pengujian terhadap hasil konfigurasi, Anda bisa melakukan pengecekan melalui peramban web.

Buka pramban favorit Anda, kemudian akses situs web Anda dengan mengetikkan nama domain pada bar pencarian. Setelah situs web Anda dimuat sepenuhnya, Anda bisa mengeklik view site information pada ikon gembok yang berada di sebelah kiri domain Anda pada bar pencarian.

Setelah Anda mengeklik ikon gembok tersebut, pada kasus Google Chrome, silakan klik Connection is secure - Certificate is valid.

Tampilan hasil pengujian pemasangan Sectigo PositiveSSL Wildcard di Ubuntu 22.04 untuk Nginx atau Apache
Tampilan hasil pengujian pemasangan Sectigo PositiveSSL Wildcard

Sumber

How to generate a CSR for Nginx (OpenSSL), tersedia daring di https://www.thesslstore.com/knowledgebase/ssl-generate/csr-generation-guide-for-nginx-openssl/ 

Certificate Installation : NGINX, tersedia daring di https://sectigo.com/knowledge-base/detail/Certificate-Installation-NGINX-1527076083655/kA01N000000zFJQ

How do i make my own bundle file from CRT files?, tersedia daring di https://support.sectigo.com/PS_KnowledgeDetailPage?Id=kA01N000000zFKz

Certificate Signing Request (CRS) Overview, tersedia daring di https://www.thesslstore.com/knowledgebase/ssl-generate/cetificate-signing-request-overview/

What is a Wildcard Certificate?, tersedia daring di https://knowledge.digicert.com/generalinformation/INFO900.html


Komentar

Postingan populer dari blog ini

Implementasi IPv6 TunnelBroker untuk Server WordPress Self Host

Daftar Rekomendasi Repositori Lokal Debian 11 "Bullseye"

Koneksi Internet Bermasalah di Ubuntu 18.04, Berikut Cara Memperbaikinya