Saya akan mengawali semua ini dengan mengatakan saya membuat asumsi bahwa Anda berbicara tentang server web internal di jaringan pribadi internal.
Mari kita mulai dengan meniru mesin. Jika identitas kumpulan aplikasi adalah Layanan Jaringan dan tidak ada peniruan dalam aplikasi .NET, maka ya, aplikasi web akan terhubung ke SQL Server back-end menggunakan akun komputer mesin. Dan itu berarti Anda telah memberikan akses ke akun mesin kata. Microsoft CRM bekerja dengan cara ini.
Namun, jika Anda telah menentukan identitas, akun pengguna itu akan memerlukan akses ke SQL Server. Meskipun Anda benar bahwa jika penyerang merusak server web, mereka secara efektif memiliki akses yang sama dengan akun identitas, kebenarannya adalah bahwa menggunakan log masuk SQL Server tidak mengubah apa pun di sini. Setelah saya memiliki akses, saya dapat memodifikasi aplikasi web untuk melakukan apa yang saya inginkan dan akan, semaksimal mungkin izin keamanan Anda pada SQL Server back-end.
Sekarang mengapa menggunakan SSPI. Pertama dan terpenting, Anda tidak menggunakan login berbasis SQL Server. Itu berarti Active Directory adalah satu-satunya sumber keamanan. Itu berarti Anda memiliki sarana audit normal untuk menentukan akses tidak valid. Kedua, ini berarti bahwa kecuali ada aplikasi lain yang memerlukannya, Anda dapat meninggalkan SQL Server dalam mode autentikasi Windows saja. Itu berarti tidak ada login SQL Server yang diizinkan. Itu berarti setiap serangan terhadap sa dihentikan bahkan sebelum mereka mulai. Dan akhirnya, itu membuat pemulihan lebih mudah. Jika Anda menggunakan login berbasis SQL Server, Anda harus mengekstrak login dengan SID dan kata sandi terenkripsi. Jika Anda menggunakan akun pengguna berbasis Windows sebagai "akun layanan," ketika Anda pergi ke SQL Server baru, dengan membuat login,