<Kata kerja kata kerja>
Gambaran Umum
Elemen <verbs>
menentukan kata kerja HTTP mana yang diizinkan atau ditolak untuk membatasi jenis permintaan HTTP yang diizinkan oleh server Web.
Catatan
Ketika pemfilteran permintaan memblokir permintaan HTTP karena kata kerja HTTP yang ditolak, IIS 7 akan mengembalikan kesalahan HTTP 404 ke klien dan mencatat status HTTP berikut dengan substatus unik yang mengidentifikasi alasan permintaan ditolak:
HTTP Substatus | Deskripsi |
---|---|
404.6 |
Kata kerja Ditolak |
Substatus ini memungkinkan administrator Web menganalisis log IIS mereka dan mengidentifikasi potensi ancaman.
Kompatibilitas
Versi | Catatan |
---|---|
IIS 10.0 | Elemen <verbs> tidak dimodifikasi dalam IIS 10.0. |
IIS 8.5 | Elemen <verbs> tidak dimodifikasi dalam IIS 8.5. |
IIS 8.0 | Elemen <verbs> tidak dimodifikasi dalam IIS 8.0. |
IIS 7.5 | Elemen <verbs> tidak dimodifikasi dalam IIS 7.5. |
IIS 7.0 | Elemen <verbs> <requestFiltering> koleksi diperkenalkan di IIS 7.0. |
IIS 6.0 | Elemen ini <verbs> menggantikan fitur IIS 6.0 UrlScan [AllowVerbs] dan [DenyVerbs] . |
Siapkan
Penginstalan default IIS 7 dan yang lebih baru mencakup layanan atau fitur peran Pemfilteran Permintaan. Jika layanan atau fitur peran Pemfilteran Permintaan dihapus instalasinya, Anda dapat menginstalnya kembali menggunakan langkah-langkah berikut.
Windows Server 2012 atau Windows Server 2012 R2
- Pada taskbar, klik Manajer Server.
- Di Manajer Server, klik menu Kelola , lalu klik Tambahkan Peran dan Fitur.
- Di wizard Tambahkan Peran dan Fitur , klik Berikutnya. Pilih jenis penginstalan dan klik Berikutnya. Pilih server tujuan dan klik Berikutnya.
- Pada halaman Peran Server , perluas Server Web (IIS), perluas Server Web, perluas Keamanan, lalu pilih Pemfilteran Permintaan. Klik Berikutnya.
. - Pada halaman Pilih fitur, klik Berikutnya.
- Pada halaman Konfirmasi pilihan instalasi, klik Instal.
- Pada halaman Hasil , klik Tutup.
Windows 8 atau Windows 8.1
- Pada layar Mulai, pindahkan penunjuk ke sudut kiri bawah, klik kanan tombol Mulai, lalu klik Panel Kontrol.
- Di Panel Kontrol, klik Program dan Fitur, lalu klik Aktifkan atau nonaktifkan fitur Windows.
- Perluas Layanan Informasi Internet, perluas Layanan Web Seluruh Dunia, perluas Keamanan, lalu pilih Pemfilteran Permintaan.
- Klik OK.
- Klik Tutup.
Windows Server 2008 atau Windows Server 2008 R2
- Pada taskbar, klik Mulai, arahkan ke Alat Administratif, lalu klik Manajer Server.
- Di panel hierarki Manajer Server , perluas Peran, lalu klik Server Web (IIS).
- Di panel Server Web (IIS), gulir ke bagian Layanan Peran , lalu klik Tambahkan Layanan Peran.
- Pada halaman Pilih Layanan Peran dari Wizard Tambahkan Layanan Peran, pilih Pemfilteran Permintaan, lalu klik Berikutnya.
- Pada halaman Konfirmasi Pilihan Penginstalan , klik Instal.
- Pada halaman Hasil , klik Tutup.
Windows Vista atau Windows 7
- Pada taskbar, klik Mulai, lalu klik Panel Kontrol.
- Di Panel Kontrol, klik Program dan Fitur, lalu klik Aktifkan atau nonaktifkan Fitur Windows.
- Perluas Layanan Informasi Internet, lalu World Wide Web Services, lalu Keamanan.
- Pilih Minta Pemfilteran, lalu klik OK.
Bagaimana Caranya
Catatan untuk pengguna IIS 7.0: Beberapa langkah di bagian ini mungkin mengharuskan Anda menginstal Paket Administrasi Microsoft untuk IIS 7.0, yang mencakup antarmuka pengguna untuk pemfilteran permintaan. Untuk menginstal Paket Administrasi Microsoft untuk IIS 7.0, silakan lihat URL berikut:
Cara menolak kata kerja HTTP
Buka Pengelola Layanan Informasi Internet (IIS):
Jika Anda menggunakan Windows Server 2012 atau Windows Server 2012 R2:
- Pada bilah tugas, klik Manajer Server, klik Alat, lalu klik Pengelola Layanan Informasi Internet (IIS).
Jika Anda menggunakan Windows 8 atau Windows 8.1:
- Tahan tombol Windows, tekan huruf X, lalu klik Panel Kontrol.
- Klik Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
Jika Anda menggunakan Windows Server 2008 atau Windows Server 2008 R2:
- Pada bilah tugas, klik Mulai, arahkan ke Alat Administratif, lalu klik Pengelola Layanan Informasi Internet (IIS).
Jika Anda menggunakan Windows Vista atau Windows 7:
- Pada taskbar, klik Mulai, lalu klik Panel Kontrol.
- Klik dua kali Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
Di panel Koneksi , buka koneksi, situs, aplikasi, atau direktori yang ingin Anda ubah pengaturan pemfilteran permintaannya.
Di panel Pemfilteran Permintaan , klik tab kata kerja HTTP , lalu klik Tolak Kata Kerja... di panel Tindakan .
Dalam kotak dialog Tolak Kata Kerja , masukkan kata kerja HTTP yang ingin Anda blokir, lalu klik OK.
Misalnya, untuk mencegah permintaan HTTP TRACE ke server Anda, Anda akan memasukkan "TRACE" dalam kotak dialog.
Konfigurasi
Atribut
Atribut | Deskripsi |
---|---|
allowUnlisted |
Atribut Boolean opsional. Menentukan apakah server Web harus memproses kata kerja yang tidak terdaftar. Jika Anda mengatur atribut ini ke true, Anda harus mencantumkan semua kata kerja yang ingin Anda tolak. Jika Anda mengatur atribut ini ke false, Anda harus mencantumkan semua kata kerja yang ingin Anda izinkan. Nilai defaultnya adalah true . |
applyToWebDAV |
Atribut Boolean opsional. Menentukan apakah pengaturan ini juga harus berlaku untuk permintaan WebDAV. |
Elemen Anak
Elemen | Deskripsi |
---|---|
add |
Elemen opsional. Menambahkan kata kerja ke koleksi kata kerja. |
clear |
Elemen opsional. Menghapus semua referensi ke kata kerja dari koleksi kata kerja. |
remove |
Elemen opsional. Menghapus referensi ke kata kerja dari koleksi kata kerja. |
Sampel Konfigurasi
Contoh berikut Web.config file akan mengonfigurasi dua opsi: ini akan mengonfigurasi IIS untuk menolak permintaan HTTP PUT, dan akan mengonfigurasi pemfilteran permintaan untuk memungkinkan akses WebDAV ke semua kata kerja HTTP.
<configuration>
<system.webServer>
<security>
<requestFiltering>
<verbs applyToWebDAV="false">
<add verb="PUT" allowed="false" />
</verbs>
</requestFiltering>
</security>
</system.webServer>
</configuration>
Kode Sampel
Sampel kode berikut akan mengonfigurasi dua opsi: mereka akan mengonfigurasi IIS untuk menolak permintaan HTTP PUT untuk "Situs Web Default", dan mereka akan mengonfigurasi pemfilteran permintaan untuk memungkinkan akses WebDAV ke semua kata kerja HTTP.
AppCmd.exe
appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /verbs.applyToWebDAV:"False"
appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"verbs.[verb='PUT',allowed='False']"
PowerShell
Start-IISCommitDelay
$verbs = Get-IISConfigSection -CommitPath 'Default Web Site' -SectionPath 'system.webServer/security/requestFiltering' | Get-IISConfigCollection -CollectionName 'verbs'
Set-IISConfigAttributeValue -ConfigElement $verbs -AttributeName 'applyToWebDAV' -AttributeValue $false
New-IISConfigCollectionElement -ConfigCollection $verbs -ConfigAttribute @{ 'verb'='PUT';'allowed'=$false }
Stop-IISCommitDelay
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetWebConfiguration("Default Web Site");
ConfigurationSection requestFilteringSection = config.GetSection("system.webServer/security/requestFiltering");
ConfigurationElement verbsElement = requestFilteringSection.GetChildElement("verbs");
verbsElement["applyToWebDAV"] = false;
ConfigurationElementCollection verbsCollection = verbsElement.GetCollection();
ConfigurationElement addElement = verbsCollection.CreateElement("add");
addElement["verb"] = @"PUT";
addElement["allowed"] = false;
verbsCollection.Add(addElement);
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetWebConfiguration("Default Web Site")
Dim requestFilteringSection As ConfigurationSection = config.GetSection("system.webServer/security/requestFiltering")
Dim verbsElement As ConfigurationElement = requestFilteringSection.GetChildElement("verbs")
verbsElement("applyToWebDAV") = False
Dim verbsCollection As ConfigurationElementCollection = verbsElement.GetCollection
Dim addElement As ConfigurationElement = verbsCollection.CreateElement("add")
addElement("verb") = "PUT"
addElement("allowed") = False
verbsCollection.Add(addElement)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";
var requestFilteringSection = adminManager.GetAdminSection("system.webServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var verbsElement = requestFilteringSection.ChildElements.Item("verbs");
verbsElement.Properties.Item("applyToWebDAV").Value = false;
var verbsCollection = verbsElement.Collection;
var addElement = verbsCollection.CreateNewElement("add");
addElement.Properties.Item("verb").Value = "PUT";
addElement.Properties.Item("allowed").Value = false;
verbsCollection.AddElement(addElement);
adminManager.CommitChanges();
Vbscript
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site"
Set requestFilteringSection = adminManager.GetAdminSection("system.webServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set verbsElement = requestFilteringSection.ChildElements.Item("verbs")
verbsElement.Properties.Item("applyToWebDAV").Value = False
Set verbsCollection = verbsElement.Collection
Set addElement = verbsCollection.CreateNewElement("add")
addElement.Properties.Item("verb").Value = "PUT"
addElement.Properties.Item("allowed").Value = False
verbsCollection.AddElement(addElement)
adminManager.CommitChanges()