Keamanan Database



Pengertian Keamanan Database

Keamanan database adalah suatu cara untuk melindungi database dari ancaman, baik dalam bentuk kesengajaan atau pun bukan.  Ancaman adalah segala situasi atau kejadian baik secara sengaja maupun tidak yang bersifat merugikan dan mempengaruhi system serta secara konsekuensi terhadap perusahaan/organisasi yang memiliki system database.  Keamanan database tidak hanya berkenaan dengan data yang ada pada database saja, tetapi juga meliputi bagian lain dari system database, yang tentunya dapat mempengaruhi database tersebut. Hal ini berarti keamanan database mencakup perangkat keras, perangkat lunak, orang dan data.  Agar memiliki suatu keamanan yang efektif dibutuhkan kontrol yang tepat. Seseorang yang mempunyai hak untuk mengontrol dan mengatur database biasanya disebut Administrator database. Seorang administratorlah yang memegang peranan penting pada suatu system database, oleh karena itu administrator harus mempunyai kemampuan dan pengetahuan yang cukup agar dapat mengatur suatu system databa Keamanan merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan. System yang aman memastikan kerahasian data yang terdapat didalamnya. Beberapa aspek keamanan yaitu : Membatasi akses ke data dan servis Melakukan autentifikasi pada user Memonitor aktivitas-aktivitas yang mencurigakan.

Pengelompokan Keamanan Database

Keamanan database dapat dikelompokan sebagai berikut : 
Pencurian dan penipuan
Pencurian dan penipuan database tidak hanya mempengaruhi lingkungan database tetapi juga seluruh perusahaan/organisasi. Keadaan ini dilakukan oleh orang, dimana seseorang ingin melakukan pencurian data atau manipulasi data, seperti saldo rekening,transaksi,transfer dan lain-lain. Untuk itu fokus harus dilakukan pada kekuatan system agar menghindari akses oleh orang yang tidak memiliki kewenangan. 
Hilangnya kerahasiaan
Hilangnya kerahasiaan dan privasi  Suatu data dapat memiliki nilai kerahasiaan, karena data tersebut merupakan sumber   daya yang strategis pada perusahaan, maka pada kasus ini data tersebut harus diamankan dengan memberikan hak akses pada orang tertentu saja.
Hilangnya integritas
Integritas ini berkaitan dengan akurasi dan kebenaran data dalam database, seperti  data korup.Hal ini akan secara serius mempengaruhi perusahaan/organisasi.


Hilangnya ketersediaan
Hilangnya ketersediaan berarti data, system, keduanya tidak dapat diakses,servis mati, yang tentunya secara serius sangat mempengaruhi perusahaan/organisasi. Saat ini banyak perusahaan yang membutuhkan kemampuan system yang aktif 7 x 24 , 7 hari 1 minggu.
Berdasarkan pengelompokan tersebut, tentunya banyak aspek yang harus kita perhatikan demi terciptanya keamanan database. Bisa saja seseorang mencuri computer kita yang berisi data penting, mungkin juga karyawan yang diberi hak untuk mengakses data melakukan kejahatan dengan menjual informasi tersebut pada pihak lain demi kepentingan pribadi.Hal-hal tersebut memang termasuk kendala keamanan database yang harus mendapat perhatian, tetapi seorang administrator tidak dapat mengawasi kelemahan tersebut. Seorang administrator hanya fokus pada sistem database itu sendiri, dan hal inilah yang akan kita bicarakan.

Acaman terhadap database 

Serangan terhadap database  Secara garis besar keamanan database dikategorikan sebagai berikut:
Keamanan server 
Perlindungan Server adalah suatu proses pembatasan akses yang sebenarnya pada database dalam server itu sendiri. Menurut Blake Wiedman ini adalah suatu sisi keamanan yang sangat penting dan harus direncanakan secara hati-hati. Ide dasarnya adalah kita tidak dapat mengakses apa yang kita tidak dapat lihat, atau apakah kita ingin database server kita dapat dilihat diseluruh dunia? Database kita bukanlah suatu web server,koneksi yang tidak dikenali tidak diijinkan.
Trusted Ip Access
Setiap server harus dapat mengkonfigurasikan alamat ip yang diperbolehkan mengakses dirinya. Kita tidak mengijinkan semua orang dapat mengakses server kita sebagaimana kita tidak mengijinkan orang lain memasuki rumah kita tanpa ijin. Jika server melayani suatu web server maka hanya alamat web server itu saja yang dapat mengakses server database tersebut.Jika server database melayani jaringan internal maka hanya alamat jaringanlah yang boleh menghubungi server. Sangat perlu diperhatikan bahwa jangan pernah menggabungkan server database web dengan server database informasi internal perusahaan anda, ini adalah suatu mental yang buruk untuk seorang admin. 
Koneksi Database
Saat ini semakin banyaknya aplikasi dinamis menjadi sangat menggoda untuk melakukan akses yang cepat bahkan update yang langsung tanpa authentifikasi. Jangan pernah berpikir demikian, ini hanya untuk seorang pemalas.Jika kita ingin mengijinkan pemakai dapat mengubah database melalui web page, pastikan anda memvalidasi semua masukan untuk memastikan bahwa inputan benar, terjamin dan aman.Sebagai contoh, pastikan anda menghilangkan semua code SQL agar tidak dapat dimasukan oleh user.Jika anda seorang admin yang membutuhkan koneksi ODBC,pastikan koneksi yang digunakan unik.
Kontrol Akses Tabel
Kontrol akses table ini adalah salah satu bentuk keamanan database yang sering diabaikan,karena cukup sulit penerapannya. Penggunaan control akses table yang benar dibutuhkan kolaborasi antara system administrator dengan pengembang database. Hal inilah yang sulit dilakukan. Pemberian ijin user untuk mengakses informasi dapat membuat informasi terbuka kepada public. Jika seorang user mengakses informasi apakah akan dilihat menggunakan session yang sama? Atau jika table digunakan sebagai referensi system mengapa ia diberikan ijin selain hak

Penyalahgunaan Database

1. Tidak disengaja, jenisnya :
a.       kerusakan selama proses transaksi
b.      anomali yang disebabkan oleh akses database yang konkuren
c.       anomali yang disebabkan oleh pendistribuasian data pada beberapa komputer
d.      logika error yang mengancam kemampuan transaksi untuk mempertahankan konsistensi database.
2. Disengaja, jenisnya :
a.       Pengambilan data / pembacaan data oleh pihak yang tidak berwenang.
b.      Pengubahan data oleh pihak yang tidak berwenang.
c.       Penghapusan data oleh pihak yang tidak berwenang.

Keamanan Data :

1. Otorisasi :
Pemberian Wewenang atau hak istimewa (priviledge) untuk mengakses sistem atau obyek database Kendali otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak dengan 2 fungsi : Mengendalikan sistem atau obyek yang dapat diakses Mengendalikan bagaimana pengguna menggunakannya Sistem administrasi yang bertanggungjawab untuk memberikan hak akses dengan membuat account pengguna.
2. Tabel View
Merupakan metode pembatasan bagi pengguna untuk mendapatkan model database yang sesuai dengan kebutuhan perorangan. Metode ini dapat menyembunyikan data yang tidak digunakan atau tidak perlu dilihat oleh pengguna.
Remote Client
ENKRIPSI
FIREWALL

In-Secure Eksternal Network
ENKRIPSI
Server DBMS Otorisasi Dan Akses
Local Client
Database
Secure Internal Network (Intranet)
Contoh pada Database relasional, untuk pengamanan dilakukan beberapa level :
1.      Relasi  pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung suatu relasi
2.      View  pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang terapat pada view
3.      Read Authorization  pengguna diperbolehkan membaca data, tetapi tidak dapat memodifikasi.
4.      Insert Authorization pengguna diperbolehkan menambah data baru, tetapi tidak dapat memodifikasi data yang sudah ada.
5.      Update Authorization pengguna diperbolehkan memodifikasi data, tetapi tidak dapat menghapus data.
6.      Delete Authorization  pengguna diperbolehkan menghapus data.
Untuk Modifikasi data terdapat otorisasi tambahan :
1.      Index Authorization pengguna diperbolehkan membuat dan menghapus index data.
2.      Resource Authorization pengguna diperbolehkan membuat relasi-relasi baru.
3.      Alteration Authorization pengguna diperbolehkan menambah/menghapus atribut suatu relasi.
4.      Drop Authorization pengguna diperbolehkan menghapus relasi yang sudah ada.

Contoh perintah menggunakan SQL :
GRANT : memberikan wewenang kepada pemakai Syntax : GRANT <priviledge list> ON <nama relasi/view> TO <pemakai>
Contoh : GRANT SELECT ON S TO BUDI GRANT SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI
REVOKE : mencabut  wewenang yang dimiliki oleh pemakai Syntax : REVOKE <priviledge list> ON <nama relasi/view> FROM <pemakai>
Contoh : REVOKE SELECT ON S TO BUDI REVOKE SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI Priviledge list : READ, INSERT, DROP, DELETE, INEX, ALTERATION, RESOURCE
3. Backup data dan recovery
Backup :
Proses secara periodik untuk mebuat duplikat ari database dan melakukan logging file (atau program) ke media penyimpanan eksternal. Jurnaling : proses menyimpan dan mengatur log file dari semua perubahan yang dibuat di database untuk proses recovery yang efektif jika terjadi kesalahan. Isi Jurnal :
Record transaksi
1.      Identifikasi dari record
2.      Tipe record jurnal (transaksi start, insert, update, delete, abort, commit)
3.      Item data sebelum perubahan (operasi update dan delete)
4.      Item data setelah perubahan (operasi insert dan update)
5.      Informasi manajemen jurnal (misal : pointer sebelum dan record jurnal selanjutnya untuk semua transaksi
Record checkpoint : suatu informasi pada jurnal untuk memulihkan database dari kegagalan, kalau sekedar redo, akan sulit penyimpanan sejauh mana jurnal untuk mencarinya kembali, maka untuk membatasi pencarian menggunakan teknik ini. Recovery : merupakan upaya uantuk mengembalikan basis data ke keadaaan yang dianggap benar setelah terjadinya suatu kegagalan.

sumber : Mawadah, “Keamanan database.”

Komentar