Keamanan merupakan suatu proteksi terhadap pengrusakan data
dan pemakaian data oleh pemakai yang
tidak punya kewenangan.
Penyalahgunaan
Database :
- Tidak
disengaja, jenisnya :
- kerusakan
selama proses transaksi
- anomali
yang disebabkan oleh akses database yang konkuren
- anomali
yang disebabkan oleh pendistribuasian data pada beberapa komputer
- logika
error yang mengancam kemampuan transaksi untuk mempertahankan konsistensi
database.
- Disengaja,
jenisnya :
- Pengambilan
data / pembacaan data oleh pihak yang tidak berwenang.
- Pengubahan
data oleh pihak yang tidak berwenang.
- Penghapusan
data oleh pihak yang tidak berwenang.
Tingkatan Pada
Keamanan Database :
- Fisikal
à
lokasi-lokasi dimana terdapat sistem komputer haruslah aman secara fisik
terhadap serangan perusak.
- Manusia
à
wewenang pemakai harus dilakukan dengan berhati-hati untuk mengurangi
kemungkinan adanya manipulasi oleh pemakai yang berwenang
- Sistem
Operasi à
Kelemahan pada SO ini memungkinkan pengaksesan data oleh pihak tak
berwenang, karena hampir seluruh jaringan sistem database menggunakan
akses jarak jauh.
- Sistem
Database à
Pengaturan hak pemakai yang baik.
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.
- 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.
3 Jenis Pemulihan :
- Pemulihan
terhadap kegagalan transaksi : Kesatuan prosedur alam program yang dapat
mengubah / memperbarui data pada sejumlah tabel.
- Pemulihan
terhadap kegagalan media : Pemulihan karena kegagalan media dengan cara
mengambil atau memuat kembali salinan basis data (backup)
- Pemulihan
terhadap kegagalan sistem : Karena gangguan sistem, hang, listrik terputus
alirannya.
Fasilitas pemulihan pada DBMS :
- Mekanisme
backup secara periodik
- fasilitas
logging dengan membuat track pada tempatnya saat transaksi berlangsung dan
pada saat database berubah.
- fasilitas
checkpoint, melakukan update database yang terbaru.
- manager
pemulihan, memperbolehkan sistem untuk menyimpan ulang database menjadi
lebih konsisten setelah terjadinya kesalahan.
Teknik Pemulihan :
- defered
upate / perubahan yang ditunda : perubahan pada DB tidak akan berlangsung
sampai transaksi ada pada poin disetujui (COMMIT). Jika terjadi kegagalan
maka tidak akan terjadi perubahan, tetapi diperlukan operasi redo untuk
mencegah akibat dari kegagalan tersebut.
- Immediate
Upadate / perubahan langsung : perubahan pada DB akan segera tanpa harus
menunggu sebuah transaksi tersebut disetujui. Jika terjadi kegagalan
diperlukan operasi UNDO untuk melihat apakah ada transaksi yang telah
disetujui sebelum terjadi kegagalan.
- Shadow
Paging : menggunakan page bayangan imana paa prosesnya terdiri dari 2
tabel yang sama, yang satu menjadi tabel transaksi dan yang lain digunakan
sebagai cadangan. Ketika transaksi mulai berlangsung kedua tabel ini sama
dan selama berlangsung tabel transaksi yang menyimpan semua perubahan ke
database, tabel bayangan akan digunakan jika terjadi kesalahan.
Keuntungannya adalah tidak membutuhkan REDO atau UNDO, kelemahannya
membuat terjadinya fragmentasi.
4. Kesatuan data dan
Enkripsi :
- Enkripsi
: keamanan data
- Integritas
:metode pemeriksaan dan validasi data (metode integrity constrain), yaitu
berisi aturan-aturan atau batasan-batasan untuk tujuan terlaksananya
integritas data.
- Konkuren
: mekanisme untuk menjamin bahwa transaksi yang konkuren pada database
multi user tidak saling menganggu operasinya masing-masing. Adanya
penjadwalan proses yang akurat (time stamping).
0 komentar:
Posting Komentar