• Tidak ada hasil yang ditemukan

Keamanan Database

Dalam dokumen BAB 2 LANDASAN TEORI (Halaman 27-33)

2.2 Teori - Teori Khusus

2.2.1 Keamanan Database

Menurut Connolly-Begg (2005, p542), keamanan database adalah mekanisme-mekanisme yang melindungi database terhadap ancaman-ancaman yang disengaja maupun tidak disengaja. Pertimbangan keamanan tidak hanya berlaku untuk data yang ada di dalam database. Pelanggaran terhadap keamanan akan mempengaruhi bagian-bagian lain pada sistem, yang memberikan dampak pada database. Sebagai akibatnya, keamanan database meliputi perangkat keras, perangkat lunak, manusia, dan data. Untuk mengimplementasi keamanan membutuhkan kendali yang sesuai, yang ditentukan sesuai dengan sasaran untuk

sistem. Kebutuhan keamanan ini, walaupun sering diacuhkan sebelumnya, namun kini telah disadari oleh perusahaan-perusahaan. Alasannya adalah peningkatan jumlah data penting perusahaan yang disimpan pada komputer dan kehilangan data atau ketidaktersediaan data, dapat mendatangkan bencana bagi perusahaan.

Sebuah database mewakili sebuah sumber penting perusahaan yang harus dijaga dengan menggunakan pengendalian yang tepat. Situasi-situasi yang berhubungan dengan keamanan database adalah sebagai berikut :

- Pencurian dan penipuan data - Kehilangan kerahasiaan data - Kehilangan privasi

- Kehilangan integritas data - Kehilangan ketersediaan data

Situasi-situasi tersebut mewakili lokasi-lokasi yang menjadi pertimbangan perusahaan untuk meminimalisasi resiko, yang menjadi kemungkinan-kemungkinan terjadinya kehilangan atau kerusakan data. Pada beberapa situasi, suatu kejadian yang mengakibatkan kehilangan data di suatu lokasi, dapat juga mengakibatkan kehilangan data di lokasi lain

Dari situasi-situasi di atas, yang akan dibahas di dalam skripsi ini adalah mengenai integritas data dan ketersediaan data. Kehilangan integritas data mengakibatkan ketidaktepatan dan kerusakan data, yang dapat berdampak serius pada seluruh kegiatan operasional perusahaan. Banyak perusahaan yang sekarang mencari kegiatan operasional yang berjalan terus menerus, atau yang disebut dengan istilah 24/7 (24 jam dalam sehari, 7 hari dalam seminggu). Kehilangan ketersediaan data berarti bahwa data, sistem, atau keduanya tidak dapat diakses,

35

yang dapat berdampak serius pada seluruh kegiatan operasional perusahaan, termasuk operasional keuangan perusahaan. Pada beberapa kasus, kejadian yang mengakibatkan sebuah sistem tidak dapat diakses dapat juga mengakibatkan kerusakan data. Tujuan dari keamanan database adalah meminimalisasi kehilangan yang disebabkan oleh kejadian-kejadian yang telah diperkirakan, dalam suatu metode optimalisasi biaya tanpa terlalu membatasi pengguna.

2.2.1.1 Backup

Menurut Connolly-Begg (2005, p550), backup adalah proses pembuatan salinan database dan arsip secara berkala ke dalam suatu media penyimpanan. Sebuah DBMS harus menyediakan fasilitas backup untuk membantu recovery kerusakan database yang akan terjadi. Selalu disarankan untuk membuat salinan backup dari database dan log file pada interval yang tetap dan memastikan bahwa salinan tersebut ada di lokasi yang aman. Pada saat terjadi kerusakan yang menyebabkan database tidak dapat digunakan, salinan backup dan detilnya yang disimpan di dalam log file digunakan untuk mengembalikan database ke kondisi konsisten terakhir yang paling mungkin.

2.2.1.2 Recovery

Menurut Connolly-Begg (2005, p605), recovery adalah proses mengembalikan database ke kondisi semula sebelum terjadi kegagalan pada database. Database recovery adalah sebuah service yang disediakan oleh DBMS untuk memastikan bahwa database dapat diandalkan dan tetap dalam kondisi yang konsisten pada saat terjadi kerusakan.

Jika kerusakan terjadi antara write ke buffer dan mengosongkan buffer ke secondary storage, recovery manager harus menentukan status dari transaksi yang melakukan write pada saat terjadi kerusakan. Jika transaksi telah melakukan commit, recovery manager harus melakukan kembali perubahan yang dilakukan oleh transaksi itu ke database (juga dikenal dengan roll-forward). Di sisi lain, jika transaksi belum di-commit pada saat terjadi kerusakan, recovery manager akan melakukan undo (rollback) perubahan apa saja yang dilakukan transaksi itu terhadap database.

Sebuah DBMS harus menyediakan fasilitas berikut ini untuk mendukung recovery.

• Mekanisme backup, yang membuat salinan backup dari database secara periodik.

• Fasilitas logging, yang mencatat status dari transaksi dan perubahan database.

• Fasilitas checkpoint, yang memungkinkan perubahan pada database yang sedang berjalan dibuat permanen.

• Recovery manager, yang memperbolehkan sistem untuk mengembalikan database ke state yang konsisten setelah terjadi kerusakan.

2.2.1.3 RAID (Redundant Array of Independent Disks)

Menurut Connolly-Begg (2005, p552), RAID adalah sebuah teknologi yang menggunakan sejumlah besar susunan disk independen yang diorganisir

37

untuk meningkatkan kehandalan dan kinerja sistem. Kinerja ditingkatkan melalui data striping, yaitu data disegmentasi menjadi beberapa partisi yang sama besar (striping unit) yang secara transparan didistribusikan ke beberapa disk. Hal ini terlihat seperti sebuah disk tunggal yang besar dan cepat dimana sebenarnya data didistribusikan ke beberapa disk yang lebih kecil. Pembagian data meningkatkan performa input output secara keseluruhan melalui beberapa input output yang berjalan secara paralel. Pada waktu yang sama pembagian data juga menyeimbangkan kapasitas diantara disk-disk.

Kehandalan ditingkatkan melalui penyimpanan informasi secara redundan melalui disk-disk yang menggunakan skema paritas atau sebuah skema pembetulan kesalahan seperti kode Reed-Solomon. Dalam sebuah skema paritas, masing-masing byte mempunyai sebuah bit paritas yang menyimpan apakah bit di dalam byte yang bernilai 1 berjumlah genap atau ganjil. Jika jumlah bit dalam byte rusak, paritas baru dari suatu byte akan menjadi tidak sesuai dengan paritas yang telah disimpan. Sama halnya apabila paritas yang disimpan rusak, tidak akan sesuai dengan data dalam byte tersebut. Skema pembetulan kesalahan menyimpan dua atau lebih bit tambahan, dan dapat menyusun kembali data asli jika sebuah bit rusak. Skema-skema ini dapat digunakan melalui pembagian byte antar disk.

Ada beberapa pengaturan disk yang berbeda dengan menggunakan RAID, yang disebut tingkatan RAID. Macam-macam tingkatan RAID antara lain :

• RAID 0 – Non-redundant (tidak berulang). Tingkat ini menjaga agar tidak terjadi perulangan data dan juga memiliki performa penulisan

(write) karena data-data tidak perlu diduplikasi. Pembagian data dilakukan pada tingkatan blok.

• RAID 1 – Mirrored. Tingkat ini menjaga dua salinan data yang identik antar disk yang berbeda. Untuk menjaga konsistensi pada saat terjadi kerusakan disk, penulisan pada disk tidak boleh dijalankan secara bersamaan. Ini adalah solusi penyimpanan yang paling mahal.

• RAID 0+1 – Non-redundant dan Mirrored. Tingkat ini menggabungkan antara pembagian data (striping) dengan duplikasi data (mirroring).

• RAID 2 – Memory-Style Error-Correcting Codes. Pada tingkat ini, unit pembagi adalah sebuah bit tunggal dan kode Hamming digunakan sebagai skema pengulangan.

• RAID 3 – Bit-Interleaved Parity. Tingkat ini menyediakan perulangan dengan menyimpan informasi paritas dalam susunan array pada disk tunggal. Informasi paritas ini dapat digunakan untuk mengembalikan data pada disk lain ketika terjadi kegagalan. Tingkat ini menggunakan tempat penyimpanan yang lebih sedikit dibandingkan RAID 1 tetapi disk paritas dapat menjadi bottleneck.

• RAID 4 – Block-Interleaved Parity. Pada tingkat ini, unit pembagi adalah sebuah blok disk – sebuah blok paritas yang berada pada disk yang terpisah untuk menghubungkan blok-blok dari sejumlah disk lain. Jika satu dari disk tersebut gagal / tidak berjalan, blok paritas dapat

39

digunakan dengan blok yang berhubungan dengan disk lain untuk mengembalikan blok dari disk yang gagal tersebut.

• RAID 5 - Block-Interleaved Distributed Parity. Tingkat ini menggunakan data paritas untuk perulangan melalui cara yang sama dengan RAID 3 namun membagi data paritas antara semua disk, sesuai dengan cara sumber data dibagi. Ini mengurangi bottleneck pada disk paritas.

• RAID 6 – P+Q Redundancy. Tingkat ini mirip dengan RAID 5 tetapi data perulangan tambahan dijaga untuk melindungi dari kegagalan beberapa disk. Kode pembetulan kesalahan digunakan juga disamping penggunaan paritas.

2.2.2 Resiko dan Ancaman

Dalam dokumen BAB 2 LANDASAN TEORI (Halaman 27-33)

Dokumen terkait