Luthfi Idris Cerita Linux, Jerman Wirausaha dan Hidup Sederhana

Mari Kita Enkripsi

Secure atau aman sepertinya sudah menjadi kebutuhan dasar manusia. Manusia selalu perlu rasa aman. Contohnya ada tentara, polisi, hansip, satpam dan lain-lain. Begitu juga dengan komunikasi data di Internet. Pastikan bahwa komunikasi yang kita lakukan antara klien dan server adalah aman tanpa ada penyusup yang nguping komunikasi kita. Komunikasi di Internet melalui web browser sekarang ini sudah wajib hukumnya untuk menggunakan HTTPS.

Dulu untuk mendapatkan sertifikat HTTPS kita harus membayar kepada otoritas yang mengeluarkan sertifikasi tersebut. Sekarang karena sudah mulai jamak, umum maksudnya. Maka ada inisiatif untuk membuat sertifikasi HTTPS gratis dan _open source. Let’s Encrypt adalah proyek yang saya maksud. Minggu lalu kita sudah membahas pindahan ke gitlab dengan domain sendiri. Sekarang saya akan berbagi bagaimana cara memasang HTTPS pada jekyll dengan hosting di GitLab.

Bagaimana hosting di GitLab sudah saya tulis di Pindahan dan Hosting di GitLab. Pertama klon repository Let’s Encrypt, ini bebas dilakukan pada direktori manapun.

$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt

Kemudian lakukan perintah berikut dengan mengganti namadomain.org dengan domain sendiri yang telah ditambahkan pada custom domain di bagian pages GitLab.

$ ./letsencrypt-auto certonly -a manual -d namadomain.org

Perhatikan bahwa setelah itu akan mendapat pesan kira-kira sebagai berikut

Make sure your web server displays the following content at http://namadomain.org/.well-known/acme-challenge/5TBu788fW0tQ5EOwZMdu1Gv3e9C33gxjV58hVtWTbDM before continuing:

5TBu788fW0tQ5EOwZMdu1Gv3e9C33gxjV58hVtWTbDM.ewlbSYgvIxVOqiP1lD2zeDKWBGEZMRfO_4kJyLRP_4U

#
# bla bla bla
#

Press ENTER to continue

Sebelum menekan enter, sebaiknya membuat sebuah file dengan nama letsencrypt di direktori root proyek. Isi dari file tersebut sebagai berikut

---
layout: null
permalink: /.well-known/acme-challenge/5TBu788fW0tQ5EOwZMdu1Gv3e9C33gxjV58hVtWTbDM
---

5TBu788fW0tQ5EOwZMdu1Gv3e9C33gxjV58hVtWTbDM.pDcidst-5CIenc_IRXXAD_ZFe3IUql4tooHyfQmfBzc

Ubah kode di atas sesuai yang didapatkan dari output perintah awal tadi. Kemudian coba lakukan perintah jekyll serve. Cek hasilnya dengan membuka halaman http://localhost:4000/.well-known/acme-challenge/5TBu788fW0tQ5EOwZMdu1Gv3e9C33gxjV58hVtWTbDM apabila ada output 5TBu788fW0tQ5EOwZMdu1Gv3e9C33gxjV58hVtWTbDM.pDcidst-5CIenc_IRXXAD_ZFe3IUql4tooHyfQmfBzc maka penulisan file sudah benar. Setelah itu bisa commit dan push kedalam repositori yang ada di GitLab.

Tekan ENTER pada terminal tadi yang kita biarkan. Akan ada pesan kurang lebih sebagai berikut:

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/namadomain.org/fullchain.pem. Your cert will
   expire on 2016-07-04. To obtain a new version of the certificate in
   the future, simply run Let's Encrypt again.
 - If you like Let's Encrypt, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Artinya pembuatan sertifikat telah berhasil dan sekarang buka kembali GitLab masuk ke bagian pages lalu hapus custom domain yang ada sekarang. Tambahkan kembali custom domain yang baru dengan mengisi kolom Certificate (PEM) yang filenya ada di /etc/letsencrypt/live/namadomain.org/fullchain.pem dan kolom Key (PEM) yang filenya ada di /etc/letsencrypt/live/namadomain.org/privkey.pem. Keduanya membutuhkan hak akses root untuk membacanya. Klik Create New Domain dan silahkan test buka https://namadomain.org. Selamat!!! anda sekarang menggunakan komunikasi yang aman.

Tetapi, ada beberapa kelemahan pada cara ini. Salah satunya adalah kita diharuskan untuk memperbaharui sertifikat ini tiap 90 hari. Menurutku ini agak merepotkan. Jadi, tambahkan saja di kalender kalian tiap 3 bulan update sertifikat.

Tulisan ini disadur dari : https://about.gitlab.com/2016/04/11/tutorial-securing-your-gitlab-pages-with-tls-and-letsencrypt/

« Pos Sebelumnya Pos Sesudahnya »