Keamanan Aplikasi Berbasis Web

Dasar-Dasar Keamanan

  1. Autentikasi Autentikasi merupakan proses yang secara unik mengidentifikasi client dari layanan dan aplikasi kita.
  2. Otorisasi otorisasi merupakan proses yang memerintahkan operasi dan sumber daya dengan client yang diautentikasi saja yang diijinkan untuk melakukan akses
  3. Pengauditan Pada sistem ini menjamin bahwa seseorang pengguna tidak bisa menyangkal bahwa dia telah melakukan suatu operasi atau memulai suatu transaksi.
  4. Kerahasiaan Kerahasiaan merupakan proses untuk menyakinkan bahwa data tetap bersifat pribadi dan rahasia dan tidak bisa dilihat oleh pengguna yang tidak diotorisasi atau pengintip yang memonitor aliran lalu lintas antarjaringan
  5.  Integritas Integritas adalah jaminan bahwa data dilindungi dari modifikasi yang disengaja. 6. Ketersediaan Dari perspektif keamanan, ketersediaan berarti sistem tetap tersedia untuk para pengguna yang sah.

Prinsip-prinsip Keamanan

  1. Compartmentalize Firewal
  2. Use least privilege:
  3. Apply defense in depth
  4. Do not trust user input
  5. Fail securely
  6. Reduce your attack
1. Injection

Dalam praktik penggunaan SQL, OS, dan LDAP, injeksi adalah hal yang sangat riskan untuk terjadi. Injeksi biasanya dilakukan dengan memasukkan data yang tidak terpercaya ke dalam interpreter sebagai bagian dari command atau query. Data yang dimasukkan oleh injektor dapat menipu interpreter untuk mengeksekusi perintah tertentu atau mengakses data rahasia tanpa izin.  

2. Broken Authentication and Session Management

Fungsi pada aplikasi berbasis web yang berkaitan dengan autentifikasi dan manajemen sesi seringkali tidak terimplementasikan dengan baik. Apabila hal ini terjadi di level parah, penyerang sistem akan dengan mudah mencuri dan memanfaatkan password serta data pribadi lainnya yang akan merugikan pengguna.

3. Cross-Site Scripting (XSS)

Kelemahan dalam XSS terjadi ketika sebuah aplikasi mengakses data yang tidak terpercaya dan mengirimkannya lewat web tanpa ada konfirmasi validasi sebagaimana mestinya.

4. Insecure Direct Object References

Objek langsung di sini berkaitan ketika developer mengekspos referensi ke dalam implementasi objek internal. Misalnya ke file, direktori, atau database key.

5. Security Misconfiguration

Selama ini, sistem keamanan yang bagus membutuhkan konfigurasi yang terjamin guna mengakses aplikasi, framework, web server, aplikasi server, database server, hingga platform. Sebab, setingan default seringkali tidak aman.

6. Sensitive Data Exposure

Banyak aplikasi berbasis web yang belum melindungi data sensitif secara layak. Misalnya data kartu kredit hingga data autentifikasi. Penyerang sistem sangat mungkin mencuri atau memodifikasi data bersistem pengamanan lemah untuk melakukan penipuan.

7. Missing Function Level Access Control

Mayoritas aplikasi berbasis web akan memverifikasi fungsi akses sebelum membuat fungsi tersebut ada di user interface. Faktanya, aplikasi juga perlu melakukan kontrol akses yang sama ke server.

8. Cross-Site Request Forgery (CSRF)

Cara kerja CSRF adalah dengan memaksa masuk ke browser pengguna yang kemudian mengirimkan permintaan HTTP, termasuk cookies, serta berbagai informasi rahasia yang tersimpan di browser, ke aplikasi web gadungan.

9. Using Known Vulnerable Components

Komponen dasar seperti database, famework, dan berbagai modul software kebanyakan dijalankan dengan hak penuh. Apabila komponen yang riskan dieksploitasi, bisa menyebabkan kehilangan data dan pengambil-alihan server.

10. Unvalidated Redirects and Forwards

Aplikasi berbasis web yang digunakan user seringkali melakukan redirect dan forward ke halaman lain atau bahkan website lain. Tindakan semacam ini, tanpa validasi yang benar, dapat mengarahkan user ke laman phishing.

Kebutuhan akan digital IT sangat dibutuhkan dalam kegiatan sehari-hari, Bead IT Consultant merupakan pilihan tepat sebagai partner anda,kunjungi website kami dengan klik link ini : www.beadgrup.com