600 likes | 1.53k Views
Keamanan database. Jimmy Baharuddin 10.41010.0005 Daniel Wijaya G. 10.41010.0006 Agus Wijanarko H. 10.41010.0009. Keamanan database. suatu mekanisme untuk memproteksi/melindungi database terhadap ancaman yang disengaja ataupun tidak disengaja.
E N D
Keamanan database Jimmy Baharuddin 10.41010.0005 Daniel Wijaya G. 10.41010.0006 Agus Wijanarko H. 10.41010.0009
Keamanan database suatu mekanisme untuk memproteksi/melindungidatabaseterhadap ancaman yang disengaja ataupun tidak disengaja
Penyalahgunaan Database • Tidakdisengaja • Disengaja
Penyalahgunaan DatabaseTidakDisengaja • kerusakanselamaprosestransaksi • anomali yang disebabkanolehakses database yang konkuren(bertentangan) • anomali yang disebabkanolehpendistribusiandata padabeberapakomputer • logika error yang mengancamkemampuantransaksiuntukmempertahankankonsistensidatabase.
Penyalahgunaan DatabaseDisengaja • Pengambilandata / pembacaan data olehpihak yang tidakberwenang. • Pengubahan data olehpihak yang tidakberwenang. • Penghapusan data olehpihak yang tidakberwenang.
TingkatanPadaKeamanan Database • Fisikal • Manusia • SistemOperasi • SistemDatabase
Keamanan Data • Otorisasi • Tabel View • Backup data dan recovery • Kesatuan data danEnkripsi
Otorisasi • PemberianWewenangatauhakistimewa (priviledge) untukmengaksessistematauobyek database • Kendaliotorisasi (=kontrolakses) dapatdibangunpadaperangkatlunakdengan 2 fungsi : • Mengendalikansistematauobyek yang dapatdiakses • Mengendalikanbagaimanapenggunamenggunakannya • Sistemadministrasi yang bertanggungjawabuntukmemberikanhakaksesdenganmembuataccount pengguna.
Tabel View • Merupakanmetodepembatasanbagipenggunauntukmendapatkan model database yang sesuaidengankebutuhanperorangan. • Metodeinidapatmenyembunyikandata yang tidakdigunakanatautidakperludilihatolehpengguna.
Contohpada Database relasional • Relasipenggunadiperbolehkanatautidakdiperbolehkanmengakseslangsungsuaturelasi • View penggunadiperbolehkanatautidakdiperbolehkanmengakses data yang terapatpada view • Read Authorization penggunadiperbolehkanmembaca data, tetapitidakdapatmemodifikasi. • Insert Authorization penggunadiperbolehkanmenambah data baru, tetapitidakdapatmemodifikasidata yang sudahada. • Update Authorization penggunadiperbolehkanmemodifikasi data, tetapitdk dptmenghapusdata. • Delete Authorization penggunadiperbolehkanmenghapus data
UntukModifikasi data terdapatotorisasitambahan • Index Authorization penggunadiperbolehkanmembuatdanmenghapus index data. • Resource Authorization penggunadiperbolehkanmembuatrelasi-relasibaru. • Alteration Authorization penggunadiperbolehkanmenambah/menghapusatributsuaturelasi. • Drop Authorization penggunadiperbolehkanmenghapusrelasi yang sudahada.
Contohperintahmenggunakan SQL GRANT : memberikanwewenangkepadapemakai Syntax : GRANT <priviledge list> ON <namarelasi/view> TO <pemakai> Contoh : GRANT SELECT ON S TO BUDI GRANT SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI
REVOKE : mencabutwewenang yang dimilikiolehpemakai Syntax : REVOKE <priviledge list> ON <namarelasi/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
Backup data dan recovery • Backup : prosessecaraperiodikuntukmebuatduplikatari database danmelakukan logging file (atau program) ke media penyimpananeksternal. • Jurnaling : prosesmenyimpandanmengatur log file darisemuaperubahan yang dibuatdi database untukproses recovery yang efektifjikaterjadikesalahan • Recovery :merupakanupayauantukmengembalikan basis data kekeadaaan yang dianggapbenarsetelahterjadinyasuatukegagalan
Isi Jurnal • Record transaksi • Identifikasidari record • Tipe record jurnal (transaksi start, insert, update, delete, abort, commit) • Item data sebelumperubahan (operasi update dan delete) • Item data setelahperubahan (operasi insert dan update) • Informasimanajemenjurnal (misal : pointer sebelumdan record jurnalselanjutnyauntuksemuatransaksi • Record checkpoint : suatuinformasipadajurnaluntukmemulihkan database darikegagalan, kalausekedar redo, akansulitpenyimpanansejauhmanajurnaluntukmencarinyakembali, makauntukmembatasipencarianmenggunakanteknikini.
Recovery • 3 JenisPemulihan : • Pemulihanterhadapkegagalantransaksi : Kesatuanproseduralam program yang dapatmengubah / memperbarui data padasejumlahtabel. • Pemulihanterhadapkegagalan media : Pemulihankarenakegagalan media dengancaramengambilataumemuatkembalisalinan basis data (backup) • Pemulihanterhadapkegagalansistem : Karenagangguansistem, hang, listrikterputusalirannya.
Fasilitaspemulihanpada DBMS : • Mekanisme backup secaraperiodik • fasilitas logging denganmembuat track padatempatnyasaattransaksiberlangsungdanpadasaat database berubah. • fasilitas checkpoint, melakukan update database yang terbaru. • manager pemulihan, memperbolehkansistemuntukmenyimpanulang database menjadilebihkonsistensetelahterjadinyakesalahan.
TeknikPemulihan • deferedupate / perubahan yang ditunda : perubahanpada DB tidakakanberlangsungsampaitransaksiadapadapoindisetujui (COMMIT). Jikaterjadikegagalanmakatidakakanterjadiperubahan, tetapidiperlukanoperasi redo untukmencegahakibatdarikegagalantersebut. • Immediate Upadate / perubahanlangsung : perubahanpada DB akansegeratanpaharusmenunggusebuahtransaksitersebutdisetujui. Jikaterjadikegagalandiperlukanoperasi UNDO untukmelihatapakahadatransaksi yang telahdisetujuisebelumterjadikegagalan. • Shadow Paging : menggunakan page bayanganimanapaaprosesnyaterdiridari 2 tabel yang sama, yang satumenjaditabeltransaksidan yang lain digunakansebagaicadangan. Ketikatransaksimulaiberlangsungkeduatabelinisamadanselamaberlangsungtabeltransaksi yang menyimpansemuaperubahanke database, tabelbayanganakandigunakanjikaterjadikesalahan. Keuntungannyaadalahtidakmembutuhkan REDO atau UNDO, kelemahannyamembuatterjadinyafragmentasi.
Kesatuan data danEnkripsi • Enkripsi : keamanan data • Integritas :metodepemeriksaandanvalidasi data (metode integrity constrain), yaituberisiaturan-aturanataubatasan-batasanuntuktujuanterlaksananyaintegritas data. • Konkuren : mekanismeuntukmenjaminbahwatransaksi yang konkurenpada database multi user tidaksalingmengangguoperasinyamasing-masing. Adanyapenjadwalanproses yang akurat (time stamping).