Autentikasi Autentikasi <Keamanan>

Gambaran Umum

Autentikasi adalah mekanisme yang Anda gunakan untuk memverifikasi identitas pengunjung situs Web atau aplikasi Web Anda. Biasanya, Anda melakukan ini dengan menetapkan nama pengguna dan kata sandi kepada pengunjung atau mengizinkan pengunjung mengakses konten publik secara anonim di situs Anda.

Meskipun Anda menggunakan autentikasi untuk mengonfirmasi identitas pengunjung, Anda menggunakan otorisasi untuk mengontrol akses pengunjung ke berbagai area situs atau aplikasi Anda.

IIS 7 mendukung autentikasi Anonim, Autentikasi dasar, autentikasi Pemetaan Sertifikat Klien, autentikasi Hash, autentikasi Pemetaan Sertifikat Klien IIS, dan autentikasi Windows. Mode autentikasi tambahan dapat disediakan oleh modul autentikasi pihak ketiga.

Setelah menginstal salah satu modul autentikasi, Anda harus mengaktifkan modul autentikasi yang dipilih untuk situs Web, aplikasi Web, atau layanan Web tempat Anda ingin menggunakannya.

Secara default, IIS 7 memungkinkan autentikasi mode kernel untuk Windows (yang menggunakan Kerberos atau NTLM), skema autentikasi. Autentikasi mode kernel memberikan keuntungan berikut:

  • Aplikasi Web Anda dapat berjalan menggunakan akun dengan hak istimewa yang lebih rendah.
  • Jika Anda menggunakan autentikasi Kerberos, Anda dapat menggunakan akun yang berbeda dari akun default yang terkait dengan Nama Prinsip Layanan (SPN) server.
  • Jika Anda menggunakan autentikasi mode kernel, Anda dapat menggunakan penyedia Kerberos autentikasi Windows tanpa melakukan konfigurasi SPN eksplisit.

Kompatibilitas

Versi Catatan
IIS 10.0 Elemen <authentication> tidak dimodifikasi di IIS 10.0.
IIS 8.5 Elemen <authentication> tidak dimodifikasi di IIS 8.5.
IIS 8.0 Elemen <authentication> tidak dimodifikasi di IIS 8.0.
IIS 7.5 Elemen <authentication> tidak dimodifikasi dalam IIS 7.5.
IIS 7.0 Elemen <authentication> ini diperkenalkan di IIS 7.0.
IIS 6.0 T/A

Siapkan

Elemen <authentication> ini disertakan dalam penginstalan default IIS 7.

Bagaimana Caranya

Cara 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, dan masuk ke tingkat dalam panel hierarki yang ingin Anda konfigurasi, lalu klik situs Web atau aplikasi Web.

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

  4. Di panel Autentikasi , pilih Autentikasi Anonim, lalu klik Nonaktifkan di panel Tindakan .
    Cuplikan layar yang memperlihatkan panel Autentikasi. Autentikasi Anonim diaktifkan dan dipilih.

Cara mengubah kredensial autentikasi anonim dari akun IUSR

  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, dan navigasikan ke tingkat di panel hierarki yang ingin Anda konfigurasi, lalu klik situs Web atau aplikasi Web.

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

  4. Di panel Autentikasi , pilih Autentikasi Anonim, lalu klik Edit... di panel Tindakan .

  5. Dalam kotak dialog Edit Kredensial Autentikasi Anonim , lakukan salah satu hal berikut ini:

    • Pilih Identitas kumpulan aplikasi untuk menggunakan kumpulan identitas untuk kumpulan aplikasi, lalu klik OK.
      Cuplikan layar yang memperlihatkan kotak dialog Edit Kredensial Autentikasi Anonim. Identitas kumpulan aplikasi dipilih.

    • Klik Atur..., lalu dalam kotak dialog Atur Kredensial , masukkan nama pengguna untuk akun dalam kotak Nama pengguna , masukkan kata sandi untuk akun dalam kotak Kata Sandi dan Konfirmasi kata sandi , klik OK, lalu klik OK lagi.
      Cuplikan layar yang memperlihatkan kotak dialog Atur Kredensial.

      Catatan

      Jika Anda menggunakan prosedur ini, hanya berikan hak istimewa minimal akun baru di komputer server IIS.


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 yang memperlihatkan panel Autentikasi. Autentikasi Windows dinonaktifkan dan dipilih.

Konfigurasi

Grup <authentication> bagian ditentukan di bagian <system.webServer> konfigurasi. Grup bagian ini menentukan bagian konfigurasi untuk semua jenis autentikasi pengguna yang dapat Anda instal dan aktifkan di server Anda. Anda dapat mengonfigurasinya di tingkat server dalam file ApplicationHost.config dan di tingkat aplikasi dalam file Web.config.

Atribut

Tidak ada.

Elemen Anak

Elemen Deskripsi
anonymousAuthentication Elemen opsional.

Menentukan pengaturan untuk autentikasi Anonim.
basicAuthentication Elemen opsional.

Menentukan pengaturan untuk Autentikasi dasar.
clientCertificateMappingAuthentication Elemen opsional.

Menentukan pengaturan autentikasi Pemetaan Sertifikat Klien menggunakan Direktori Aktif.
digestAuthentication Elemen opsional.

Menentukan pengaturan untuk autentikasi Digest.
iisClientCertificateMappingAuthentication Elemen opsional.

Menentukan pengaturan autentikasi Pemetaan Sertifikat Klien menggunakan IIS.
windowsAuthentication Elemen opsional.

Menentukan pengaturan untuk autentikasi Windows.

Sampel Konfigurasi

Contoh konfigurasi berikut menonaktifkan autentikasi Anonim untuk situs bernama Contoso, lalu mengaktifkan autentikasi Dasar dan autentikasi Windows untuk situs tersebut.

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

Kode Sampel

Contoh berikut menonaktifkan autentikasi Anonim untuk situs bernama Contoso, lalu aktifkan autentikasi Dasar dan 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/basicAuthentication /enabled:"True" /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 basicAuthenticationSection = config.GetSection("system.webServer/security/authentication/basicAuthentication", "Contoso");
         basicAuthenticationSection["enabled"] = true;

         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 basicAuthenticationSection As ConfigurationSection = config.GetSection("system.webServer/security/authentication/basicAuthentication", "Contoso")
      basicAuthenticationSection("enabled") = True

      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 basicAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/basicAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso");
basicAuthenticationSection.Properties.Item("enabled").Value = true;

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 basicAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/basicAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso")
basicAuthenticationSection.Properties.Item("enabled").Value = True

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

adminManager.CommitChanges()