Bagikan melalui


Windows Authentication <windowsAuthentication>

Gambaran Umum

Elemen menentukan <windowsAuthentication> pengaturan konfigurasi untuk modul autentikasi Windows Internet Information Services (IIS) 7. Anda dapat menggunakan autentikasi Windows saat server IIS 7 berjalan di jaringan perusahaan yang menggunakan identitas domain layanan Microsoft Active Directory atau akun Windows lainnya untuk mengidentifikasi pengguna. Karena itu, Anda dapat menggunakan autentikasi Windows apakah server Anda adalah anggota domain Direktori Aktif atau tidak.

Autentikasi Windows (sebelumnya bernama NTLM, dan juga disebut sebagai autentikasi Windows NT Challenge/Response) adalah bentuk autentikasi yang aman karena nama pengguna dan kata sandi di-hash sebelum dikirim di seluruh jaringan. Saat Anda mengaktifkan autentikasi Windows, browser klien mengirimkan versi kata sandi yang sangat di-hash dalam pertukaran kriptografi dengan server Web Anda.

Autentikasi Windows mendukung dua protokol autentikasi, Kerberos dan NTLM, yang didefinisikan dalam <providers> elemen . Ketika Anda menginstal dan mengaktifkan autentikasi Windows pada IIS 7, protokol defaultnya adalah Kerberos. Elemen ini <windowsAuthentication> juga dapat berisi atribut useKernelMode yang mengonfigurasi apakah akan menggunakan fitur autentikasi mode kernel yang baru untuk Windows Server 2008.

Autentikasi Windows paling cocok untuk lingkungan intranet karena alasan berikut:

  • Komputer klien dan server Web berada di domain yang sama.
  • Administrator dapat memastikan bahwa setiap browser klien adalah Internet Explorer 2.0 atau yang lebih baru.
  • Koneksi proksi HTTP, yang tidak didukung oleh NTLM, tidak diperlukan.
  • Kerberos versi 5 memerlukan koneksi ke Direktori Aktif, yang tidak layak di lingkungan Internet.

Baru di IIS 7.5

Elemen <extendedProtection> ini diperkenalkan di IIS 7.5, yang memungkinkan Anda mengonfigurasi pengaturan untuk fitur perlindungan diperluas baru yang telah diintegrasikan ke dalam autentikasi Windows.

Kompatibilitas

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

Siapkan

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

Catatan

Setelah Anda menginstal layanan peran, IIS 7 menerapkan pengaturan konfigurasi berikut ke file ApplicationHost.config.

<windowsAuthentication enabled="false" />

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 Windows. Klik Berikutnya.
    Cuplikan layar halaman Peran Server dengan opsi Autentikasi Windows disorot. .
  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 Windows.
    Cuplikan layar folder yang terkandung di Internet Information Services, dengan folder Autentikasi Windows 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 Windows, lalu klik Berikutnya.
    Cuplikan layar halaman Pilih Layanan Peran dengan opsi Autentikasi Windows disorot.
  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, lalu World Wide Web Services, lalu Keamanan.
  4. Pilih Autentikasi Windows, lalu klik OK.
    Cuplikan layar folder Layanan Informasi Internet yang dapat diperluas dengan folder Autentikasi Windows disorot.

Bagaimana Caranya

Cara mengaktifkan autentikasi Windows untuk situs Web, aplikasi Web, atau layanan Web

  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 situs, aplikasi, atau layanan Web yang ingin Anda aktifkan autentikasi Windowsnya.

  3. Gulir ke bagian Keamanan di panel Beranda , lalu klik ganda Autentikasi.

  4. Di panel Autentikasi , pilih Autentikasi Windows, lalu klik Aktifkan di panel Tindakan .
    Cuplikan layar panel Autentikasi yang berisi bidang Nama dan Status.


Cara mengaktifkan Extended Protection untuk autentikasi Windows

  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 situs, aplikasi, atau layanan Web yang ingin Anda aktifkan Perlindungan Diperpanjang untuk autentikasi Windows.

  3. Gulir ke bagian Keamanan di panel Beranda , lalu klik dua kali Autentikasi.

  4. Di panel Autentikasi , pilih Autentikasi Windows.

  5. Klik Aktifkan di panel Tindakan .
    Cuplikan layar panel Autentikasi dan bidang Kelompokkan menurut.

  6. Klik Pengaturan Tingkat Lanjut di panel Tindakan .

  7. Saat kotak dialog Pengaturan Tingkat Lanjut muncul, pilih salah satu opsi berikut ini di menu drop-down Perlindungan Diperpanjang :

    • Pilih Terima jika Anda ingin mengaktifkan perlindungan yang diperluas sambil memberikan dukungan tingkat bawah untuk klien yang tidak mendukung perlindungan yang diperpanjang.
    • Pilih Diperlukan jika Anda ingin mengaktifkan perlindungan yang diperluas tanpa memberikan dukungan tingkat bawah.
      Cuplikan layar kotak dialog Pengaturan Tingkat Lanjut dengan opsi Terima bidang Perlindungan Diperpanjang sedang disorot.
  8. Klik OK untuk menutup kotak dialogPengaturan Tingkat Lanjut.

Konfigurasi

Elemen <windowsAuthentication> ini dapat dikonfigurasi di tingkat direktori situs, aplikasi, atau virtual dalam file ApplicationHost.config.

Atribut

Atribut Deskripsi
authPersistNonNTLM Atribut Boolean opsional.

Menentukan apakah IIS secara otomatis mengautentikasi ulang setiap permintaan non-NTLM (misalnya, Kerberos), bahkan yang berada pada koneksi yang sama. False memungkinkan beberapa autentikasi untuk koneksi yang sama.

Catatan: Pengaturan true berarti bahwa klien hanya akan diautentikasi sekali pada koneksi yang sama. IIS akan menyimpan token atau tiket di server untuk sesi TCP yang tetap dibuat.

Default adalah false.
authPersistSingleRequest Atribut Boolean opsional.

Mengatur bendera ini ke true menentukan bahwa autentikasi hanya bertahan untuk satu permintaan pada koneksi. IIS mengatur ulang autentikasi di akhir setiap permintaan, dan memaksa autentikasi ulang pada permintaan sesi berikutnya.

Nilai defaultnya adalah false.
enabled Atribut Boolean yang diperlukan.

Menentukan apakah autentikasi Windows diaktifkan.

Nilai defaultnya adalah false.
useKernelMode Atribut Boolean opsional.

Menentukan apakah autentikasi Windows dilakukan dalam mode kernel. True menentukan bahwa autentikasi Windows menggunakan mode kernel.

Autentikasi mode kernel dapat meningkatkan performa autentikasi dan mencegah masalah autentikasi dengan kumpulan aplikasi yang dikonfigurasi untuk menggunakan identitas kustom.

Sebagai praktik terbaik, jangan nonaktifkan pengaturan ini jika Anda menggunakan autentikasi Kerberos dan memiliki identitas kustom pada kumpulan aplikasi.

Defaultnya adalah true.

Elemen Anak

Elemen Deskripsi
extendedProtection Elemen opsional.

Menentukan opsi perlindungan yang diperluas untuk autentikasi Windows.

Catatan: Elemen ini ditambahkan dalam IIS 7.5.
providers Elemen opsional.

Menentukan penyedia dukungan keamanan yang digunakan untuk autentikasi Windows.

Sampel Konfigurasi

Elemen default <windowsAuthentication> berikut dikonfigurasi pada file ApplicationHost.config root di IIS 7.0, dan menonaktifkan autentikasi Windows secara default. Ini juga mendefinisikan dua penyedia autentikasi Windows untuk IIS 7.0.

<windowsAuthentication enabled="false">
   <providers>
      <add value="Negotiate" />
      <add value="NTLM" />
   </providers>
</windowsAuthentication>

Contoh berikut mengaktifkan autentikasi Windows dan menonaktifkan autentikasi Anonim untuk situs Web bernama Contoso.

<location path="Contoso">
   <system.webServer>
      <security>
         <authentication>
            <anonymousAuthentication enabled="false" />
            <windowsAuthentication enabled="true" />
         </authentication>
      </security>
   </system.webServer>
</location>

Kode Sampel

Contoh berikut menonaktifkan autentikasi Anonim untuk situs bernama Contoso, lalu aktifkan autentikasi Windows untuk situs tersebut.

AppCmd.exe

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

appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/windowsAuthentication /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 anonymousAuthenticationSection = config.GetSection("system.webServer/security/authentication/anonymousAuthentication", "Contoso");
         anonymousAuthenticationSection["enabled"] = false;

         ConfigurationSection windowsAuthenticationSection = config.GetSection("system.webServer/security/authentication/windowsAuthentication", "Contoso");
         windowsAuthenticationSection["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 anonymousAuthenticationSection As ConfigurationSection = config.GetSection("system.webServer/security/authentication/anonymousAuthentication", "Contoso")
      anonymousAuthenticationSection("enabled") = False

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

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

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

var anonymousAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/anonymousAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso");
anonymousAuthenticationSection.Properties.Item("enabled").Value = false;

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

adminManager.CommitChanges();

Vbscript

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

Set anonymousAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/anonymousAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso")
anonymousAuthenticationSection.Properties.Item("enabled").Value = False

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

adminManager.CommitChanges()