DATABASE SECURITY

     Sebelum membahas database security ada baiknya kita mengenal dulu apa itu Database? Database yang dikenal juga dengan basis data adalah sekumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data atau database tersebut. Sistem yang mengatur database disebut DBMS ( database management system). Ada beberapa perangkat lunak yang digunakan untuk database, seperti : 
  • Microsoft SQL Server
  • MySQL
  • Oracle
  • dBase III
  • Firebird
  • XBase
  • Sybase
  • Interbase, dll

      Database Security adalah cara melindungi database (berpotensi termasuk data, aplikasi database, sistem database, server database dan jaringan yang terkait) terhadap ancaman kompromi kerahasian, integritas, dan ketersediaan. Keamanan database tidak hanya berkenaan dengan data yang ada pada database saja, tetapi meliputi bagian lain dari sitem database yang dapat mempengaruhi database itu tersebut. Hal ini berarti keamanan database mencakup perangkat keras, perangkat lunak, orang, dan tentu saja datanya.



Resiko  Keamanan Database
  1. Infeksi dari virus Malware yang menyebabkan insiden seperti akses yang tidak sah, kebocoran atau pengungkapan data pribadi atau hak milik, penghapusan atau kerusakan data dan program, serangan terhadap sistem lain serta kegagalan dari layanan database.
  2. Overloads, kendala kinerja dan masalah kapasitas mengakibatkan ketidakmampuan pengguna yang menggunakan database.
  3. Data korupsi atau kerugian yang disebabkan oleh masuknya data yang tidak valid atau perintah, kesalahan dalam proses administrasi database atau sistem sabotase bisa juga kerusakan kriminal dan lain sebagainya.
  4. Aktivitas yang tidak disengaja atau penyalahgunaan oleh para pengguna database administrator database, atau oleh pengguna yang tidak sah atau hacker (misalnya akses tidak sesuai dengan data sensitif, metadata, atau fungsi dalam database, atau perubahan tidak sesuai dengan program database, struktur atau konfigurasi keamanan).
  5. Cacat desain dan pemrograman bug di database dan program yang terkait dan sistem menciptakan berbagai kerentanan keamanan (misalnya tidak sah eskalasi hak istimewa), kehilangan data/ korup, degradasi kinerja, dll.

Lapisan Keamanan Database

Banyak lapisan dan jenis kontrol keamanan informasi sesuai untuk database, termasuk:

1.      Pengendalian akses (Access control).
2.      Audit (Auditing).
3.      Otentikasi (Authentication).
4.      Enkripsi (Encryption).
5.      Control integritas  (Integrity controls)
6.      Backup (Backups).
7.      Aplikasi keamanan  (Application security)


Metode Pengaman Database
Beberapa tindakan pengaman sistem data pada komputer :
1. Administrative Security
    
    Pengamanan data secara administrataif perlu dilakukan untuk menjaga kemungkinan gangguan keamanan data yang datang dari "orang dalam". Kebijakan tentang akses file dalam suatu organisasi, akses informasi ke luar (internet), dan bagaimana menerima data atau informasi dari luar perlu ditetapkan.

2. Anti Virus

    Virus baru terus bermunculan sehingga sistem komputer harus selalu mendapat proteksi yang cukup agar dapat terhindar dari kejadian yang tidak diharapkan. Harap dimaklumi bahwa infeksi virus berjalan tanpa permisi dan tanpa sepengetahuan pemilik sistem komputer, disamping itu jenisnya sangat beragam.

3. Firewall pada jaringan komputer adalah perangkat lunak yang dipasang pada komputer server sehingga dapat melindungi jaringan dari serangan yang datangnya dari luar. Firewall ada tiga macam, yaitu: packet filtering router, circuit level gateway, dan application level gateway. Firewall dirancang untuk:
  • Mengatur dan mengawasi lalulintas data dari luar ke dalam jaringan dan juga sebaliknya, semua aliran data harus melewati firewall, yang tidak melalui firewall harus dicegah.
  • Menetapkan kebijakan keamanan jaringan sehingga yang bisa lewat hanya yang mempunyai hak.
  • Mencegah penyusupan dari luar agar tidak bisa mengganggu jaringan
Enkripsi-Dekripsi Keamanan Database

Data yang dikirim melalui jaringan tidak jarang disadap oleh orang lain untuk kepentingan tertentu, sehingga timbul usaha untuk melakukan pengkodean terhadap data sebelum dikirim melalui jaringan agar tidak bisa dibaca oleh penyadap. Pengubahan data asli menjadi kode rahasia disebut proses data encryption atau enkripsi data. Setelah data rahasia sampai ke tujuan maka data ini dikembalikan ke bentuk aslinya, proses ini disebut data decryption atau Dekripsi data. Ilmu matematik yang mendasari teknik enkripsi dan dekripsi disebut kriptologi sedangkan teknik dan sains dari proses enkripsi-dekripsi disebut kriptografi. Naskah asli disebut sebagai plaintext dan naskah rahasia (yang telah di-enkrip) disebut ciphertext. Secara garis besar ada dua kategori kriptografi, yaitu: teknik simetris dan teknik asimetris. Teknik simetris berarti kunci/kode untuk melakukan enkripsi sama dengan kunci/kode untuk melakukan dekripsi. Teknik asimetri disebut juga sebagai teknik kunci publik, menggunakan kunci yang berbeda antara enkripsi dan dekripsi.




 Pemulihan Keamanan Database (Database Security)
Keamanan database memiliki beberapa tujuan, namun keamanan database yang memiliki banyak ancaman atau resiko yang harus dihadapi, tidak jarang menimbukkan kerusakan-kerusakan. Dalam pemulihan keamanan terdapat 2 pendekatan yang bisa dilakukan :
1.      Pemulihan melalui perosesan ulang

Karena perosesan tidak dapat dilanjutkan pada titik yang tepat, maka alternative yang paling baik adalah kembai ke suatu titik yang diketahui dan memrosees ulang bahan kerja disana. Bentuk yang paling sederhana dari jenis pemulihan ini adalah membuat salinan database secara priodik (yang disebut sebagai database save) dan menyimpan record atau catatn secara transaksi yang telah diproses sejak save itu. Selanjutnya, ketika terjadi kegagalan, staf operasi dapat memulihkan database yang diambil dari database yang di-savve dan kemudian memroses ulang semua transaksi.
Kelemahan dari pendekatan ini :
-          Pemrosesan ulang transaksi menghabiskan waktu yang lama.
-          Jika transaksi diproses secara serentak, maka peristiwa yang timbul akan menjadi tidak singkron.

2.      Pemulihan melalui rollback / rollforward

Pendekatan kedua adalah secara periodic membuat salinan database (database save) dan menyimpan suatu log perubahan yang dibuat oleh transaksi terhadap database sejak penyimpanan. 
a.       Rollback, membatalkan (undo) perubahan yang dibuat akibat adanya kealahan atau memproses sebagian transaksi dengan cara membatalkan perubahan-perubahan yang telah dibuat pada database. Kemudian, transaksi-transaksi yang sah yang sedang dalam proses pada saat yang terjadi kegagalan akan diproses ulang.
b.      Rollforward, database dipulihkan dengan menggunakan data yang disimpan dan semua transaksi yang sah sejak penyimpanan tersebut diproses ulang. 


Pencegahan Keamanan Database
 Keamanan database merupakan satu dari sebanyak metodologi yang sering diabaikan dan tidak dikembangkan.untuk lengkapi dan memperketat kebijaksanaan atas keamanan database, ada beberapa cara pencegahan dalam mengatasi tiap kelemahan.

1.    Selalu meng-update patch, baik untuk microsoft atau oracle. Patch dan beberapa perbaikan baru biasanya diedarkan secara reguar. Pastikan patch tersebut dengan normal dan cobalah dulu dimesin lain yang identik.
2.    Terapkan aturan - aturan firewall yang ketat, pastikan untuk selalu memeriksa konfigurasi firewall dari waktu ke waktu dan selalu memplok port – port akses database seperti TCP dan UDP 1434 (my sql) dan TCP 1521 – 1530 (oracle).
3.    Sanitasi input yang diterima dari user. Data- data yag diterima harus diperiksa tipenya (integer, string dan seterusnya) dan buanglah karakter meta-karakter .
4.    Membuang prosedur penyimpanan. Pasikan anda telah membuang store procedure (termasuk extended store procedure) dari database.
5.    Penggunaan stored procedure. Bila memungkinkan, gunakan kode sql yang sudah dipakai dalam sebuah stored procedures t  erhadap validitas input.
6.    Enskipsi session. Jika server database terpisah dari web server, pastikan untuk mengenkripsi session dengan beberapa cara, misalnya menggunakan ipsec buil-in pada Windows 2000.
7.    Minimalisasi hak superuser. Pastikan untuk menerapkan sesedikit mungkin hak-hak akses SU pada akses Database.





Source: http://windidwifirlyani.blogspot.com/2013/06/database-security.html
             http://indrasetyadewi.blogstudent.mb.ipb.ac.id/2011/07/15/58/
             http://id.wikipedia.org/wiki/Basis_data

Komentar

Postingan Populer