Apa itu Header Keamanan Website

Apa itu Header Keamanan (Security Headers) Website?

Pernahkan website Anda terkena peretasan sehingga menyebabkan masalah yang serius pada website Anda? Mungkin salah satu penyebabnya karna Anda belum melakukan konfigurasi penting yang satu ini.

Konfigurasi keamanan header website akan memberikan aturan main saat proses transmisi data yang dilakukan oleh protokol http atau https. Header dalam hal ini bukan merujuk pada penyebutan header pada design halaman website (visual header), melainkan merujuk pada proses filterasi dan pengecekan kesesuaian data yang akan dikirim dalam proses transmisi data.

Dalam artikel ini kami akan membagikan berbagai hal terkait optimasi header keamanan (security headers) yang bisa diterapkan pada website. Sebelum melanjutkan ke tahap konfigurasi teknis, ada baiknya kita awali dengan mengenal lebih detail tentang header keamanan terlebih dahulu.

Apa itu Header Keamanan (Security Headers)?

Header keamanan merupakan istilah pengamanan transmisi data dalam protokol jaringan (http/https). Tujuan dari pengamanan ini untuk melindungi pengguna dan juga website dari berbagai jenis serangan siber yang umum terjadi.

Upaya keamanan ini berupa lapisan pengamanan tambahan yang bertujuan untuk memperkuat keamanan website di luar enkripsi dasar dari penerapan SSL (https).

Untuk memahami lebih detail tentang pentingnya pengoptimalan header keamanan pada website, mari kita cari tahu terlebih dahulu bagaimana proses transmisi data dan bagaimana peranan header pada setiap prosesnya.

Peran Header Keamanan dalam Transmisi Data

Di dalam proses transmisi data atau proses pengiriman dan penerimaan informasi digital, header memiliki peran yang krusial. Header akan mengawasi proses transmisi data dan menginformasikan kepada browser terkait cara melindungi pengguna saat paket data tersebut diterima.

Layaknya seperti pengiriman paket (data/payload) dari berbelanja online, informasi terkait alamat, pengirim, serta bagaimana tata cara penerimaan dan pengiriman; merupakan bagian dari header (metadata) yang melekat pada paket. Dengan informasi ini, kurir paket (browser) dapat mengirim paket dengan aman ke tangan pemesan (pengguna internet).

Ini akan menjadi berbeda jika terdapat manipulasi saat proses transmisi terjadi, seperti contoh paket data yang dikirim berupa paket yang tidak sesuai. Mungkin berupa script berbahaya yang disamarkan sebagai gambar, tentu akan menimbulkan risiko kerentanan pada website. Di sinilah header keamanan memiliki peran dan tugasnya untuk mengamankan transmisi data dan menjamin keamanan pengguna.

Secara teknis, peran header dalam transmisi data yaitu sebagai berikut:

  1. Identifikasi dan pengalamatan (Addressing and Identification) di sini header berperan untuk mengidentifikasi alamat tujuan dan alamat pengirim.

  2. Mengontrol aliran data (Flow Control) dimana header akan mengatur dan mengelola laju transmisi data antara pengirim dan penerima.

  3. Mengontrol kemungkinan kesalahan (Error Control/Detection) di sini header akan melakukan pengontrolan atas paket data yang dikirim. Akan ada perhitungan untuk memastikan dengan cara membandingkannya dengan header, sehingga kemungkinan adanya manipulasi data dapat diminimalisir.

  4. Mengontrol kongesti (Congestion Control) atau kondisi negatif atas adanya lalu-lintas yang berlebih.

  5. Melakukan pengurutan segmentasi data (Sequencing) yang dipecah sebagai upaya memastikan data berukuran besar dapat ditransmisikan secara efisien.

  6. Melakukan identifikasi jenis data (Type Identification) untuk memberikan informasi bagaimana memproses payload data.

  7. Memberikan sinyal dan status (Signaling and Status) untuk menandakan status koneksi atau tujuan dari paket data. Contoh statusnya seperti SYN (untuk memulai koneksi), ACK (untuk mengakui penerimaan), FIN (untuk mengakhiri koneksi), dan PUSH (untuk mengirimkan data segera).

  8. Memastikan keamanan (Security - Konteks HTTP/HTTPS) dengan cara memberikan instruksi keamanan kepada browser. Dengan pengontrolan atas bagaimana konten harus diinterpretasikan dan interaksi apa yang dilakukan browse, dapat membuat pengguna terhindar dari berbagai serangan siber yang mungkin terjadi.

 

Apa Dampak dari Pengoptimalan Header Keamanan?

Setelah memahami peran header dalam transmisi data, selanjutnya pada bagian ini kita akan membahas tentang hal apa saja yang menjadi dampak jika kita mengoptimalkan header keamanan. Berikut adalah dampaknya:

  1. Mencegah serangan Cross-Site Scripting (XSS) dengan melakukan pengontrolan atas sumber daya (script, style, image) yang diizinkan untuk dimuat oleh browser.

  2. Melindungi dari serangan clickjacking dengan mengontrol apakah website dapat ditampilkan di dalam tag: <frame>, <iframe>, <embed>, atau <object> di domain lain.

  3. Meningkatkan keamanan koneksi dengan HTTPS dengan mencegah upaya menurunkan koneksi dari https ke http yang tidak terenkripsi.

  4. Mencegah kebocoran informasi sensitif pengguna dengan cara mengontrol informasi apa saja yang dapat dikirimkan dalam header referer.

  5. Mengurangi risiko serangan MIME sniffing dengan cara membuat header memberikan nilai “nosniff” dari sumberdaya, ketika adanya upaya memanfaatkan kerentanan browser dalam penafsiran yang salah tentang jenis konten yang dikirimkan.

  6. Menerapkan kebijakan fitur pada browser dengan mengontrol browser untuk menerapkan keamanan privasi yang membatasi akses pada fitur sensitif seperti kamera, mikrofon, dan geolocation.

 

Jenis-jenis Header Keamanan dan Konfigurasinya

Setelah memahami dampak dari header keamanan bagi website dan pengguna, selanjutnya mari kita bahas jenis-jenis header keamanan yang bisa diterapkan pada website Anda.

  1. Content-Security-Policy (CSP) merupakan penerapan keamanan pada header website dengan mengontrol sumberdaya apa saja yang diizinkan untuk dimuat oleh browser saat website diakses. Ini merupakan pengamanan yang dilakukan untuk menghindari serangan XSS, clickjacking, eksekusi script berbahaya, dan serangan supply chain. Cara kerja dari pengamanannya adalah mendefinisikan darimana saja sumber yang valid untuk dimuat. Sumberdaya yang diatur di sini berupa script, style, image, font, media, frame, dan sumber daya lainnya.

    Penting untuk dipahami, penerapan keamanan Content-Security-Policy dapat mengakibatkan fungsional website tidak berjalan sebagaimana mestinya. Pengaturan yang dilakukan di sini harus disesuaikan dengan sumberdaya spesifik yang digunakan oleh website. Penjelasan mendetail tentang penerapan yang lebih detail kan dibahas pada artikel lanjutan yang fokus membahas konfigurasi spesifiknya.

  2. Strict-Transport-Security (HSTS) merupakan upaya keamanan dengan memaksa browser untuk selalu menggunakan protokol https saat mengakses website. Tujuan dari pengamanan ini adalah untuk menghindari adanya upaya menurunkan koneksi ke https dan juga untuk memastikan keamanan privasi pengguna melalui enkripsi data yang dilakukan https.

  3. X-Frame-Options merupakan pengamanan yang digunakan untuk mengontrol apakah website dapat ditampilkan pada tag <frame>, <iframe>, <embed>, atau <object> oleh domain lain. Ini bertujuan untuk menghindari serangan clickjacking dan memastikan website ditampilkan dalam konteks yang sesuai.

  4. X-Content-Type-Options merupakan pengamanan untuk kerentanan atas upaya menipulasi dengan menebak MIME yang salah atas sumberdaya. Dalam hal ini header hanya memiliki nilai “nosniff” pada sumberdaya dan menggunakan MIME yang dideklarasikan oleh server sebagai parameter validasi. Jika MIME yang dikirimkan tidak sesuai dengan yang dirender oleh server, maka secara otomatis akan ditolak. Manfaat dari mengatur keamanan ini adalah untuk memastikan tidak ada kesalahan penafsiran konten berbahaya (seperti script yang disamarkan sebagai gambar) dan sekaligus memastikan perlakuan yang sesuai dari browser terhadap sumberdaya.

  5. Referrer-Policy merupakan pengamanan yang dilakukan untuk melakukan kontrol atas header referer yang dikirimkan ketika pengguna berpindah ke website lain. Dalam hal ini akan diatur seberapa banyak informasi yang akan disertakan saat proses pindah ke website lain terjadi. Manfaat dari pengamanan ini adalah meminimalisir kebocoran informasi sensitif ke website lain serta meningkatkan privasi pengguna.

  6. Permissions-Policy (sebelumnya Feature-Policy) merupakan pengamanan yang dilakukan untuk mengatur fitur browser yang dapat digunakan oleh website dan juga penyematan dalam iframe. Manfaat dari pengamanan ini adalah untuk mencegah website mengakses fitur sensitif tanpa izin pengguna, meningkatkan privasi pengguna, dan mengoptimalkan kinerja website dengan menonaktifkan fitur yang tidak digunakan.

 

Penutup

Penerapan pengoptimalah security headers dapat membantu website Anda mengenali berbagai kemungkinan manipulasi pada saat proses transmisi data hingga menampilkan halaman website. Tidak hanya untuk menjaga keamanan website namun juga memberikan keamanan kepada pengguna website Anda. Demikian artikel tentang apa itu header keamanan website, semoga dapat membantu Anda dalam proses pengoptimalan keamanan website Anda. Terkait konfigurasi dan implementasi pada website, akan kami bahas di artikel selanjutnya.

Pertanyaan yang Sering Diajukan

Risiko bila website Anda tidak memiliki header HSTS (Strict-Transport-Security) adalah adnya kemungkinan penurunan https ke http. Dimana pada tahap ini akan membuat website Anda tidak berjalan di protokol yang terenkiripsi. Dampaknya adalah risiko kerentanan manipulasi data dan juga kerentanan terhadap keamanan privasi.

Bila website Anda belum menerapkan header keamanan yang direkomendasikan maka Anda dapat melakukan konfigurasinya pada sisi server atau menerapkannya di sisi website. Pada sisi server Anda dapat melakukan konfigurasi pada htaccess (jika menggunakan apache) atau bisa pula menerapkan di sisi website (pada bagian midleware website). Hasil dari konfigurasi yang telah Anda lakukan dapat di cek dengan tools security headers ini.

Artikel Menarik Lainnya

"Dapatkan lebih banyak informasi untuk website dan pengelolaannya"