Assalammu'alaikum wa rahmatullah wa barakatuh,

     Sebelumnya kita sudah mempelajari bagaimana membangun web server dengan nginx, bisa dicek disini. Pada kesempatan kali ini kita akan mempelajari bagaimana mengamankan trafik HTTP dengan menggunakan OpenSSL. Dengan OpenSSL kita berarti kita melakukan menggunakan self-sign SSL untuk mengamankan protokol HTTP. Di kesempatan lain kita akan bahas apa perbedaannya self-sign certificate dengan Certificate Authority.



Tujuan : 
  • Dapat membuat file Private Key
  • Dapat membuat file CSR ( Certificate Sign Request )
  • Dapat membuat file CRT
  • Dapat mengonfigurasi nginx untuk menggunakan protokol HTTPS







Tahap 1 :Instalasi Paket


Lakukan generate rsa private key dengan perintah seperti gambar di atas. Disini saya menggunakan algoritma enkripsi DES3 atau yang biasa disebut dengan Triple DES dengan dengan panjang 2048 bit.

Tahap 2 : Menghilangkan prompted passphrase


     Kemudian agar nantinya ketika web site yang sudah dikonfigurasi menggunakan https tidak ditanyakan password untuk menjalankannya, maka perlu dihilangkan prompted passphrase dengan konfigurasi seperti di bawah.



Tahap 3 : Membuat file CSR



      Selanjutnya adalah membuat file CSR yang berisi mengenai informasi apa saja pada website kita, seperti domain, instansi terkait, lokasi, dan email. Untuk challenge password disini saya kosongkan jadi cukup enter-enter saja.



Tahap 4 : Memberikan hak akses




       Disini kita perlu memberikan batasan hak akses untuk private key, mengingat file ini yang nantinya akan digunakan untuk dekripsi file cipher ( file terenkripsi ) menjadi file plaintext ( file terdekripsi ).



Tahap 5 : Membuat file CRT



      Pada tahap ini adalah tahap terakhir untuk mendapatkan sertifikat yang nantinya berfungsi untuk verifikasi apakah informasi yang dikirim/diterima itu berasal dari web yang terkait.


Tahap 6 : Konfigurasi Nginx



 
      Konfigurasi file nginx.conf yang ada pada direktori /etc/nginx/ . Lalu tambahkan konfigurasi seperti di atas. Disini kita buat agar web server bisa menggunakan protokol https dengan cara membuka port 443 yang dimana adalah port default dari https itu sendiri. Kemudian definisikan dimana letak file private key dan file CRT yang sudah dibuat tadi, lalu kemudian save. Setelah itu jangan lupa untuk allow protokol https pada firewall dengan perintah firewall-cmd  - -add-service=https  - - permanent  dan firewall-cmd  - -reload.


Tahap 7 : Testing


      Lakukan test pada web browser dari sisi client dengan secara manual menambahkan kata https:// pada awal domain, disini adalah https://toko.idn.id ,lalu akan keluar tampilan seperti gambar di bawah. Jangan panik, ini bukannya tidak berhasil. Ini berhasil namun saja sertifikat yang kita gunakan adalah self-sign certificate yang mana belum terdaftar pada browser sehingga dianggap sebagai potensi resiko. Namun ini bisa diatasi dengan cara seperti gambar di bawah yakni menerima secara "manual" sertifikat yang sudah dibuat tadi.



    Berikut di bawah ini adalah hasil nya :






    







      Kesimpulannya adalah pada lab kali ini kita memproteksi trafik web server lokal dengan cara membuat sertifikat sendiri secara lokal tanpa CA ( Certificate Authority ) . Kini data yang ditransmisikan tidak lagi berbentuk plaintext ( berbentuk ciphertext ) yang jika dilakukan eavesdropping tidak akan terlihat secara langsung informasi apa yang sedang berlalu lalang karena perlu private key untuk mengetahui informasi aslinya, sedangkan yang memiliki private key hanyalah pada sisi web servernya saja. Sekian lab kali ini, sampai jumpa di lab selanjutnya ! Terimakasih !

Wassalammu'alaikum wa rahmatullah wa barakatuh.

Post a Comment

Previous Post Next Post