Memanfaatkan Layanan SSL/TLS Bebas Dari Let's Encrypt Untuk GitLab Edisi Komunitas
SSL (secure Socket Layer) atau TLS (Transport Layer Security) merupakan protokol kriptografi untuk menyediakan komunikasi yang aman melalui internet. Layanan TLS biasanya diterbitkan oleh suatu lembaga yang telah mengantongi izin dari pemerintah setempat dengan menyediakan layanan kunci publik dan kunci privat, lembaga tersebut dikenal dengan lembaga penerbit certificate authority.
Tahukah anda, untuk menerbitkan CA anda harus mengelontorkan sejumlah pengeluaran. Itu adalah hal yang wajar, mengingat harga tentu akan sebanding dengan fitur yang ditawarkannya. Rego gowo rupo, begitu kata orang Jawa.
Anda tidak perlu khawatir, saat ini, hampir penyedia jasa layanan hosting telah memasukkan layanan TLS pada setiap paketnya, tentu ini akan semakin murah. Namun, bagi anda yang membangun sendiri layanan, misalkan melalui VPS mandiri, tentu anda harus sedikit menambah anggaran anda.
Tenang, bagi anda yang memilih untuk membangun layanan mandiri di VPS dan tidak ada anggaran untuk menerbitkan sertifikat authority, kini ada solusinya, pakai saja jasa dari Le'ts Encrypt.
Let's Encrypt merupakan lembaga penerbit sertifikat otoritas yang memegang teguh semboyan open certificate authority. Layanan ini disediakan oleh Internet Security Research Group (ISRG) secara bebas dan dijalankan untuk kepentingan publik.
Lalu, bagaimana penerapan Let's Encrypt untuk VPS pribadi ? Berikut ulasannya.
Saya menerapkan layanan TLS dari Let's Encrypt pada VPS yang menjalankan sistem operasi Debian GNU/Linux 9 dan telah terpasang GitLab. Sehingga inti dari tutorial ini adalah menggunakan layanan TLS dari Let's Engcrypt untuk GitLab edisi komunitas.
Agar dapat menggunakan layanan TLS dari Let's Encrypt di sistem operasi Debian GNULinux, anda memerlukan paket certbot, Let's Encrypt client.
Pertama-tama, anda membutuhkan sebuah direktori untuk acuan pada custom konfigurasi EngineX.
Buka konfigurasi GitLab yang ada di direktori /etc/gitlab/.
$ sudo nano /etc/gitlab/gitlab.rb
Setelah itu carilah baris nginx['custom_server_config'] dengan memanfaatkan fitur pencarian. Jika anda menggunakan editor nano, anda dapat menggunakan kombinasi tombol Ctrl W. Hapus tanda pagar (#) yang ada awal baris konfigurasi hingga menjadi seperti ini:
Simpan konfigurasi lalu konfigurasikan ulang GitLab-nya.
Kedua, ajukan permohonan penerbitan sertifikat menggunakan certbot, berikut perintahnya:
Opsi domain_anda dapat anda ganti dengan domain milik anda.
Sesaat setelah anda mengeksekusi perintah diatas, anda akan mendapatkan informasi seputar penerbitan sertifikat. Anda akan dimintai untuk memasukkan surel dan menyetujui prosesnya. Ikuti saja instruksi dari Certbot. Setelah selesai, Certbot juga akan memberitahu kepada anda letak sertifikat yang telah diterbitkan, anda dapat menjumpai sertifikat ada di direktori /etc/letsencrypt/live/domain_anda/.
Maka anda akan menjumpai beberapa berkas berekstensi .pem, diantaranya cert.pem, chain.pem, fullchain.pem, dan privkey.pem. Untuk kebutuhan implementasi, anda hanya memerlukan fullchain.pem sebagai kunci publik anda dan privkey.pem sebagai kunci pribadi anda.
Ketiga, buka kembali berkas konfigurasi GitLab dengan editor nano.
Temukan baris konfigurasi external_url lalu ubah http menjadi https.
Selanjutnya, temukan baris konfigurasi redirect_http_to_https, ubah nilainya dari false menjadi true.
Selanjutnya, temukan kembali dua baris konfigurasi, yaitu ssl_certificate dan ssl_certificate_key untuk memasang kunci publik dan privat. Kemudian ubah PATH-nya dan arahkan ke tempat kunci-kunci anda. Ingat, hilangkan dulu tanda pagarnya (#).
Konfigurasikan ulang GitLab.
Sampai pada langkah ini, anda telah menerapkan layanan SSL/TLS untuk situs GitLab anda.
https://letsencrypt.org/about/
https://gitlab.com/umam212/install-gitlab-ce
https://www.digitalocean.com/community/tutorials/how-to-secure-gitlab-with-let-s-encrypt-on-ubuntu-16-04
Tahukah anda, untuk menerbitkan CA anda harus mengelontorkan sejumlah pengeluaran. Itu adalah hal yang wajar, mengingat harga tentu akan sebanding dengan fitur yang ditawarkannya. Rego gowo rupo, begitu kata orang Jawa.
Anda tidak perlu khawatir, saat ini, hampir penyedia jasa layanan hosting telah memasukkan layanan TLS pada setiap paketnya, tentu ini akan semakin murah. Namun, bagi anda yang membangun sendiri layanan, misalkan melalui VPS mandiri, tentu anda harus sedikit menambah anggaran anda.
Tenang, bagi anda yang memilih untuk membangun layanan mandiri di VPS dan tidak ada anggaran untuk menerbitkan sertifikat authority, kini ada solusinya, pakai saja jasa dari Le'ts Encrypt.
Let's Encrypt merupakan lembaga penerbit sertifikat otoritas yang memegang teguh semboyan open certificate authority. Layanan ini disediakan oleh Internet Security Research Group (ISRG) secara bebas dan dijalankan untuk kepentingan publik.
Lalu, bagaimana penerapan Let's Encrypt untuk VPS pribadi ? Berikut ulasannya.
Persiapan
- Sebuah VPS yang telah memiliki domain, domain yang digunakan harus nyata dan sudah terdaftar, tidak abal-abal.
- Rasa penasaran yang besar.
Implementasi
Saya menerapkan layanan TLS dari Let's Encrypt pada VPS yang menjalankan sistem operasi Debian GNU/Linux 9 dan telah terpasang GitLab. Sehingga inti dari tutorial ini adalah menggunakan layanan TLS dari Let's Engcrypt untuk GitLab edisi komunitas.
Instalasi Paket Pendukung
Agar dapat menggunakan layanan TLS dari Let's Encrypt di sistem operasi Debian GNULinux, anda memerlukan paket certbot, Let's Encrypt client.
$ sudo apt install certbot
Mempersiapkan Let's Encrypt Untuk Verifikasi Domain
Pertama-tama, anda membutuhkan sebuah direktori untuk acuan pada custom konfigurasi EngineX.
$ sudo mkdir -p /var/www/letsencrypt
Buka konfigurasi GitLab yang ada di direktori /etc/gitlab/.
$ sudo nano /etc/gitlab/gitlab.rb
Setelah itu carilah baris nginx['custom_server_config'] dengan memanfaatkan fitur pencarian. Jika anda menggunakan editor nano, anda dapat menggunakan kombinasi tombol Ctrl W. Hapus tanda pagar (#) yang ada awal baris konfigurasi hingga menjadi seperti ini:
nginx['custom_gitlab_server_config'] = "location ^~ /.well-known { root /var/www/letsencrypt; }"
Simpan konfigurasi lalu konfigurasikan ulang GitLab-nya.
$ sudo gitlabctl-reconfigure
Mengajukan Permohonan Penerbitan Sertifikat dengan Certbot
Kedua, ajukan permohonan penerbitan sertifikat menggunakan certbot, berikut perintahnya:
$ sudo certbot certonly --webroot --webroot-path=/var/www/letsencrypt -d domain_anda
Opsi domain_anda dapat anda ganti dengan domain milik anda.
Sesaat setelah anda mengeksekusi perintah diatas, anda akan mendapatkan informasi seputar penerbitan sertifikat. Anda akan dimintai untuk memasukkan surel dan menyetujui prosesnya. Ikuti saja instruksi dari Certbot. Setelah selesai, Certbot juga akan memberitahu kepada anda letak sertifikat yang telah diterbitkan, anda dapat menjumpai sertifikat ada di direktori /etc/letsencrypt/live/domain_anda/.
$ sudo ls /etc/letsencrypt/live/domain_anda/
Maka anda akan menjumpai beberapa berkas berekstensi .pem, diantaranya cert.pem, chain.pem, fullchain.pem, dan privkey.pem. Untuk kebutuhan implementasi, anda hanya memerlukan fullchain.pem sebagai kunci publik anda dan privkey.pem sebagai kunci pribadi anda.
Konfigurasi GitLab Agar Menggunakan Sertifikat Let's Encrypt
Ketiga, buka kembali berkas konfigurasi GitLab dengan editor nano.
$ sudo nano /etc/gitlab/gitlab.rb
Temukan baris konfigurasi external_url lalu ubah http menjadi https.
external_url 'https://your_domain'
Selanjutnya, temukan baris konfigurasi redirect_http_to_https, ubah nilainya dari false menjadi true.
nginx['redirect_http_to_https'] = true
Selanjutnya, temukan kembali dua baris konfigurasi, yaitu ssl_certificate dan ssl_certificate_key untuk memasang kunci publik dan privat. Kemudian ubah PATH-nya dan arahkan ke tempat kunci-kunci anda. Ingat, hilangkan dulu tanda pagarnya (#).
nginx['ssl_certificate'] = "/etc/letsencrypt/live/domain_anda/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/domain_anda/privkey.pem"
Konfigurasikan ulang GitLab.
$ sudo gitlabctl-reconfigure
Sampai pada langkah ini, anda telah menerapkan layanan SSL/TLS untuk situs GitLab anda.
Referensi
https://letsencrypt.org/about/
https://gitlab.com/umam212/install-gitlab-ce
https://www.digitalocean.com/community/tutorials/how-to-secure-gitlab-with-let-s-encrypt-on-ubuntu-16-04
Komentar
Posting Komentar
Silahkan tinggalkan komentar Anda di sini.