Bagikan melalui


Hash Digest Authentication <digestAuthentication>

Gambaran Umum

Elemen <digestAuthentication> berisi pengaturan konfigurasi untuk modul autentikasi Internet Information Services (IIS) 7 Digest. Anda mengonfigurasi elemen ini untuk mengaktifkan atau menonaktifkan autentikasi Digest, dan secara opsional Anda dapat menentukan realm autentikasi Digest.

Autentikasi hash tidak banyak digunakan sebagai Autentikasi dasar, tetapi memiliki beberapa keuntungan berbeda daripada autentikasi Dasar atau autentikasi Windows. Kerugian utama untuk menggunakan autentikasi Dasar melalui sarana komunikasi yang tidak dienkripsi adalah bahwa nama pengguna dan kata sandi klien dikirim sebagai pesan teks biasa yang dikodekan base-64, sehingga sangat mudah bagi pengguna jahat untuk menguping komunikasi dan mengambil nama pengguna dan kata sandi. Autentikasi Windows menyelesaikan masalah tersebut melalui berbagai opsi keamanan, tetapi autentikasi Windows biasanya tidak berfungsi di lingkungan Internet.

Autentikasi hash membahas kedua batasan di atas dengan cara berikut:

  • Tidak seperti skema teks biasa yang digunakan oleh autentikasi Dasar, autentikasi Digest meminta klien mengirim hash informasi klien melalui saluran komunikasi, oleh karena itu nama pengguna dan kata sandi klien tidak pernah dikirim melalui jaringan.
  • Autentikasi hash berfungsi dengan baik melalui Internet, membuat autentikasi Digest lebih cocok untuk lingkungan tersebut daripada autentikasi Windows.

Catatan

Autentikasi hash hanya melindungi nama pengguna dan kata sandi klien - isi komunikasi HTTP masih dalam teks biasa. Untuk mengamankan isi komunikasi Anda, Anda harus menggunakan Secure Sockets Layer (SSL).

Kompatibilitas

Versi Catatan
IIS 10.0 Elemen <digestAuthentication> tidak dimodifikasi di IIS 10.0.
IIS 8.5 Elemen <digestAuthentication> tidak dimodifikasi di IIS 8.5.
IIS 8.0 Elemen <digestAuthentication> tidak dimodifikasi di IIS 8.0.
IIS 7.5 Elemen <digestAuthentication> tidak dimodifikasi dalam IIS 7.5.
IIS 7.0 Elemen <digestAuthentication> ini diperkenalkan di IIS 7.0.
IIS 6.0 Elemen menggantikan <digestAuthentication> bagian dari properti metabase IIS 6.0 AuthType dan AuthFlags .

Siapkan

Penginstalan default IIS 7 dan yang lebih baru tidak menyertakan layanan peran autentikasi Digest. Untuk menggunakan autentikasi Digest pada IIS 7 dan yang lebih baru, Anda harus menginstal layanan peran, menonaktifkan autentikasi Anonim untuk situs Web atau aplikasi Anda, lalu mengaktifkan autentikasi Digest untuk situs atau aplikasi.

Untuk menginstal layanan peran autentikasi Digest, gunakan langkah-langkah berikut.

Windows Server 2012 atau Windows Server 2012 R2

  1. Pada taskbar, klik Manajer Server.
  2. Di Manajer Server, klik menu Kelola , lalu klik Tambahkan Peran dan Fitur.
  3. Di wizard Tambahkan Peran dan Fitur , klik Berikutnya. Pilih jenis penginstalan dan klik Berikutnya. Pilih server tujuan dan klik Berikutnya.
  4. Pada halaman Peran Server , perluas Server Web (IIS), perluas Server Web, perluas Keamanan, lalu pilih Autentikasi Hash. Klik Berikutnya.
    Gambar panel Server Web dan Keamanan diperluas dengan Autentikasi Hash dipilih. .
  5. Pada halaman Pilih fitur, klik Berikutnya.
  6. Pada halaman Konfirmasi pilihan instalasi, klik Instal.
  7. Pada halaman Hasil , klik Tutup.

Windows 8 atau Windows 8.1

  1. Pada layar Mulai, pindahkan penunjuk ke sudut kiri bawah, klik kanan tombol Mulai, lalu klik Panel Kontrol.
  2. Di Panel Kontrol, klik Program dan Fitur, lalu klik Aktifkan atau nonaktifkan fitur Windows.
  3. Perluas Layanan Informasi Internet, perluas World Wide Web Services, perluas Keamanan, lalu pilih Autentikasi Hash.
    Cuplikan layar panel World Wide Web Services dan Keamanan diperluas dengan Autentikasi Hash disorot.
  4. Klik OK.
  5. Klik Tutup.

Windows Server 2008 atau Windows Server 2008 R2

  1. Pada taskbar, klik Mulai, arahkan ke Alat Administratif, lalu klik Manajer Server.
  2. Di panel hierarki Manajer Server , perluas Peran, lalu klik Server Web (IIS).
  3. Di panel Server Web (IIS), gulir ke bagian Layanan Peran , lalu klik Tambahkan Layanan Peran.
  4. Pada halaman Pilih Layanan Peran dari Wizard Tambahkan Layanan Peran, pilih Autentikasi Hash, lalu klik Berikutnya. Gambar halaman Pilih Layanan Peran yang menampilkan opsi Autentikasi Hash dipilih.
  5. Pada halaman Konfirmasi Pilihan Penginstalan , klik Instal.
  6. Pada halaman Hasil , klik Tutup.

Windows Vista atau Windows 7

  1. Pada taskbar, klik Mulai, lalu klik Panel Kontrol.
  2. Di Panel Kontrol, klik Program dan Fitur, lalu klik Aktifkan atau nonaktifkan Fitur Windows.
  3. Perluas Layanan Informasi Internet, perluas World Wide Web Services, perluas Keamanan, pilih Autentikasi Hash, lalu klik OK.
    Cuplikan layar panel World Wide Web Services dan Keamanan diperluas memperlihatkan Autentikasi Hash dipilih.

Bagaimana Caranya

Cara mengaktifkan autentikasi Hash dan menonaktifkan autentikasi Anonim

  1. Buka Manajer 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 Manajer 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 taskbar, klik Mulai, arahkan ke Alat Administratif, lalu klik Manajer 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).
  2. Di panel Koneksi , perluas nama server, perluas Situs, lalu klik situs, aplikasi, atau layanan Web yang ingin Anda aktifkan autentikasi dasarnya.

  3. Gulir ke bagian Keamanan di panel Beranda , lalu klik ganda Autentikasi.
    Gambar panel Beranda di bagian Keamanan dengan aplikasi Autentikasi disorot.

  4. Di panel Autentikasi , pilih Autentikasi Hash, lalu, di panel Tindakan , klik Aktifkan.

  5. Di panel Autentikasi , pilih Autentikasi Anonim, lalu klik Nonaktifkan di panel Tindakan .
    Gambar panel Autentikasi yang menampilkan opsi Autentikasi Anonim disorot.

Konfigurasi

Elemen <digestAuthentication> ini dapat dikonfigurasi di tingkat situs, aplikasi, direktori virtual, dan URL. Setelah Anda menginstal layanan peran, IIS 7 menerapkan pengaturan konfigurasi berikut ke file ApplicationHost.config.

<digestAuthentication enabled='false' />

Atribut

Atribut Deskripsi
enabled Atribut Boolean opsional.

Menentukan apakah autentikasi Digest diaktifkan.

Nilai defaultnya adalah false.
realm Atribut String Opsional.

Menentukan realm untuk autentikasi Digest.

Elemen Anak

Tidak ada.

Sampel Konfigurasi

Sampel konfigurasi berikut memungkinkan autentikasi Hash untuk situs Web, aplikasi Web, atau layanan Web. Secara default pengaturan ini harus disertakan dalam file ApplicationHost.config Anda, dan Anda harus menyertakannya dalam <location> elemen dan menggunakan atribut jalur untuk menentukan situs Web atau aplikasi tempat Anda ingin menerapkan pengaturan autentikasi.

<security>
   <authentication>
      <anonymousAuthentication enabled="false" />
      <digestAuthentication enabled="true" />
   </authentication>
</security>

Kode Sampel

Contoh berikut mengaktifkan autentikasi Digest untuk situs.

AppCmd.exe

appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/digestAuthentication /enabled:"True" /commit:apphost

Catatan

Anda harus memastikan untuk mengatur parameter penerapan ke apphost saat Anda menggunakan AppCmd.exe untuk mengonfigurasi pengaturan ini. Ini menerapkan pengaturan konfigurasi ke bagian lokasi yang sesuai dalam file ApplicationHost.config.

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.GetApplicationHostConfiguration();

         ConfigurationSection digestAuthenticationSection = config.GetSection("system.webServer/security/authentication/digestAuthentication", "Contoso");
         digestAuthenticationSection["enabled"] = true;

        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.GetApplicationHostConfiguration

      Dim digestAuthenticationSection As ConfigurationSection = config.GetSection("system.webServer/security/authentication/digestAuthentication", "Contoso")
      digestAuthenticationSection("enabled") = True

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var digestAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/digestAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso");
digestAuthenticationSection.Properties.Item("enabled").Value = true;

adminManager.CommitChanges();

Vbscript

Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set digestAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/digestAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso")
digestAuthenticationSection.Properties.Item("enabled").Value = True

adminManager.CommitChanges()