Senin, 27 April 2015

Keamanan Database

     Keamanan merupakan suatu proteksi terhadap pengerusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan. lunak database server yang handal (2) Pemberian otoritas kepada user mana saja yang berhak mengakses, serta memanipulasi data-data yang ada. Keamanan merupakan suatu proteksi terhadap pengerusakan data dan pemakaian. Untuk menjaga keaman an Basis Data dapat dengan: (1) Penentuan perangkat 

a. 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 

b. 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).

c. Penyalahgunaan Database

1. Tidak disengaja, jenisnya :
·         Kerusakan selama proses transaksi
·         Anomali yang disebabkan oleh akses database yang konkuren
·         Anomali yang disebabkan oleh pendistribuasian data pada beberapa komputer
·  Logika error yang mengancam kemampuan transaksi untuk mempertahankan konsistensi database

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

d. Tingkatan Penyalahgunaan Database

·    Fisikal : lokasi-lokasi dimana terdapat sistem komputer haruslah aman secara fisik terhadap serangan perusak.
· Manusia : wewenang pemakai harus dilakukan dengan berhati-hati untuk mengurangi kemungkinan adanya manipulasi oleh pemakai yang berwenang 
·    Sistem Operasi : Kelemahan pada SO ini memungkinkan pengaksesan data oleh pihak tak berwenang, karena hampir seluruh jaringan sistem database menggunakan akses jarak jauh.
·    Sistem Database : Pengaturan hak pemakai yang  baik. 

Pengaturan Keamanan Database

a. Otorisasi :
·         Pemberian Wewenang atau hak istimewa (priviledge) untuk mengakses sistem 
·         Kendali otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak dengan 2 
·         Mengendalikan sistem atau obyek yang dapat diakses
·         Mengendalikan bagaimana pengguna menggunakannya
·    Sistem administrasi yang bertanggungjawab untuk memberikan hak akses dengan membuat account pengguna.

b. 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. Contoh pada Database relasional,untuk pengamanan dilakukan beberapa level:

·   Relasi : pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung suatu relasi
·   View : pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang terapat pada view
· Read Authorization : pengguna diperbolehkan membaca data, tetapi tidak dapat memodifikasi.
·  Insert Authorization : pengguna diperbolehkan menambah data baru, tetapi tidak dapat memodifikasi data yang sudah ada.
·  Update Authorization : pengguna diperbolehkan memodifikasi data, tetapi tidak dapat menghapus data.
·     Delete Authorization : pengguna diperbolehkan menghapus data.

Untuk Modifikasi data terdapat otorisasi tambahan :
·         Index Authorization : pengguna diperbolehkan membuat dan menghapus index data.
·         Resource Authorization : pengguna diperbolehkan membuat relasi-relasi baru.
·       Alteration Authorization : pengguna diperbolehkan menambah/menghapus atribut suatu relasi.
·         Drop Authorization : pengguna diperbolehkan menghapus relasi yang sudah ada.
Contoh perintah menggunakan SQL :

GRANT : memberikan wewenang kepada pemakai
Syntax : GRANT <priviledge list> ON <nama relasi/view> TO <pemakai>

Contoh :
GRANT SELECT ON S TO BUDI
GRANT SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI

REVOKE : mencabut  wewenang yang dimiliki oleh pemakai
Syntax : REVOKE <priviledge list> ON <nama relasi/view> FROM <pemakai>

Contoh :
REVOKE SELECT ON S TO BUDI
REVOKE SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI

Priviledge list : READ, INSERT, DROP, DELETE, INEX, ALTERATION, RESOURCE


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

Isi Jurnal :
1. Record transaksi
·         Identifikasi dari record
·         Tipe record jurnal (transaksi start, insert, update, delete, abort, commit)
·         Item data sebelum perubahan (operasi update dan delete)
·         Item data setelah perubahan (operasi insert dan update)
·         Informasi manajemen jurnal (misal : pointer sebelum dan record jurnal selanjutnya untuk semua transaksi

2. Record checkpoint : 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.
Jenis Pemulihan :
·         Pemulihan terhadap kegagalan transaksi : Kesatuan prosedur alam program yang dapat mengubah / memperbarui data pada sejumlah tabel.
·         Pemulihan terhadap kegagalan media : Pemulihan karena kegagalan media dengan cara mengambil atau memuat kembali salinan basis data (backup)
·         Pemulihan terhadap kegagalan sistem : Karena gangguan sistem, hang, listrik terputus alirannya.

d. 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).

Teknik Pemulihan Database

Teknik Pemulihan :
·         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.
·         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.
·         Shadow Paging : menggunakan page bayangan dimana para 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.

Pertanyaan:

Salah satu contoh kasus penyalahgunaan database secara tidak sengaja dan secara di sengaja?

Jawab:
·      Contoh kasus penyalahgunaan database secara tidak sengaja. Input data dengan informasi yang tidak benar misalnya menggunakan e-banking via internet kita memasukan no rek atau token yang salah dalam melakukan transaksi.
·         Contoh kasus yang di sengaja. Carding adalah penyusun data informasi pada database untuk mendapatkan hak guna yang bukan miliknya misalkan dengan menggunakan uang cairan secara digital dalam melakukan sebuah transaksi.

Evaluasi Keamanan Sistem Informasi

     Meski sebuah sistem informasi sudah dirancang memiliki pengamanan, tetapi dalam perjalanannya keamanan jaringan harus selalu dimonitor. Hal ini disebabkan oleh beberapa faktor yaitu :
·        Selalu ditemukannya lubang keamanan yang baru, seperti halnya windows milik microsoft selalu saja ditemukan lubang keamanan baru (security hole) oleh para hacker;
·       Kesalahan konfigurasi, bisa mengakibatkan timbulnya celah keamanan pada suatu sistem. Misalnya mode (permission atau kepemilikan) dari berkas yang menyimpan password secara tidak sengaja diubah sehingga dapat diubah oleh orang-orang yang tidak berhak;
·         Penambahan perangkat baru (hardware/software) yang menyebabkan menurunnya tingkat security dan berubahnya metode pengoprasian sistem. Itu jelas karena sebuah sistem tetap membutuhkan seorang administrator, dan seoarang admin pasti membutuhkan penyesuaian jika sistemnya diubah atau diganti dengan yang baru.

     Untuk meng-Evaluasi Keamanan Sistem Informasi, kita harus mengetahui beberapa faktor. Pertama, sumber lubang keamanan. Lubang keamanan (security hole) menurut Budi Raharjo (Dosen ITB) dapat disebabkan karena Salah Desain, Salah Implementasi, Salah Konfigurasi, dan Salah Penggunaan.
·         Salah Desain. Contoh sistem yang lemah desainnya adalah sistem enkripsi ROT13 dimana karakter pesan dan hasil enkripsi diubah dengan menggeser 13 karakter alphabet saja, Meski diimplementasi dengan pemrograman yang sangat teliti sekalipun jika orang mengetahui logika dan algoritma nya pasti enkripsi nya bisa ketahuan.
·         Salah Implementasi, banyak program dan sistem yang salah pengimplementasiannya disebabkan karena programer terburu-buru karena dikejar deadline dalam mengimplementasikan programnya jadi lupa ditest atau didebug.
·         Salah Konfigurasi, Desain sempurna, Implementasi baik, namun konfigurasi salah.
·         Salah Penggunaan, Jika semua sistem sudah baik maka tinggal disisi user saja sisanya. Sistem sebaik dan sesempurna mungkin akan sia-sia jika usernya tidak memahami. Contoh, seorang user salah memberi perintah karena ketidaktahuannya dan memformat hardisk komputer.

     Kedua, meng-evaluasi keamanan sistem informasi juga bisa kita gunakan dengan menggunakan tools penguji keamanan sistem. 
Untuk sistem yang basisnya UNIX ada bebrapa tools yaitu : Cops, Tripwire, Satan/Saint, SBScan : Localhost Secuty Scanner. Selain tools2 diatas ada juga tools2 yang dibuat hacker untuk kepentingannya. antara lain :
  Crack : program ini dibuat untuk memcahkan password dengan cara Brute Force menggunakan kamus. jadi program ini mencoba mencocokkan password dengan kata dikamus. Karena itu jangan menggunakan password dengan kata yang ada di kamus.
·    Land / Latierra : program yang dibuat untuk membuat windows NT dan windows 95 hang.
·   Ping-o-Death : program ping yang dapat membuat crash windows 95 / NT dan beberapa versi UNIX
·   Winuke : program untuk memacetkan sistem berbasis windows dan banyak lagi tools-tools lain yang bisa didapetin gratis di internet

    Probing, Service di internet umumnya menggunakan TCP atau UDP, dan setiap service menggunakan port yang berbeda, misalnya :
·         SMTP, Service untuk mengirim email pake protocol TCP dan dengan port 25
·         FTP, Service untuk tranfer file pake protocol TCP, dengan port 21
·         HTTP, Service untuk web server pake protocol TCP, dengan port 80
·         DNS, Service untuk domain pake protocol TCP dan UDP, dengan port 53
·         POP3, Service untuk mengambil email pake protocol TCP, dengan port 110


Pertanyaan:

Apa penyebab dari celah/lubang keamanan ( security hole ), dan apa dampaknya ( positif dan negatif ) ?


Jawab:

Penyebab : Bisa disebabkan oleh 3 hal, yaitu kesalahan pada desain sistem ataupun algoritma yang digunakan, implementasi algoritma yang kurang baik, dan kesalahan konfigurasi.

Dampak :
·      positif : dapat mengetahui kesalahan atau celah keamanan dari sistem yang ada, sehingga tingkat keamanannya dapat ditingkatkan.

·    negatif : adanya pihak-pihak yang dianggap merugikan yang dapat masuk, mengakses, ataupun merusak sistem atau keamanan sistem yang ada.

Komponen Arsitektur Keamanan Komputer

1. Account Pemakai (user account)
·    Root : Kontrol system file, user, sumber daya (devices) dan akses jaringan.
·   User : Account dengan kekuasaan yang diatur oleh root dalam melakukan aktifitas dalam system.
·  Group: Kumpulan user yang memiliki hak sharing yang sejenis terhadap suatu devices tertentu.

2. Kontrol Akses secara Diskresi (Discretionary Access Control) adalah metode pembatasan yang ketat, yang meliputi :
·    Setiap account memiliki username dan password sendiri.
·    Setiap file/device memiliki atribut(read/write/execution) kepemilikan, group,dan user umum.
Perintah-perintah penting pada DAC :
·         Mengubah izin akses file.
·         Mengubah kepemilikan.
·         Mengubah kepemilikan group.
·         Menggunakan account root untuk sementara.

3. Kontrol Akses Jaringan (Network Access Control)

Firewall linux :
·         alat pengontrolan akses antar jaringan yang membuat linux dapat memilih host yang berhak / tidak berhak mengaksesnya.

Fungsi Firewall linux :
·         Analisa dan filtering paket
·         Blocking content dan protocol
·         Bloking isi paket seperti applet java, activeX, Vbscript, Cookies
·         Autentikasi koneksi dan enkripsi

4. Enkripsi (Encryption)

Penerapan Enkripsi di linux :
a) Enkripsi password
·         Menggunakan DES ( Data Encryption Standard )
b) Secure Shell (SSH)
·         Secure socket Layer (SSL)
·         Enkripsi komunikasi data

5. Logging

     Prosedur dari Sistem Operasi atau aplikasi merekam setiap kejadian dan menyimpan rekaman tersebut untuk dapat dianalisa. Semua file log linux disimpan di directory /var/log, antara lain :
·         Lastlog
·         last
·         Xferlog
·         Access_log
·         Error_log
·         Messages

6. Deteksi Penyusupan (Intrusion Detection)

     Definisi : aktivitas mendeteksi penyusupan secara cepat dengan menggunakan program khusus secara otomatis yang disebut Intrusion Detection System.

Tipe dasar IDS :
·         Ruled based system
·         Adaptive system

Program IDS :
·         Chkwtmp
·         Tcplogd
·         Host entry

Komponen Arsitektur Keamanan NT 

1. Adminisrasi User dan Group

Jenis Account User :

·         Administrator
·         Guest
·         User

Jenis Account Group :
·         Administrator
·         Guest
·         User
·         Operator back-up
·         Power user
·         Operator server
·         Operator account
·         Operator printer

2. Keamanan untuk Sistem File

A. NTFS

·      Cepat dalam operasi standar file (read – write – search)
·      Terdapat system file recovery, access control dan permission.
·     Memandang obyek sebagai kumpulan atribut, termasuk permission access.

B. Proteksi untuk integritas data

·     Transaction logging : merupakan system file yang dapat di-recovery untuk dapat mencatat semua perubahan terakhir pada directory dan file secara otomatis.
·      Sector sparing : Teknik dynamic data recovery yang hanya terdapat pada disk SCSI dengan cara memanfaatkan teknologi fault-tolerant volume untuk membuat duplikat data dari sector yang mengalami error.
·         Cluster remapping : Jika ada kegagalan dalam transaksi I/O pada disk, secara otomatis akan mencari cluster baru yang tidak rusak, lalu menandai alamat cluster yang mengandung bad sector tersebut.
·        Fault tolerance : Kemampuan untuk menyediakan redudansi data secara realtime yang akan memberikan tindakan penyelamatan bila terjadi kegagalan perangkat keras, korupsi perangkat lunak dan kemungkinan masalah lainnya.

3. Model Keamanan Windows NT

Dibuat dari beberapa komponen yang bekerja secara bersama-sama untuk memberikan keamanan logon dan access control list (ACL) dalam NT :
·         LSA (Local security Authority) : menjamin user memiliki hak untuk mengakses system. Inti keamanan yang menciptakan akses token, mengadministrasi kebijakan keamanan local dan memberikan layanan otentikasi user.
·         Proses logon : menerima permintaan logon dari user (logon interaktif dan logon remote), menanti masukan username dan password yang benar. Dibantu oleh Netlogon service.
·      Security Account Manager (SAM) : dikenal juga sebagai directory service database, yang memelihara database untuk account user dan memberikan layan validasi untuk proses LSA.
·         Security Reference Monitor (SRM) : memeriksa status izin user dalam mengakses, dan hak user untuk memanipulasi obyek serta membuat pesan-pesan audit.

4. Keamanan Sumber Daya Lokal

     Obyek dalam NT [file, folder (directory), proses, thread, share dan device], masing-masing akan dilengkapi dengan Obyek Security Descriptor yang terdiri dari :
·         Security ID Owner
·         Security ID group
·         Discretionary ACL (Access Control List)
·         System ACL

5. Keamanan Jaringan

Jenis Keamanan Jaringan Windows NT :
·     Model keamanan user level : account user akan mendapatkan akses untuk pemakaian bersama dengan menciptakan share atas directory atau printer.
·    Model keamanan Share level : dikaitkan dengan jaringan peer to peer, dimana user manapun membagi sumber daya dan memutuskan apakaha diperlukan password untuk suatu akses tertentu.

6. Keamanan pada Printer
Dilakukan dengan mensetting properties printer 
·      Menentukan permission : full control, Manage document, print
·   Biasanya susunan permission pada NT defaulut : Adminstrator – full control, Owner – Manage document, dan Semua user – print

·         Mengontrol print job, terdiri dari : 
    Setting waktu cetak
·         Prioritas
·         Notifikasi (orang yang perlu diberi peringatan)
·         Set auditing information

7. Keamanan Registry
Tools yang disediakan dalam pengaksesan registry :
·    System policy editor : mengontrol akses terhadap registry editor, memungkinkan administrator mengedit dan memodifikasi value tertentu dalam registry dengan berbasis grafis.
·         Registry editor (regedit32.exe) : tools untuk melakukan edit dan modifikasi value dalam registry.
·         Windows NT Diagnostics (winmsd.exe) : memungkinkan user melihat setting isi registry dan valuenya tanpa harus masuk ke registry editor sendiri.

8. Audit dan Pencatatan Log
·         Pencatatan logon dan logoff termasuk pencatatan dalam multi entry login
·         Object access (pencatatan akses obyek dan file)
·         Privilege Use (paencatatan pemakaian hak user)
·         Account Management (manajemen user dan group)
·         Policy change (Pencatatan perubahan kebijakan keamanan)
·         System event (pencatatan proses restart, shutdown dan pesan system)
·         Detailed tracking (pencatatan proses dalam system secara detail)


Pertanyaan:

1. Jelaskan pengertian SSH dan SSL pada linux!
2. Apa perbedaan antara root di Linux dan hak akses di Windows?

Jawab:

1. Secure Shell (SSH) : Program yang melakukan loging terhadap komputer lain dalam jaringan, mengeksekusi perintah lewat mesin secara remote dan memindahkan file dari satu mesin ke mesin lainnya. Enkripsi dalam bentuk Blowfish, IDEA, RSA, Triple DES.

Secure socket Layer (SSL) : Mengenkripsi data yang dikirimkan lewat port http.

2. Hak akses pada Linux
·         Kontrol system file, user, sumber daya (devices) dan akses jaringan.
Hak akses pada Windows
·         Hak basic : acces computer from network, back-up files/ directory, change system time, logon locally, manage auditing and security, log (event viewer), restore files and directory, shutdown system, take ownership files or other object, dll.

·         Hak advance : access service and kernel untuk kebutuhan pengembangan system.