SISTEM BASIS DATA 2 WAHYU PRATAMA, S.Kom., MMSI.
PERTEMUAN 7 – SBD 2 Database Control Transaksi. Security Database.
Transaksi
Transaksi adalah sebuah aksi /serangkaian aksi, yang dilakukan oleh pengguna atau aplikasi yang mengakses atau mengubah isi data (logical unit of work) dari suatu basis data.
Sebuah transaksi akan berhadapan dengan konsistensi basis data.
Selama eksekusi transaksi, basis data mungkin dalam kondisi inkonsisten.
Setelah transaksi selesai, basis data harus kembali konsisten.
Hasil dari sebuah transaksi adalah :
Sukses, transaksi dikatakan commited dan membuat basis data berubah secara permanen.
Gagal, transaksi dikatakan aborted dan basis data harus dikembalikan ke nilai tetap sebelum dilakukannya transaksi.
Transaksi selanjutnya … Kondisi Transaksi Basis Data
Basis Data (Konsisten)
Saat Transaksi
Gagal Basis Data (Konsisten)
aborted
Basis Data (Inkonsisten)
Setelah Transaksi
Basis Data (Konsisten)
Sukses
commited
Basis Data (Konsisten)
Transaksi selanjutnya … Status Transaksi secara spesifik dapat dibedakan menjadi :
Aktif, adalah status awal, sebuah transksi akan ada dalam status ini selama eksekusi berlangsung.
Selesai Sebagian, keadaan yang dicapai transaksi tepat setelah instruksi terakhir dalam transksi selesai dikerjakan.
Gagal, kedaan dimana eksekusi belum dapat dikerjakan secara utuh (terhenti).
Batal, setelah transaksi batal terjadi pengembalian nilai-nilainya seperti sebelum transaksi.
Berhasil , keadaan setelah transaksi berjalan lengkap.
Transaksi selanjutnya … Status Transaksi Basis Data
Mulai Transaksi
Selesai Sebagian
Berhasil
abort
Aktif
end transaction
commited
abort
Gagal
Batal
Transaksi selanjutnya … Untuk menjamin integritas data, sistem basis data harus bersifat :
Atomicity (Atomik / Keutuhan), transaksi merupakan unit yang tidak terlihat, yang harus dilakukan secara keseluruhan atau tidak sama sekali.
Consistency (Konsisten), eksekusi transaksi dapat menjamin konsistensi basis data.
Isolation (Isolasi), pada sejumlah transaksi yang terjadi secara bersamaan, setiap transaksi tidak boleh terpengaruh dengan transaksi yang lain. Hasil transaksi sementara harus terlindung dari eksekusi transaksi yang lain.
Durability (Durabel / Permanen), setelah sebuah transaksi berakhir dengan sukses, perubahan yang terjadi pada sebuah basis data harus tetap bertahan. Secara permanen direkam kedalam basis data dan tidak akan hilang dikarenakan kegagalan berikutnya.
Keamanan Basis Data
Keamanan Basis Data adalah suatu cara untuk melindungi basis data 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 sistem serta secara konsekuensi terhadap perusahaan / organisasi yang memiliki sistem basis data.
Keamanan merupakan suatu proteksi terhadap perusakan data dan pemakaian data oleh pemakai yang tidak mempunyai kewenangan.
Keamanan basis data tidak hanya mencangkup basis data yang dimaksud saja, tetapi mencakup perangkat keras, perangkat lunak, orang dan data.
Agar memiliki suatu keamanan yang efektif, dibutuhkan kontrol yang tepat oleh seseorang yang mempunyai hak untuk mengontrol dan mengatur basis data (DBA).
Keamanan Basis Data selanjutnya … Keamanan Basis Data dapat dikelompokkan sebagai berikut :
Pencurian dan Penipuan, tidak hanya mempengaruhi lingkungan basis data tetapi juga seluruh perusahaan / organisasi. Keadaan ini dilakukan oleh orang yang ingin melakukan pencurian data atau manipulasi data.
Hilangnya Kerahasiaan dan Privasi, suatu data dapat memiliki nilai kerahasiaan, karena data tersebut merupakan sumber daya yang strategis pada perusahaan.
Hilangnya Integritas, integritas ini berkaitan dengan akurasi dan kebenaran data dalam basis data. Hal ini akan secara serius mempengaruhi perusahaan / organisasi.
Hilangnya Ketersediaan, keadaan dimana data dan sistem tidak dapat diakses dikarenakan layanan data yang tidak berjalan. Saat ini banyak perusahaan yang membutuhkan kemampuan sistem yang aktif 7 x 24 jam, 7 hari 1 minggu.
Keamanan Basis Data selanjutnya …
Jenis Ancaman Terhadap Basis Data
Keamanan Server
Trusted IP Access
Koneksi Basis Data
Keamanan Basis Data selanjutnya … Keamanan Server
Perlindungan server adalah suatu proses pembatasan akses yang sebenarnya terdapat pada basis data dalam server itu sendiri.
Menurut Blake Wiedman ini adalah suatu sisi keamanan yang sangat penting dan harus direncanakan secara hati-hati.
Ide dasarnya adalah pengguna tidak dapat mengakses apa yang tidak dapat dilihat oleh pengguna.
Administrator tidak boleh mempunyai pemikiran untuk memperlihatkan informasi yang terdapat pada server basis data kepada organisasi / perusahaan lain.
Basis data bukanlah suatu web server, sehingga koneksi yang tidak dikenali harus tidak diizinkan untuk mengakses basis data.
Keamanan Basis Data selanjutnya … Trusted IP Access
Setiap server harus dapat mengonfigurasikan diperbolehkan mengakses dirinya.
alamat
IP
yang
Administrator tidak mengizinkan semua orang dapat mengakses server agar tidak terjadi hal-hal yang tidak diinginkan.
Jika server melayani suatu web server maka hanya alamat web server itu saja yang dapat mengakses server basis data tersebut.
Jika server basis data melayani jaringan internal maka hanya alamat jaringan yang sudah terdaftarlah yang boleh menghubungi server.
Sangat perlu diperhatikan bahwa jangan pernah menggabungkan server basis data web dengan server basis data informasi internal perusahaan.
Keamanan Basis Data selanjutnya … Koneksi Basis Data
Semakin banyaknya aplikasi dinamis menjadi sangat memudahkan untuk melakukan akses yang cepat bahkan update yang langsung tanpa authentification.
Jika administrator ingin mengizinkan pengguna dapat mengubah basis data melalui web page, pastikan administrator memvalidasi semua masukan untuk memastikan bahwa input-an benar, terjamin dan aman.
Sebagai contoh, pastikan administrator menghilangkan semua syntax SQL agar tidak dapat dimasukan / akses oleh pengguna lainnya.
Jika anda seorang administrator yang membutuhkan koneksi Open Database Connectivity (ODBC), pastikan koneksi yang digunakan harus unik (kombinasi angka dan huruf).
Keamanan Basis Data selanjutnya … Penyalahgunaan Basis Data No.
Tidak Disengaja
Disengaja
1
Pengambilan data / pembacaan Anomali yang disebabkan oleh data oleh pihak yang tidak akses basis data yang konkuren. berwenang.
2
Anomali yang disebabkan oleh Pengubahan data oleh pihak yang pendistribusian data pada beberapa tidak berwenang. komputer.
3
Logika error yang mengancam kemampuan transaksi untuk Penghapusan data oleh mempertahankan konsistensi basis yang tidak berwenang. data.
pihak
Keamanan Basis Data selanjutnya … Keamanan Basis Data dapat berupa :
Otorisasi, pemberian wewenang atau hak istimewa (priviledge) untuk mengakses sistem atau objek basis data. Sistem administrasi yang bertanggung jawab untuk memberikan hak akses dengan membuat akun pengguna.
Tabel View, merupakan metode pembatasan bagi pengguna untuk mendapatkan model basis data yang sesuai dengan kebutuhan perorangan.
Backup, proses secara periodik untuk mebuat duplikat dari basis data dan melakukan logging file atau program ke media penyimpanan eksternal.
Recovery, upaya untuk mengembalikan basis data ke keadaaan yang dianggap benar setelah terjadinya suatu kegagalan.
Keamanan Basis Data selanjutnya … Jenis Pemulihan Basis Data dapat berupa :
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, hal ini disebabkan karena gangguan sistem, perangkat keras yang hang atau aliran listrik yang terputus.
Fasilitas Pemulihan pada DBMS terdiri dari :
Backup, memindahkan basis data ke tempat penyimpanan lain secara periodik.
Logging, membuat track pada tempatnya saat transaksi berlangsung dan pada saat basis data berubah.
Checkpoint, melakukan update basis data yang terbaru.
Manajer Pemulihan, memperbolehkan sistem untuk menyimpan ulang basis data menjadi lebih konsisten setelah terjadinya kesalahan.
Keamanan Basis Data selanjutnya … Teknik Pemulihan Basis Data sebagai berikut :
Perubahan yang Ditunda (Defered Update), perubahan pada basis data 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.
Perubahan Langsung (Immediate Update), perubahan pada basis data 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 halaman bayangan dimana prosesnya terdiri dari dua tabel yang sama, yang satu menjadi tabel transaksi dan yang lain digunakan sebagai cadangan.
Keamanan Basis Data selanjutnya … Enkripsi Konvensional
Kebutuhan kerja meliputi algoritma yang sama dengan kunci yang sama dapat digunakan untuk proses dekripsi–enkripsi. Pengirim dan penerima harus membagi algoritma dan kunci yang sama.
Kebutuhan keamanan berupa kunci harus dirahasiakan, tidak mungkin atau sangat tidak praktis untuk menerjemahkan informasi yang telah dienkripsi dan pengetahuan tentang algoritma serta sampel dari kata yang terenkripsi tidak mencukupi untuk menentukan kunci.
Enkripsi Public Key
Kebutuhan kerja meliputi algoritma yang digunakan untuk enkripsi dan dekripsi dengan sepasang kunci, satu untuk enkripsi satu untuk dekripsi. Pengirim dan penerima harus mempunyai sepasang kunci yang cocok.
Kebutuhan keamanan berupa salah satu dari kunci harus dirahasiakan, tidak mungkin atau sangat tidak praktis untuk menerjemahkan informasi yang telah dienkripsi dan pengetahuan tentang algoritma dan sampel dari kata yang terenkripsi tidak mencukupi untu menentukan kunci.
Referensi
Materi Kuliah : Keamanan Database, http://bit.ly/1ScqQkv
Materi Kuliah : Keamanan Database, http://bit.ly/1qEApxR