Tuesday, April 23, 2013

Makalah Database Security

BAB 1
PENDAHULUAN
    A.    Latar Belakang
Saat ini database telah dipergunakan dengan aplikasi di Internet/Intranet ataupun aplikasi yang lainnya. Informasi dari database tersebut sudah sangat dibutuhkan terutama bagi organisasi/perusahaan yang mempunyai banyak customer/pelanggan, dimana perusahaan akan berlomba untuk menyediakan informasi tentang segala kegiatan yang berkenaan dengan organisasi/perusahaan tersebut terhadap customer/pelanggannya.
Belakangan ini, permasalahan keamanan database ataupun keamanan yang tidak terkait dengan database tengah membanjiri media dan Internet. Pertama dengan Worm Slammer dan kejahatan paling akhir yang mengakses di atas 8 juta nomor kartu kredit. Ataupun berbagai permasalahan yang terkait dengan database terutama yang berkenaan dengan aplikasi di internet yang menggunakan database untuk melakukan transaksinya.

     B.   Tujuan Penulisan
Adapun tujuan dari penulisan makalah ini antara lain :
1)      Untuk mengetahui struktur keamanan dari database
2)      Untuk mengetahui tingkatan keamanan database
3)      Untuk mengetahui jenis-jenis dari penyalahgunaan database
4)      Untuk mengetahui tentang pentingnya Backup Data dan Recovery untuk keamanan database

     C.     Ruang Lingkup Pembahasan
Adapun ruang lingkup dari pembahasan pada makalah ini adalah :
1)       Struktur Keamanan Database
2)      Tingkatan Keamanan Database
3)      Jenis Penyalahgunaan Database
4)      Backup Data dan Recovery


     D.    Metode Penelitian
Metode yang digunakan dalam pembuatan makalah ini adalah metode studi pustaka. Yaitu dengan mempelajari dokumen dokumen yang ada.



BAB II
STRUKTUR KEAMANAN DATABASE

A.    Keamanan Server (Server Security)
Keamanan Server adalah proses membatasi akses nyata terhadap server database dengan sendirinya, dan dalam pendapat sederhana hal tersebut adalah sudut keamanan yang paling utama dan harus direncanakan secara hati-hati. Gagasan dasar ini adalah, "Anda tidak bisa mengakses apa yang anda tidak bisa lihat".
Sekarang sebagian orang akan mengatakan, "Bagaimana server database anda menyediakan informasi ke halaman web dinamis?"
Back End database anda harus tidak pernah ada (tidak berada) pada mesin yang sama sebagai web server web anda, tidak hanya untuk keamanan, tetapi untuk performance" Jika server database anda sedang menyediakan informasi kepada web server, haruslah server database dapat dikonfigurasi untuk memungkinkan koneksi hanya dari web server.

B.    Koneksi Database (Database Connections)
Saat ini dengan beberapa aplikasi dinamik memungkinkan untuk mengupdate database yang tidak diautentifikasi. Jika user dimungkinkan untuk mengupdate ke database melalui web page, pastikan bahwa validasi telah dibuat untuk semua update tersebut dan pastikan update tersebut terjamin dan aman. Misalnya pastikan bahwa anda membuang setiap kemungkinan SQL code dari input yang diberikan oleh user. Jika user normal tidak pernah menginputnya jangan dibiarkan data untuk selamanya disampaikan.
Jika anda adalah Administrator yang merasa perlu untuk menggunakan ODBC connection pastikan bahwa setiap connection tersebut menggunakan user unique untuk mengakses data yang di-share. Jangan menggunakan user account “sa” untuk setiap connection dan data source pada server (“sa” adalah user account paling tinggi haknya).

C.     Kontrol Akses Tabel (Table Access Control)
Kontrol akses table adalah salah satu kemungkinan dari bentuk yang paling dilewatkan dari database security karena kesulitan yang tidak bisa dipisahkan dalam menerapkannya. Penggunaan kontrol akses table secara tepat akan memerlukan kolaborasi baik sistem administrator maupun database developer.
Dalam akses ini hak (Permissions) apa saja yang harus diberikan ke user atau yang akan digunakan untuk aplikasi. Permission yang diberikan bisa Read, Write/Insert, Update, Delete. Atau jika digunakan untuk aplikasi lebih baik berikan permission ke user yang digunakan untuk aplikasi tersebut hak execute terhadap procedure. Karena dalam hal ini user tidak akan mengetahui secara detail data/table apa yang digunakan untuk aplikasi tersebut.

D.    Membatasi Akses Database (Restricting Database Access)
Keamanan server khusus terutama berkaitan dengan akses jaringan pada sistem (network access of the system). Secara khusus menargetkan internet yang didasarkan database, karena hal tersebut yang sebagian besar menjadi sasaran serangan (“attack”). Sebagian besar kejahatan cyber (istilah “Hackers” atau “Crackers”) dapat melakukan suatu “port scan” sederhana untuk melihat port yang terbuka dimana sistem database yang umum menggunakan default (standard setting). Istilah default disini karena dapat mengubah port yang dapat menolak suatu kejahatan (port scan).
Pertama-tama mereka akan berusaha untuk menentukan jika suatu mesin berada pada alamat tertentu. Mereka akan mengerjakannya dengan melakukan “ping” atau ICMP Packet. Suatu “ping” adalah teknik untuk mengirimkan suatu paket ICMP (Internet Control Message Protocol) ke suatu remote host. Jika remote host up, dan mendukung ICMP, suatu pesan kontrol (control message), atau paket, akan dikirim kembali ke pengirim tersebut. Teknik tersebut menyediakan suatu mekanisme untuk umpan-balik mengenai permasalahan komunikasi dalam suatu lingkungan yang berada dalam jaringan. (http://www.aspnetping.com/faq.aspx).
Contoh Hasil Pinging ke suatu IP, akan memberikan hasil Paket yang dikirim, paket yang diterima, paket yang hilang. Waktu yang diperlukan maksimum dan minimum serta rata-ratanya.

C:\>Ping 10.200.200.35
Pinging 10.200.200.35 with 32 bytes of data:
Reply from 10.200.200.35: bytes=32 times<10ms span="" ttl="127">
Reply from 10.200.200.35: bytes=32 times<10ms span="" ttl="127">
Reply from 10.200.200.35: bytes=32 times<10ms span="" ttl="127">
Reply from 10.200.200.35: bytes=32 times<10ms span="" ttl="127">
Ping statistics for 10.200.200.35:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0 ms, Maximum = 10ms, Average = 5 ms
C:\>




BAB III
TINGKAT KEAMANAN DATABASE dan PENYALAHGUNAAN DATABASE

A.    Tingkat Keamanan Database
Tingkat Keamanan database dapat terbagi dalam beberapa kategori seperti berikut :
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.

B.    Penyalahgunaan Database
Penyalahgunaan
1.      Tidak disengaja, jenisnya :
a.      kerusakan selama proses transaksi
b.      anomali yang disebabkan oleh akses database yang konkuren
c.       anomali yang disebabkan oleh pendistribuasian data pada beberapa komputer
d.      logika error yang mengancam kemampuan transaksi untuk mempertahankan konsistensi database.

2.      Disengaja, jenisnya :
a.      Pengambilan data / pembacaan data oleh pihak yang tidak berwenang.
b.      Pengubahan data oleh pihak yang tidak berwenang.
c.       Penghapusan data oleh pihak yang tidak berwenang.




BAB IV
BACKUP DATA dan RECOVERY

A.    Backup Data
Backup adalah proses yang dilakukan secara periodik untuk mebuat duplikat dari database dan melakukan logging file (atau program) ke media penyimpanan eksternal.
Jurnaling adalah proses menyimpan dan mengatur log file dari semua perubahan yang dibuat di database untuk proses recovery yang efektif jika terjadi kesalahan.

Isi Jurnal :
  • Record transaksi
1.      Identifikasi dari record
2.      Tipe record jurnal (transaksi start, insert, update, delete, abort, commit)
3.      Item data sebelum perubahan (operasi update dan delete)
4.      Item data setelah perubahan (operasi insert dan update)
5.      Informasi manajemen jurnal (misal : pointer sebelum dan record jurnal selanjutnya untuk semua transaksi
  • Record checkpoint, yaitu suatu informasi pada jurnal untuk memulihkan database dari kegagalan, kalau sekedar redo, akan sulit penyimpanan sejauh mana jurnal untuk mencarinya kembali, maka untuk membatasi pencarian menggunakan teknik ini.

B.    Recovery
Recovery merupakan upaya uantuk mengembalikan basis data ke keadaaan yang dianggap benar setelah terjadinya suatu kegagalan.

a.       Jenis-jenis Pemulihan :
  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.

b.      Fasilitas pemulihan pada DBMS :
  1. Mekanisme backup secara periodik
  2. fasilitas logging dengan membuat track pada tempatnya saat transaksi berlangsung dan pada saat database berubah.
  3. fasilitas checkpoint, melakukan update database yang terbaru.
  4. manager pemulihan, memperbolehkan sistem untuk menyimpan ulang database menjadi lebih konsisten setelah terjadinya kesalahan.

c.       Teknik Pemulihan :
  1. defered upate / perubahan yang ditunda : perubahan pada DB tidak akan berlangsung sampai transaksi ada pada poin disetujui (COMMIT). Jika terjadi kegagalan maka tidak akan terjadi perubahan, tetapi diperlukan operasi redo untuk mencegah akibat dari kegagalan tersebut.
  2. Immediate Upadate / perubahan langsung : perubahan pada DB akan segera tanpa harus menunggu sebuah transaksi tersebut disetujui. Jika terjadi kegagalan diperlukan operasi UNDO untuk melihat apakah ada transaksi yang telah disetujui sebelum terjadi kegagalan.
  3. Shadow Paging : menggunakan page bayangan imana paa prosesnya terdiri dari 2 tabel yang sama, yang satu menjadi tabel transaksi dan yang lain digunakan sebagai cadangan. Ketika transaksi mulai berlangsung kedua tabel ini sama dan selama berlangsung tabel transaksi yang menyimpan semua perubahan ke database, tabel bayangan akan digunakan jika terjadi kesalahan. Keuntungannya adalah tidak membutuhkan REDO atau UNDO, kelemahannya membuat terjadinya fragmentasi.





PENUTUP
SIMPULAN

Perhatian utaman keamanan database terhadap para administrator yang paling utama adalah Keamanan Server (Server Security), Koneksi Database (Database Connections), Kontrol Akses Tabel (Table Access Control) dan juga terhadap Pembatasan Akses Database (Restricting Database Access) dimana hal tersebut di atas sangat berpengaruh terhadap keamanan database yang akan dipublish terutama ke Internet/Intranet.
Penyalahgunaan database juga dapat dilakukan secara sengaja maupun tidak sengaja. Oleh karena itu backup data dan recovery sangat diperlukan untuk menjaga keamanan dari database itu sendiri

2 comments: