Lihat ke Halaman Asli

Tips Membangun Aplikasi Website ASP.NET yang Aman

Diperbarui: 24 Juni 2015   03:24

Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.

Ingin Website ASP.NET anda aman ?

Keamanan website sangat penting karena banyak pihak-pihak pengguna internet yang tidak bertaggung jawab yang terus berusaha merugikan atau merusak suatu website . Ini mungkin untuk keuntungan pribadi atau hanya sebagai tindakan amatir . Maka dari itu sebagai pengembang aplikasi web suatu keharusan untuk menyadari praktek-praktek terbaik untuk membuat aplikasi lebih aman. Mari kita perhatikan beberapa tips untuk membangun Aplikasi Website ASP.NET yang aman.

Jangan Biarkan Pengguna Anda menjadi Korban Klik Jacking Apakah Anda pernah berpikir tentang seseorang membingkai website Anda ke mereka , membuat pengguna menjadi korban klik jacking ? Ya , para penyerang dapat memuat website Anda ke situs mereka dalam sebuah iframe . Mereka kemudian dapat terampil menempatkan kontrol transparan mereka atas situs web Anda dan mengambil informasi PII , kredensial pengguna , membuat mereka melakukan tugas yang tidak diinginkan seperti mengekspos informasi keuangan mereka, dll.

Untuk mencegahnya anda harus menggunakan kerangka teknik penghilang . Naskah berikut tidak akan memungkinkan situs web Anda untuk iframed . Hal ini dapat ditempatkan di halaman utama Anda .

Selain script di atas jangan lupa untuk menambahkan header berikut , yang menginformasikan browser untuk MENYANGKAL framing dari website ini . Hal ini didukung dalam semua browser utama kecuali versi IE kurang dari 8 .

protected void Application_Start(object sender, EventArgs e) { HttpContext.Current.Response.AddHeader("x-frame-options", "DENY"); }

Header harus ditambahkan dalam peristiwa aplikasi global.asax start . White List the Request URL Meskipun kami memiliki banyak teknik untuk melakukan pencegahan keamanan dalam aplikasi hal ini sangat penting untuk mencegah data yang buruk masuk ke website anda di tempat pertama . Sebagian besar serangan terjadi melalui nilai-nilai string query melewati URL . Ini adalah praktek keamanan terbaik untuk menentukan tempat umum seperti HttpModule ke White List URL , yaitu membersihkan seluruh URL dengan satu set karakter White Listeded dan drop semua yang buruk . Anda tidak akan mendorong setiap karakter lain selain dari satu set White Listeded yang didefinisikan dalam aplikasi Anda . Hal ini harus anda ketahui bahwa black listing merupakan mekanisme yang sulit dan dapat dirusak oleh hacker dengan mudah . Practice of Encoding the Data Sementara pengolahan dan pengiriman data dalam respon yang diambil dari luar batas kepercayaan harus selalu dikodekan . Jenis pengkodean mungkin berbeda berdasarkan penggunaan data yang tidak dipercaya . Misalnya melakukan HtmlEncode untuk data yang dikirimkan ke halaman klien .

Label1.Text = Server.HtmlEncode(Request.QueryString["BadValue"]);

Encoding data akan membuat script XSS aktif dan mencegah mereka dari yang dieksekusi . Microsoft telah menyediakan perpustakaan AntiXSS , yang menyediakan metode pengkodean yang lebih canggih termasuk JavascriptEncode . Gunakan Cookies Sebagai pengembang web anda harus hati-hati ketika menggunakan cookie , yang dapat membuka pintu belakang bagi hacker untuk masuk ke aplikasi Anda . Berikut ini adalah praktek-praktek terbaik saat menggunakan cookie untuk menyimpan informasi . 1 . Apakah situs web Anda di-host di bawah SSL ? Kemudian pastikan untuk menandai bahwa cookie aman . Ini akan membuat mereka hanya tersedia dalam transmisi SSL .

HttpCookie cookie = new HttpCookie("MySecureCookie"); cookie.Value = "This is a PII information"; cookie.Secure = true;

2 . Jika pada situs Web anda SSL  tidak diaktifkan maka selalu enkripsi nilai dengan menggunakan mekanisme enkripsi yang kuat seperti AES 256 dan kemudian simpan dalam cookie . Secure the Service Calls (WCF/Web Service) Apakah Anda mengekspos layanan WCF melalui basicHttpBinding ? pikirkan kembali karena pesan yang dikirimkan melaluinya berupa teks biasa dan penyusup apapun akan dapat menjebak permintaan dan bahkan mensimulasikan mereka dengan mudah . Gunakan wsHttpBinding , yang akan mengangkut pesan dalam format terenkripsi , yang membuat penyusup kesulitan. Meskipun Anda membuat banyak perlindungan untuk WCF atau layanan web cara ini adalah praktek terbaik untuk menjadi tuan rumah layanan di bawah lapisan SSL . Jangan Deploy Aplikasi dengan debug=”true” Hal ini sangat dianjurkan untuk tidak menyebarkan aplikasi anda dalam lingkungan produksi dengan kompilasi debug = "true " di web.config anda . Hal ini akan mengakibatkan mimpi buruk besar bagi kinerja dan keamanan aplikasi . Hal ini mungkin dapat membocor terlalu banyak informasi untuk para penyerang , misalnya stack trace dan informasi debug trace . Berfikir Untu Matikan ViewStateMAC ? Mematikan ViewStateMAC akan menciptakan celah keamanan di aplikasi ASP.NET Anda, jika Anda menggunakan kondisi tampilan pada halaman web Anda . Para penyusup akan dengan mudah dapat mencegat , membaca nilai dikodekan 64 bit dan memodifikasi mereka untuk melakukan beberapa hal-hal buruk ke website Anda . Setelah itu dihidupkan memastikan bahwa nilai-nilai viewstate tidak hanya dikodekan tetapi juga hash kriptografi dilakukan dengan menggunakan kunci rahasia .

Baca konten-konten menarik Kompasiana langsung dari smartphone kamu. Follow channel WhatsApp Kompasiana sekarang di sini: https://whatsapp.com/channel/0029VaYjYaL4Spk7WflFYJ2H




BERI NILAI

Bagaimana reaksi Anda tentang artikel ini?

BERI KOMENTAR

Kirim

Konten Terkait


Video Pilihan

Terpopuler

Nilai Tertinggi

Feature Article

Terbaru

Headline