Cara Menambahkan HTTP Security Header Untuk Keamanan Website

Memperhatikan HTTP security headers merupakan dasar dari keamanan website yang berfungsi untuk me...
Penulis
Admin
Kategori
Website
Estimasi
5 menit baca
Dilihat
1.0K
Posting
15 Jul 2022
Cara Menambahkan HTTP Security Header Untuk Keamanan Website Memperhatikan HTTP security headers merupakan dasar dari keamanan website yang berfungsi untuk melindungi dari serangan seperti XSS atau code injection. Cara Menambahkan HTTP Security Header Untuk Keamanan Website
2022-11-25

Keamanan atau security pada website itu sangat penting dan cakupannya luas, diibaratkan seperti mengendarai sepeda, dimana untuk bisa menyeimbangkan sepeda tersebut, kamu harus bergerak dan menjaga agar sepeda tetap berjalan, kamu tidak bisa berhenti mengayuh atau sepedamu akan mulai melambat dan terguling, pasti tidak menginginkan hal itu bukan?

Mari kita bahas tentang HTTP security header pada website, apa itu? HTTP security headers merupakan dasar dari keamanan yang berfungsi untuk melindungi dari berbagai tipe serangan seperti XSS (Cross Site Scripting), code injection, clickjacking dan sebagainya.

 

7+ HTTP Security Headers Agar Website Lebih Aman

 

Ketika user mengunjungi suatu website dengan browser, server akan merespon metadata dari header HTTP, beberapa header tersebut akan memberi tahu browser untuk menguraikan data selama berkomunikasi dengan meta data website.

Dan juga kalian bisa mengunakan beberapa tambahan meta data keamanan dalam headers HTTP untuk menguraikan komunikasi kedalam browser dengan aman, apa saja HTTP headers keamanan website dari meta data tersebut?

 

HTTP Strict Transport Security (HSTS)

keycdn.com

 

1. HTTP Strict Transport Security (HSTS)

Katakan kalian memiliki domain dengan nama domainku.com dan kalian sudah menginstall sertifikat SSL dan bermigrasi dari HTTP ke HTTPS, ini sesuatu yang seharusnya dilakukan bukan? pertanyaannya, bagaimana jika website kalian masih bisa diakses dengan mengunakan HTTP? hmm.. bisa dikatakan ya sama saja tidak aman.

Beberapa webmaster yang memigrasikan website mereka dari HTTP ke HTTPS tidak menyadari hal ini. Dengan mengaktifkan HSTS, server akan memaksa browser untuk berkomunikasi dengan HTTPS dan kemungkinan besar berkomunikasi dengan protokol HTTP akan dihilangkan.

Contoh untuk mengaktifkan HTTP Strict Transport Security didalam .htaccess:

Header set Strict-Transport-Security "max-age=31536000; includeSubDomains;"

 

2. Content Security Policy

Content Security Policy berfungsi untuk memberikan kontrol penuh untuk membatasi beberapa sumber daya seperti CSS, JS, inline javascript atau assets lainnya yang hanya bisa digunakan oleh admin situs didalam website.

Ibaratnya dengan Content Security Policy ini, segala assets akan masuk kedalam whitelist, dan assets yang tidak diberikan hak akses akan tidak berfungsi dan harus memasukannya kedalam whitelist terlebih dahulu.

 

Content Security Policy

sitepen.com

 

Content Security Policy ini melindungi dari segala serangan Cross Site Scripting dan serangan kode injeksi, meskipun tidak sepenuhnya bisa dihilangkan, tapi itu pasti bisa meminimalisir kerusakan pada website. Segala jenis browser saat ini sudah mendukung CSP3 seperti Mozilla, Chrome, Edge dll.

Contoh untuk mengaktifkan Content Security Policy didalam .htaccess:

Header set Content-Security-Policy "default-src 'self' www.google-analytics.com ajax.googleapis.com; script-src 'self' www.google-analytics.com ajax.googleapis.com; img-src 'self' *.wordpress.com;"

 

3. X Frame Options

Ada istilah serangan jenis Clickjacking, teknik ini menyerang untuk mengelabui user agar mengklik sesuatu yang sebenarnya tidak ada, user berpikir dia sudah berada di website resmi, namun sebenarnya itu hanyalah tipuan dari peretas dan ada sesuatu yang berjalan di belakang layar yang user tidak sadari.

Bahayanya, identitas pribadi korban bisa dicuri didalam halaman situs yang terkena clickjacking, seperti email dan password. Untuk mencegah hal tersebut diperlukan HTTP headers tambahan yaitu X-Frame-Options, X Frame Options berfungsi untuk menjaga dari serangan sejenis clickjacking yaitu dengan mengnonaktifkan iFrame atau Object didalam website. IFrame atau Object biasanya digunakan peretas untuk memanipulasi situs seakan-akan itu adalah resmi.

Dengan mengaktifkan X Frame Options, situs tidak membolehkan orang lain atau siapapun untuk memasukan konten sejenis iframe atau object kedalam konten.

Contoh untuk mengaktifkan X Frame Options didalam .htaccess:

Header set X-Frame-Options SAMEORIGIN

 

4. Cross Site Scripting Protection (X-XSS Protection)

Sesuai dengan namanya, X-XSS Protection berfungsi untuk mengamankan dari serangan Cross Site Scripting. XSS filter diaktifkan secara default didalam browser seperti Chrome, Safari dan Edge.

 

Cross Site Scripting Protection (X-XSS Protection)

netflixtechblog.com

 

Jika XSS Filter sudah aktif, browser tidak membiarkan halaman meload saat mendeteksi serangan dari Cross Site Scripting.

Contoh untuk mengaktifkan X-XSS Protection didalam .htaccess:

Header set X-XSS-Protection "1; mode=block"

 

5. X Content Type Options

X Content Type Options merupakan salah satu komponen dari header HTTP yang memberikan respon kepada MIME (Multipurpose Internet Mail Extensions) yang digunakan untuk mengamankan data dari kemungkinan terjadinya sniffing.

Contoh MIME itu seperti format pada gambar jpg yang memiliki MIME image/jpeg atau gambar png yang memiliki MIME image/png. Lalu apa itu sniffing? sniffing sendiri merupakan aktifitas untuk memonitor segala konten yang terjadi pada lalu lintas jaringan. 

Contoh untuk mengaktifkan X Content Type Options didalam .htaccess:

Header set X-Content-Type-Options nosniff

 

6. Feature Policy

Apa itu HTTP header Feature Policy ? Feature Policy adalah sebuah meta data pada HTTP Header yang mengizinkan fitur apa saja yang diperbolehkan browser untuk diload. Saat ini banyak teknologi yang memungkinkan untuk menambahkan fitur yang membantu dari sisi pengguna, namun hal tersebut memiliki dampak pada keamanan situs.

Seperti Geolocation, teknologi tersebut dapat mengetahui darimana pengunjung berasal. Jika berbicara tentang keuntungan, justru hal tersebut menguntungkan kita bukan? dapat memonitor user dan memetakannya.

Namun ada hal lain yang lebih penting yaitu GDPR, dimana aturan tersebut tidak diperbolehkan untuk menyimpan data maupun berupa cookie dan lainnya. Meskipun aturan tersebut berlaku di eropa, namun bagaimana jika user dari eropa berkunjung kedalam website kita.

Ada hal lain yang jauh lebih berbahaya yaitu bagaimana jika user secara diam-diam mengaktifkan fitur kamera atau microphone? nah dengan dengan Feature Policy ini, kita bisa mengatur browser untuk mengnonaktifkan fitur yang tadi disebutkan.

Contoh untuk mengaktifkan Feature Policy didalam .htaccess:

Header set Feature-Policy "microphone 'none'; camera 'none'; https://websiteku.com

 

7. Referrer Policy

Referrer Policy adalah kebijakan yang diterapkan saat user melakukan navigasi melalui link yang berada dalam website tersebut. Dalam beberapa kondisi, situs perlu untuk melindungi privasi pengguna saat mereka melakukan klik kedalam link external.

Hal tersebut sangat penting untuk melindungi jika link berasal dari perbankan, e-commerce yang tidak menerapkan protokol HTTP. Hal itu sangat riskan diretas, karena orang lain bisa mengetahui darimana sumber berasal yang memicu klik kedalam website tanpa ada pengaturan pada referrer policy.

Beberapa opsi pada Referrer Policy:

No-referrer

Opsi No-referrer akan menghilangkan header referrer, informasi permintaan yang dikirim tidak menyertakan apapun.

No-referrer-when-downgrade

Kirim origin, path dan string query pada referrer ketika protokol sama atau meningkat seperti HTTP→HTTP, HTTP→HTTPS, HTTPS→HTTPS. Opsi ini tidak akan mengirim header referrer ketika permintaan ke tujuan kurang aman seperti protokol HTTPS→HTTP, HTTPS→File.

Origin

Hanya mengirim dari asal dari header referrer saja, artinya hanya mengirim informasi domain saja dan tidak mengunakan full path, misalnya domain https://websiteku.com/tentang-saya, akan mengirim referrer ke https://websiteku.com.

Origin-when-cross-origin

Opsi ini, akan mengirimkan full path jika user melakukan klik pada link internal pada website dimana string query, path, dan domain asal melalui permintaan dalam level protokol yang sama seperti (HTTP→HTTP, HTTPS→HTTPS)

Same-origin

Informasi yang dikirimkan merupakan full path pada internal link pada website dan memberikan no-referrer pada external link.

Strict-origin

Informasi domain akan dikirimkan dengan mengunakan protokol (HTTPS→HTTPS, HTTP→HTTP), dan tidak akan melakukan downgrade ke protokol yang kurang aman (HTTPS→HTTP) .

Strict-origin-when-cross-origin

Mengirimkan full path URL pada domain, dan domain pada external link merupakan protokol aman (HTTPS→HTTPS) dan tidak akan mengirimkan perujuk jika melalui protokol yang tidak aman (HTTPS→HTTP).

Unsafe-url

Mengirimkan full path dalam kondisi apapun, mau aman atau tidak aman.

Referrer Policy dapat diintegrasikan dengan mengunakan tag HTML dengan dokumen meta:

<meta name="referrer" content="origin">

 

Kesimpulan

Sangat penting untuk mengamankan website dari segala serangan peretas, hal ini untuk menjaga pengguna agar selalu nyaman saat berjelajah dalam halaman situs kalian. Anda bisa mengecek HTTP Header website anda dengan bantuan tool online HTTP Security Header Checker untuk memonitor HTTP Header website anda secara berkala.

HTTP Security headers adalah metode mendasar dalam keamanan situs, dimana sangat perlu untuk dipahami dan diimplementasikan kedalam proyek aplikasi website kalian agar selalu aman dan terjaga.

Share