MAKALAH
“Keamanan Jaringan – Keamanan Basis Data”
Oleh :
KELOMPOK 3
SIGIT GABRIEL FABIO DATI (152109)
NUR ASNITA EKA MUSRIFAH. T (152111)
MUH. IRCHAN ALFAYET ( )
YUSNI YUNIARSI (152184)
ANDRE HERMAWAN TIALEN (152191)
ANDRI FRANS (152197)
ANDI MASDAHRUL KHAIR (152207)
ASRIADI ( )
MUH. IKHSAN (152348)
i
KATA PENGANTAR
Segala puji dan syukur ke hadirat Allah SWT , karena berkat rahmat dan
karunia –Nya kami dapat menyelesaikan tugas makalah ini.
Walaupun banyak kesulitan dalam hal penyelesaian tugas ini, namun berkat
bantuan pihak lain tugas inipun dapat diselesaikan tepat pada waktunya.
Akhir kata, hanya kepada Tuhan jualah segalanya dikembalikan dan kami
sebagai penulis sadari bahwa makalah ini masih jauh dari sempurna, disebabkan
karena berbagai keterbatasan yang kami miliki. Untuk itu kami mengharapkan
kritik dan saran yang bersifat membangun untuk menjadi perbaikan di masa yang
akan datang.
Kelompok 3
ii
DAFTAR ISI
iii
BAB I
PENDAHULUAN
1. Latar Belakang
Pemanfaatan aplikasi komputer dalam suatu perusahaan atau organisasi
dewasa ini sudah merupakan suatu kebutuhan. Hampir di semua bidang
pekerjaan menggunakan alat bantu berupa aplikasi komputer. Dalam satu
perusahaan misalnya, aplikasi komputer sering dibuat sendiri oleh team
komputer dari perusahaan tersebut.
Dengan berkembangnya pengolahan data, tidak jarang satu aplikasi
menggunakan database yang sama untuk aplikasi yang lainnya. Jalan yang bisa
ditempuh adalah dengan cara mengkopi database yang dibutuhkan tersebut
dari satu aplikasi ke aplikasi yang lain. Hal ini merupakan jalan pintas, agar
aplikasi yang membutuhkan data tadi bisa dioperasikan. Begitu seterusnya
sehingga kegiatan kopi database merupakan suatu kebutuhan dari aplikasi
tersebut.
Melihat kondisi diatas, maka keamanan data menjadi suatu hal yang sangat
penting. Karena bukan hal yang mustahil bahwa data yang dipertukarkan akan
disalahgunakan oleh pihak-pihak yang tidak bertanggung jawab untuk
memenuhi kebutuhan pribadi mereka. Untuk itu perlu teknik khusus untuk
mengamankan database yang dipertukarkan tersebut.
2. Rumusan Masalah
1. Apa pengertian basis data (database) ?
2. Bagaimana keamanan database ?
3. Tujuan Penulisan
1. Mengetahui apa dan bagaimana basis data tersebut.
2. Mengetahui keamanan database.
1
BAB II
PEMBAHASAN
2
c. Penghapusan data oleh pihak yang tidak berwenang.
1.2. Tingkatan Pada Keamanan Database :
1. Fisikal lokasi-lokasi dimana terdapat sistem komputer haruslah aman
secara fisik terhadap serangan perusak.
2. Manusia wewenang pemakai harus dilakukan dengan berhati-hati untuk
mengurangi kemungkinan adanya manipulasi oleh pemakai yang
berwenang
3. Sistem Operasi Kelemahan pada SO ini memungkinkan pengaksesan
data oleh pihak tak berwenang, karena hampir seluruh jaringan sistem
database menggunakan akses jarak jauh.
4. Sistem Database Pengaturan hak pemakai yang baik.
2. Keamanan Database
Keamanan merupakan suatu proteksi terhadap pengerusakan data dan
pemakaian data oleh pemakai yang tidak punya kewenangan.
Untuk menjaga keamanan Basis Data dapat dengan: (1) Penentuan
perangkat lunak database server yang handal (2) Pemberian otoritas kepada user
mana saja yang berhak mengakses, serta memanipulasi data-data yang ada.
2.1. Otorisasi :
Pemberian Wewenang atau hak istimewa (priviledge) untuk mengakses
sistem atau objek database
Kendali otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak
dengan 2 fungsi :
Mengendalikan sistem atau obyek yang dapat diakses
Mengendalikan bagaimana pengguna menggunakannya
Sistem administrasi yang bertanggungjawab untuk memberikan hak akses
dengan membuat account pengguna.
2.2. Tabel View :
Merupakan metode pembatasan bagi pengguna untuk mendapatkan model
database yang sesuai dengan kebutuhan perorangan. Metode ini dapat
menyembunyikan data yang tidak digunakan atau tidak perlu dilihat oleh
pengguna.
3
Contoh pada Database relasional,untuk pengamanan dilakukan beberapa
level:
1. Relasi pengguna diperbolehkan atau tidak diperbolehkan mengakses
langsung suatu relasi
2. View pengguna diperbolehkan atau tidak diperbolehkan mengakses
data yang terapat pada view
3. Read Authorization pengguna diperbolehkan membaca data, tetapi
tidak dapat memodifikasi.
4. Insert Authorization pengguna diperbolehkan menambah data baru,
tetapi tidak dapat memodifikasi data yang sudah ada.
5. Update Authorization pengguna diperbolehkan memodifikasi data,
tetapi tidak dapat menghapus data.
6. Delete Authorization pengguna diperbolehkan menghapus data.
Untuk Modifikasi data terdapat otorisasi tambahan :
1. Index Authorization pengguna diperbolehkan membuat dan
menghapus index data.
2. Resource Authorization pengguna diperbolehkan membuat relasi-
relasi baru.
3. Alteration Authorization pengguna diperbolehkan
menambah/menghapus atribut suatu relasi.
4. Drop Authorization pengguna diperbolehkan menghapus relasi yang
sudah ada.
Contoh perintah menggunakan SQL :
GRANT : memberikan wewenang kepada pemakai
Contoh :
4
Syntax : REVOKE <priviledge list> ON <nama relasi/view> FROM <pemakai>
Contoh :
Jenis Pemulihan :
5
1. Pemulihan terhadap kegagalan transaksi : Kesatuan prosedur alam
program yang dapat mengubah / memperbarui data pada sejumlah tabel.
2. Pemulihan terhadap kegagalan media : Pemulihan karena kegagalan media
dengan cara mengambil atau memuat kembali salinan basis data (backup)
3. Pemulihan terhadap kegagalan sistem : Karena gangguan sistem, hang,
listrik terputus alirannya.
Teknik Pemulihan :
6
2.4. Kesatuan data dan Enkripsi :
Enkripsi : keamanan data
Integritas :metode pemeriksaan dan validasi data (metode integrity
constrain), yaitu berisi aturan-aturan atau batasan-batasan untuk tujuan
terlaksananya integritas data.
Konkuren : mekanisme untuk menjamin bahwa transaksi yang konkuren
pada database multi user tidak saling menganggu operasinya masing-
masing. Adanya penjadwalan proses yang akurat (time stamping).
2.5. Tujuan Keamanan Basis Data
Secrecy/Confidentiality: Informasi tidak boleh diungkapkan kepada
pengguna yang tidak sah. Sebagai contoh, mahasiswa seharusnya tidak
diperbolehkan untuk memeriksa nilai siswa lainnya.
Integrity: Hanya pengguna yang berwenang harus diizinkan untuk
memodifikasi data. Sebagai contoh, siswa mungkin diperbolehkan untuk
melihat nilai mereka, namun tidak diperbolehkan (jelas) untuk
memodifikasi mereka.
Availability: Pengguna yang terdaftar tidak boleh ditolak akses. Sebagai
contoh, seorang instruktur yang ingin mengubah kelas harus diizinkan
untuk melakukannya
2.6. Ancaman terhadap Keamanan Database
Interuption: Sumber daya basis data dirusak atau menjadi tidak dapat
dipakai (ancaman terhadap availability).
Interception: Pemakai atau bagian yang tidak berhak mengakses sumber
daya basis data (ancaman secrecy).
Modification: Pemakai atau bagian yang tidak berhak tidak hanya
mengakses tapi juga merusak sumber daya sistem komputer (ancaman
integrity).
Fabrication: Pemakai atau bagian yang tidak berhak menyisipkan objek
palsu kedalam sistem (ancaman integrity).
7
3. Studi Kasus Keamanan Database
3.1. Pengertian Stored Prosedure
Stored Prosedure adalah program yang disimpan dalam database seperti
halnya data. Hal ini sebenarnya cukup tidak umum, karena kita
mengharapkan yang disimpan dalam database adalah data bukan program.
Dengan adanya Store Procedure, maka program SQL yang telah kita buat :
a. Dapat digunakan kapanpun
Seperti halnya pembuatan prosedur pada C++ / Pascal / Java atau
pemrograman yang lain, apabila pembuatan program bersifat modular
(dibuat kecil untuk setiap maksud/tujuan), akan lebih baik apabila
pemrograman tesebut menggunakan banyak prosedur. Dengan dibuat
terpisah, kapanpun diinginkan, hanya tinggal memanggil program
tersebut.
b. Lebih cepat dan efisien
Untuk program yang besar, pembuatan program Server Side, terasa lebih
mudah dibandingkan Client Side. Dengan Server Side, program lebih
bersifat Netral terhadap semua aplikasi. Disisi Programer, ia tidak perlu
mengetahui terlalu mendalam terhadap suatu program aplikasi seperti
VB, Delphi, Java , C++ Builder, PHP, ASP, J2ME, WAP, SMS dsb.
karena tugas–tugas tersebut sebenarnya dapat dilakukan oleh Server
(dalam hal ini SQL Server) sedangkan aplikasi lainnyahanya untuk User
interface/tampilan belaka, yang hanya berfungsi untuk menampilkan
data, memasukkan data, serta memberikan parameter-parameter yang
dibutuhkan oleh server untuk menghapus , mengubah, skeduling, backup
dan sebagainya. Sedangkan program yang sesungguhnya berada pada
Server tersebut.
c. Mudah dibuat dan dirawat karena kecil tapi ‘Power Full’
8
Kinerja
1. Execution plan pada stored procedure sudah dibuat pada saat procedure itu
dikompilasi jadi hanya terjadi 1 kali. Berbeda dengan adhoc query terutama
dengan query tanpa parameter (tanpa simbol @). Query adhoc dikompilasi
(dibuat parse tree dan query tree) secara realtime, terutama jika query
tersebut tidak ada di procedure cache.
2. Stored procedure dapat dipin(ditandai) di memori. Artinya sebuah Stored
procedure dapat dipaksa untuk tetap berada di memori fisik meskipun dbms
membutuhkan memori tambahan. Akibatnya operasi swaping in &
swapping out Stored procedure dapat diminimalkan terutama untuk Stored
procedure yang sering dipakai. Sebagai catatan dengan harga memori yang
makin murah (relatif dalam US $) maka opsi pin ini semakin atraktif
3. Stored procedure dapat digunakan untuk membatasi jumlah record yang
dikirim ke client. Hal ini dapat mengurangi beban jaringan. Hal ini akan
sangat mempercepat karena bottle neck utama di applikasi database terletak
di jaringan.
4. Stored procedure terletak di DBMS sehingga untuk proses yang
membutuhkan data banyak, round trip untuk permintaan data sampai data
itu diterima dapat ditiadakan.
Transparansi dan scolabilitas
Kemanan
Stored procedure mencegah terjadinya SQL injection. SQL injenction
dalah sebuah aksi hacking yang dilakukan di aplikasi client dengan cara
memodifikasi perintah SQL yang ada di memori aplikasi client.
Statement sql bukanlah bahasa pemrograman seperti pascal,Delphi atau
visual basic. Statemen sql biasanya digunakan bersama sama dengan bahasa
pemrograman lain pada saat mengakses database. Untuk mencocokan user
yang login, maka digunakan statemen sql yang kurang lebih sebagai berikut:
Select * from admin where username = input_username
9
Sebagai contoh apabila penulis sebagai administrator dengan username
= administrator dan password = admin bermaksud login maka sql statemennya
sebagai berikut
Select * from admin where username = ‘administrator’ and
Password = ‘admin’
Password = ‘’ or ‘’=’’
10
procedures, sebaiknya menggunakan SQL statement dengan parameter. Jangan
pernah membangun SQL statement dengan langsung memasukkan nilai input
dalam SQL command. Pastikan aplikasi memberikan hak akses ke database
seperlunya saja.
Hak akses stored procedure terhadap data di database bergantung pada
hak akses pembuatnya bukan bergantung pada hak akses pengguna stored
procedure. Hal ini memungkinkan user applikasi untuk tidak diberi hak akses
terhadap semua tabel yang ada namun diberi hak akses untuk menjalankan
stored procedure. Akibat penggunaan mekanisme ini adalah enforcement
terhadap aktifitas user (select, inser, update, delete) tersentralisasi bahkan
untuk applikasi seperti query analyzer tidak akan dapat digunakan untuk
mengakses data secara tidak sah.
Penggunaan stored procedure mendukung penggunaan application
role. Application role adalah sebuah role di SQL server 2k dimana role ini
tidak memiliki pengguna. Mekanisme ini merupakan mekanisme standard
yang disarankan oleh Microsoft untuk membuat applikasi database berbasis
SQL server 2k. Keunggulan penggunaan application role ini adalah dengan
menggunakannya maka hanya app kita yang dapat mengakses database
applikasi lain tidak dapat kecuali user memakai login yang berrole sysadmin.
Perlindungan hak cipta. stored procedure dapat dienkript sehingga
proses tidak dapat dibajak orang dengan mudah. Memungkinkan manual audit
yang sangat baik. Manual audit didefinisikan sebagai audit dimana mekanisme
pencatatan log dilakukan oleh applikasi bukan dbms. Memang manual audit
dapat dilakukan tanpa penggunaan stored procedure namun manual audit dapat
dibypass misalkan dengan menggunakan query analyzer. Dengan stored
procedure dan fasilitas application role maka mekanisme manual audit dapat
dienforce setiap saat.
Fleksibilitas terhadap perubahan proses bisnis
Stored procedure tersimpan di server. Modifikasi mudah dilakukan dan
dengan cepat.
11
Ekonomi
Stored procedure menyediakan 1 pintu masuk untuk proses data entri.
Applikasi client tinggal mengaksesnnya. Stored procedure dibuat 1 kali dan
dapat diakses oleh applikasi client yang berbeda-beda. Efesien dan murah
12
BAB III
PENUTUP
1. Kesimpulan
Basis data adalah suatu koleksi data komputer yang terintegrasi,
diorganisasikan dan disimpan dengan suatu cara yang memudahkan
pengambilan kembali. Integrasi logis dari record-record dalam banyak file ini
disebut konsep database yang bertujuan untuk meminimumkan pengulangan
data (duplikasi data artinya data yang sama disimpan dalam beberapa file) dan
mencapai independensi data (kemampuan untuk membuat perubahan dalam
struktur data tanpa membuat perubahan pada program yang memproses data).
Keamanan merupakan suatu proteksi terhadap pengerusakan data dan
pemakaian data oleh pemakai yang tidak punya kewenangan.
Untuk menjaga keamanan Basis Data dapat dengan: (1) Penentuan
perangkat lunak database server yang handal (2) Pemberian otoritas kepada
user mana saja yang berhak mengakses, serta memanipulasi data-data yang
ada.
2. Saran
Untuk teman-teman maupun orang-orang yang membaca makalah kami,
sebaiknya jika mempunyai Basis Data (Database) harap berikan pengaman
agar tak dapat di otak-atik olah orang-orang yang tidak bertanggung jawab.
13
DAFTAR PUSTAKA
http://docs.google.com/viewer?a=v&q=cache:KAfpJxKqtp4J:mapbigi.files.wordp
ress.com/2009/08/keamanan-data-dan-metoda-
enkripsi.doc+metoda+keamanan+data&hl=id&gl=id&pid=bl&srcid=ADGEESiL
ZRxyyrKXMjdgnT415O7XQwrcbUVKWIe91iEgAw8vgKSn_dPqiRsAmlRzvPw
MHYleFxUy_It3S4bGgbOV9fm0BzR7cnAOswAhmVJYzgRJz2uvH3v8xlDx4X
VvmNZJz5_wb41&sig=AHIEtbQn4UAHvIKvmF90hRv6r-cy-gknRQ
http://swelandiah.staff.gunadarma.ac.id/Downloads
http://blog.uad.ac.id/maratul/category/basis-data/
14