Departemen keamanan Anda ingin Anda melakukan ini untuk membuat jenis server lebih sulit untuk diidentifikasi. Ini dapat mengurangi rentetan alat peretasan otomatis dan membuatnya lebih sulit bagi orang untuk masuk ke server.
Di dalam IIS, buka properti situs web, lalu buka tab HTTP Headers. Sebagian besar header-X dapat ditemukan dan dihapus di sini. Ini dapat dilakukan untuk masing-masing situs, atau untuk seluruh server (memodifikasi properti untuk objek Situs Web di pohon).
Untuk header Server, pada IIS6 Anda dapat menggunakan alat URLScan Microsoft untuk remote itu. Perangkat Lunak Port 80 juga membuat produk yang disebut ServerMask yang akan menangani hal itu, dan banyak lagi, untuk Anda.
Untuk IIS7 (dan lebih tinggi), Anda dapat menggunakan Modul Penulisan Ulang URL untuk menulis ulang header server atau mengosongkan nilainya. Di web.config (di situs atau server secara keseluruhan), tambahkan konten ini setelah Modul Penulisan Ulang URL telah diinstal:
<rewrite>
<outboundRules rewriteBeforeCache="true">
<rule name="Remove Server header">
<match serverVariable="RESPONSE_Server" pattern=".+" />
<action type="Rewrite" value="" />
</rule>
</outboundRules>
</rewrite>
Anda dapat memasukkan nilai khusus ke dalam tindakan penulisan ulang jika Anda mau. Sampel ini bersumber dari artikel ini yang juga memiliki informasi hebat lainnya.
Untuk tajuk MVC, di Global.asax:
MvcHandler.DisableMvcResponseHeader = true;
Diedit 11-12-2019 untuk memperbarui info IIS7 karena tautan blog TechNet tidak lagi valid.
Untuk menghapus semua header khusus yang mengungkapkan terlalu banyak informasi - metode ini bervariasi (sayangnya) untuk IIS 7:
Nama Header: X-Powered-By
Menambahkan:
di
<system.webServer>
bagian ini.Nama Header: Server
Terapkan httpModule yang menghapus header ini dengan memanggil Response.Headers.Remove ("Server") dari acara PreSendRequestHeaders. Sumber lain untuk ini: Cloaking Aplikasi Web ASP.NET MVC Anda di IIS 7
Nama Header: Versi X-AspNet
Di bagian httpRuntime dari web.config - set:
Nama Header: X-AspNetMvc-Version
Dari acara Application_Start di global.asax - jalankan kode berikut (C #):
sumber
Menempatkan ini dalam file web.config aplikasi ASP.NET akan menghilangkan header X-AspNet-Version:
Perhatikan bahwa tag system.web seharusnya sudah ada dalam file. Jangan buat duplikat, cukup tambahkan tag httpRuntime. Tag httpRuntime mungkin juga sudah ada. Jika demikian, tambahkan saja atribut atau tetapkan nilainya jika sudah ada di sana.
sumber
system.web
situs web saya turun. apa kamu tahu kenapa?Baru saja melalui siklus "pengerasan" pada proyek saya saat ini - saya membuat blog tentang pendekatan yang kami ambil, yang mencakup HTTPModule untuk menghapus header berikut :
Server,
Versi
X-AspNet , Versi X-AspNetMvc,
Didukung oleh X
Potongan-potongan penting direproduksi di bawah ini:
Tetapi tidak ada cara mudah untuk menghapus header respons Server melalui konfigurasi. Untungnya IIS7 memiliki infrastruktur modul pluggable yang dikelola yang memungkinkan Anda untuk dengan mudah memperluas fungsinya. Di bawah ini adalah sumber untuk HttpModule untuk menghapus daftar Header Respons HTTP tertentu:
Pastikan Anda menandatangani rakitan, kemudian Anda dapat menginstalnya ke GAC server web Anda dan cukup buat modifikasi berikut ke web.config aplikasi Anda (atau jika Anda ingin diterapkan secara global, ke machine.config):
sumber
Lihat blog ini . Jangan gunakan kode untuk menghapus header respons. Itu tidak stabil menurut Microsoft
Gunakan bagian Header kustom Web.config sebagai gantinya:
sumber
Saya menggunakan kode berikut dan berfungsi untuk saya iis 7.5
sumber