Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
oleh Robert McMurray
Pengantar
Microsoft merilis modul ekstensi WebDAV baru yang sepenuhnya ditulis ulang untuk Layanan Informasi Internet 7.0 (IIS 7.0) di Windows ServerĀ® 2008. Modul ekstensi WebDAV baru ini menggabungkan banyak fitur baru yang memungkinkan penulis web menerbitkan konten lebih baik dari sebelumnya, dan menawarkan administrator web lebih banyak opsi keamanan dan konfigurasi. Microsoft telah merilis pembaruan untuk modul ekstensi WebDAV untuk Windows ServerĀ® 2008 yang menyediakan dukungan kunci bersama dan eksklusif untuk mencegah pembaruan yang hilang karena penimpaan.
IIS 7.0 menyediakan beberapa fitur keamanan baru yang hebat, termasuk Pemfilteran Permintaan baru IIS 7.0. Untuk pengguna IIS yang terbiasa dengan UrlScan dari versi IIS sebelumnya, fitur Pemfilteran Permintaan di IIS 7.0 seperti memiliki URLScan bawaan.
Modul WebDAV baru dan Pemfilteran Permintaan dirancang untuk bekerja sama, dan dokumen ini memandul Anda mengonfigurasi pengaturan Pemfilteran Permintaan terkait WebDAV bersama dengan pengaturan WebDAV untuk menyiapkan lingkungan penerbitan yang aman. Perhatikan bahwa jika Anda menggunakan UI Manajer IIS untuk mengonfigurasi WebDAV, pengaturan pemfilteran permintaan diperbarui secara otomatis dan Anda tidak perlu mengikuti langkah-langkah dalam artikel ini.
Prasyarat
Item berikut diperlukan untuk menyelesaikan prosedur dalam artikel ini:
IIS 7.0 harus diinstal di server Anda, dan berikut ini harus dikonfigurasi:
- Situs Web Default yang dibuat oleh penginstalan IIS 7.0 masih harus ada.
- Fitur Pemfilteran Permintaan harus diinstal.
Modul ekstensi WebDAV baru harus diinstal. Untuk informasi mengenai penginstalan modul WebDAV baru, silakan lihat dokumen berikut:
Pengetahuan tentang cara menggunakan AppCmd sangat membantu. Untuk informasi selengkapnya tentang menggunakan pemfilteran permintaan, silakan lihat dokumen berikut:
Catatan
Anda perlu memastikan bahwa Anda mengikuti langkah-langkah dalam dokumen ini menggunakan izin administratif penuh. Ini paling baik dicapai menggunakan salah satu dari dua metode:
- Masuk ke komputer Anda menggunakan akun "administrator" lokal.
- Jika Anda masuk menggunakan akun dengan izin administratif yang bukan akun "administrator" lokal, buka Manajer IIS dan semua sesi prompt perintah menggunakan opsi "Jalankan sebagai Administrator".
Kondisi di atas diperlukan karena komponen keamanan Kontrol Akun Pengguna (UAC) di Windows Server 2008 akan mencegah akses administratif ke pengaturan konfigurasi IIS 7.0. Untuk informasi selengkapnya tentang UAC, silakan lihat dokumentasi berikut:
Konsep Pemfilteran Permintaan Dasar
Pemfilteran Permintaan di IIS 7.0 terdiri dari permintaan pemfilteran berdasarkan parameter berikut:
- Ekstensi File
- Segmen Tersembunyi
- Kata Kerja HTTP
- Batasan Permintaan
- Urutan URL
Semua fitur pemfilteran permintaan ini dapat memengaruhi konten yang diunggah atau diunduh melalui WebDAV, tetapi beberapa fitur dapat dikonfigurasi untuk bekerja sama dengan WebDAV.
Daftar berikut ini menjelaskan fitur mana yang dapat dikonfigurasi untuk bekerja dengan WebDAV:
Fitur berikut selalu memengaruhi permintaan WebDAV:
- Batasan Permintaan
- Urutan URL
Fitur berikut memengaruhi permintaan WebDAV secara default, tetapi dapat dikonfigurasi untuk melewati permintaan WebDAV:
- Ekstensi File
- Segmen Tersembunyi
- Kata Kerja HTTP
Misalnya, Anda dapat mengonfigurasi server untuk mengizinkan permintaan non-WebDAV untuk file ".htm" dan ".php" sambil memblokir akses ke file ".mdb" dan ".config", sambil tetap mengizinkan permintaan WebDAV untuk mengakses konten yang diblokir tersebut.
Catatan
Permintaan WebDAV memerlukan autentikasi.
Anda dapat mengedit pengaturan pemfilteran permintaan menggunakan salah satu metode berikut:
- Menggunakan antarmuka pengguna yang disediakan sebagai bagian dari Paket Administrasi untuk IIS 7.0
- Menggunakan AppCmd dari baris perintah
- Mengedit file applicationHost.config Anda
- Menggunakan Microsoft.Web.Administration dari aplikasi .NET atau Windows PowerShell
Informasi yang tersisa dalam panduan ini akan menunjukkan kepada Anda cara menggunakan AppCmd dari baris perintah, sekaligus menunjukkan seperti apa pengaturan konfigurasi yang dihasilkan dalam file applicationHost.config Anda.
Catatan
Dokumen ini tidak mencakup semua fitur yang dapat dikonfigurasi menggunakan pemfilteran permintaan. Untuk informasi tentang mengonfigurasi opsi pemfilteran permintaan tambahan, silakan lihat topik berikut:
Mengonfigurasi Pemfilteran Permintaan dan WebDAV
Memfilter Ekstensi File
Ekstensi file tertentu seperti ".config" dan ".asax" dilindungi oleh kumpulan fileExtensions pemfilteran permintaan default. Anda dapat menambahkan entri tambahan ke daftar ekstensi file untuk mengizinkan atau memblokirnya untuk permintaan HTTP, dan Anda dapat mengontrol apakah daftar ini berlaku untuk permintaan WebDAV. Dalam contoh ini Anda akan menggunakan file ".txt" blok AppCmd agar tidak diakses, meskipun biasanya dapat diakses, dan Anda akan menentukan bahwa permintaan WebDAV akan dapat mengakses semua ekstensi file yang diblokir.
Buka prompt perintah dengan hak administratif penuh dan ubah direktori ke folder InetSrv Anda:
cd "%WinDir%\System32\InetSrv"
Gunakan sintaks berikut untuk melihat aturan pemfilteran permintaan yang ada:
AppCmd list config "Default Web Site/" /section:system.webServer/security/requestFiltering
Blokir akses ke file ".txt" dengan menambahkan ekstensi file tertentu ke koleksi fileExtensions dan tentukan false untuk atribut yang diizinkan menggunakan sintaks berikut:
AppCmd set config "Default Web Site/" /section:system.webServer/security/requestFiltering /+fileExtensions.[fileExtension='.txt',allowed='false'] /commit:apphost
Izinkan WebDAV mengakses semua jenis file yang diblokir dengan mengatur atribut applyToWebDAV untuk koleksi fileExtensions ke false menggunakan sintaks berikut:
AppCmd set config "Default Web Site/" /section:system.webServer/security/requestFiltering /fileExtensions.applyToWebDAV:false /commit:apphost
Setelah menyelesaikan langkah-langkah di atas, kode yang dihasilkan di bagian fileExtensions dari file applicationHost.config Anda harus menyerupai contoh berikut:
<requestFiltering>
<fileExtensions applyToWebDAV="false">
<add fileExtension=".txt" allowed="false" />
</fileExtensions>
</requestFiltering>
Catatan:
Anda dapat menggunakan langkah-langkah di atas untuk memblokir akses ke ekstensi file tambahan dengan menambahkannya ke koleksi fileExtensions , atau Anda dapat mengubah sintaks untuk mengizinkan file tertentu dengan menentukan true untuk atribut yang diizinkan .
Anda dapat memblokir semua ekstensi file yang tidak diketahui dengan mengatur atribut allowUnlisted untuk koleksi fileExtensions ke false menggunakan sintaks berikut:
AppCmd set config "Default Web Site/" /section:system.webServer/security/requestFiltering /fileExtensions.allowUnlisted:false /commit:apphost
Catatan
Mengatur opsi ini mengharuskan Anda secara khusus menambahkan setiap ekstensi file sebelum dapat diakses oleh permintaan non-WebDAV.
Anda dapat menggunakan langkah-langkah di atas untuk memblokir akses untuk permintaan WebDAV dengan menentukan true untuk atribut applyToWebDAV .
Memfilter Segmen Tersembunyi
Segmen file tertentu seperti "web.config" dan "App_code" disembunyikan oleh permintaan default yang memfilter koleksi hiddenSegments . Anda dapat menambahkan entri tambahan ke daftar segmen file untuk menyembunyikannya untuk permintaan HTTP, dan Anda dapat mengontrol apakah daftar ini berlaku untuk permintaan WebDAV. Dalam contoh ini, Anda akan menggunakan AppCmd menyembunyikan segmen "sertakan" dari permintaan HTTP, meskipun biasanya akan terlihat, dan Anda akan menentukan bahwa permintaan WebDAV akan dapat mengakses semua segmen file tersembunyi.
Buka prompt perintah dengan hak administratif penuh dan ubah direktori ke folder InetSrv Anda:
cd "%WinDir%\System32\InetSrv"
Blokir akses ke segmen "sertakan" dengan menambahkan entri tertentu ke koleksi hiddenSegments menggunakan sintaks berikut:
AppCmd set config "Default Web Site/" /section:system.webServer/security/requestFiltering /+hiddenSegments.[segment='include'] /commit:apphost
Izinkan WebDAV mengakses semua jenis file yang diblokir dengan mengatur atribut applyToWebDAV untuk koleksi hiddenSegments ke false menggunakan sintaks berikut:
AppCmd set config "Default Web Site/" /section:system.webServer/security/requestFiltering /hiddenSegments.applyToWebDAV:false /commit:apphost
Setelah menyelesaikan langkah-langkah di atas, kode yang dihasilkan di bagian hiddenSegments dari file applicationHost.config Anda harus menyerupai contoh berikut:
<requestFiltering>
<hiddenSegments applyToWebDAV="false">
<add segment="include" />
</hiddenSegments>
</requestFiltering>
Catatan:
- Anda dapat menggunakan langkah-langkah di atas untuk menyembunyikan segmen file tambahan dengan menambahkannya ke koleksi hiddenSegments .
- Anda dapat menggunakan langkah-langkah di atas untuk memblokir akses untuk permintaan WebDAV dengan menentukan true untuk atribut applyToWebDAV .
Memfilter Kata Kerja HTTP
Kumpulan kata kerja pemfilteran permintaan default memungkinkan semua kata kerja HTTP yang tidak tercantum, meskipun beberapa kata kerja mungkin tidak dipetakan ke penangan HTTP tertentu. Anda dapat menentukan kata kerja HTTP mana yang harus diizinkan atau diblokir dengan menambahkan entri ke daftar ini, dan Anda dapat mengontrol apakah daftar ini berlaku untuk permintaan WebDAV. Dalam contoh ini, Anda akan menggunakan AppCmd untuk memblokir kata kerja "DELETE" dan "PUT" dari permintaan HTTP, dan Anda akan menentukan bahwa permintaan WebDAV akan dapat menggunakan kata kerja ini.
Buka prompt perintah dengan hak administratif penuh dan ubah direktori ke folder InetSrv Anda:
cd "%WinDir%\System32\InetSrv"
Blokir akses ke kata kerja "DELETE" dengan menambahkan entri tertentu ke koleksi kata kerja dan menentukan false untuk atribut yang diizinkan menggunakan sintaks berikut:
AppCmd set config "Default Web Site/" /section:system.webServer/security/requestFiltering /+verbs.[verb='DELETE',allowed='false'] /commit:appHost
Blokir akses ke kata kerja "PUT" dengan menambahkan entri spesifik lain ke koleksi kata kerja dan menentukan false untuk atribut yang diizinkan menggunakan sintaks berikut:
AppCmd set config "Default Web Site/" /section:system.webServer/security/requestFiltering /+verbs.[verb='PUT',allowed='false'] /commit:appHost
Izinkan WebDAV mengakses semua kata kerja HTTP dengan mengatur atribut applyToWebDAV untuk koleksi kata kerja ke false menggunakan sintaks berikut:
AppCmd set config "Default Web Site/" /section:system.webServer/security/requestFiltering /verbs.applyToWebDAV:false /commit:appHost
Setelah menyelesaikan langkah-langkah di atas, kode yang dihasilkan di bagian kata kerja file applicationHost.config Anda harus menyerupai contoh berikut:
<requestFiltering>
<verbs applyToWebDAV="false">
<add verb="DELETE" allowed="false" />
<add verb="PUT" allowed="false" />
</verbs>
</requestFiltering>
Catatan:
Anda dapat menggunakan langkah-langkah di atas untuk memblokir kata kerja HTTP tambahan dengan menambahkannya ke koleksi kata kerja , atau Anda dapat memodifikasi sintaks untuk memungkinkan kata kerja tertentu dengan menentukan true untuk atribut yang diizinkan .
Anda dapat memblokir semua kata kerja HTTP yang tidak diketahui dengan mengatur atribut allowUnlisted untuk koleksi kata kerja ke false menggunakan sintaks berikut:
AppCmd set config "Default Web Site/" /section:system.webServer/security/requestFiltering /verbs.allowUnlisted:false /commit:appHost
Catatan
Mengatur opsi ini mengharuskan Anda secara khusus menambahkan setiap kata kerja HTTP sebelum dapat diakses oleh permintaan non-WebDAV.
Anda dapat menggunakan langkah-langkah di atas untuk memblokir akses untuk permintaan WebDAV dengan menentukan true untuk atribut applyToWebDAV .
Ringkasan
Dokumen ini telah menunjukkan konsep berikut:
Informasi Selengkapnya
Untuk informasi tambahan tentang menggunakan WebDAV, silakan lihat artikel berikut ini: