HTTPQUERY
Bahasa Indonesia

Server

Penggunaan

Server menyertakan header Server untuk mengidentifikasi perangkat lunak dan informasi versi opsional yang memproses permintaan. Nilainya mengikuti format product token yang mirip dengan header permintaan User-Agent: satu nama produk atau lebih, masing-masing secara opsional diikuti oleh versi dan sebuah komentar.

Tingkat kedetailan pada Server bervariasi menurut penerapannya. Mengungkapkan versi perangkat lunak secara spesifik menimbulkan risiko keamanan. Penyerang memindai kerentanan yang telah diketahui pada versi tertentu dari web server, framework, dan sistem operasi. Header Server yang detail mempermudah pengintaian semacam itu.

Catatan

Mengungkapkan informasi versi pada header Server membantu penyerang yang memindai kerentanan yang telah diketahui. Penerapan di lingkungan produksi lebih diuntungkan dengan membatasi nilainya pada nama produk generik atau menghapus header itu sepenuhnya.

Pendekatan umum untuk mengurangi risiko ini mencakup:

Sebagian besar web server menyediakan opsi konfigurasi untuk mengendalikan nilai header Server. Nginx menggunakan direktif server_tokens. Apache menggunakan ServerTokens dan ServerSignature. Reverse proxy dan CDN sering kali menimpa nilai dari server origin dengan identifier mereka sendiri.

product

Satu product token atau lebih yang mengidentifikasi perangkat lunak server. Setiap token secara opsional memuat versi yang dipisahkan oleh garis miring, serta komentar di dalam tanda kurung.

Server: <product>/<version> (<comment>)

Beberapa produk ditulis terpisah dengan spasi, didaftar menurut urutan kepentingannya.

Contoh

Respons minimal mengidentifikasi perangkat lunak server tanpa mengungkapkan nomor versi. Inilah pendekatan yang disarankan untuk lingkungan produksi.

Server: nginx

Sebagian server menyertakan detail versi dan informasi sistem operasi. Format ini mengekspos permukaan serangan yang lebih luas untuk pemindaian berbasis versi.

Server: Apache/2.4.57 (Ubuntu)

CDN dan platform cloud sering kali mengganti nilai dari server origin dengan nama produk mereka sendiri.

Server: cloudflare

Nilai kustom atau yang sengaja dibuat samar akan menyamarkan technology stack yang mendasarinya.

Server: webserver

Konfigurasi

Tekan atau minimalkan header Server untuk mengurangi kebocoran informasi di lingkungan produksi.

nginx:

server_tokens off;

Ini menyusutkan nilainya menjadi nginx tanpa nomor versi. Untuk menghapus header itu sepenuhnya, dibutuhkan modul headers-more:

more_clear_headers Server;

Apache:

ServerTokens Prod
ServerSignature Off

ServerTokens Prod menyusutkan nilainya menjadi Apache tanpa detail versi maupun modul. ServerSignature Off menghapus informasi server dari halaman error.

IIS:

Hapus header itu melalui outbound rule URL Rewrite atau setel removeServerHeader=“true” di applicationHost.config (.NET 8+).