A. DASAR-DASAR KEAMANAN Keamanan bersandar pada 6 unsur yaitu, 1. Autentikasi 2. Otorisasi 3. Pengauditan 4. Kerahasiaan 5. Integritas 6. ketersediaan 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. B. Mengamankan Jaringan, Host, dan Aplikasi 1. Mengamankan jaringan Komponen Router Keterangan Adalah lingkaran jaringan yang paling jauh. Paket salurannya ada pada port dan protokol yang dibutuhkan oleh aplikasi anda. Firewall Firewall mengeblok port dan protokol dan menjamin lalu lintas jaringan dengan menyediakan penyaringan aplikasi spesifik untuk mengeblok komunikasi yang tidak baik. Switch Switch digunakan untuk segmen jaringan yang terpisah. 2. Mengamankan Host Sistem Operasi Shares Auditing and logging Services Files and directories accounts Jarin -gan Protocol Registry Ports Patches and update 3. Mengamankan aplikasi Keamanan aplikasi biasanya paling banyak adalah mengamankan aplikasi web. Kategori Vulnerabilitas Aplikasi Kategori Deskripsi Input validation Imput validasi mengacu pada bagaimana aplikasi anda menyaring atau menolak suatu masukan sebelum pemrosesan tambahan. Authentication Auntentikasi adalah proses dengan suatu kesatuan yang membuktikan identitas dari kesatuan yang lainnya, biasanya melalui credentials, seperti nama pengguna dan kata sandi. Authorization Otorisasi adalah bagaimana aplikasi anda menyediakan kontrol akses untuk sumber daya dan operasi. Configuration management Manajemen konfigurasi mengacu padabagaimana aplikasi menangani isu operasional ini. Sensitive data Data sensitif mengacu pada bagaimana menangani aplikasi anda dan data yang ada yang harus dilindungi dari memori manapun, atau pada penyimpanan tetap. Session management Session management mengacu pada bagaimana menangani aplikasi anda dan memproteksi interaksi ini. Lanjutan Kategori Deskripsi Cryptography Kriptografi mengacu pada bagaimana aplikasi anda menguatkan kerahasiaan dan integritas. Parameter manipulation Manipulasi parameter mengacu pada bagaimana melindungi aplikasi yang merusak nilai-nilai ini dan bagaimana aplikasi memprosees parameter masukan Auditing dan logging Auditing dan logging mengacu pada bagaimana catatan aplikasi anda melaporkan security-related events. Prinsip-prinsip Keamanan Prinsip Konsep Compartmentalize Firewall yang setidaknya mengistimewakan akun dan code merupakan contoh dari penggolongan (c0mpartmentalize). Use least privilege Dengan menjalankan proses menggunakan akun dengan keistimewaan dan hak akses minimal, anda dapat secara signifikan mengurangi kemampuan dari seorang penyerang, jika penyerang megatur untuk mengkompromikan dan menjalankan kode. Apply defense in depth Artinya anda tidak bersandar pada lapisan keamanan tunggal atau anda mempertimbangkan bahwa salah satu lapisan mungkin dikitari atau disepakati. Do not trust user input Masukan pengguna aplikasi anda menjadi senjata utama bagi penyerang untuk menyerang aplikasi anda. Fail securely Jika suatu aplikasi gagal, jangan meninggalkan data sensitif yang dapat diakses. Reduce your attack surface Jika anda tidak menggunakannya, jangan mengaktifkannya. Sepuluh Celah Keamanan Aplikasi Web 1. Unvalidated input 2. Broken aacces control 3. Broken authentication dan session management 4. Cross site scripting 5. Buffer overflow 6. Injection flaw 7. Insecure storage 8. Penolakan layanan 9. Failure to restrict URL Access 10. Insecure configuration management 1. Unvalidated input Ada 2 hal yang dapat dicatat ketika menangani validasi pada aplikasi kita yaitu: a. Mempercayai client side scripting merupakan hal yang sebaiknya dihindari pada aplikasi web. b. Beberapa aplikasi menggunakan pendekatan negatif pada aplikasinya, jenis pendekatan ini hanya bisa melindungi aplikasi dari beberapa serangan saja. 2. Broken access control Masalah yang berhubungan dengan control access adalah sebagai berikut: a. Insecure Ids b. File Permission 3. Broken authentication dan session management Beberapa hal yang perludiperhatikan diantaranya, a. Password Strength b. Password Use c. Password Storage d. Session ID Protection 4. Cross Site Scripting Cara yang bisa digunakan untuk mencegah serangan cross site scripting adalah dengan melakukan validasi data masuk dari user request (seperti header, cookie, user parameter). Pendekatan negatif tidak digunakan karena usaha untuk menyaring content aktif merupakan cara yang tidak efektif. 5. Buffer overflow Kelemahan buffer overflow biasanya sulit dideteksi dan sulit dilakukan oleh peretas. Akan tetapi penyerang masih bisa menyari kelemahan tersebut dan melakukan buffer overflow pada sebagian aplikasi web. Untuk memastikan keamanan, cara yang paling baik adalah dengan melakukan pengawasan apabila terdapat patch atau bug report dari produk server yang digunakan. 6. Injection flaw kelemahan injection flaw membuat peretas dapat mengirimkan atau memasukkan permintaan ke sistem operasi atau ke sumber external seperti basis data. 7. Insecure Storage Berikut adalah beberapa kesalahan yang sering terjadi: a. Kesalahan untuk mengenkripsi data penting. b. Tidak amannya kunci, sertifikat, dan kata sandi. c. Kurang amannya lokasi penyimpanan data. d. Kurangnya penghitungan dari pengacakan. e. Kesalahan pemilihan algoritme. f. Mencoba menciptakan algoritme enkripsi yang baru. 8. Penolakan Layanan Merupakan serangan yang dibuat oleh peretas yang mengirimkan request dalam jumlah yang sangat besar dan dalam waktu yang bersamaan. 9. Failure To Restrict URL Access Aplikasi web sering kali hanya menghilangkan tampilan tautan (URL) dari pengguna yang tidak berhak. Meskipun begitu, hal ini dapat dengan sangat mudah dilewati dengan mengakses URL tersebut secara langsung. Jika ingin memeriksa aplikasi Web anda dengan lebih lengkap, anda dapat membaca langsung dari situs resmi OWASP. 10. Insecure Configuration Management Kesalahan konfigurasi server yang bisa menimbulkan masalah: a. Celah keamanan yang belum ditambal dari perangkat lunak yang ada pada server-administrator tidak melakukan penambalan perangkat lunak yang ada pada server. b. Celah keamanan server yang bisa menanpilkan daftar dari direktori atau juga serangan berupa direktori melintang (traversal directory). c. File-file cadangan atau file contoh, file-file script, dan konfigurasi yang tidak perlu. d. Hak akses direktori atau file yang salah. e. Adanya layanan seperti administrasi jarak jauh ( remote administration) dan manajemen konten (content management) yang masih aktif. f. Penggunaan akun default dan kata sandi default. g. Fungsi administratif atau fungsi debug yang bisa diakses. h. Adanya pesan kesalahan (eror) yang informatif dari segi teknis. i. Kesalahan konfigurasi SSL certificate dan pengesetan enkripsi. j. Penggunaan self-signet certificate untuk melakukan autentifikasi. k. Penggunaan default certificate. l. Kesalahan autentifikasi dengan sistem eksternal. Terima Kasih