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
Posting Komentar