3. Kerentanan sistem keamanan pada ASP.net
• Informasi mengenai kerentanan sistem keamanan aplikasi ASP.net.
Akibat dari kerentanan sistem keamanan ini:
• Orang bisa melakukan request atau mendownload file Web.Config yang
biasanya berisi informasi data sensitif seperti koneksi database.
• Orang bisa membaca informasi viewstate yang dikirim ke client, bahkan
tidak hanya viewstate tapi juga informasi lain yang terencrypt dan dikirim
ke client.
4. Bagaimana mengatasi masalah
keamanan ini?
Untuk mengatasi hal ini, langkah yang disarankan oleh Microsoft adalah
sebagai berikut
• Buka file Web.Config dan modifikasi di tag CustomError. Untuk .net 3.5
dan .net 4.0 tambahkan atribut redirectMode=”ResponseRewrite”
<configuration>
<system.web>
<customErrors mode=”On” redirectMode=”ResponseRewrite”
defaultRedirect=”~/error.aspx” />
</sytem.web>
</configuration>
5. • Tambahkan file error.aspx di aplikasi. Jika terjadi error pada
aplikasi, maka file ini yang akan di jalankan.
• Di code behind file error.aspx, tambakan kode berikut di
method PageLoad
6. • Import System.Security.Cryptography
Import System.Threading
Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
Dim delay As Byte() = New Byte(0) {}
Dim prng As RandomNumberGenerator = New
RNGCryptoServiceProvider()
prng.GetBytes(delay)
Thread.Sleep(CType(delay(0), Integer))
Dim disposable As IDisposable = TryCast(prng, IDisposable)
If Not disposable Is Nothing Then
disposable.Dispose()
End If
End Sub
7. Extending Security pada ASP.Net
dengan menggunakan Roles dan
HTTPmodules
Pada web application banyak didapat pembobolan. Hal itu karena kita
mengijinkan seseorang yang tidak berhak memasuki login page yang
seharusnya tidak diperbolehkan. Sehingga orang yang ingin membobol
dapat mencoba-coba semua kemungkinan yang ada.
8. Untuk menanganinya kita dapat menggunakan role caranya yaitu
description="This is the default page“>
description="" roles="Marketing" />
description="" roles="Marketing" />
description="Google" roles="" target="_blank" />
description="Yahoo!" roles="" target="_blank" />
description="Microsoft" roles="" target="_blank" />
9. Security pada ASP.Net dengan
menggunakan Otoritas
Authorization (Otorisasi)
ASP.NET membagi beberapa tipe dari authorization:
a. File Authorization
Dimana lokasi permintaan dipetakan kedalam file, diterima atau ditolak
mengakses dengan mencoocokan filenya.
b. URL Authorization
dimana akses bisa diterima dengan memetakan dan mengatur pengguna ke
potongan dari URI namespace termasuk method request
(GET,HEAD,POST,etc)
11. Master page adalah sebuah template atau layout tampilan sebuah web site
yang akan digunakan oleh semua halaman .aspx sehingga tampilan utama
dari web tersebut akan sama. Tampilan yang biasanya sama di semua
halaman yang akan ditampilkan adalah gambar background, menu item,
footer dan link-link lain yang ada dalam web. Yang berubah adalah content
dari halaman tersebut.
Master page mempunyai extension .master, misalnya layout.master dengan
layout yang mengandung static text, syntax HTML, dan server control.
12. Keuntungan MasterPage
1. Master page memberi kemudahan untuk mensentralisasi common function
pada halaman web yang jika ingin mengupdate dapat dilakukan hanya pada
satu tempat saja, yaitu master page.
2. Master page memudahkan untuk membuat sebuah pengaturan control dan
code dan mengimplementasikannya pada suatu halaman. Misalnya kita
dapat membuat menu yang dapat diimplementasikan pada semua halaman
web kita, pastinya dengan include master page.
3. Master page menyediakan control secara menyeluruh dengan adanya
placeholder control.
4. Master page menyediakan object model yang mengijinkan kustomisasi
master page dari content page.
13. Dasar-dasar Master Pages
Master pages adalah halaman tunggal yang menangani struktur dari situs
web anda. Master pages memiliki dua fitur khusus yang berbeda dengan
halaman lainnya. Pertama berisi tag khusus yang mengidentifikasi sebagai
master pages ke server web seperti contoh berikut:
<%@ Master Language=”VB” CodeFile=”MasterPage.Master.VB”
Inherits=”Masterpage” %>
14. Tag directive (tag khusus yang dipahami server dan tidak dikirim ke client)
tersebut memiliki empat fitur yaitu:
1. Kata master membedakan halaman ini dengan halaman standar.aspx yang
menggunakan kata page.
2. Atribut language memberitahu anda bahwa halaman meggunakan Visual
Basic untuk pengkodean.
3. Atribut CodeFile memberitahu anda bahwa master pages menggunakan
code-behind dan kode terletak pada file.
4. Atribut Inherits memberitahu anda bahwa class default untuk halaman ini
adalah MasterPage, bukan class lainnya.
15. Kedua, suatu master pages berisi kontrol ContentPlaceHolder yang
memberitahu seseorang menggunakan master page ketika menambah
informasi unik ke halaman web.
<asp:contentplaceholder id=”contentplaceholder1” runat=”server”>
</asp:contentplaceholder>
Kode akan membuat daerah dalam template yang akan diisi dengan bahan
dari halaman isi yang dibuat oleh pengembang.
Ketika berkeja dengan master pages, anda akan membuat file master yang
merupakan template untuk referensi bagi subpage atau halaman isi/content
page.Master pages menggunakan ekstensi file .master, sedangkan halaman
isi menggunakan ekstensi file .aspx.