Thursday 11 May 2017

LAB Centos 8.16 | NGINX | SSL Configuration

Assalamualaikum wr. wb.

Selamat hari harian gan :v. Pada kesempatan kali ini si admin akan mengeshare tentang  lanjutan postingan centos kemaren, apa ajaa ? Yaitu Konfigurasi SSL untuk HTTPS Nginx. SSL itu apa sih gan ? HTTPS itu apaa ? yok kepengertiannya.

Jadi SSL itu Kepanjangan dari Secure Socket layer dan pengertian SSL ini berupa Sertifikat yang akan mengamankan transmisi data dari web browser.

Dan HTTPS itu apaa ?  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 si client. Secara default HTTPS ini berjalan diport 443.

Namun HTTPS ini lebih aman dari HTTP kenapa ? karena HTTPS ini lebih secure. dan HTTP ini bekerja sama dengan Protokol Secure Socket Layer (SSL) dan Transport Layer Security (TLS). Memungkinkan adanya enkapsulasi dan menambahkan sebuah keamanan jaringan yang diakses web browser.

Yups untuk topologinya seperti dibawah ini ....

Dan jika sudah melihat topologinya maka check this out

Server
1. Pertama, masuk dulu ke directory certs, karena file yang berfungsi untuk membuat Certified SSL ada disana. Kemudian buat file key (kunci) untuk file csr yang nanti akan dibuat pada tahap selanjutnya. Dan pasti akan diminta untuk membuat password untuk file key tersebut, kalian bisa membuat password nya senyaman hati kalian.
 "cd /etc/pki/tls/certs"
 "make 'namafile'.key"

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 'namafile'.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 ekripsi.
"openssl rsa -in 'namefile'.key  -out 'namafile'.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 'namafile'.csr -out 'namafile'.crt -req -signkey 'namafile'.key -days 3650"
Keterangan :
  • x509 merupakan format public key certificates atau sertifikat yang digunakan 
  • in merupakan sumber dari identitas yang nantinya akan dimasukkan kedalam sertifikat 
  • out merupakan Sertifikat atau hasil dari generate file csr dan key 
  • req -signkey merupakan file keynya. 
  • days merupakan jangka waktu untuk sertifikat tersebut dalam hitungan hari
5. Kita edit file .conf dengan beberapa script agar konfigurasi ssl ini berjalan secara optimal
 nano /etc/nginx/conf.d/"namafilevhost".conf

6. Lalu Script yang sudah saya tambahkan seperti digambar bawah ini merupakan script yang akan berjalan menjadi web https

Keterangan:
  • listen 443 ssl berarti salah satu domain dikonfigurasi untuk mendengarkan atau membaca service https pada port 443
  • ssl_protocol TLSv1 TLSv1.1 TLSv1.2 merupakan standarisasi protocol yang digunakan oleh HTTPS yaitu ssl dan TLS (Transport Layer Security)
  • ssl_certificate merupakan letak dari file sertifikat .crt yang telah dibuat dan dikonfigurasi sebelumnya
  • ssl_certificate_key merupakan letak file key dari sertifikat ssl tersebut

7. Lalu restart service nginx agar semua konfigurasi yang telah kita setting berjalan optimal

8. Selanjutnya, masukkan service https kedalam firewall agar bisa diakses oleh client

9. Kemudian edit konten untuk tampilan web https nya, dan sesuaikan letak file index nya dengan direktori dari domain yang kalian gunakan disettingan https 


Client

1. Buka web https kalian pada client dengan mengetikkan nama domain yang diawali dengan https:// 
Maka akan muncul peringatan connection is not private, itu karena file SSL yang kita buat hanya bersifat lokal. Untuk melanjutkan klik Advanced > Proceed to "namadomain" (unsafe)

2. Maka halaman web https nya akan muncul 

3. Sekarang kita inspect page nya, kemudian pada tab security akan ada caution broken HTTPS. Jika kalian ingin melihat sertifikat nya klik View Certificate 

4. Maka akan muncul informasi mengenai Web https tersebut, yang lebih tepatnya berisi informasi yang sudah kita buat di file .csr

Cukup sekian Materi-nya. Kalau ada kesalahan mohon dikomentar
Wassalamualaikum wr. wb.



EmoticonEmoticon