Keamanan Database: Pengertian, Konsep, Serangan dan Pengamanannya

Share ke:

Keamanan database menjadi lebih penting dari sekedar pengertian, konsep, contoh, serangan dan pengamanannya. Keamanan database atau database security menjadi tulang punggung dari aplikasi yang berjalan.

Pengamanan Serangan Database
Konsep Keamanan Database

Pengertian Keamanan Database

Keamanan database atau basis data mencakup berbagai tindakan yang digunakan untuk mengamankan sistem manajemen database dari serangan siber yang berbahaya dan penggunaan yang tidak sah.

Program keamanan basis data dirancang untuk melindungi tidak hanya data di dalam database, tetapi juga sistem manajemen data itu sendiri, dan setiap aplikasi yang mengaksesnya, dari penyalahgunaan, kerusakan, dan intrusi.

Keamanan basis data ini mencakup alat, proses, dan metodologi yang membangun keamanan di dalam lingkungan database.

Ancaman Keamanan Database

Banyak kerentanan perangkat lunak, kesalahan konfigurasi, atau pola penyalahgunaan atau kecerobohan dapat mengakibatkan pelanggaran.

Berikut adalah beberapa penyebab dan jenis ancaman cyber keamanan database yang paling dikenal.

1.Ancaman Orang Dalam (Ancaman Insider)

Ancaman orang dalam atau insider adalah risiko keamanan dari salah satu dari tiga sumber berikut, yang masing-masing memiliki cara istimewa untuk masuk ke database:

  1. Orang Dalam Yang Jahat Dengan Niat Buruk
  2. Orang lalai dalam organisasi yang mengekspos database untuk menyerang melalui tindakan ceroboh.
  3. Orang luar yang memperoleh kredensial melalui rekayasa sosial atau metode lain, atau mendapatkan akses ke kredensial database.

Ancaman orang dalam adalah salah satu penyebab paling umum dari pelanggaran keamanan basis data dan sering terjadi karena banyak karyawan telah diberikan akses pengguna yang istimewa.

2.Kesalahan manusia (Human Error)

Kata sandi yang lemah, berbagi kata sandi, penghapusan atau kerusakan data yang tidak disengaja, dan perilaku pengguna yang tidak diinginkan lainnya masih menjadi penyebab hampir setengah dari pelanggaran data yang dilaporkan.

3.Eksploitasi Kerentanan Perangkat Lunak Database

Penyerang terus-menerus berusaha mengisolasi dan menargetkan kerentanan dalam perangkat lunak, dan perangkat lunak manajemen database adalah target yang sangat berharga.

Kerentanan baru ditemukan setiap hari, dan semua platform manajemen database sumber terbuka dan vendor perangkat lunak database komersial mengeluarkan tambalan keamanan secara teratur.

Namun, jika kita tidak menggunakan tambalan ini dengan cepat, database kita mungkin akan terkena serangan.

Bahkan jika kita menerapkan tambalan tepat waktu, selalu ada risiko serangan zero-day, saat penyerang menemukan kerentanan, tetapi belum ditemukan dan ditambal oleh vendor database.

4.Serangan Injeksi SQL/NoSQL

Ancaman khusus database melibatkan penggunaan sewenang wenang non-SQL dan string serangan SQL ke dalam kueri database.

Biasanya, ini adalah kueri yang dibuat sebagai perluasan formulir aplikasi web, atau diterima melalui permintaan HTTP.

Setiap sistem database rentan terhadap serangan ini, jika pengembang tidak mematuhi praktik pengkodean yang aman, dan jika organisasi tidak melakukan pengujian kerentanan secara teratur.

5.Serangan Buffer Overflow

Buffer overflow terjadi ketika sebuah proses mencoba untuk menulis sejumlah besar data ke blok memori dengan panjang tetap, lebih dari yang diizinkan untuk disimpan.

Penyerang mungkin menggunakan kelebihan data, disimpan di alamat memori yang berdekatan, sebagai titik awal untuk meluncurkan serangan.

6.Serangan Denial of Service (DoS/DDoS).

Dalam serangan denial of service (DoS), penjahat dunia maya menguasai layanan target dalam hal ini server database menggunakan sejumlah besar permintaan palsu.

Hasilnya adalah server tidak dapat menjalankan permintaan asli dari pengguna sebenarnya, dan sering macet atau menjadi tidak stabil.

Dalam serangan denial of service (DDoS) terdistribusi, lalu lintas palsu dihasilkan oleh sejumlah besar komputer, berpartisipasi dalam botnet yang dikendalikan oleh penyerang.

Ini menghasilkan volume lalu lintas yang sangat besar, yang sulit dihentikan tanpa arsitektur pertahanan yang sangat terukur.

Layanan perlindungan DDoS berbasis cloud dapat ditingkatkan secara dinamis untuk mengatasi serangan DDoS yang sangat besar.

7.Serangan Malware

Malware adalah perangkat lunak yang ditulis untuk memanfaatkan kerentanan atau membahayakan database.

Malware dapat masuk melalui perangkat titik akhir apa pun yang terhubung ke jaringan database.

Perlindungan malware penting pada titik akhir mana pun, tetapi terutama pada server database, karena nilai dan sensitivitasnya yang tinggi.

8.Lingkungan TI yang Terus Berkembang

Lingkungan TI yang berkembang membuat database lebih rentan terhadap ancaman.

Berikut adalah tren yang dapat menyebabkan jenis serangan baru pada database, atau mungkin memerlukan tindakan defensif baru:

  1. Volume data yang terus bertambah—penyimpanan, pengambilan data, dan pemrosesan tumbuh secara eksponensial di hampir semua organisasi. Setiap praktik atau alat keamanan data harus sangat skalabel untuk memenuhi persyaratan yang jauh dan yang akan datang.
  1. Infrastruktur terdistribusi—lingkungan jaringan semakin kompleks, terutama karena bisnis mentransfer beban kerja ke arsitektur hybrid cloud atau multi-cloud, membuat penerapan, manajemen, dan pilihan solusi keamanan menjadi lebih sulit.
  1. Persyaratan peraturan yang semakin ketat—lanskap kepatuhan peraturan di seluruh dunia semakin kompleks, sehingga mengikuti semua mandat menjadi lebih menantang.
  1. Kekurangan keterampilan keamanan siber—ada kekurangan global profesional keamanan siber yang terampil, dan organisasi merasa kesulitan untuk mengisi peran keamanan.

Hal ini dapat membuat lebih sulit untuk mempertahankan infrastruktur penting, termasuk database.

Bagaimana Mengamankan Database Server

Server database adalah mesin fisik atau virtual yang menjalankan database. Mengamankan server database, juga dikenal sebagai hardening atau pengerasan.

Dimana hardening adalah proses yang mencakup keamanan fisik, keamanan jaringan, dan konfigurasi sistem operasi yang aman.

Pastikan Keamanan Database Fisik

Hindari berbagi server untuk aplikasi web dan aplikasi database, jika database berisi data sensitif.

Meskipun bisa lebih murah, dan lebih mudah, untuk meng-host situs dan database Anda bersama-sama di penyedia hosting, menempatkan keamanan data di tangan orang lain.

Jika kita mengandalkan layanan hosting web untuk mengelola database, kita harus memastikan bahwa itu adalah perusahaan dengan rekam jejak keamanan yang kuat.

Yang terbaik adalah menghindari layanan hosting gratis karena kemungkinan kurangnya keamanan.

Jika mengelola database di pusat data lokal, perlu diingat bahwa pusat data juga rentan terhadap serangan dari pihak luar atau ancaman orang dalam.

Pastikan kiata sendiri memiliki langkah-langkah keamanan fisik, termasuk kunci, kamera, dan personel keamanan di fasilitas fisik.

Setiap akses ke server fisik harus dicatat dan hanya diberikan kepada individu yang berwenang.

Selain itu, jangan tinggalkan cadangan database di lokasi yang dapat diakses publik, seperti partisi sementara, folder web, atau keranjang penyimpanan cloud yang tidak aman.

Kunci Akun dan Hak Istimewa

Mari kita pertimbangkan server database Oracle. Setelah database diinstal, asisten konfigurasi database Oracle (DBCA) secara otomatis kedaluwarsa dan mengunci sebagian besar akun pengguna database default.

Jika menginstal database Oracle secara manual, ini tidak akan terjadi dan akun istimewa default tidak akan kedaluwarsa atau dikunci.

Kata sandi mereka tetap sama dengan nama pengguna mereka, secara default. Penyerang akan mencoba menggunakan kredensial ini terlebih dahulu untuk terhubung ke database.

Sangat penting untuk memastikan bahwa setiap akun istimewa di server database dikonfigurasi dengan kata sandi yang kuat dan unik. Jika akun tidak diperlukan, akun tersebut harus kedaluwarsa dan dikunci.

Untuk akun yang tersisa, akses harus dibatasi hingga minimum mutlak yang diperlukan. Setiap akun hanya boleh memiliki akses ke tabel dan operasi (misalnya, SELECT atau INSERT) yang diperlukan oleh pengguna.

Hindari membuat akun pengguna dengan akses ke setiap tabel dalam database.

Melakukan Patch Server Database secara teratur

Pastikan bahwa patch adalah yang terbaru. Manajemen tambalan database yang efektif adalah praktik keamanan yang penting karena penyerang secara aktif mencari kelemahan keamanan baru dalam database, dan virus serta malware baru muncul setiap hari.

Penyebaran tepat waktu versi terbaru dari paket layanan database, hotfix keamanan kritis, dan pembaruan kumulatif akan meningkatkan stabilitas kinerja database.

Nonaktifkan Akses Jaringan Publik

Organisasi menyimpan aplikasi mereka dalam database. Di sebagian besar skenario dunia nyata, pengguna akhir tidak memerlukan akses langsung ke database.

Dengan demikian, kita harus memblokir semua akses jaringan publik ke server database kecuali kita adalah penyedia hosting.

Idealnya, organisasi harus menyiapkan server gateway (terowongan VPN atau SSH) untuk administrator jarak jauh.

Enkripsi File dan Backup

Terlepas dari seberapa kuat pertahanan keamanan kita, selalu ada kemungkinan peretas menyusup ke sistem. Namun, penyerang bukan satu-satunya ancaman terhadap database security.

Karyawan atau orang dalam juga dapat menimbulkan risiko bagi bisnis. Selalu ada kemungkinan orang dalam yang jahat atau ceroboh akan mendapatkan akses ke file yang izin aksesnya tidak mereka miliki.

Mengenkripsi data membuatnya tidak dapat dibaca oleh penyerang dan karyawan. Tanpa kunci enkripsi, mereka tidak dapat mengaksesnya, ini memberikan garis pertahanan terakhir terhadap intrusi yang tidak diinginkan.

Enkripsi semua file aplikasi penting, file data, dan cadangan sehingga pengguna yang tidak sah tidak dapat membaca data penting.

Best Practice Keamanan Database

Berikut adalah beberapa praktik terbaik yang dapat kita gunakan untuk meningkatkan keamanan database sensitif.

Secara Aktif Mengelola Kata Sandi dan Akses Pengguna

Jika kita memiliki organisasi besar, kita harus memikirkan untuk mengotomatiskan manajemen akses melalui manajemen kata sandi atau perangkat lunak manajemen akses.

Ini akan memberi pengguna yang diizinkan kata sandi jangka pendek dengan hak yang mereka butuhkan setiap kali mereka perlu mendapatkan akses ke database.

Itu juga melacak aktivitas yang diselesaikan selama jangka waktu itu dan menghentikan administrator membagikan kata sandi.

Sementara administrator mungkin merasa bahwa berbagi kata sandi itu nyaman, namun, hal itu membuat akuntabilitas dan keamanan database yang efektif hampir tidak mungkin dilakukan.

Selain itu, langkah-langkah keamanan berikut sangat direkomendasikan:

  • Kata sandi yang kuat harus ditegakkan
  • Hash kata sandi harus diasinkan dan disimpan terenkripsi
  • Akun harus dikunci setelah beberapa upaya masuk
  • Akun harus ditinjau dan dinonaktifkan secara berkala jika staf pindah ke peran yang berbeda, keluar dari perusahaan, atau tidak lagi memerlukan tingkat akses yang sama

Uji Keamanan Database

Setelah Anda menempatkan infrastruktur keamanan basis data, kita harus mengujinya terhadap ancaman nyata.

Mengaudit atau melakukan uji penetrasi terhadap database kita sendiri akan membantu memasuki pola pikir penjahat dunia maya dan mengisolasi setiap kerentanan yang mungkin diabaikan.

Untuk memastikan pengujiannya komprehensif, libatkan peretas etis atau layanan pengujian penetrasi yang diakui dalam pengujian keamanan.

Penguji penetrasi memberikan laporan ekstensif yang mencantumkan kerentanan database, dan penting untuk menyelidiki dan memulihkan kerentanan ini dengan cepat. Jalankan uji penetrasi pada sistem database kritis setidaknya sekali setahun.

Gunakan Pemantauan Database Real-Time

Terus-menerus memindai database untuk upaya pelanggaran meningkatkan keamanan dan memungkinkan kita dengan cepat bereaksi terhadap kemungkinan serangan.

Secara khusus, Pemantauan Integritas File (FIM) dapat membantu kita mencatat semua tindakan yang dilakukan di server database dan mengingatkan tentang potensi pelanggaran.

Saat FIM mendeteksi perubahan pada file database penting, pastikan tim keamanan diberi tahu dan dapat menyelidiki serta merespons ancaman tersebut.

Gunakan Aplikasi Web dan Database Firewall

Kita harus menggunakan firewall untuk melindungi server database kita dari ancaman keamanan database.

Secara default, firewall tidak mengizinkan akses ke lalu lintas. Itu juga perlu menghentikan database dari memulai koneksi keluar kecuali ada alasan khusus untuk melakukannya.

Selain menjaga database dengan firewall, kita harus menerapkan firewall aplikasi web (WAF).

Ini karena serangan yang ditujukan pada aplikasi web, termasuk injeksi SQL, dapat digunakan untuk mendapatkan akses terlarang ke database.

Firewall database tidak akan menghentikan sebagian besar serangan aplikasi web, karena firewall tradisional beroperasi pada lapisan jaringan, sedangkan lapisan aplikasi web beroperasi pada lapisan aplikasi (lapisan 7 model OSI).

WAF beroperasi pada lapisan 7 dan mampu mendeteksi lalu lintas aplikasi web berbahaya, seperti serangan injeksi SQL, dan memblokirnya sebelum dapat membahayakan database.

Analisis Risiko Data – Mengotomatiskan deteksi perilaku akses data yang tidak patuh, berisiko, atau berbahaya di semua database di seluruh perusahaan untuk mempercepat perbaikan.

Demikianlah Pembahasan Mengenai Keamanan database dimulai dari pengertian, konsep, contoh, serangan dan pengamanannya semoga bermanfaat ya.

Sumber:

  1. https://www.ibm.com/
  2. https://www.oracle.com/
Share ke: