Bagikan melalui


Identitas Kumpulan Aplikasi

oleh Thomas Deml

Apakah Anda menjalankan situs Anda di server Anda sendiri atau di cloud, keamanan harus berada di bagian atas daftar prioritas Anda. Jika demikian, Anda akan dengan senang hati mendengar bahwa IIS memiliki fitur keamanan yang disebut identitas kumpulan aplikasi. Fitur ini diperkenalkan dalam Paket Layanan 2 (SP2) Windows Server 2008 dan Windows Vista. Identitas kumpulan aplikasi memungkinkan Anda menjalankan kumpulan aplikasi di bawah akun unik tanpa harus membuat dan mengelola domain atau akun lokal. Nama akun kumpulan aplikasi sesuai dengan nama kumpulan aplikasi. Gambar di bawah ini menunjukkan proses pekerja IIS (W3wp.exe) yang berjalan sebagai identitas DefaultAppPool.

Cuplikan layar Task Manager dengan fokus pada proses pekerja W 3 W P dot E X E I I S.

Akun Identitas Kumpulan Aplikasi

Proses pekerja di IIS 6.0 dan di IIS 7 berjalan sebagai Layanan Jaringan secara default. Layanan Jaringan adalah identitas Windows bawaan. Ini tidak memerlukan kata sandi dan hanya memiliki hak istimewa pengguna; yaitu, hak istimewanya relatif rendah. Menjalankan sebagai akun dengan hak istimewa rendah adalah praktik keamanan yang baik karena bug perangkat lunak tidak dapat digunakan oleh pengguna jahat untuk mengambil alih seluruh sistem.

Namun, masalah muncul dari waktu ke waktu karena semakin banyak layanan sistem Windows mulai berjalan sebagai Layanan Jaringan. Ini karena layanan yang berjalan sebagai Layanan Jaringan dapat mengubah layanan lain yang berjalan di bawah identitas yang sama. Karena proses pekerja IIS menjalankan kode pihak ketiga secara default (ASP Klasik, ASP.NET, kode PHP), saatnya untuk mengisolasi proses pekerja IIS dari layanan sistem Windows lainnya dan menjalankan proses pekerja IIS di bawah identitas unik. Sistem operasi Windows menyediakan fitur yang disebut "akun virtual" yang memungkinkan IIS membuat identitas unik untuk setiap kumpulan aplikasinya. Untuk informasi selengkapnya tentang akun virtual, lihat Panduan Langkah demi Langkah Akun Layanan.

Mengonfigurasi Identitas Kumpulan Aplikasi IIS

Jika Anda menjalankan IIS 7.5 di Windows Server 2008 R2, atau versi IIS yang lebih baru, Anda tidak perlu melakukan apa pun untuk menggunakan identitas baru. Untuk setiap kumpulan aplikasi yang Anda buat, properti Identitas dari kumpulan aplikasi baru diatur ke ApplicationPoolIdentity secara default. Proses Admin IIS (WAS) akan membuat akun virtual dengan nama kumpulan aplikasi baru dan menjalankan proses pekerja kumpulan aplikasi di bawah akun ini secara default.

Untuk menggunakan akun virtual ini saat menjalankan IIS 7.0 di Windows Server 2008, Anda harus mengubah properti Identitas dari kumpulan aplikasi yang Anda buat ke ApplicationPoolIdentity. Berikut adalah caranya:

  1. Buka Konsol Manajemen IIS (INETMGR. MSC).

  2. Buka simpul Kumpulan Aplikasi di bawah simpul komputer. Pilih kumpulan aplikasi yang ingin Anda ubah untuk dijalankan di bawah identitas kumpulan aplikasi yang dihasilkan secara otomatis.

  3. Klik kanan kumpulan aplikasi dan pilih Pengaturan Tingkat Lanjut

    Cuplikan layar dialog Pengaturan Tingkat Lanjut dengan pengaturan Identitas disorot.

  4. Pilih item Daftar identitas dan klik elipsis (tombol dengan tiga titik).

  5. Dialog berikut muncul:

    Cuplikan layar dialog Identitas Kumpulan Aplikasi dengan opsi Identitas Kumpulan Aplikasi disorot.

  6. Pilih tombol Akun bawaan, lalu pilih jenis identitas ApplicationPoolIdentity dari kotak kombo.

Untuk melakukan langkah yang sama dengan menggunakan baris perintah, Anda dapat memanggil alat baris perintah appcmd dengan cara berikut:

%windir%\system32\inetsrv\appcmd.exe set AppPool <your AppPool> -processModel.identityType:ApplicationPoolIdentity

Mengamankan Sumber Daya

Setiap kali kumpulan aplikasi baru dibuat, proses manajemen IIS membuat pengidentifikasi keamanan (SID) yang mewakili nama kumpulan aplikasi itu sendiri. Misalnya, jika Anda membuat kumpulan aplikasi dengan nama "MyNewAppPool," pengidentifikasi keamanan dengan nama "MyNewAppPool" dibuat di sistem Keamanan Windows. Mulai saat ini, sumber daya dapat diamankan dengan menggunakan identitas ini. Namun, identitas tersebut bukan akun pengguna nyata; ini tidak akan muncul sebagai pengguna di Konsol Manajemen Pengguna Windows.

Anda dapat mencoba ini dengan memilih file di Windows Explorer dan menambahkan identitas "DefaultAppPool" ke daftar Access Control file (ACL).

  1. Buka Windows Explorer

  2. Pilih file atau direktori.

  3. Klik kanan file dan pilih Properti

  4. Pilih tab Keamanan

  5. Klik tombol Edit lalu tombol Tambahkan

  6. Klik tombol Lokasi dan pastikan Anda memilih komputer Anda.

    Cuplikan layar dialog Pilih Pengguna atau Grup.

  7. Masukkan IIS AppPool\DefaultAppPool di kotak teks Masukkan nama objek untuk memilih: .

  8. Klik tombol Periksa Nama dan klik OK.

Dengan melakukan ini, file atau direktori yang Anda pilih sekarang juga akan mengizinkan akses identitas DefaultAppPool .

Anda dapat melakukan ini melalui baris perintah dengan menggunakan alat ICACLS. Contoh berikut memberikan akses penuh ke identitas DefaultAppPool.

ICACLS test.txt /grant "IIS AppPool\DefaultAppPool:F"

Untuk informasi selengkapnya, lihat ICACLS.

Pada Windows 7 dan Windows Server 2008 R2, dan versi Windows yang lebih baru, defaultnya adalah menjalankan kumpulan aplikasi sebagai identitas kumpulan aplikasi. Untuk meluaskan hal ini, jenis identitas baru dengan nama "AppPoolIdentity" diperkenalkan. Jika jenis identitas "AppPoolIdentity" dipilih (default pada Windows 7 dan Windows Server 2008 R2, dan yang lebih baru), IIS akan menjalankan proses pekerja sebagai identitas kumpulan aplikasi. Dengan setiap jenis identitas lainnya, pengidentifikasi keamanan hanya akan disuntikkan ke token akses proses. Jika pengidentifikasi disuntikkan, konten masih dapat ACLed untuk ApplicationPoolIdentity, tetapi pemilik token mungkin tidak unik. Untuk informasi selengkapnya tentang konsep ini, lihat posting blog Baru di IIS 7 - Isolasi Kumpulan Aplikasi .

Mengakses Jaringan

Menggunakan akun Layanan Jaringan di lingkungan domain memiliki manfaat besar. Proses pekerja yang berjalan sebagai Layanan Jaringan mengakses jaringan sebagai akun komputer. Akun komputer dihasilkan ketika komputer bergabung ke domain. Mereka terlihat seperti ini:

<domainname>\<machinename>$,

Contohnya:

mydomain\machine1$

Hal yang menyenangkan tentang ini adalah bahwa sumber daya jaringan seperti berbagi file atau database SQL Server dapat ACLed untuk memungkinkan akses akun komputer ini.

Bagaimana dengan Identitas Kumpulan Aplikasi?

Kabar baiknya adalah bahwa identitas kumpulan aplikasi juga menggunakan akun mesin untuk mengakses sumber daya jaringan. Tidak ada perubahan yang diperlukan.

Masalah Kompatibilitas dengan Identitas Kumpulan Aplikasi

Dokumentasi Panduan

Masalah kompatibilitas terbesar dengan identitas kumpulan aplikasi mungkin adalah dokumen panduan sebelumnya yang secara eksplisit merekomendasikan agar Anda sumber daya ACL untuk Layanan Jaringan, yaitu identitas default DefaultAppPool di IIS 6.0 dan IIS 7.0. Pelanggan harus mengubah skrip mereka ke ACL untuk "IIS AppPool\DefaultAppPool" (atau nama kumpulan aplikasi lain) saat berjalan di IIS 7.5 atau yang lebih baru (lihat contoh di atas untuk cara melakukan ini).

Profil Pengguna

IIS tidak memuat profil pengguna Windows, tetapi aplikasi tertentu mungkin tetap memanfaatkannya untuk menyimpan data sementara. SQL Express adalah contoh aplikasi yang melakukan ini. Namun, profil pengguna harus dibuat untuk menyimpan data sementara di direktori profil atau di sarang registri. Profil pengguna untuk akun Layanan Jaringan dibuat oleh sistem dan selalu tersedia. Namun, dengan beralih ke identitas Kumpulan Aplikasi yang unik, tidak ada profil pengguna yang dibuat oleh sistem. Hanya kumpulan aplikasi standar (DefaultAppPool dan Classic .NET AppPool) yang memiliki profil pengguna di disk. Tidak ada profil pengguna yang dibuat jika Administrator membuat kumpulan aplikasi baru.

Namun, jika mau, Anda dapat mengonfigurasi kumpulan aplikasi IIS untuk memuat profil pengguna dengan mengatur atribut LoadUserProfile ke "true".

Ringkasan

Identitas kumpulan aplikasi adalah fitur isolasi baru yang kuat yang diperkenalkan untuk Windows Server 2008, Windows Vista, dan versi Windows yang lebih baru. Ini akan membuat menjalankan aplikasi IIS lebih aman dan dapat diandalkan.