Modul Basis Data XI - SQL DCL
Modul Basis Data XI - SQL DCL
[email protected]
PENDAHULUAN
Keamanan : Keadaan bebas dari bahaya
Keamanan di MySQL merupakan hal yang tidak
boleh dianggap sepele
Karena MySQL merupakan software database
client-server yang bisa diakses oleh banyak user
Tidak ada sistem yang 100 % aman
Kenyamanan berbanding terbalik dengan
kemanan
Semakin tinggi tingkat keamanan, semakin sulit
/ tdk nyaman mengakses informasi
[email protected]
BEBERAPA ISTILAH KEAMANAN DATABASE
Kriptografi, secara umum adalah ilmu dan seni untuk
menjaga kerahasiaan berita [bruce Schneier - Applied
Cryptography] (http://id.wikipedia.org/wiki/Kriptografi)
Password : kumpulan karakter atau string yg digunakan
oleh pengguna jaringan / sebuah sistem operasi yg
mendukung banyak pengguna (multiuser) untuk
memverifikasi identitas dirinya kepada sistem keamanan
yang dimiliki oleh jaringan / sistem tsb
(http://id.wikipedia.org/wiki/Password)
Enkripsi : proses mengamankan suatu informasi dengan
membuat informasi tersebut tidak dapat dibaca tanpa
b a n t u a n p e n g e t a h u a n k h u s u s
(http://id.wikipedia.org/wiki/Enkripsi)
MD5 (Message-Digest algortihm 5) ialah fungsi hash
kriptografik yang digunakan secara luas dengan hash
value 128-bit
[email protected]
YANG HARUS DIPERHATIKAN
Jangan memberi hak akses ke semua user
Pahami perintah DCL (hak akses) di MySQL
(Grant dan Revoke)
Jangan menyimpan password dalam bentuk
teks di MySQL (pakai fungsi enkripsi searah
s e p e r t i PA S S W O R D ( ) d a n M D 5 ( ) u n t u k
menenkripsi isi password)
Tepat dalam memilih Password
Pasang firewall di server
Lakukan validasi data yang dientri setiap user ke
dlm database
Hati-hati dalam mengirim data via internet
[email protected]
Hak Akses (Privileges) di MySQL - 1
Semua hak akses tersimpan di database mysql :
[email protected]
Hak Akses (Privileges) di MySQL - 2
columns_priv : menyimpan hak akses user terhadap kolom
db : menyimpan informasi mengenai hak akses user terhadap
database.
func : menyimpan informasi mengenai function yang
didefinisikan di MySQL.
host : menyimpan daftar komputer (bisa berupa alamat IP,
nama komputer, atau %) yang berhak mengakses suatu
database.
proc : menyimpan informasi mengenai daftar procedure
dalam MySQL.
procs_priv : menyimpan informasi mengenai hak akses user
terhadap procedure.
tables_priv : menyimpan informasi mengenai hak akses user
terhadap tabel
user : menyimpan informasi user MySQL yang mencakup
informasi user, password dan host user, serta hak akses user.
[email protected]
Perintah DCL (Grant & Revoke) di MySQL
[email protected]
Bentuk Umum Perintah Grant dan Revoke
GRANT priv_type
ON {tbl_name | * | *.* | db_name.*}
TO user_name [IDENTIFIED BY 'password']
[WITH GRANT OPTION]
REVOKE priv_type
ON {tbl_name | * | *.* | db_name.*}
FROM user_name
[email protected]
Pilihan untuk priv_type
dalam perintah Grant dan Revoke:
[email protected]
Contoh Grant :
GRANT ALL PRIVILEGES ON pemesanan.*
TO tukul@localhost
IDENTIFIED BY ‘123456' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.*
TO hindun@localhost
IDENTIFIED BY ‘123456' WITH GRANT OPTION;
GRANT SELECT ON pemesanan.pelanggan
TO john@’%’
IDENTIFIED BY ‘123456' WITH GRANT OPTION;
GRANT SELECT ON pemesanan.pelanggan
TO [email protected]
IDENTIFIED BY ‘123456' WITH GRANT OPTION;
CATATAN: Setiap perubahan hak akses di MySQL, termasuk
menambahkan user baru, tdk berlaku sebelum diakhiri dgn
perintah FLUSH PRIVILEGES;
[email protected]
Contoh Mengatur Hak Akses User
yang sudah ada di MySQL
GRANT ALL PRIVILEGES ON sekolah.*
TO tukul@localhost;
FLUSH PRIVILEGES;
[email protected]
Contoh Revoke :
Menghapus hak akses user ‘tukul’ terhadap database
‘pemesanan’.
REVOKE ALL PRIVILEGES ON pemesanan.* FROM
tukul@localhost;
FLUSH PRIVILEGES;
[email protected]
Mengubah Password User
[email protected]
Sharing MySQL lewat
computer-to-computer (ad-hoc) >> Win Xp
Siapkan 2 buah laptop, misal A dan B
Misal : laptop A akan dijadikan server
Sebelumnya, non-aktifkan Windows Firewall pada laptop A
Pada laptop A, Klik Start>Control panel>Network Connections
Klik kanan pada Wireless Network Connection>Pilih Properties
[email protected]
Sharing MySQL
Pilih tab wireless networks
Pada Preferred networks, klik add
[email protected]
Sharing MySQL
Setelah di OK, maka akan kembali ke Wireless Network
Connection Properties
Lalu klik Advanced
Pada bagian Network to access : pilih Computer-to-
Computer (ad hoc) networks only, lalu Close.
Klik OK
[email protected]
Sharing MySQL
Sebelum di dihubungkan 2 buah laptop tsb
Atur IP Address masing-masing laptop A dan B
Pada laptop A, Buka kembali Wireless Network Connection
Properties
Pilih tab General>Double Click pada Internet Protocol
(TCP/IP), lalu atur seperti berikut :
[email protected]
Sharing MySQL
Kemudian untuk laptop B, atur IP nya seperti berikut :
IP Address : 192.168.1.2
Subnet mask : 255.255.255.0
[email protected]
Sharing MySQL
Nah, kalau sudah selesai setting IP untuk kedua laptop (A
dan B)
Sekarang pada laptop B coba view Wireless Network
Connection
Pilih wireless network yg tadi dibuat >> konekdb, klik
connect
[email protected]
Sharing MySQL
Untuk menguji koneksi kedua laptop, kita
gunakan Command Prompt
Pada laptop A : ping 192.168. 1.2
Pada laptop B : ping 192.168.1.1
Kalau dari laptop B ada pesan :
Reply from 192.168.1.1, berarti koneksi
sudah berhasil
Sekarang tinggal tes masuk ke server MySQL
yang ada di laptop A melalui laptop B
[email protected]
Pada laptop A, melalui MySQL nya coba ketik sbb:
GRANT SELECT ON pemesanan.pelanggan
TO john@’%’
IDENTIFIED BY ‘123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Melalui laptop B coba masuk ke MySQL dengan user
diatas ( john) dan password (123456)…….AMATI
HASILNYA!
[email protected]
Menguji Hak Akses
Sintaks DCL diatas berarti memberikan hak
akses kepada john melakukan perintah SELECT
saja pada tabel pelanggan yang ada pada
database pemesanan
Untuk menguji hak aksesnya, coba lakukan
perintah selain select pada tabel pelanggan,
misalnya melakukan update atau insert,
kemudian amati hasilnya!
[email protected]
Referensi :
Nugroho, Bunafit. 2006. Database Relasional
Dengan MySQL. Yogyakarta : Andi Publisher.
Yakub. 2008. Sistem Basis Data. Yogyakarta :
Graha Ilmu.
http://www.achmatim.net
http://www.ilmukomputer.org
http://www.mysql.com
http://id.wikipedia.org
http://pentaho.phi-integration.com/mysql
[email protected]
End of this session…