Seri Kuliah ASP (Dua Puluh) Menjaga Keamanan Aplikasi ASP
Penulis:Eve Cole
Waktu Pembaruan:2009-05-30 19:58:35
Jangan pernah meremehkan pentingnya mengonfigurasi pengaturan keamanan dengan benar. Konfigurasi pengaturan keamanan yang tidak tepat tidak hanya membuat aplikasi ASP Anda terkena gangguan yang tidak perlu, namun juga mencegah pengguna sah mengakses file .asp Anda.
Server web menyediakan berbagai metode untuk melindungi aplikasi ASP Anda dari akses tidak sah dan gangguan. Setelah Anda membaca informasi keamanan dalam topik ini, harap luangkan waktu sejenak untuk meninjau dengan cermat dokumentasi keamanan Windows NT dan server Web Anda.
Izin NTFS Anda dapat melindungi file aplikasi ASP dengan menerapkan izin akses NTFS ke file dan direktori individual. Izin NTFS adalah dasar keamanan server Web, yang menentukan tingkat akses berbeda ke file dan direktori untuk pengguna atau sekelompok pengguna. Ketika pengguna dengan akun Windows NT yang valid mencoba mengakses file dengan izin terbatas, komputer memeriksa daftar kontrol akses (ACL) file tersebut. Tabel ini mendefinisikan izin yang diberikan kepada pengguna dan grup pengguna yang berbeda. Jika akun pengguna memiliki izin untuk membuka file, komputer mengizinkan pengguna untuk mengakses file tersebut. Misalnya, pemilik aplikasi Web di server Web memerlukan izin Ubah untuk melihat, mengubah, dan menghapus file .asp aplikasi. Namun, pengguna publik yang mengakses aplikasi harus diberikan hanya izin Read-Only, membatasi mereka untuk melihat tetapi tidak mengubah halaman Web aplikasi.
Menjaga Keamanan Global.asa Untuk sepenuhnya melindungi aplikasi ASP Anda, pastikan untuk mengatur izin file NTFS pada file Global.asa aplikasi untuk pengguna atau grup yang sesuai. Jika Global.asa berisi perintah yang mengembalikan informasi ke browser dan Anda tidak melindungi file Global.asa, informasi tersebut akan dikembalikan ke browser meskipun file lain dalam aplikasi dilindungi.
CATATAN Pastikan untuk menerapkan izin NTFS yang seragam pada file aplikasi. Misalnya, jika Anda secara tidak sengaja membatasi izin NTFS secara berlebihan untuk file yang harus memuat aplikasi, pengguna mungkin tidak dapat melihat atau menjalankan aplikasi tersebut. Untuk mencegah masalah seperti itu, rencanakan dengan matang sebelum memberikan izin NTFS ke aplikasi Anda.
Izin Server Web Anda dapat membatasi bagaimana semua pengguna dapat melihat, menjalankan, dan memanipulasi halaman ASP Anda dengan mengkonfigurasi izin pada server Web Anda. Tidak seperti izin NTFS, yang menyediakan cara untuk mengontrol akses pengguna tertentu ke file dan direktori aplikasi, izin server Web berlaku untuk semua pengguna dan tidak membedakan jenis akun pengguna.
Untuk pengguna yang akan menjalankan aplikasi ASP Anda, Anda harus mengikuti panduan berikut saat mengatur izin server Web:
Izinkan izin Baca atau Skrip pada direktori virtual yang berisi file .asp.
Izinkan izin "baca" dan "skrip" pada direktori virtual tempat file .asp dan file lain yang berisi skrip (seperti file .htm, dll.) berada.
Izinkan izin Baca dan Jalankan pada direktori virtual yang berisi file .asp dan file lain yang memerlukan izin Jalankan untuk dijalankan (seperti file .exe dan .dll, dll.).
File Pemetaan Skrip Pemetaan skrip aplikasi memastikan bahwa server Web tidak mengunduh kode sumber file .asp secara tidak sengaja. Misalnya, bahkan jika Anda mengatur izin Baca untuk direktori yang berisi file .asp, server Web Anda tidak akan mengembalikan kode sumber untuk file tersebut selama file .asp milik aplikasi pemetaan skrip ke pengguna.
Keamanan kue
ASP menggunakan cookie SessionID untuk melacak informasi browser Web tertentu selama kunjungan atau sesi aplikasi. Ini berarti permintaan HTTP dengan cookie yang sesuai dianggap berasal dari browser Web yang sama. Server web dapat menggunakan cookie SessionID untuk mengkonfigurasi aplikasi ASP dengan informasi sesi khusus pengguna. Misalnya, jika aplikasi Anda adalah toko musik online yang memungkinkan pengguna memilih dan membeli CD, Anda dapat menggunakan SessionID untuk melacak pilihan pengguna saat mereka menjelajahi seluruh aplikasi.
Apakah SessionID bisa ditebak oleh hacker?
Untuk mencegah peretas komputer menebak cookie SessionID dan mendapatkan akses ke variabel sesi pengguna yang sah, server Web memberikan nomor yang dibuat secara acak untuk setiap SessionID. Setiap kali browser Web pengguna mengembalikan cookie SessionID, server mengambil SessionID dan nomor yang ditetapkan, dan kemudian memeriksa apakah cocok dengan nomor yang dihasilkan yang disimpan di server. Jika kedua angka tersebut cocok, pengguna akan diizinkan mengakses variabel sesi. Efektivitas teknik ini terletak pada panjang nomor yang ditetapkan (64 bit), yang membuat kemungkinan peretas komputer menebak SessionID dan mencuri sesi aktif pengguna hampir nol.
Enkripsi Cookie SessionID yang penting
Peretas komputer yang menyadap cookie sessionID pengguna dapat menggunakan cookie ini untuk menyamar sebagai pengguna. Jika aplikasi ASP berisi informasi pribadi, nomor kartu kredit atau rekening bank, peretas komputer dengan cookie yang dicuri dapat memulai sesi aktif dalam aplikasi dan memperoleh informasi ini. Anda dapat mencegah cookie SessionID disadap dengan mengenkripsi tautan komunikasi antara server Web Anda dan browser pengguna.
Melindungi Konten ASP yang Dibatasi Menggunakan Mekanisme Otentikasi Anda dapat mewajibkan setiap pengguna yang mencoba mengakses konten ASP yang dibatasi harus memiliki nama pengguna dan kata sandi akun Windows NT yang valid. Setiap kali pengguna mencoba mengakses konten yang dibatasi, server Web melakukan otentikasi, atau verifikasi identitas pengguna, untuk memeriksa apakah pengguna memiliki akun Windows NT yang valid.
Server web mendukung metode otentikasi berikut:
Otentikasi Dasar Meminta pengguna untuk memasukkan nama pengguna dan kata sandi.
Otentikasi permintaan/respons Windows NT secara terenkripsi memperoleh informasi identitas pengguna dari browser Web pengguna.
Namun, server Web hanya mengotentikasi pengguna jika akses anonim dilarang atau dibatasi oleh izin sistem file Windows NT.
Mengamankan skrip Metabase ASP yang mengakses metabase memerlukan hak administrator di komputer tempat server Web berjalan. Saat menjalankan skrip ini dari komputer jarak jauh, Anda harus menyambung melalui sambungan yang diautentikasi, seperti menggunakan otentikasi permintaan/respons Windows NT. Anda harus membuat server atau direktori untuk file .asp administratif dan mengatur metode otentikasi keamanan direktori ke otentikasi permintaan/respons Windows NT. Saat ini, otentikasi permintaan/respons Windows NT hanya didukung oleh Microsoft Internet Explorer versi 2.0 atau lebih baru.
Jaga keamanan aplikasi menggunakan SSL
Sebagai fitur keamanan server Web, protokol Secure Sockets Layer (SSL) 3.0 menyediakan cara virtual yang aman dan transparan untuk menjalin koneksi komunikasi terenkripsi dengan pengguna. SSL memastikan otentikasi konten Web dan dapat mengkonfirmasi identitas pengguna yang mengakses situs Web yang dibatasi dengan andal.
Dengan SSL, Anda dapat meminta pengguna yang mencoba mengakses aplikasi ASP yang dibatasi untuk membuat koneksi terenkripsi dengan server Anda; hal ini mencegah pertukaran informasi penting antara pengguna dan aplikasi.
Menjaga Keamanan untuk File yang Disertakan Jika Anda menyertakan file yang terletak di direktori berkemampuan SSL dari file .asp yang terletak di direktori akar virtual yang tidak dilindungi, SSL tidak akan diterapkan ke file yang disertakan. Oleh karena itu, untuk memastikan SSL diterapkan, pastikan file yang disertakan dan disertakan berada dalam direktori yang mendukung SSL.
Otentikasi Klien Cara yang sangat aman untuk mengontrol akses ke aplikasi ASP Anda adalah dengan meminta pengguna untuk login dengan otentikasi klien. Kredensial pelanggan adalah kartu ID digital yang berisi informasi identitas pengguna dan berfungsi sama seperti bentuk identifikasi tradisional seperti paspor atau SIM. Pengguna biasanya memperoleh kualifikasi pelanggan dari organisasi pihak ketiga yang dipercaya, yang mengonfirmasi informasi identitas pengguna sebelum menerbitkan sertifikat kualifikasi. (Biasanya, organisasi semacam itu menanyakan nama, alamat, nomor telepon, dan nama organisasi; tingkat rincian informasi ini bervariasi tergantung pada tingkat status yang diberikan.)
Setiap kali pengguna mencoba masuk ke aplikasi yang memerlukan verifikasi kelayakan, browser Web pengguna secara otomatis mengirimkan kredensial pengguna ke server. Jika fitur pemetaan kualifikasi Secure Sockets Layer (SSL) server Web dikonfigurasi dengan benar, server dapat memverifikasi identitas pengguna sebelum memberikan akses ke aplikasi ASP.
Skrip ASP untuk menangani sertifikasi kualifikasi Sebagai pengembang aplikasi ASP, Anda dapat menulis skrip untuk memeriksa apakah ada kualifikasi dan membaca bidang kualifikasi. Misalnya, Anda dapat mengakses kolom nama pengguna dan kolom nama perusahaan dari kualifikasi. Halaman Server Aktif menyimpan informasi kualifikasi dalam kumpulan ClientCertificate dari objek Permintaan.
Server Web harus dikonfigurasi untuk menerima atau memerlukan kualifikasi klien sebelum dapat diproses melalui ASP; jika tidak, koleksi ClientCertificate akan kosong.