Friday, January 27, 2017

Membuat Self-Signed CA SSL dengan OpenSSL dan Implementasinya di Apache2 & NGINX ~ Pt.4

  No comments
Assalamu'alaikum Wr. Wb.
Sudahkah teman-teman memasang SSLnya? meski sudah membuat ketiga komponen pentingnya masih juga 'tidak dipercayai' oleh Web Browser? nah di artikel ini kita akan membahasnya bersama-sama.

Bagaimana Sertifikat SSL di Server-side (Webserver) divalidasi oleh Web Browser?
Jadi, ketika Web Browser teman-teman melakukan 'Handshake' dengan Web Server, Web Server akan mengirimkan seluruh informasi dari sertifikat SSL yang digunakan (bukan Private Key). Setelah Informasi sertifikat diterima oleh Web Browser, selanjutnya Web Browser akan melakukan validasi sertifikat yang diterima dari Web Server dengan sertifikat-sertifikat yang ada di 'Repository' sertifikat Sistem Operasi atau yang dimiliki Web Browser itu sendiri.

Sistem Operasi dan Web Browser mempunyai Repository atau Gudang Sertifikat yang sudah pre-loaded dengan Sertifikat-sertifikat Root dan Intermediate dari Certificate Issuer ternama seperti VeriSign, GeoTrust, COMODO, DigiCert, dan sebagainya. Sehingga ketika Informasi Sertifikat yang diterima dari Web Server mempunyai data-data dari penerbit yang sesuai dengan yang dimiliki oleh Repository Sistem Operasi atau Web Browser, maka selanjutnya Web Browser akan menampilkan Logo Gembok Hijau yang berarti Web Browser mempercayai Server kita karena memiliki Sertifikat yang diterbitkan oleh Certificate Issuer 'terpercaya'.

Nah inilah yang terjadi pada sertifikat yang telah kita buat, kita sudah mempunyai semua komponen yang dibutuhkan oleh Web Browser untuk melakukan Validasi sertifikat yang digunakan server kita. Namun apa yang terjadi? Web Browser masih belum mau memberikan kepercayaan kepada server kita.

Yap ini terjadi karena Root Certificate dan Intermediate Certificate kita belum masuk dan dikenali oleh Repository Sertifikat yang dimiliki Sistem Operasi dan Web Browser kita. Nah untuk solusinya kita bisa meng-import Chained Certificate yang berisi Root dan Intermediate Certificate yang sudah menjadi satu file. Atau meng-import satu persatu file sertifikat dari Root dan Intermediate. Dengan begitu maka Web Browser akan mengenali sertifikat SSL yang kita pakai di Server dan akan memberikan kepercayaan kepada server kita.

Untuk Informasi, Web Browser seperti Firefox menggunakan Certificate Repository yang dimiliki oleh Mozilla Firefox sendiri, sementara Internet Explorer dan Google Chrome / Chromium menggunakan Certificate Repository yang dimiliki oleh Sistem Operasi.

Disini saya akan memberikan langkah-langkahnya untuk meng-import sertifikat-sertifikat yang telah kita buat ke Certificate Repository Browser (seperti Mozilla Firefox) dan ke Certificate Repository Sistem Operasi (seperti Google Chrome).

CERTIFICATE REPOSITORY: BROWSER (FIREFOX)
1. Buka Menu Preferences lalu ke Tab Advanced. Kemudian Klik View Certificates


2. Ke Tab Authorities lalu klik Import


3. Arahkan ke file Chained Certificate yang sudah kita buat sebelumnya.
4. Kemudian berikan Checklist ke "Trust this CA to identify websites."


5. Apabila sudah, silahkan coba buka website kalian lagi. dan....


----------------------------------
CERTIFICATE REPOSITORY: OPERATING SYSTEM (IE, CHROME, etc)

1. Buka menu Settings di Chrome. Scroll kebawah lalu Klik pada Button Manage Certificates


2. Ke Tab Authorities lalu klik Import


3. Untuk di Chrome, teman-teman harus meng-import satu-persatu sertifikatnya. Tidak dapat menggunakan Chained Certificate. Sertifikatnya yaitu ca.cert.pem dan intermediate.cert.pem


4. Seperti tadi, berikan checklist pada "Trust this certificate for identifying websites." setiap teman-teman mengimport sertifikatnya.


5. Apabila sudah, silahkan teman-teman buka kembali websitenya :)


Ya jadi seperti itulah jawaban atas mengapa meski kita menggunakan Self-Signed Certificate kita tetap bisa membuat Web Browser mempercayai server dengan sertifikat yang kita buat sendiri.
Mungkin cukup sekian yang dapat saya sampaikan semoga bermanfaat bagi teman-teman semua. Apabila terdapat kekurangan atau kesalahan di artikel saya jangan sungkan untuk memberikan kritik :)
Dan seperti biasa, Terima Kasih.
Wassalamu'alaikum Wr. Wb.

No comments :

Post a Comment