IoT

Cara membuat HTTP Public Key Pinning

Jadi kemarin saya baru sadar ada kesalahan dalam pembahasan header security HTTP yakni HPKP (HTTP Public Key Pinning) dari pertanyaan mas Odingk, saya sebut sekilas tapi tidak berikan cara membuat dan pakainya. Mungkin waktu itu masih belajaran jadi tidak disentuh sama sekali. 😀

Jadi kita memerlukan fingerprint dari sertifikat SSL yang dipakai websitenya. Yang perlu anda lakukan untuk mendapatkan sidik jarinya adalah eksekusi perintah berikut:

openssl x509 -pubkey < sertifikat_ssl.crt | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | base64

Dan akan muncul deretan kode seperti ini nantinya:

klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY=

Setelah itu bisa kita tambahkan dalam header HTTPnya:

Related Articles
  • Apache
    Header set Public-Key-Pins "pin-sha256=\"klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY="; includeSubDomains; max-age=60"
  • Nginx
    add_header Public-Key-Pins 'pin-sha256="klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY="; includeSubdomains; max-age=60'

Lama waktu berlakunya (max-age) saya berikan 60 detik supaya apabila ada masalah anda tidak terblokir terlalu lama durasinya. Kalau tidak ada masalah pada konfigurasi HPKPnya bisa ditingkatkan menjadi 2592000 misalnya.

Oh ya, anda bisa menyisipkan beberapa fingerprint sertifikat SSL apabila anda ingin menggunakan backup sertifikat SSL apabila yang sedang digunakan bermasalah. Jadi butuh lebih dari satu sertifikat SSL, ini tidak wajib tapi saya informasikan saja kalau bisa.

moch akbar fitrianto

Jurnalis Dari Rakyatnesia.com Dan Sudah di dunia jurnalistik selama lebih dari 10 tahun. Tulisan berita Lamongan, umum, prediksi bola , dan profil sudah bukan hal asing lagi, Lugas dengan Fakta.

Related Articles

Check Also
Close
Back to top button