Lab 8.16. [CENTOS7] Web Server [NGINX] : SSL Configuration for HTTPS - Yord's Note

Latest

Catatan kecil seputar Informatika dan Umum

Sunday, May 14, 2017

Lab 8.16. [CENTOS7] Web Server [NGINX] : SSL Configuration for HTTPS


Assalamu'alaikum Wr Wb,

Pada kesempatan kali ini, saya akan posting tutorial tentang Konfigurasi HTTPS pada Web Server Nginx.

Apa itu HTTPS ?

HTTPS (Hyper Text Transfer Protocol Secure) pada halnya sama dengan HTTP, yaitu protokol yang mengatur komunikasi antara client dan server. Pada umumnya cara komunikasi antara client dan server adalah client melakukan request ke server, kemudian server mengirimkan respon terhadap client. Respon yang dimaksud dapat berupa file HTML yang akan ditampilkan di browser ataupun data lain yang di-request oleh client ke server.

Nahh, HTTPS ini bisa dibilang versi amannya dari HTTP, karena HTTPS ini bekerja berdua (ciee berdua :v) bersama protokol SSL (Secure Socket Layer) atau Transport Layer Security (TLS) yang memungkinkan adanya Enkapsulasi dan menambahkan keamanan sebuah jaringan yang diakses pada browser.

Secara default, HTTPS berjalan pada port 443.


Topologi yang digunakan :

Konfigurasi Server

1). Pertama, kita pindah terlebih dulu ke direktori /certs/ karena disitu merupakan letak file make yang berfungsi untuk membuat Ceritified SSL. Kalo sudah pindah, selanjutnya kita buat file key untuk file csr yang akan kita buat nanti. Dan saat kita membuat file key ini, kita akan diminta untuk memasukkan password untuk file ini, masukkan password nya sesuka hati kalian.
cd /etc/pki/tls/certs 


2). Setelah itu, kita buat file csr nya. File CSR ini merupakan identitas dari sertifikat yang nanti akan terbuat. Disini kalian akan diminta untuk memasukkan beberapa identitas seperti, Negara, Email, Nama Organisasi, dan lain-lain.
make dirhamyord.csr

3). Kemudian konfigurasi RSA terhadap file key yang sudah dibuat dengan menggunakan openssl. RSA itu apa ?  RSA adalah sebuah algoritma pada enkripsi public key. RSA merupakan algoritma pertama yang cocok untuk digital signature seperti halnya enkripsi.
openssl rsa -in dirhamyord.key -out dirhamyord.key

4). Lalu buat file crt yang dengan menggunakan openssl. File crt ini merupakan sertifikat yang terbentuk dari hasil gabungan antara file csr dan key yang sudah dibuat sebelumnya.
openssl x509 -in dirhamyord.csr -out dirhamyord.crt -req -signkey dirhamyord.key -days 3560

Keterangan :

  1. x509 merupakan format public key certificates atau sertifikat yang digunakan 
  2. -in merupakan sumber dari identitas yang nantinya akan dimasukkan kedalam sertifikat 
  3. -out merupakan Sertifikat atau hasil dari generate file csr dan key 
  4. -req -signkey merupakan file keynya. 
  5. -days merupakan jangka waktu untuk sertifikat tersebut dalam hitungan hari.

5). Selanjutnya, konfigurasi HTTPS untuk salah satu domain, disini saya mengkonfigurasi nya pada file konfigurasi Virtual Host yang sudah saya buat pada Lab sebelumnya.
nano /etc/nginx/conf.d/dirham-vhost.conf


6). kemudian bisa kita edit dengan tambahan skrip pendukung ssl untuk https ini, seperti yang sudah saya tandakan warna kuning.


Keterangan :
  1. listen 443 ssl berarti salah satu domain dikonfigurasi untuk mendengarkan atau membaca service https pada port 443
  2. ssl_protocol TLSv1 TLSv1.1 TLSv1.2 merupakan standarisasi protocol yang digunakan oleh HTTPS yaitu ssl dan TLS (Transport Layer Security)
  3. ssl_certificate merupakan letak dari file sertifikat .crt yang telah dibuat dan dikonfigurasi sebelumnya
  4. ssl_certificate_key merupakan letak file key dari sertifikat ssl tersebut
7). lalu bisa kita restart web server nya dengan perintah berikut :
systemctl restart nginx

8). lalu kita harus menambahkan service https pada firewall di server nya supaya bisa diakses oleh client dan sekalian di reload untuk merestart firewall nya. berikut ini adalah perintahnya :
firewall-cmd --permanent --add-service=https
firewall-cmd --reload 

9). Kemudian edit konten untuk tampilan web https nya, dan sesuaikan letak file index nya dengan direktori dari domain yang kalian gunakan.
nano /usr/share/nginx/yordan/index.html

kemudian bisa kita isi skrip html sesuai selera.


Verifikasi [Client] : Web Browser "Chromium"

  • lalu bisa kita coba pada client, buka dahulu aplikasi Web Browser kesukaan kalian untuk verifikasi. disini saya misalnya menggunakan Aplikasi Web Browser Chromium.
  • lalu bisa kalian buka pada url dengan menambahkan protokol https://[domain anda]
https://www.yordan.id

  • nanti akan muncul seperti gambar dibawah ini, dengan dilanjutkan mengeklik ADVANCED



  • setelah itu untuk mengaksesnya bisa kita klik link dibawahnya yaitu Proceed to www.yordan.id (unsafe). hal ini terjadi karena sertifikat untuk https nya masih belum terpercaya oleh web browsernya, dan masih buatan sendiri.


  • dan beginilah tampilannya. 


  • untuk melihat isi dari file sertifikatnya, bisa kita klik kanan pada icon gembok, dilanjutkan dengan mengeklik details


  • lalu klik View Certificate 


  • tampilan pada Tab General bisa kita lihat Certificate Information. 


  • pada Tab details bisa kita lihat pada Field Subject nya, dan terlihat file .csr yang sudah dibuat menjadi file .crt seperti yang sudah jadi sekang ini. 

No comments:

Post a Comment

Popular