Title: Administrasi Data dan Keamanan Database
1Administrasi Data dan Keamanan Database
- Materi 5 Keamanan Komputer
- Diambil dari slide Abdul Kadir
2Data Penting untuk Diorganisasikan
- Data adalah aset ? Sangat bernilai untuk dikelola
- Administrasi data yang efektif memudahkan
pembuatan keputusan di segala tingkat - Ketidakefektifan dalam adminisstrasi data membuat
pemanfaatan data menjadi berkurang
3Masalah Data
- Definisi berganda terhadap entitas data
- Ketidakkonsistesian terhadap data yang sama pada
database yang berbeda ? kesulitaan dalam
integrasi data - Kualitas data yang rendah karena sumber data yang
tidak tepat atau ketidaktepatan waktu dalam
mentransfer data dari sistem lain ? mengurangi
keandalan - Kekurangakraban thd data yang ada (lokasi maupun
makna) ? manfaat berkurang - Tanggapan waktu yang lama
- Kekurangan kontrol terhadap privasi dan keamanan
4Administrasi Data dan Database
- Administrasi data
- Fungsi pada perusahaan yg bertanggung jawab dalam
mengelola keseluruhan data dalam organisasi - Menentukan standar dan pendefinisian data dalam
lingkup perusahaan
- Administrasi database
- Fungsi teknis yg bertanggung jawab thd
perancangan database secara fisik - Menangani masalah-masalah teknis seperti
pemaksaan keamanan, kinerja database, dan
backup/recovery
5Administrasi Data dan Database
- Data administrator (DA) / Information resource
manager orang yang mengepalai fungsi
administrasi data - Database administrator (DBA) Orang yang
bertanggung jawab dalam merancang database secara
fisik dan persoalan teknis
6Fungsi DA dan DBA
Perencanaans Database
Membuat strategi/kebijakan database perusahaan
Membuat arsitektur informasi perusahaan
Membuat model biaya/manfaat
Merancang lingkungan database/memilih teknologi
Membuat rencana adminsitrasi data
Analisis Database
Menentukan kebutuhan data
Menentukan aturan-aturan bisnis
Menentukan kebutuhan operasional
Memcahkan konflik-konflik kebutuhan
Memelihara data dictionary/repository perusahaan
Perancangan Database
Melakanakan perancangan database secara logis
Merancang model ekssternal (subskema)
Merancang model fisik (internal)
Merancang kontrol integritas
DA
DBA
7Fungsi DA dan DBA (lanjutan)
Implementasi Database
Menentukan kebijakan akses database
Membentuk kontrol integritas
Memasasng DBMS
Mengawasi pemuatan database
Menentukan prosedur pengujian
Membuat standar pemrograman aplikasi
Membentuk prosedur utk backup/recovery
Melakukan pelatihan user
Operasi dan Pemeliharaan
Backup dan recovery thd database
Memperbaharui DBMS
Memonitor kinerja database
Menyetel dan mengatur kembali database
Memaksakan prosedur dan standar
Melayani pemakai
DA/DBA
DBA
DA/DBA
DBA
DA/DBA
8Fungsi DA dan DBA (lanjutan)
Pertumbuhan dan Perubahan
Mewujudkan prosedur kontrol perubahan
Merencanakan pertumbuhan dan perubahan
Mengevaluasi teknologi baru
DA/DBA
9Peranan Baru DBA
- Procedural DBA
- DBMS mendukung trigger dan stored procedure ?
perlu menentukan aturan-aturan bisnis yang
melekat dalam DBMS daripada pada aplikasi
terpisah - DBA bertanggung jawab agar prosedur betul-betul
efektif
10Peranan Baru DBA (lanjutan)
- e-DBA
- DBA harus juga mempunyai kemampuan dalam
mengelola aplikasi dan database yang berjalan
dalam lingkungan Internet
11Peranan Baru DBA (lanjutan)
- PDA DBA
- DBA harus mampu menangani aktivitas para mobile
workers - Perlu menangani sinkronisasi antara data yang
disimpan pada PDA dan pada server
12Peranan Baru DBA (lanjutan)
- Data warehouse administration
- DBA mampu menangani database dalam data warehouse
dan datamart untuk mendukung pengambilan keputusan
13Isu Open-Source
- Open-source DBMS (misal PostgreSQL dan MySQL)
mulai populer - Umumnya memiliki fitur yg masih kalah dengan DBMs
komersial seperti Oracle 9i, tetapi - lebih ampuh daripada DBMS seperti Microsoft
Access - Perlu menjadi pilihan bila perusahaan bersifat
cost-sensitive
14Memodelkan Data Perusahaan
- Pemodelan data dan perancangan database menjadi
tanggung jawab kunci bagi administrasi data dan
database
Administrasi Data
Administrasi Database
Enterprise Data Model
Conceptual Data Model
Logical Data Model
Phyical Data Model
Perencanaan
Analisis
Perancangan Logis
Perancangan Fisik
15Mengelola Keamanan Data
- Tujuan keamanan database melindungi ndata dari
ancaman yang disengaja atau tidak disengaja
tehadap akses dan integritas - Ancaman bertambah karena adanya akses melalui
Internet atau teknologi bergerak
16Ancaman terhadap Keamanan Data
- Kehilangan yang tidak disengaja
- Bisa diakibatkan oleh
- Kesalahan manusia
- Kesalahan sotware
- Kegagalan hardware
- Penyusupan
- Pengaksesan dilakukan oleh orang yang tidak
berhak - Bisa mengubah atau tidak mengubah data
17Ancaman terhadap Keamanan Data (Lanjutan)
- Kehilangan Privasi atau Kerahasiaan
- Kehilangan privasi berarti kehilangan proteksi
yang dirasakan oleh seseorang - Kehilangan kerahasiaan berarti kebocoran data
yang bersifat penting bagi perusahaan - Kehilangan Integritas Data
- Bila integritas dilanggar, data menjadi tidak
valid atau bahkan rusak - Bisa menimbulkan kesalahan dalam pengambilan
keputusan
18Ancaman terhadap Keamanan Data (Lanjutan)
- Kehilangan Ketersediaan
- Bisa disebabkan sabotase pada H/W, jaringan, dan
aplikasi - Penetrasi virus yang dimaksud merusak data
19Rencana Keamanan Data
- Mencakup
- Prosedur dan kebijakan administratif
- Proteksi fisik
- Proteksi perangkat lunak manajemen data
20Proteksi S/W Manajemen Data
- View atau subskema
- Domain, cek, dan kontrol integritas yang lain
- Aturan otorisasi
- User-defined procedure
- Prosedur enkripsi
- Skema otentikasi
- Backup, journaling, dan checkpointing
(memfasilitasi prosedur recovery)
21Aturan Otorisasi
- Aturan otorisasi kontrol yang melekat dalam
sistem manajemen data yang membatasi akses thd
data dan tindakan-tindakan yang dapat dilakukan
oleh orang - Contoh, orang yang berhak mengakes data bisa
membaca seluruh database tetapi tidak bisa
mengubah data
22Contoh Aturan Otorisasi
Subjek Objek Tindakan Kekangan
Bagian Pemasaran Data Pelanggan Menambah Limit kredit lt 5.000.000
Bagian Akuntansi Data Pemesanan Menghapus Tak ada
Bagian Pemenuhan Pesanan Data Pemesanan Membaca Mengubah Menghapus Tak ada
23Implementasi Aturan Otorisasi
- Perintah SQL GRANT dipakai untuk menentukan
otorisasi akses data - Perintah SQL REVOKE dipakai untuk mencabut
otorisasi
24Contoh Skenario Hak Akses
25Contoh Skenario Hak Akses
- Contoh menciptakan user
- CREATE USER arif
- IDENTIFIED BY '007arif'
- Contoh memberikan hak akses ke arif
- GRANT ALL ON pegawai. TO arif
26Hak Akses pada MySQL
Hak akses Keterangan
SELECT Hak akses ini memungkinkan pemakai melakukan operasi SELECT. Beberapa sistem menggunakan hak akses READ yang identik dengan hak akses SELECT.
INSERT Hak akses ini memungkinkan pemakai melakukan operasi INSERT
UPDATE Hak akses ini memungkinkan pemakai melakukan operasi UPDATE
DELETE Hak akses ini memungkinkan pemakai melakukan operasi DELETE
INDEX Hak akses ini memungkinkan pemakai menciptakan indeks dan menghapus indeks
DROP Hak akses ini memungkinkan pemakai menghapus tabel
EXECUTE Hak akses yang memungkinkan pemakai menjalankan stored procedure (prosedur tersimpan)
FILE Hak akses yang memungkinkan pemakai menjalankan SELECT ... INTO OUTFILE and LOAD DATA INFILE
ALTER Hak akses yang memungkinkan pemakai melaksanakan pernyataan ALTER TABLE untuk mengubah tabel
LOCK TABLES Hak akses yang memungkinkan pemakai mengunci tabel
ALL Memberikan seluruh hak akses kecuali GRANT OPTION
GRANT OPTION Memungkinkan hak akses bisa diwariskan
27Hak Akses
- Memberikan hak akses SELECT saja
- GRANT SELECT
- ON pegawai. TO novi
28Membatasi Hak Akses pada Kolom Tertentu
- GRANT SELECT
- ON pegawai.infoprib TO terra
- GRANT SELECT
- ON pegawai.bagian TO terra
- GRANT SELECT (nip, kode_bag), UPDATE (nip,
kode_bag) - ON pegawai.pekerjaan TO terra
29GRANT OPTION
30Enkripsi
- Enkripsi Suatu pengodean atau pengacakan data
dengan tujuan orang tidak bisa membacanya - Implementasi enkripsi
- Satu kunci (Contoh DES-Data Encryption Standard)
- Dua kunci (Contoh SSL Secure Socket Layer)
31Enkripsi dengan Dua Kunci
Teks asli
Algoritma Enkripsi
Kunci Publik
Teks terenkripsi
Algoritma Dekripsi
Kunci Privat
Teks asli
32Skema Otentikasi
- Skema otentikasi digunakan untuk menentukan
seseorang apakah orang yang berhak atau tidak
untuk mengakses sistem - Perwujudan yang biasa dilakukan
- Melalui identifikasi yang diketahui oleh dirinya
sendiri berupa password atau PIN - Menggunakan alat seperti smartcard
- Menggunakan sesuatu yang bersifat unik, seperti
sidik jari
33Backup dan Recovery
- Database backup adalah mekanisme untuk melakukan
penyalinan database ke suatu media eksternal - Database recovery Mekanisme untuk memulihkan
database dengan cepat dan akurat setelah
mengalami kerusakan
34Fasilitas Recovery Dasar
- Fasilitas backup, menyediakan mekanisme untuk
menyalin keseluruhan/sebagian database - Fasilitas penjurnalan, menjaga audit trail thd
transaksi dan perubahan database - Fasilitas checkpoint, menunda semua pemrosesan
dan melakukan sinkronisasi terhadap file-file dan
jurnal untuk membentuk titik pemulihan - Manajer recovery, memungkinkan pengembalian
database ke kondisi yang benar dab memulai
pemrosesan transaksi
35Fasilitas Penjurnalan
- Menyediakan audit trail terhadap transaksi dan
perubahan database - Pada saat kegagalan pada sistem terjadi, keadaan
database yang konsisten dapat dikembalikan lagi
dengan menggunakan informasi jurnal dan data
backup
36Fasilitas Penjurnalan (Lanjutan)
DBMS
Tindakan recovery
Transaksi
Efek transaksi/tindakan recovery
Salinan database yang diakibatkan transaksi
Salinan Transaksi
Database (Kini)
Catatan Transaksi
Catatan Perubahan Database
Database (Backup)
37Fasilitas Penjurnalan (Lanjutan)
- Catatan transaksi (transaction log) berisi
- Identitas transaksi
- Data transaksi
- Tipe transaksi (misalnya Insert)
- Waktu transaksi
- Identitas terminal atau pemakai
- Nilai data yang dimasukkan
- Tabel dan record yang diakses
- Record-record yang terubah
- Nilai lama dan nilai baru
38Fasilitas Penjurnalan (Lanjutan)
- Catatan perubahan database (database change log)
berisi - Salinan record sebelum dan sesudah transaksi
- Before-image salinan sebuah record sebelum
dimodifikasi - After-image salinan sebuah record sesudah
dimodifikasi
39Prosedur Recovery dan Restart
- Disk mirroring (RAID 1)
- Restore/Rerun
- Suatu teknik untuk memproses kembali transaksi
harian sampai titik kegagalan berdasarkan salinan
backup database - Pertama-tama, database dihentikan
- Kemudian, backup terbaru dihubungkan ke database
dan seluruh transaksi setelah penyalinan
dijalankan kembali - Menjaga integritas transaksi
- Menggunakan model transaksi
- Transaksi diawali dengan START TRANSACTION dan
diakhiri dengan COMMIT/ROLLBACK
40Restore/Rerun
- Keuntungan
- Sederhana
- Tidak perlu menciptakan jurnal perubahan
- Tidak perlu prosedur restart
- Kelemahan
- Waktu untuk memproses transaksi mungkin lama
- Transaksi baru perlu ditunda
- Ada kemungkinan hasil transaksi menjadi berbeda
dengan aslinya
41Disaster Recovery
- Setiap organisasi harus memiliki mekanisme
disaster recovery - Untuk mengantisipasi kehancuran pada pusat data
- Bisa diakibatkan bencana alam atau manusia
(perang, sabotase) - DBA mempunyai peran dalam membuat rencana recovery
42Mengontrol Akses Bersama
- DBMS memiliki kontrol konkurensi
- Kontrol konkurensi proses pengelolaan terhadap
akses yang dilakukan oleh sejumlah orang dengan
tujuan agar integritas data dapat terjaga dengan
baik
43Mengontrol Akses Bersama(Lanjutan)
- Penanganan yg biasa dilakukan Locking
- Penguncian bisa pada level database, tabel, atau
record - Jenis locking
- Shared lock
- Exclusive lock
- Problem penguncian deadlock
- Deadlock Keadaan yang membuat dua buah transaki
saling menunggu karena masing-masing mengunci
data yang diperlukan transaksi pasangannya
44Ilustrasi Deadlock
- User 1
- Mengunci record A
- Meminta record B
- (Menunggu B)
- User 2
- Mengunci record B
- Meminta record A
- (Menunggu A)
Deadlock
45Menangani Deadlock
- Ada dua cara
- Deadlock prevention
- Program harus mengunci semua record yang
diperlukan di awal transaksi - Jika record telah terkunci, pemakai lain haru
menunggu sampai penguncian dilepaskan - Deadlock resolution
- Menyerahkan sepenuhnya penanganan deadlock kepada
DBMS
46Contoh Persoalan
- Terjadi proses pemindahbukuan dari rekening A ke
rekening B sebesar X - Mungkinkah persoalan ini menimbulkan deadlock?
Kenapa?
47Contoh Persoalan
- Terjadi proses pemindahbukuan dari rekening A ke
rekening B sebesar X - Bagaimana cara mengatasi deadlock?
48Mengelola Kualitas Data
- Data berkualitas tinggi
- Akurat
- Konsisten
- Tersedia pada waktu yang tepat
- Fakta yang menunjukkan bahwa menjaga data yang
berkualitas tinggi itu sulit - 2 record dalam data pelanggan kedaluarsa dalam
satu bulan karena hal-hal seperti - Pelanggan meninggal
- Pelanggan berpindah lokasi
- Pelangan bercerai dsb
49Problem Kualitas Data
- Sumber data eksternal
- Data yang berasal dari pihak luar mungkin tidak
akurat, alah, atau tidak lengkap - Penyimpanan data yang redundan
- Data tersebar dalam berbagai bentuk (spreadsheet,
database, dokumen) dan ada kemungkinan tidak
konsisten dan tidak kompatibel - Kekurangan Komitmen Organisasi
- Pemakai internal tidak patuh terhadap
aturan-aturan yang telah ditetapkan dan
organisasi membiarkannya
50Usaha untuk Menjaga Kualitas Data
- Membentuk komite yang menjamin bahwa kualitas
data terjaga dengan baik - Menerapkan prinsip TQM untuk selalu meningkatkan
kualitas data - Mengatasi hambatan-hambatan dalam organisasi
51Data Dictionary dan Repository
- Data dictionary merupakan istilah lama dan
repository adalah istilah yang lebih baru - Data dictionary Tempat penyimpanan informasi
tentang database yang mendokumentasikan
elemen-elemen data dalam database - Repository Istilah baru yang fungsinya lebih
kompleks daripada data dictionary
52Repository
- Repository atau dikenal dengan nama lengkap
information repository tidak hanya mencakup
metadata yang menjelaskan data dalam organisasi
tetapi juga lingkungan pemrosesan informasi
53IRDS
- IRDS (Information Repository Dictionary System)
S/W yang digunakan untuk mengelola dan mengontrol
akses terhadap information repository - IRDS menyediakan fasilitas untuk menyimpan dan
memproses deskripsi data dan sumber pemrosesan
data - Sistem yang mengikuti IRDS dapat mentransfer
definisi data yang dihasilkan oleh berbagai
produk - IRDS menjadi standar ISO (1990)
54Mengatur Kinerja Database
- Ada 5 hal yang perlu diperhatikan agar kinerja
database terjaga dengan baik - Pemasangan DBMS
- Pemakaian memori
- Penggunaan I/O
- Penggunaan CPU
- Tuning aplikasi
55Pemasangan DBMS
- Instalasi DBMS harus benar-benar sesuai dengan
lingkungan - Biasanya tertera dalam file README
- Penggunaan nilai default untuk parameter tertentu
seringkali membuat kinerja yang tidak optimal - Sebelum melakukan instalasi DBMS, DBA harus
memastikan ketersediaan ruang hard disk
56Pemasangan DBMS (Lanjutan)
- Baca manual DBMS untuk menerjemahkan parameter
ukuran database secara logis (seperti panjang
field, jumlah baris tabel, dan perkiraan
pertumbuhan data) ke dalam kebutuhan ruang fisik - Alokasi ruang disk untuk database perlu mendapat
perhatian. Sistem backup pada sistem UNIX
tertentu hanya mempunyai masalah pada file yang
berukuran lebih dari 1 GB
57Pemakaian Memori
- Supaya efisien, penggunaan memori oleh DBMS perlu
juga diperhatikan - Sebagai contoh, sistem Oracle menggunakan memori
untuk menaruh data dictionary. - Bila memori tidak cukup, sistem akan sering
membaca struktur tabel dari disk. Hal ini
mempengaruhi kinerja sistem
58Penggunaan I/O
- Aplikasi database berpengaruh besar terhadap I/O
- Walapun kecepatan CPU tinggi, I/O tidak bersifat
proporsional - Suatu objek yang sering diakses secara bersamaan
dapat dibagi ke dalam beberapa disk
59Penggunaan CPU
- Hampir semua operasi database memerlukan
aktivitas CPU - Penggunaan CPU perlu dimonitor ketika melakukan
tuning database - Pemakaian lebih dari CPU merupakan alternatif
untuk memperbaiki kinerja sistem - Pemantauan perlu dilakukan pada saat beban puncak
ataupun saat beban rendah
60Tuning Aplikasi
- Selain penyetelan DBMS, aplikasi pun perlu diatur
- Memperhatikan dan memodifikasi SQL dalam aplikasi
kadang perlu dilakukan - Perubahan SQL dalam aplikasi acapkali dapat
meningkatkan kinerja sistem - Kadangkala penyelesaian dari masalah ini adalah
dengan menggunakan denormalisasi
61Tuning Aplikasi (lanjutan)
- Kadangkala DBA perlu melakukan tindakaan seperti
reindexing, mengubah ukuran blok data,
mengalokasikan file-file pada peranti penyimpan. - DBA juga mempunyai peran dalam mengarahkan
pemrogram dengan memberikan teknik yang paling
efektif dalam berinteraksi dengan database
62Ketersediaan Data
- Ketersedian data merupakan tuntutan dengan
prioritas yang paling tinggi - Kegagalan dalam menyediakan ketersediaan data
dapat menimbulkan keluhan/ketidaknyamanan bagi
pemakai dan bahkan kerugian bisnis - Pengoperasian e-business menuntut ketersedian
data dalam 24 x 7 x 365 - Tugas dari DBA adalah memastikan bahwa dampah
dari downtime harus bisa diminimalkan
63Penanganan untuk Menjaga Ketersediaan Data
- Mengantisipasi kegagalan H/W ? penggunaan
clustered server - Mengantisipasi data hilang atau rusak ?
penggunaan disk mirroring - Menjaga downtime ? pemilihan waktu yang tepat
- Beberapa DBMS menyediakan utilitas untuk
melakukan pemeliharaan secara otomatis tanpa
menghentikan sistem (nondisruptive utility) - Mengantisipasi masalah yang terkait dengan
jaringan - Perlu strategi penanganan cepat manakala jaringan
terganggu - Penggunaan teknologi terbaru firewall dan router