MENGEVALUASI PENGAMANAN SISTEM BASIS DATA PADA RDBMS


A. Password Akses Basis Data
     Seperti yang telah Anda ketahui, memberikan akses database setingkat root user kepada non-root user bukanlah tindakan cerdas. Sebagian besar orang pasti ingin memberikan akses dengan tingkat atau level berbeda ke berbagai macam user. MySQL dapat mengabulkan keinginan Anda. Ikutilah perintah sederhana di bawah ini:
GRANT [permission type] ON [database name].[table name] TO 'non-root'@'localhost';
Anda hanya harus mengganti ‘permission type’ value dengan semacam permisson yang hendak Anda berikan kepada user baru. Anda pun harus menentukan nama database dan table. Kedua hal ini mempermudah root user melakukan kontrol yang tepat terhadap pemberian hak akses. Sama seperti contoh di atas, ‘non-root’ adalah username, jadi Anda bebas menggantinya dengan pilihan Anda sendiri
B.Enkripsi Password
    Enkripsi adalah teknik untuk mengamankan data-data tersebut agar isinya tidak diketahui orang lain.
Enkripsi biasanya dilakukan terhadap data-data sensitif seperti password.
Enkripsi akan menjamin data-data tetap aman meskipun berada di tangan orang lain, karena mereka tidak tahu isi aslinya
C.Priviledge
    Ketika seorang user berhasil dibuat didalam
sebuah database, biasanya user tersebut belum
diberikan hak akses terlebih dahulu. Hak yang
pertama kali diberikan pada seorang user ketika
pertama kali dibuat adalah hak akses untuk
login/ koneksi ke database. Dengan hak akses ini
seorang user dapat melakukan login terlebih
dahulu ke database walaupun user tersebut
belum dapat melakukan pekerjaan lainnya
sampai hak akses yang lain diberikan kepada
user tersebut. Secara umum didalam database
terdapat dua jenis hak akses, yaitu hak akses
terhadap pengelolaan sistem datbase (system
privileges) dan hak akses terhadap obyek
database (object privileges). Perintah dasar SQL
(structured query language) untuk pengelolaan
hak akses adalah GRANT dan REVOKE.

D.Pembatas Keamanan Hak Akses
    Dengan semakin kompleksnya pengolahan data dengan komputer, maka semakin kompleks juga upaya pengamanan dan penyelamatan data dan informasi yang tersimpan dalam komputer, karena tidak semua orang dapat dan boleh mengakes data pada setiap sistem komputer yang ada. Untuk itu diperlukan beberapa cara untuk mengamankan data yang ada dari orang-orang yang tidak bertangung jawab. Oleh karena itu sangatlah perlu cara untuk mengamankan informasiyang terdapat di dalam komputer. Ada beberapa cara untuk pengamanan tersebut, yang secara umum lazim disebut dengan pemberian kata sandi (password) setiap akan masuk ke sistem komputer dan membuka informasi, atau dengan membatasi hak akses kepada pemakai komputer ersebut.

Pada tabel dibawah ini saya melampirkan seluruh tipe hak akses yang dapat diberikan/dibatasi untuk user. Tabel tersebut diambil langsung dari manual resmi MySQL. Kebanyakan dari hak akses tersebut akan jarang digunakan dan belum kita pelajari, namun tabel dibawah dapat dijadikan referensi terkait hak akses (privileges).

Hak Akses Keterangan
ALL [PRIVILEGES] Memberikan seluruh hak akses, kecuali GRANT OPTION
ALTER Hak akses untuk merubah tabel (ALTER TABLE)
ALTER ROUTINE Hak akses untuk merubah stored routines
CREATE Hak akses untuk membuat tabel dan database
CREATE ROUTINE Hak akses untuk membuat dan menghapus stored routine
CREATE TABLESPACE Hak akses untuk membuat, mengubah dan menghapus tablespaces dan log file
CREATE TEMPORARYTABLES Hak akses untuk membuat tabel sementara CREATE TEMPORARY TABLE
CREATE USER Hak akses untuk membuat, menghapus, dan mengubah user (CREATE USER, DROP USER, RENAME USER, dan REVOKE ALL PRIVILEGES)
CREATE VIEW Hak akses untuk membuat dan mengubah views
DELETE Hak akses untuk menghapus data (DELETE)
DROP Hak akses untuk menghapus database, tabel dan view
EVENT Hak akses untuk membuat event
EXECUTE Hak akses untuk menjalankan stored routines
FILE Hak akses untuk membuat server membaca maupun membuat file
GRANT OPTION Hak akses untuk memberikan hak akses kepada user lainnya.
INDEX Hak akses untuk membuat dan menghapus index
INSERT Hak akses untuk menambahkan data (query INSERT)
LOCK TABLES Hak akses untuk mengunci tabel (LOCK TABLES)
PROCESS Hak akses untuk melihat seluruh proses (SHOW PROCESSLIST)
PROXY Hak akses untuk proses proxy
REFERENCES Belum diimplementasikan
RELOAD Hak akses untuk operasi FLUSH
REPLICATION CLIENT Hak akses untuk mengubah urutan master dan slave server
REPLICATION SLAVE Hak akses untuk server replikasi untuk membaca log event biner dari server master
SELECT Hak akses untuk melihat data (query SELECT)
SHOW DATABASES Hak akses untuk melihat seluruh database (SHOW DATABASES)
SHOW VIEW Hak akses untuk melihat pembuatan view (SHOW CREATE VIEW)
SHUTDOWN Hak akses untuk mysqladmin shutdown
SUPER Hak akses untuk fungsi administrasi server, seperti CHANGE MASTER TO, KILL, PURGE BINARY LOGS, SET GLOBAL, dan perintah debug mysqladmin
TRIGGER Hak akses untuk operasi trigger
UPDATE Hak akses untuk memperbaharui data (UPDATE)


E.Penambahan & Penghapusan Hak Akses
    Untuk menghapus hak Akses pada User MySQL menyediakan query REVOKE. Penghapusan Hak Akses ini apabila terdapat suatu kebijakan pada user pengguna atau user root mengadakan maintenance user. Selain itu kita tidak haru menghapus User MySQL bila terdapat perubahan, kita hanya menghapus Hak Akses yang terdapat pada user saja. Namun untuk menghapus Hak Akses pada User kita harus mengatahui Hak Akses yang terdapat pada user tertentu karena setiap User pasti terdapat Hak Akses yang berbeda-beda. untuk mengecek Hak Akses yang terdapat pada User MySQL menyediakan query GRANTS, GRANTS ini biasanya diikuti dengan query kondisi User.

Komentar

Postingan populer dari blog ini

Basis Data kelas XI RPL

Cara Mudah Membuat Animasi Transisi (on/off lampu) pada Android Studio

BASIS DATA XII – KD2 MERANCANG SQL BERTINGKAT DALAM MEMANIPULASI BASIS DATA