SISTEM KEAMANAN PADA MYSQL

dokumen-dokumen yang mirip
Manajemen User Pada MySQL

Modul 2 Manajemen Database (User, Group, Database)

VIEW : Tabel Virtual VIEW 5/29/2017

4 HASIL DAN PEMBAHASAN

ADMINISTRASI USER. I. Konfigurasi User Root mysql> Show Databases; mysql> Use Mysql; mysql> Show Tables; mysql> Select user,host,password from user;

Modul 4. Mengoperasikan Bahasa Pemrograman Data Description (SQL) Memahami penggunaan username dan password pada MySQL

Manajemen Data dengan Database MySQL Supriyono, M.Kom

Kontrak Kuliah. Management User dan Akses Kontrol. Edi Sugiarto, S.Kom, M.Kom

Mahasiswa mengetahui & memahami mengenai DML, DCL di SQL. (Isi_Field_1, Isi_Field_2,, Isi_Field_N) ;

DATA CONTROL LANGUAGE : GRANT DAN REVOKE

PERTEMUAN 14 PENGELOLAAN KEAMANAN

MEMBERI AKSES USER PADA DATABASE MYSQL

Basis Data II. Pertemuan Ke-8 (Views & Users Authorisation) Noor Ifada S1 Teknik Informatika - Unijoyo 1

BAB 11 SECURITY (KEAMANAN)

By Imana M alia Malia Kondou 1

BAB II PEMBUATAN DAN MANAJEMEN TABLE

Konsep Sistem Informasi B. BAB 2 - SQL Overview

Oracle Academic Initiative

PERTEMUAN 14 MENGONTROL AKSES USER

KEAMANAN USER DATABASE

[PRAKTIKUM BASIS DATA TERDISTRIBUSI D3 TI UNS]

Tutorial Database Oracle Chapter2 Pembuatan User dan Kontrol Hak Akses

BAB XIV ADMINISTRASI MYSQL

PEMROGRAMAN WEB 2 DATABASE,MYSQL. Rio andriyat krisdiawan, m.kom

Pemrograman Web Lanjut 2017

MySQL AL AZHAR COMPUTER CLUB

SMK-TI TRAINING AND CERTIFICATION. Modul 4. ADMINISTRASI MySQL. Team Training SMK TI 55

MENGGUNAKAN ADMINISTRASI DAN KEAMANAN DI MYSQL

SECURITY SYSTEM BASIS DATA

Mudafiq Riyan Pratama Pendahuluan. Lisensi Dokumen:

LAPORAN TUGAS BASIS DATA I

Pemrograman Web. Koneksi dan Manipulasi Basis Data. 7 Adam Hendra Brata

Tahap Instalasi PostgreSQL di Windows

PENGAMANAN BASIS DATA. Sistem Keamanan Teknologi Informasi

Praktikum 2 Mata Kuliah : Sistem Pengolahan Basis Data Dosen : Nandang Hermanto

Pemrograman Web. Koneksi dan Manipulasi Basis Data. Adam Hendra Brata

MySQL J A M K E T I G A

MYSQL uroot hserver -ptrigunadharma

( Dari Ms-DOS windows, diasumsikan mysql client berada pada direktori tersebut.) mysql ( dari Linux). mysql --help

Mengapa masalah keamanan basis data menjadi penting? Kemampuan menyediakan informasi dengan cepat dan akurat, merupakan kebutuhan dalam

MODUL PRAKTIKUM BASIS DATA TEKNIK INFORMATIKA UIN SUNAN KALIJAGA YOGYAKARTA 2011 PENGENALAN DATABASE MYSQL

Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle.

Hendra Setiawan ( )

Perintah - Perintah Dasar Pada MySQL

Replikasi Database dengan SSL (Secure Socket Assalamualaikum Warahmatullahi Wabarakatu

SISTEM BASIS DATA. Oleh : Devie Rosa Anamisa

Mudafiq Riyan Pratama

Database Systems: Lab. Actvity 1: Database Design. Merancang Database. Merancang Database. Tipe Tabel MySQL.

Kontrak Kuliah. Pengantar Mysql. Edi Sugiarto, S.Kom, M.Kom

INTEGRITAS DAN KEAMANAN BASIS DATA. Alif Finandhita, S.Kom, M.T

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

LAPORAN PRAKTIKUM 2 BASIS DATA

WEB DINAMIS 1 MANAJEMEN DATABASE MYSQL. Agustina Purwatiningsih., S.Kom

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

Data Manipulation Language (DML) & Data Control Language (DCL) pada Database

Pemrograman Web. Koneksi dan Manipulasi Basis Data. 7 Adam Hendra Brata

SISTEM BASIS DATA 1. WAHYU PRATAMA, S.Kom., MMSI.

Konsep Dasar Administrasi Oracle : User Management. Tools yang hebat akan menjadi tidak berguna karena tidak tahu cara menggunakannya

PHP & MYSQL. Universitas Komputer Indonesia 2004 Taryana. S Login ke dalam Linux Contoh :

BAB I PENDAHULUAN. Perkembangan teknologi telah berkembang dengan sangat. pesat dan banyak terdapat layanan jasa informasi sampai penjualan

Gambar 4.8 Topologi replikasi basis data. Gambar 4.9 Konfigurasi IP pada master dan slave

INSTALASI ORACLE XE & ADMINISTRASI USER

Pemrograman Basis Data dan SQL

Ms. SQL Server mengimplementasikan database dengan menyimpan 2 struktur, yaitu :

Database Management System. Program yang memungkinkan item-item dalam suatu database disusun, diolah dan diperbaharui

MODUL II. Instalasi OracleXE Dan SQL

STRUCTURE QUERY LANGUAGE (SQL)

Implementasi ( Implementation Kebijakan (Policy) Pengujian HASIL DAN PEMBAHASAN Spesifikasi ( Specification Perancangan ( Design

PHP + MySQL M. RUDYANTO ARIEF, MT

MODUL IV DATA DEFINITION LANGUAGE (DDL)

Tutorial Singkat MySQL Menggunakan AppServ versi for Windows

DATABASE SQL SERVER. Database SQL Server Halaman 1

PERINTAH DASAR MySQL

PENGEMBANGAN APLIKASI SISTEM PENGATURAN BASIS DATA SECARA ONLINE. Agustinus Noertjahyana, Rendy Pangestu dan Dwi Budiman

Seri 01 : Belajar Database MySQL

Menampilkan Data/Tabel MySQL di Ms.Access

Database Security BY NUR HIDAYA BUKHARI PRODI TEKNIK INFORMATIKA DAN KOMPUTER UNIVERSITAS NEGERI MAKASSAR 2012

Annisa Cahyaningtyas

BAB 2 LANDASAN TEORI

Praktikum USER, PRIVILEGE DAN ROLE. Tujuan :

SQL. Pemrograman Web II. Ganjil

Database. Danu Wira Pangestu 1. Mengenal Database. Lisensi Dokumen:

Pengenalan Database Management System MySQL. Pokok Bahasan: Pengenalan DataBase Pembangunan database berbasis Client-Server Dasar-Dasar MySQL

Pertemuan 10. Bahasa Query Terapan

TASK 5 NETWORK SECURITY. Crack Hash User Password menggunakan John The Ripper pada Kali Linux

Modul 3. Oleh : Mohammad Sholikin. 1

Konsep Dasar Basis Data. Oleh: Harnan Malik Abdullah, ST., MSc. Program Pendidikan Vokasi Universitas Brawijaya 2017


BAB III ANALISIS MASALAH

DASAR-DASAR SQL SERVER 2005

BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

Agenda SQL. Pemakai SQL. Kemampuan SQL 02/12/2010 STRUCTURED QUERY LANGUAGE (SQL) Structured Query Language (SQL) (Pert. 9)

Konsep Dasar. Relatsional dan RDBMS User dan Schema Database Membuat Tabel dan Mendefinisikan Constraint Input Data ke dalam Tabel

Macam - Macam Perintah Pada SQL

Untuk mengakses MySQL dengan mode text dari Console (Command Prompt = Microsoft Windows), dapat dilakukan dengan cara : 1.

MODUL I PENGENALAN MYSQL

PERANCANGAN DAN IMPLEMENTASI BASIS DATA MENGGUNAKAN DB Designer PERANCANGAN DAN IMPLEMENTASI BASIS DATA MENGGUNAKAN MYSQL

Pemrograman Web 1. Akademi Manajemen Informatika dan Komputer AMIK Royal Kisaran. Modul 2 Revisi 2. Tahun Akademik 2012/2013

Contoh Aplika Aplik si a VB dengan Database Oracle 1

Transkripsi:

SISTEM KEAMANAN PADA MYSQL Untuk keamanan pada MySQL, kita harus mengatur hak akses (privilage) dari setiap user karena tidak semua user dibolehkan untuk mengakses data yang ada. Cara kerja sistem privilege : Sistem privilege MySQL memastikan bahwa user dapat melakukan hanya hal-hal yang diperbolehkan untuk mereka. Ketika anda connect ke server MySQL, identitas anda ditentukan oleh host tempat anda melakukan koneksi dan username yang anda ingin gunakan. Sistem memberi privilege sesuai dengan identitas anda dan apa yang ingin ada lakukan. MySQL mempertimbangkan baik hostname dan username dalam mengidentifikasi karena mungkin ada alasan untuk menganggap bahwa username yang diberikan adalah milik orang yang sama dimanapun di Internet. Sebagai contoh, user bill yang connect dari whitehouse.gov tidak harus orang yang sama dengan user bill yang connect dari microsoft.com. MySQL menangani hal ini dengan mengijinkan anda untuk menentukan user dari host yang berbeda yang mungkin namanya sama : anda dapat memberi bill sebuah himpunan privilege untuk koneksi dari whitehouse.gov, dan himpunan privilege yang lain untuk koneksi dari microsoft.com. Kendali akses MySQL melibatkan dua tingkat: Tingkat 1: server mengecek apakah anda diijinkan untuk connect ke server. Tingkat 2: Dianggap anda dapat connect, server mengecek tiap permintaan yang anda jalankan untuk melihat apakah privilege anda cukup untuk menjalankannya. Contohnya, jika anda mencoba untuk memilih baris dari tabel dalam database atau menghapus sebuah tabel dari database, server memastikan bahwa anda memiliki privilege select untuk tabel tersebut atau privilege drop untuk database. Dalam database mysql terdapat lima buah tabel yang dapat digunakan untuk mengatur user dan izin akses masing-masing user-user privileges Yaitu : user, db, host, tables_priv dan columns_priv. Kelima tabel ini disebut grant tables. Fungsi dari kelima tabel tersebut : a) User : Berisi data user yang mendapatkan izin akses MySQL, asal koneksi dan izin akses kepada user Tingkatan akses : Global b) Db :Mengatur database apa saja yang dapat diakses oleh seorang user dan jenis izin aksesnya Tingkatan akses : Database c) Host : Mengatur asal host yang diperkenankan bagi user untuk mengakses MySQL, jika lebih dari satu host. Tingkatan akses : Database d) tables_priv : Mengatur tabel apa saja yang dapat diakses oleh seorang user dan jenis izin aksesnya Tingkatan akses : Tabel e) columns_priv : Mengatur kolom (field) apa saja yang dapat diakses oleh seorang user dan jenis izin aksesnya Tingkatan akses : Kolom field. Jenis Izin Akses User - User Privileges Izin akses bagi user terdirli dari tiga bagian, yaitu : 1. Tingkatan akses user biasa Mencakup izin akses kedalam database atau kolom, yaitu : A. ALTER B. CRETATE C. DELETE D. DROP

E. INDEX F. INSERT G. SELECT H. UPDATE I. REFERENCES 2. Tingkatan akses administrator - Global administrative Hanya digunakan oleh user setingkat root atau administrator dan tidak diberikan kepada user biasa, yaitu : A. FILE B. PROCESS C. RELOAD D. SHUTDOWN E. CREATE TEMPORARY TABLE F. EXCUTE G. LOCK TABLES H. REPLICATION CLIENT I. REPLICATION SLAVE J. SHOW DATABASES K. SUPER 3. Tingkatan Akses khusus Special privileges Dapat diterapkan pada setiap user dengan izin akses sebagai berikut : A. ALL B. USAGE Memberikan Password Untuk Root Dapat dilakukan dengan perintah Update update user set password:password( xxxxxxxxxx ) where user= root ; Lanjutkan dengan perintah FLUSH flush privileges Fungsl flush : Mysql membaca grant tables hanya satu kali pada saat server pertama kali dijalankan, perintah flush akan memerintahkan kepada sistem untuk membaca ulang kelima grant tables tanpa harus merestart server mysql. Perintah GRANT Grant merupakan perintah untuk memberikan hak izin akses bagi user di MySQL agar dapat mengakses database, tabel dan kolom. Selain itu juga dapat menambahkan user baru dengan perintah Grant ini. Ada hal yang harus diperhatikan jika melakukan perubahan izin akses pada user MySQL yang masih aktif bekerja tidak langsung bisa menerapkan perubahan meski sudah melakukan flush privileges. Konfigurasi ini berlaku ketika user sudah menutup koneksi kemudian melakukan koneksi kembali. Izin akses penuh ini digunakan untuk mengakses seluruh database dalam server. Bentuk umum : GRANT jenis_akses (nama_kolom) ON nama_database TO nama_user IDENTIFIED BY nama_password

[WITH GRANT pilihan_akses] Perintah diatas akan memberikan izin akses penuh setara dengan root. Sebaiknya hal ini tidak boleh dilakukan.option Identified By nama password akan menerapkan user tersebut agar tetap memasukkan password saat mengakses database. Jika anda tidak memberikan option password maka user tersebut dapat mengakses database tanpa password. Penyertaan With Grand Option akan memberikan hak penuh pada user sehingga user tersebut juga mampu melakukan perintah Grant tertentu pada user lainnya. Namun terdapat kekurangan ketika kita sebelumnya tidak memilih database MySQL maka server akan mengabaikan akses Reload, Shutdown, Process, File dan Grant. Perintah REVOKE Revoke merupakan kebalikan dari perintah grant yaitu menghapus atau mencabut kembali izin akses user MySQL yang sebelumnya telah diberikan. Tingkat pilihan yang dapat digunakan juga sama dengan perintah grant sehingga semua izin akses dengan grant dapat dicabut kembali. Bentuk umum : REVOKE jenis_akses ON nama_database FROM nama_user Perintah diatas membuat salah satu user tidak mempunyai izin akses lagi. Meski sudah dicabut aksesnya user tersebut masih dapat login ke database MySQL tapi tidak perlu khawatir karena user tersebut tidak bisa berbuat apa-apa lagi. Menghapus Akses Database mysql> revoke all on nm_db.nm_tbl from nm_user@localhost identified by nm_passwd ; Perintah diatas izin akses user pada tabel tertentu telah dicabut sehingga tidak bisa mengakses kembali. Menghapus Akses Kolom mysql> revoke update(nama) on nm_db.nm_tbl from nm_user@localhost identified by nm_passwd ; Perintah diatas akan mencabut akses untuk kolom yang telah ditentukan sebelumnya. SISTEM KEAMANAN PADA PostgreSQL PostgreSQL merupakan salah satu database yang memiliki kinerja yang sangat tinggi, karena telah didukung hampir berbagai platform dan didukung oleh banyak bahasa pemrograman. PostgreSQL juga memiliki dukungan standar SQL92, SQL99, dan SQL2003 yang digunakan untuk standar bahasa yang digunakan. Oleh karena itu, PostgreSQL juga memilki sebuah fitur yang berguna untuk menangani dalam hal keamanan data. Adapun keamanan yang dimiliki untuk Keamanan PostgreSQL mulai dari Keamanan Saat Menjalankan PostgreSQL, User, Password dan Hak Akses dalam PostgreSQL, File pg_hba.conf Data Encryption: Pada Server Database PostgreSQL, memiliki suatu fitur kriptografi yang hanya terbatas pada MD5 dan fungsi enkripsi dan deskripsi. Fitur fitur yang biasanya terdapat pada kriptografi biasanya adalah: - MD5, yakni semacam cara mengenkripsi password yang disimpan di dalam storage yang melintasi suatu jaringan tertentu, sehingga mengakibatkan seorang admin tidak akan mengetahui password user yang telah disimpan.

- SHA1, semacam fitur hashing yang berguna untuk melindungi password diambil oleh user yang tidak berhak mengakses database. - SHA224/256/384/512 - Blowfish - ES/3DES/CAST5* - PGP Symmetric encryption - PGP Public-Key encryption, yakni suatu cara mengenkripsi data pada saat melintasi jaringan dengan menggunakan openssl, sehingga data tersebut berupa suatu password ataupun data hasil query. Otentikasi SSL adalah ketika sertifikat pertukaran client dan server yang telah ditandatangani oleh pihak ketiga yang telah dipertanyakan kredensial. Sambungan ditolak baik oleh server atau client bila tidak menerima sertifikat yang sah dari yang lain. Authentication : Otentikasi adalah merupakan sebuah proses dimana server backend dan postmaster memastikan bahwa pengguna meminta akses ke data. Semua user yang memakai PostgreSQL diperiksa melalui pg_user untuk memastikan bahwa mereka mempunyai hak akses. Namun, verifikasi identitas pengguna yang sebenarnya dilakukan dalam berbagai cara, yaitu: - Dari shell pengguna: Sebuah server backend dimulai dari user shell, user-id sebelum melakukan setuid ke user-id dari user postgres. User id-efektif digunakan sebagai dasar untuk cek kontrol akses. Tidak ada otentikasi lainnya yang dilakukan. - Dari jaringan: PostgreSQL dibangun sebagai database distribusi, akses ke port TCP Internet dari proses postmaster tersedia untuk setiap user. DBA mengkonfigurasi file pg_hba.conf dalam direktori PGDATA untuk menentukan sistem otentikasi apa yang akan digunakan sesuai dengan host pembuat koneksi. pg_hba.conf untuk penjelasan tentang sistem otentikasi yang tersedia. Tentu saja, otentikasi berbasis host tidak bisa dikelabui di Unix. Hal ini dimaksudkan agar jika penyusup bertekad ingin mengetahui informasi dari host. Isu-isu keamanan berada di luar lingkup Postgres. Privileges: Pada PostgreSQL juga memiliki hak akses (privilage) dari setiap user karena tidak semua user dibolehkan untuk mengatur akses data yang ada. PostgreSQL juga sama dengan MySQl yaitu menggunakan perintah Grant, selanjutnya untuk peran biasa, pengguna biasa dapat: - Mengakses database apabila cluster data menggunakan kebijakan otentikasi standar seperti yang dijelaskan dalam pg_hba.conf. - Membuat objek dalam skema PUBLIC dari setiap database pengguna dapat mengakses. - Buat sesi (sementara) obyek dalam sesi sementara, seperti skema - Alter parameter runtime. - Membuat fungsi yang ditetapkan pengguna. - Jalankan ditetapkan pengguna fungsi yang dibuat oleh pengguna lain dalam skema PUBLIK (selama mereka berinteraksi hanya dengan benda-benda yang pengguna telah diberikan hak untuk mengakses). Adapun perintah user biasa hanya bermaksud untuk melaksanakan perintah-perintah yang memanipulasi data menggunakan perintah INSERT, UPDATE, dan DELETE. Namun, tindakan ini dikarenakan skema UMUM terbuka untuk semua. Menjadikan para pengguna dapat menambahkan data yang ada di tabel, bahkan mungkinkan untuk memodifikasinya dengan menambahkan aturan dan dapat, menyimpan data dalam tabel yang terletak dalam skema PUBLIC, yang kemudian bisa di akses. PostgreSQL juga memiliki control dasar yang bernama control access-host, dimana pada setiap cliet diijinkan untuk mengakses suatu database dan client tersebut dapat mengotentikasikannya sendiri. Dimana setiap sistem database akan berisi sebuah file yang bernama pg_hba.conf yang akan di akses ole setiap client. Adapun metode otentikasi pada TCP/IP socket domain, yakni :

1. Unconditionally : yakni sambungan diperbolehkan. 2. Reject : sambungan ditolak tanpa syarat 3. Crypt : Client diminta untuk memasukkan password untuk memastikan, kalau cocok maka sambungan akan diperbolehkan. 4. Password : hampir sama dengan sebelumnya