Keamanan Database Oracle. By: Arif Basofii

dokumen-dokumen yang mirip
Mengontrol Database. By: Arif Basofi

Tutorial Database Oracle Chapter2 Pembuatan User dan Kontrol Hak Akses

Oracle Academic Initiative

PERTEMUAN 14 MENGONTROL AKSES USER

User Access MI2154 SQL LANJUT.

DATABASE ADMINISTRATOR

SISTEM KEAMANAN PADA MYSQL

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

Praktikum USER, PRIVILEGE DAN ROLE. Tujuan :

VIEW : Tabel Virtual VIEW 5/29/2017

Manajemen User Pada MySQL

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

PL / SQL. Arif Basofi

Administrasi User. Oleh: Arif Basofi

Mengelola Data. Oleh: Arif Basofi

Agus Pamujiono

By Imana M alia Malia Kondou 1

KONSEP DATABASE ORACLE BKPM 1

Oracle Net Services. By: Arif Basofi

KEAMANAN USER DATABASE

Modul Pembangunan Aplikasi Basis Data Lanjut 2014

Computer Science, University of Brawijaya. Putra Pandu Adikara, S.Kom. Trigger. Basis Data 2

DATABASE SQL SERVER. Database SQL Server Halaman 1

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

Bab 5. Database Trigger POKOK BAHASAN: TUJUAN BELAJAR: 5.1. PENDAHULUAN

Modul 2 Manajemen Database (User, Group, Database)

MODUL 1. Pembuatan tabel, pendefinisian constraint, export dan import PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

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

BAB II PEMBUATAN DAN MANAJEMEN TABLE

INSTALLATION CHECKING

INSTALASI ORACLE XE & ADMINISTRASI USER

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

CONSTRAINT clients_client_num_pk PRIMARY KEY (client_number));

Tahap Instalasi PostgreSQL di Windows

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

Manajemen Data dengan Database MySQL Supriyono, M.Kom

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

Administrasi Basis Data. Integritas Data. Yoannita

DATA CONTROL LANGUAGE : GRANT DAN REVOKE

Pengantar Teknologi. Informasi (Teori) Minggu ke-07. Basis Data. Oleh : Ibnu Utomo WM, M.Kom UNIVERSITAS DIAN NUSWANTORO FAKULTAS ILMU KOMPUTER

Konsep Sistem Informasi B. BAB 2 - SQL Overview

Pemrograman Web Lanjut 2017

Praktikum Basis Data 2. BAB 1 : Pendahuluan

Memonitor Performance. By: Arif Basofi

Struktur Penyimpanan. Oleh: Arif Basofi

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

MySQL J A M K E T I G A

Praktikum Basis Data 14 Structure Query Language 2

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

Step-step membuat database Oracle 10g

Praktikum MONITORING AND RESOLVING LOCK CONFLICTS. Tujuan :

Pemrograman Basis Data dan SQL

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

SECURITY SYSTEM BASIS DATA

Tahap-tahap menginstall ORACLE 10g

DASAR-DASAR SQL SERVER 2005

BAB 11 SECURITY (KEAMANAN)

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

Konsep Backup dan Recovery. By: Arif Basofi

Pertemuan DDL INDIKATOR. Modul Teori Database Aknela

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

BAB 2 Membuat dan Menjalankan Form dengan Single Block


Praktikum TRIGGER. Tujuan :

Schema Objects. MI2154 SQL LANJUT Dedy Rahman Wijaya, S.T., M.T., OCA

PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 2 PEMBUATAN DATABASE LINK (HOMOGENOUS SERVICE)

Selayang pandang ORACLE. Budi S

KONEKSI NETBEANS DENGAN DATABASE SQLITE

Obyek pada Oracle. Manajemen Obyek Basis Data dan Dictionary View. Obyek pada Oracle adalah segala hal yang bisa dibuat di Oracle, seperti:

PERTEMUAN 10 PEMBUATAN TABEL

LAPORAN PRAKTIKUM 2 BASIS DATA

PENGAMANAN SISTEM basis DAta

STRUCTURE QUERY LANGUAGE DDL & DML

MODUL 4 INTERNET PROGRAMMING DATABASE

ORACLE LABEL SECURITY PADA ORACLE DATABASE 10g

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

Menampilkan Data/Tabel MySQL di Ms.Access

1. Instalasi Oracle & Membuat Starter Database

Oracle Database11g Express Edition

Oracle Shared Servers. By: Arif Basofi

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

Keamanan Logik. Arsitektur Keamanan dan Sistem Administrator STMIK Amikom Purwokerto

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

SHARING FILE MENGGUNAKAN WINDOWS XP

BAB III TUGAS DAN TANGGUNG JAWAB ADMIN SERVER

SISTEM BASIS DATA. Oleh : Devie Rosa Anamisa

Manual Billing Aura v1.2

Oracle Database 11g Seri 2: Cara Instal dan Bekerja menggunakan Oracle Enterprise Manager

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

PERTEMUAN 14 PENGELOLAAN KEAMANAN

Oracle Academic Initiative

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

INTERNET PROGRAMMING DATABASE

Mudafiq Riyan Pratama

PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 3 DATABASE LINK DENGAN HETEROENOUS SERVICE

TUJUAN. Memahami Koneksi dan Pemrosesan Basis Data di Java Memahami JDBC Menggunakan MySQL pada program Java

Pertemuan 10. Bahasa Query Terapan

Pengaksesan database hanya dapat dilakukan dengan menggunakan jika seseorang telah mempunyai user account.

Pemrosesan data sebelum adanya basis data Perancangan sistemnya masih didasarkan pada kebutuhan individu pemakai, bukan kebutuhan sejumlah pemakai

Transkripsi:

Keamanan Database Oracle By: Arif Basofii

Topik Menerapkan keutamaan tentang hak akses Mengatur user yang ada Menerapkan fungsi keamanan standard password Mengaudit aktivitas database 11-2

Industry Security Requirements Security industri Oracle menerapkan: Legal: (dukungan lembaga luar) Sarbanes-Oxley Act (SOX) Health Information Portability and Accountability Act (HIPAA) California Breach Law UK Data Protection Act Auditing Menerapkan auditing dengan membedakan antara user biasa dan admin. (mana yg berhak/mana yg tidak) 11-3

Separation of Responsibilities User dengan privilege DBA harus terpercaya Tidak boleh adanya penyalahgunaan kepercayaan Adanya audit trails untuk mengecek hasil auditnya Tanggung jawab DBA harus di share (tidak terpusat pd 1 orang, tp beberapa DBA) Accounts tidak pernah di share. DBA dan system administrator harus orang yang berbeda. Memisahkan antara tanggung jawab operator dan DBA. 11-4

Database Security Ada 3 hal dalam keamana Database Oracle: 1. Membatasi akses ke data dan servis 2. Otentikasi users 3. Monitoring aktivitas yang mencurigakan 11-5

(1) Membatasi akses ke data dan servis: Principle of Least Privilege 1) Untuk membatasi akses ke data dan servis, dgn menerapkan penggunaan privilege yg paling minim/kecil. Artinya: setiap orang jangan diberikan privilege yg berlebihan, tp diberikan privilege secukupnya. Tindakan Prosedur: Install software yang dibutuhkan saja Aktifkan servis-servis yg dibutuhkan saja Berikan akses database dan OS pada orang-orang yg berhak Batasi akses ke account root atau administrator Batasi akses untuk penggunaan account SYSDBA dan SYSOPER Batasi akses user ke database objek tertentu yg berhubungan dgn pekerjaanya, jd jangan biarkan user dpt mengakses pada seluruh objek. 11-6

(1) Membatasi akses ke data dan servis: Applying the Principle of Least Privilege 2) Proteksi data dictionary: O7_DICTIONARY_ACCESSIBILITY=FALSE Bentuk data dictionary: table &view Yg bisa lihat table: sys (krn yg punya) Bagaimana jika sys memberikan hak agar dpt di-select org lain? (boleh tidak? Ex: privilege : select any table) Maka, perlu di proteksi by parameter. 3) Mencabut privileges yg tidak diperlukan dari PUBLIC: REVOKE EXECUTE ON UTL_SMTP, UTL_TCP, UTL_HTTP, UTL_FILE FROM PUBLIC; 4) Membatasi akses direktori oleh users. Jika memiliki objek direktori jangan sembarang memberikan grant read/write. 11-7

(1) Membatasi akses ke data dan servis: Applying the Principle of Least Privilege (con t) 5) Membatasi user dgn privilege administrative. 6) Membatasi remote database authentication: Otentifikasi ada 3: password, external, global Yang harus dipikir: external Agar user tidak bisa login by external, maka diset parameter. keluar di ujian, apa artinya : False? / True? REMOTE_OS_AUTHENT=FALSE TRUE : berarti tanpa password, Why? Krn diwakili saat login OS. (BAHAYA!) 11-8

(2) Otentikasi Users: Monitoring aktivitas yang Mencurigakan (Suspicious Activity) Otentikasi user menggunakan: global bagus. Monitoring atau auditing aktivitas user yang mencurigakan dengan melakukan: 1) Mandatory auditing paling ringan, jarang digunakan 2) Standard database auditing Pada level database 3) Value-based auditing menggunakan trigger PL/SQL 4) Fine-grained auditing (FGA) menggunakan package 5) DBA auditing bagaimana kita mengaudit DBA, terutama sysdba dan sysoper, yg bisa bekerja saat sistemnya / instance shutdown. 11-9

11-10 Standard Database Auditing (kadang disebut juga standar auditing)

Standard Database Auditing (kadang disebut juga standar auditing) con t 1 Untuk mengaktifkan standar database auditing, sudah disediakan oleh sistem Oracle. Dengan cara pengaktifkan melalui setting parameter pada file: audit_trail. Di versi 1, audit trail ada 3 demand (permintaan): none, OS, DB. Di versi 2, audit trail ada tambahan: XML, dll. Audit_trail adalah tempat penyimpanan hasil audit. Tempat penyimpanannya, bisa di:os, di dlm DB atau di file XML. 11-11

Standard Database Auditing (kadang disebut juga standar auditing) con t 2 Apa saja yang harus di audit, dapat di setting pada audit optionnya, lalu sistem akan melacak dalam server process. (ingat! saat user terkoneksi user dibuatkan server process) Jadi, ketika ada user yg melakukan aktivitas mencurigakan, maka langsung di audit, dan hasilnya pasti disimpan dalam audit_trail (penyimpanannya: OS, XML, DB) Tabel aslinya: AUD$ pada data dictionary : DBA_AUDIT_TRAIL 3 4 Jadi, siapa saja yg menghapus data didalam AUD$, akan selalu diaudit. Meskipun data dlm AUD$ dihapus, nama pelaku akan tetap muncul/tercatat. Setelah itu DBA dapat melihat hasil informasi auditnya. Dan tindakan selanjutnya me-maintain audit trail. 11-12

Enabling Auditing ALTER SYSTEM SET audit_trail= XML SCOPE=SPFILE; Untuk meng-enable: set di parameter file. Cari audit_trail dan set nilai. Restart database setelah modifikasi static initialization parameter. 11-13

Uniform Audit Trails Gunakan AUDIT_TRAIL untuk meng-enable database auditing Dari beberapa jenis audit, masing2 hasil audit akan di simpan pada audit_trail. Jenis audit FGA, yg paling kompleks: entry id, nomor instance, bahkan text perintah SQL-nya. Lalu untuk melihat audit trail-nya melalui DBA_AUDIT_TRAIL (table asli: aud$). Sedang yg FGA, dilihat melalui DBA_FGA_AUDIT_TRAIL. Bisa juga melihat pada DBA_COMMON_AUDIT_TRAIL. 11-14

Enterprise Manager Audit Page Setelah meng-enable auditing melalui parameter Selanjutnya audit option dibuat (apa yg harus diaudit) 11-15

Specifying Audit Options 1) SQL statement auditing: AUDIT table; Akan audit spt: create table, alter table Di audit selama 1 session, sampai logout 2) System-privilege auditing (nonfocused and focused): AUDIT select any table, create any trigger; AUDIT select any table BY hr BY SESSION; 3) Object-privilege auditing (nonfocused and focused): AUDIT ALL on hr.employees; AUDIT UPDATE,DELETE on hr.employees BY ACCESS; Setiap di akses selalu diaudit 11-16

Using and Maintaining Audit Information Disable audit options if you are not using them. 11-17

Value-Based Auditing Menggunakan trigger. Kelebihan trigger bisa mendapatkan: data sebelum dan sesudah berubah. Artinya: ketika melakukan auditing, kita bisa mendapatkan data sebelum berubah spt apa & data setelah berubah spt apa. Trigger akan dijalankan scr otomatis pd table. (misal. User melakukan perubahan table (update/delete) mk trigger akan jalan dan data dlm table data lama akan diambil bahkan dpt mengambil data baru) Didalam trigger ada recreate AS NEW & ALL (ALL utk ambil data lama/original, NEW mengambil data baru) Lalu disimpan dlm audit_trail (bukan pd db audit_trail), tp dibuat sendiri. Informasi apa yg disimpan? Tergantung programmer/yg buat trigger. Bahkan dgn trigger bisa mendapatkan: data sebelum & setelah berubah, IP address, terminal, s/w apa yg digunakan. 11-18

Fine-Grained Auditing Memonitor akses data Biasanya meng-audit ketika user melakukan operasi DML (SELECT, INSERT, UPDATE, DELETE, and MERGE) Bisa di-link utk audit table, view or per-masing 2 kolom. Bisa menjalankan procedure Utk menjalankannya menggunakan paket DBMS_FGA, disini memakai disebut policy (sbg nama auditnya). 11-19

FGA Policy Menentukan dahulu: Audit criteria Audit action Dibentuk dgn membuat: DBMS_FGA.ADD_POLICY Ke-duanya harus terpenuhi ADD_POLICY adalah procedure. Objek skema: HR (yg diaudit), dst. Handle skema & module: menyatakan lokasi procedure procedurenya: log_emps_salary, adanya didlm skema secure Statement_type yg akan diaudit, bisa lebih dari 1 tp tanpa koma (,). Select * from employees; Di-audit tidak? 11-20

Audited DML Statement: Considerations Meng-audit perintah DML Me-Records yg ada didlm kolom dan kondisi. DELETE akan diaudit berdasar kolom MERGE diaudit dlm hubungannya dgn INSERT dan UPDATE. 11-21

FGA Guidelines (wajib dibaca) Untuk audit semua statement, gunakan kondisi null. Nama policy harus unik Table/view yg diaudit harus sudah ada ketika membuat policy. Jika kondisi audit tdk valid muncul error ORA-28112. Jika kolom yg diaudit tdk ada, maka tdk ada baris yg diaudit. Jika event handler tdk ada, mk tdk ada error yg dikembalikan dan audit record tetap dibuat. 11-22

DBA Auditing DBA Auditing: sebenarnya meng-audit user SYSDBA atau SYSOPER yg bekerja ketika instance-nya down, dan bisa koneksi saat database closed. Untuk Audit_trail harus disimpan diluar database (minimal OS/XML). Utk mengaktifkan auditing SYSDBA or SYSOPER, gunakan audit_sys_operations dengan men-set parameter menjadi: TRUE. Hasil audit trail, jk disimpan dlm OS (diluar db) file disimpan dlm audit_file_dest. 11-23

Maintaining the Audit Trail Audit trail harus dimaintain, karena makin lama makin besar. Berikut cara terbaik: Review dan simpan record 2 yg lama. Mencegah problem storage. Menghindari kehilangan record data. 11-24

Applying Security Patches Use the Critical Patch Update process. Apply all security patches and workarounds. Contact the Oracle security products team. 11-25

Ringkasan Pada bab ini, Anda seharusnya telah mempelajari bagaimana cara untuk: Menerapkan prinsip-prinsip hak akses Manajemen user account default Menerapkan standard keamanan standard Mengaudit aktivitas database 11-26

Latihan 1 Tugas : Mencegah penggunaan password yang sederhana Kemampuan account untuk mengunci dalam waktu 10 menit ketika terjadi kesalahan login Membebaskan aplikasi login server dari perubahan password Kegagalan audit untuk koneksi ke database 11-27

Latihan 2 Tugas : Audit SELECT pada kolom SALARY pada tabel EMPLOYEES Audit perubahan pada kolom SALARY dari tabel EMPLOYEES: Nilai lama Nilai baru User yang membuat perubahan Lokasi mana yang telah diubah dari yang dibuat 11-28