Kebahagiaan tak dapat diraih tanpa kerja keras.

Minggu, 14 Mei 2017

8.16 Konfigurasi HTTPS Pada Nginx (CentOS 7)


Assalamualaikum Wr. Wb
Pada postingan saya kali ini saya ingin membahas mengenai Konfigurasi HTTPS Pada Nginx di CentOS 7, Sebelum ke langkah-langkahnya saya ingin memberitahu sedikit apa itu HTTPS. 
HTTPS atau Hypertext Transfer Protokol Secure (HTTPS) adalah versi aman dari HTTP protokol komunikasi dari World Wide Web.
Perbedaan HTTP dan HTTPS :
  • Keamanan data yang dikirimkan
HTTP tidak menjamin keamanan data yang ditransmisikan antara client dengan server. Sementara HTTPS menjamin keamanan data yang dikirimkan.
  • Port yang digunakan 
Secara default HTTP menggunakan port 80 sedangkan HTTPS menggunakan port 443.
  • Kebutuhan SSL
Secara default, protokol yang digunakan untuk komunikasi client-server adalah HTTP. Sementara untuk dapat menggunakan protokol HTTPS, kita diharuskan memiliki sertifikat SSL (Secure Socket Layers)

Lanjut ke langkah-langkahnya aja yuukk :

Konfigurasi Server

1. Pertama-tama kita ke directory /certs/ karena disitulah letak file yang berfungsi untuk membuat Certificied SSL, dengan menggunakan perintah cd /etc/pki/tls/certs.


2. Jika sudah sekarang kita buat file key atau kunci untuk file csr yang nantinya akan kita buat. Kemudian nanti akan diminta password untuk file key tersebut, maka dari itu masukkan passwordnya


3. Kemudian kita buat file .csr, dengan menggunakan perintah make (namafile).csr
File csr ini merupakan identitas dari Sertfikat yang nantinya akan terbuat. Maka nanti kalian akan diminta untuk memasukan beberapa identitas.


Ket :
  • Country Name (Negara) : ID / Indonesia
  • Province Name (Provinsi) : Jawa Barat
  • Locality Name / City (Kota) : Bekasi
  • Organization Name (Organisasi) : SMKN 1
  • Organization Unit Name (Unit Organisasi) : IT
  • Common Name (Hostname dari server) : www.laila.com
  • E -mail Address (E-mail yang digunakan) : admin@laila.com
4. Sekarang konfigurasi RSA terhadap file key yang sudah dibuat dengan menggunakan perintah openssl rsa -in (namafile).key -out (namafile).key. Dimana RSA ini merupakan sebuah algoritma pada enkripsi public key. RSA juga merupakan algoritma pertama yang cocok untuk digital signature seperti halnya enkripsi.

5. Lalu kita akan menggabungkan antar key dan csr dengan membuat crt, dengan mengetikkan perintah openssl x509 -in (namafile).csr -out (namafile).crt -req -signkey (namafile).key -days 3560


Ket :
  • x509 merupakan format public key certificates atau sertifikat yang digunakan
  • -in merupakan sumber dari identitas yang nantinya akan di include kedalam sertifikatnya 
  • -out merupakan Sertifikat, atau hasil dari generate file 
  • -req -signkey merupakan file keynya. 
  • -days merupakan jangka waktu untuk sertifikat tersebut dalam hitungan hari
6. Sekarang konfigurasi HTTPS untuk domain tertentu, disini saya mengkonfigurasinya pada file konfigurasi Virtual Host yang sudah saya buat pada lab sebelumnya, maka ketikkan perintah nano /etc/nginx/conf.d/(nama virtualhost).conf

7. Lalu tambahkan script seperti yang saya beri tanda dibawah ini.


Ket :
  • listen 443 ssl digunakan untuk suatu domain agar 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.
8. Kemudian restart system nginx agar apa yang telah kita konfigurasi dapat berjalan dengan baik


9. Setalah itu, masukan service https kedalam firewall agar dapat diakses oleh client. Maka ketikkan perintah 
firewall -cmd --permanent --add-service=https
firewall -cmd --reload
Dan pastikan hasilnya adalah success.


10. Edit konten web untuk https tersebut dengan mengetikkan perintah nano /usr/share/nginx/(namafile)/index.html, dan jangan lupa sesuaikan peletakan file indexnya sesuai dengan directory dari domain yang kalian gunakan.


11. Dan disinilah kita akan mengedit tampilan dari web kita, dan dibawah ini merupakan script sederhana untuk tampilan web nantinya.


Verifikasi Client

1. Lakukan verifikasi di browser client dengan mengetikkan https://(nama domain). Dan tampilan yang muncul adalah seperti gambar dibawah ini, terdapat tulisan your connection is not private dikarenakan SSL yang kita buat bersifat lokal, dan untuk mengakses web nya maka kita klik pada advanced > proceed to www.laila.com (unsafe).


2. Dan inilah tampilan dari webnya.


3. Langkah terakhir yang kita lakukan adalah inspect pagenya, dengan cara klik kanan pada mouse > 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 akan melihat sertifikatnya dengan cara klik view certificate.


4. Maka akan tampil informasi mengenai web https yang telah kita buat tadi di file csr.

Yap mungkin itu saja yang dapat saya sampaikan, kurang lebihnya saya mohon maaf. 
Wassalamualaikum Wr. Wb.
0

0 komentar:

Posting Komentar