Kamis, 11 Mei 2017

Lab 8.16. Konfigurasi HTTPS pada Nginx



Jika sebelumnya kita melakukan konfigurasi HTTPS pada apache, kali ini kita Lanjut lagi pada Lab 8.16. mengenai konfigurasi HTTPS namun dengan aplikasi yang berbeda yaitu menggunakan Nginx. Mari kita ingat kembali dari sebelumnya. Sebenarnya HTTP dengan HTTPS ini sama, yaitu protokol yang mengatur komunikasi antar client dan server. Dimana HTTP(S) ini merupakan versi amannya (secure) dari HTTP yang berjalan bersama protokol SSL (secure socket layer) yang memiliki fungsi enkapsulasi dan menambahkan keamanan pada sebuah jaringan yang di akses oleh browser. Lalu bagaimanakah cara konfigurasinya? Bismillah Mari kita coba sama-sama. Dan berikut topologi yang kita gunakan.


1. Yang pertama kali kita lakukan adalah pindah direktori dengan menggunakan perintah cd, maka ketikkan perintah cd /etc/pki/tls/certs. Dimana pada direktori certs inilah tempat file make yang berfungsi untuk membuat sertifikat SSL nya. Setelah masuk kedalam direktori certs maka ketikkan perintah make (nama_file).key dimana ini berfungsi untuk membuat file kunci untuk file csr yang nantinya akan kita buat, dan setelah itu kita kan diminta untuk mengisikan passwordnya, maka isikan saja sesuka kita. 


2. Jika sudah maka sekarang kita akan membuat file csr nya yang berisi identitas dari sertifikat yang kita buat.

Keterangan :
  • Country Name : Negara (ID / Indonesia)
  • Province Name : Provinsi (Jawa Barat) 
  • Locality Name / City : Kota (Bekasi)
  • Organization Name : Organisasi / Nama perusahaan (SMKN 1 Kota Bekasi)
  • Organization Unit Name : Unit organiasi di perusahaan (Teknik Komputer Jaringan)
  • Common Name : Domain / Hostname dari server (www.kamilah.com)
  • E -mail Address : E-mail yang digunakan (kamilah@kamilah.com)
nantinya kita akan diminta untuk mengisi passwordnya, karena kita membuat SSL yang keynya buatan sendiri (lokal) maka tidak diisi juga tidak apa-apa, tetapi jika menggunakan SSL yang asli demi keamanan kita harus mengisikan passwordnya.


3. Ketikkan perintah openssl rsa -in server.key -out server.key.  Untuk konfigurasi RSA terhadap file key yang sudah kita buat sebelumnya. Dan RSA ini adalah sebuah algoritma pada enkripsi public key. RSA ini juga merupakan algoritma pertama yang cocok untuk digital signature seperti halnya enkripsi.


4. Sekarang kita akan menggabungkan antar key dan csr dengan membuat crt.

Keterangan :
  • x509 berfungsi supaya dapat digunakan untuk menampilkan informasi sertifikat, mengonversi sertifikat ke berbagai bentuk, menandatangani permintaan sertifikat seperti "mini CA" atau mengedit pengaturan kepercayaan sertifikat.
  • -in server.csr merupakan input data dari server.csr yang berupa identitas yang dibuat sebelumnya
  • -out server.crt merupakan output data nya akan menjadi server.crt
  • -req -signkey server.key merupakan request dari server.key 
  • -days 3650 adalah masa berlaku dari sertifikat keynya
Setelah itu akan muncul tulisan sepeti yang diblok berwarna oren ini yang merupakan sertifikat keynya, dan yang diterima browsernya nya server.crt. dimana server.crt ini yang dikirim ke penyedia layanan SSL supaya key nya menjadi valid, kemudian di kirim kembali ke kita supaya dapat di generate ke server kita agar dapat diterima dan dikenali oleh browser.


5. Selanjutnya kita akan melakukan konfigurasi HTTPS untuk domain tertentu, dan disini kita akan melakukan konfigurasi di file virtual host yang sudah kita buat pada lab sebelumnya, tetapi jika ingin menggunakan konfigurasi global nginx juga tidak masalah. 


6. Dan disinilah kita kan menambahlan script, maka tambahkan script seperti yang di blok berwarna hijau dibawah ini.

Keterangan :
  • listen 443 ssl digunakan untuk suatu domain supaya mendengarkan atau membaca service https pada port 443.
  • ssl_protocol TLSv1 TLSv1.1 TLSv1.2 merupakan standarisasi dari protokol yang digunakan oleh HTTPS.
  • ssl_certificate merupakan letak dari file sertifikat .crt yang telah kita buat dan konfigurasi.
  • ssl_certificate_key merupakan letak key dari sertifikat ssl. 

7. Sekarang kita kan merestart dengan menggunakan perintah systemctl restart nginx. supaya konfigurasi yang kita lakukan dapat berjalan dengan baik.


8. Kemudian kita kan mengkonfigurasi supaya client dapat mengakses web dengan memasukan service https kedalam firewall, dan pastikan hasilnya adalah sukses.


9. Dan kita akan mengedit tampilan / konten web yang terletak pada direktori /usr/share/nginx/kamilahcom dengan menambahkan index.html dalam direktori tersebut. untuk file peletakkan index.html ini disesuaikan dengan direktori file domain yang kita buat ya.


10. Dan disinilah kita mengedit tampilan / konten web, dan dibawah ini merupakan script sederhana untuk tampilan web nantinya.


11. Terakhir, kita akan melakukan verifikasi dengan membuka browser dan mengetikkan https://(domain_kita). Dan tampilan yang muncul seperti gambar dibawah ini, terdapat tulisan your connection is not private dikarenakan SSL yang kita buat bersifat lokal. dan untuk mengakses web maka kita klik pada advanced > proceed to www.kamilah.com (unsafe).


12. Dan inilah tampilan dari web server https.


13. Verifikasi terakhir yang kita lakukan adalah inspect pagenya, dengan cara klik kanan pada mouse > klik inspect atau bisa juga dengan cara klik ctrl + shift + i . kemudian kita ke tab security dan disana nantinya akan ada coution broken HTTPS, dan kita kan melihat sertifikatnya dengan cara klik view certificate.


14. Dan yang akan muncul adalah seperti gambar dibawah ini, maka pada tab details kita klik issuer dan terdapat disini identitas / informasi dari sertifikat yang kita buat di file csr sebelumnya.


Sekian yang dapat saya sampaikan, semoga bermanfaat
kurang lebihnya mohon maaf, Wassalamualaikum Warahmatullahi Wabarakatuh...

1 komentar:

  1. Supaya semua websitenya menggunakan HTTPS, gimana caranya kak ?

    BalasHapus

sedikit informasi

klik tanda plus di pojok kanan atas untuk keperluan lainnya. Terimakasih..