Ada dua opsi untuk mode aman saat menginstal SQL Server. Perbedaan antara keduanya adalah perangkat lunak mana yang melakukan proses otentikasi. Otentikasi adalah proses konfirmasi identitas pengguna yang terhubung ke SQL Server. Setelah otentikasi dilakukan, SQL Server dapat memverifikasi bahwa pengguna memiliki izin untuk menyambung ke sumber daya yang diminta, seperti database. Jika pengguna memiliki izin untuk menyambung ke database, SQL Server akan mengizinkan permintaan sambungan berhasil, jika tidak, sambungan akan gagal. Proses memverifikasi izin pengguna ini juga disebut otorisasi.
· Otentikasi Windows (juga dikenal sebagai Otentikasi Tepercaya atau Keamanan Terintegrasi) menggunakan identitas pengguna Windows yang membuat permintaan koneksi untuk melakukan otorisasi ke database. Dalam hal ini, string koneksi tidak harus memberikan nama pengguna dan kata sandi eksplisit. ASP.NET berjalan sebagai pengguna lokal bernama "ASPNET" (atau "Layanan Jaringan" di IIS 6.0), jadi saat menggunakan Otentikasi Windows, SQL akan memeriksa apakah pengguna tersebut memiliki izin untuk menggunakan database. Pada titik ini, semua aplikasi ASP.NET berjalan dengan pengguna yang sama, sehingga mode aman memperlakukannya secara setara. Meskipun dimungkinkan untuk menjalankan setiap aplikasi dalam proses ASP.NET terpisah (pengguna terpisah menjalankan setiap aplikasi), atau meniru identitas pengguna Windows dari klien browser yang membuat permintaan koneksi, hal ini berada di luar cakupan buku ini . Namun, peniruan identitas klien adalah penggunaan Otentikasi Windows yang paling umum dalam aplikasi web.
· Otentikasi SQL memeriksa nama pengguna dan kata sandi yang diberikan secara eksplisit terhadap pengguna yang dikonfigurasi dalam SQL Server (tanpa melibatkan sistem operasi). Dalam hal ini, setiap aplikasi yang berjalan dalam proses ASP.NET dapat terhubung ke database dengan sertifikat terpisah, sehingga cukup mengisolasi aplikasi (Aplikasi A tidak akan dapat terhubung ke database jika tidak memiliki nama pengguna dan kata sandi B) . Tidak dapat terhubung ke database B). Ini adalah mode autentikasi yang paling umum digunakan untuk aplikasi web yang diterapkan, terutama dalam kasus hosting bersama. Kelemahan kecilnya adalah mengharuskan aplikasi untuk menyimpan kata sandi akun pengguna yang digunakan untuk terhubung, dan jika kata sandi ini diperoleh oleh pengguna jahat, keamanan database akan terganggu. Namun, seperti yang akan Anda lihat nanti di buku ini, ASP.NET menyediakan cara aman untuk menyimpan kata sandi Otentikasi SQL dalam format terenkripsi di file Web.config, sehingga mengurangi risiko diperolehnya kata sandi.
· Mode Campuran adalah konfigurasi SQL Server yang memungkinkan Otentikasi Windows dan Otentikasi SQL.
Saat menginstal SQL Server atau SSE, Anda harus memilih mode autentikasi. Di SQL Server, terdapat wizard untuk membantu Anda memilih langkah-langkah keamanan, sedangkan di SSE, pilihan defaultnya adalah Otentikasi Windows. Jika Anda ingin menginstal Otentikasi SQL, Anda harus mengonfigurasinya secara eksplisit. Artikel ini menggunakan Otentikasi Windows.
Jika Anda telah menginstal SQL Server atau SSE, Anda dapat melihat mode otentikasi yang ditentukan dengan membuka RegEdit (tentu saja Anda harus mencadangkannya terlebih dahulu), temukan HKey_Local_Machine/Software/Microsoft/Microsoft SQL Server dan cari LoginMode. Subkunci registrasi dengan nilai 1 mewakili Otentikasi Windows, sedangkan nilai 2 mewakili mode Otentikasi Campuran.
Tabel 3-1 merangkum perbedaan antara mode-mode tersebut.
Tabel 3-1
Otentikasi Windows | Otentikasi SQL | ||
nama yang dapat diganti | Otentikasi Tepercaya Keamanan Terintegrasi | Tidak, tetapi Otentikasi Mode Campuran memungkinkan penggunaan Otentikasi Windows atau SQL. | |
Lingkungan | umum. | Lokasi daftar penggunaInternet | |
dan | proses | ||
otentikasi | . | Penginstalan | |
Windows | SQL | ServerSSE | |
= | pengguna sebenarnya=nama pengguna; password = kata sandi | ||
ASP.NET Pengguna aplikasi web | Proses ASP.NET, ASPNET (IIS 5.x) atau Layanan Jaringan (IIS 6) | Pengguna SQL | |
memiliki | keuntungan | dari keamanan yang lebih baik; dapat mengontrol peristiwa SQL pengguna dan peristiwa Windows | digunakan pada mesin host tanpa membuat akun baru; tidak bergantung pada sistem operasi Situs intranet yang dihosting hanya memerlukan keterampilan sedang Memberikan cara yang lebih fleksibel bagi aplikasi untuk terhubung ke setiap database dengan sertifikat yang berbeda. |
Kekurangan | Memberikan sertifikat Windows pada aplikasi web berpotensi mengatur cakupan izin di OS terlalu besar | Kata sandi disimpan di aplikasi web (yang bukan merupakan kasus dalam otentikasi Windows). Konfirmasikan bahwa kata sandi disimpan dalam file Web.config dan dienkripsi. Mengizinkan operasi tingkat rendah untuk aplikasi web menggunakan sertifikat sa. Selalu buat sertifikat baru untuk aplikasi web ASP.NET dan berikan hanya izin yang diperlukan |