Tampilkan postingan dengan label Keamanan Komputer. Tampilkan semua postingan
Tampilkan postingan dengan label Keamanan Komputer. Tampilkan semua postingan

Keamanan database

Minggu, 21 November 2010

Keamanan merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan.




Penyalahgunaan Database :
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.

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.



Keamanan Data :
1. Otorisasi :
• Pemberian Wewenang atau hak istimewa (priviledge) untuk mengakses sistem atau obyek 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. 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 :
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
Syntax : GRANT ON TO
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 ON FROM
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


3. 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 :
• 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 : 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.

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

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

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.

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.


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

Lapisan Keamanan

1. Lapisan Fisik :

· membatasi akses fisik ke mesin :

o Akses masuk ke ruangan komputer

o penguncian komputer secara hardware

o keamanan BIOS

o keamanan Bootloader

· back-up data :

o pemilihan piranti back-up

o penjadwalan back-up

· mendeteksi gangguan fisik :

· log file : Log pendek atau tidak lengkap, Log yang berisikan waktu yang aneh, Log dengan permisi atau kepemilikan yang tidak tepat, Catatan pelayanan reboot atau restart, Log yang hilang, masukan su atau login dari tempat yang janggal

· mengontrol akses sumber daya.

2. Keamanan lokal

Berkaitan dengan user dan hak-haknya :

· Beri mereka fasilitas minimal yang diperlukan.

· Hati-hati terhadap saat/dari mana mereka login, atau tempat seharusnya mereka login.

· Pastikan dan hapus rekening mereka ketika mereka tidak lagi membutuhkan akses.

3. Keamanan Root

· Ketika melakukan perintah yang kompleks, cobalah dalam cara yang tidak merusak dulu, terutama perintah yang menggunakan globbing: contoh, anda ingin melakukan "rm foo*.bak", pertama coba dulu: "ls foo*.bak" dan pastikan anda ingin menghapus file-file yang anda pikirkan.

· Beberapa orang merasa terbantu ketika melakukan "touch /-i" pada sistem mereka. Hal ini akan membuat perintah-perintah seperti : "rm -fr *" menanyakan apakah anda benar-benar ingin menghapus seluruh file. (Shell anda menguraikan "-i" dulu, dan memberlakukannya sebagai option -i ke rm).

· Hanya menjadi root ketika melakukan tugas tunggal tertentu. Jika anda berusaha mengetahui bagaimana melakukan sesuatu, kembali ke shell pemakai normal hingga anda yakin apa yang perlu dilakukan oleh root.

· Jalur perintah untuk pemakai root sangat penting. Jalur perintah, atau variabel lingkungan PATH mendefinisikan lokal yang dicari shell untuk program. Cobalah dan batasi jalur perintah bagi pemakai root sedapat mungkin, dan jangan pernah menggunakan '.', yang berarti 'direktori saat ini', dalam pernyataan PATH anda. Sebagai tambahan, jangan pernah menaruh direktori yang dapat ditulis pada jalur pencarian anda, karena hal ini memungkinkan penyerang memodifikasi atau menaruh file biner dalam jalur pencarian anda, yang memungkinkan mereka menjadi root ketika anda menjalankan perintah tersebut.

· Jangan pernah menggunakan seperangkat utilitas rlogin/rsh/rexec (disebut utilitas r) sebagai root. Mereka menjadi sasaran banyak serangan, dan sangat berbahaya bila dijalankan sebagai root. Jangan membuat file .rhosts untuk root.

· File /etc/securetty berisikan daftar terminal-terminal tempat root dapat login. Secara baku (pada RedHat Linux) diset hanya pada konsol virtual lokal (vty). Berhati-hatilah saat menambahkan yang lain ke file ini. Anda seharusnya login dari jarak jauh sebagai pemakai biasa dan kemudian 'su' jika anda butuh (mudah-mudahan melalui ssh atau saluran terenkripsi lain), sehingga tidak perlu untuk login secara langsung sebagai root.

· Selalu perlahan dan berhati-hati ketika menjadi root. Tindakan anda dapat mempengaruhi banyak hal. Pikir sebelum anda mengetik!

4. Keamanan File dan system file

· Directory home user tidak boleh mengakses perintah mengubah system seperti partisi, perubahan device dan lain-lain.

· Lakukan setting limit system file.

· Atur akses dan permission file : read, writa, execute bagi user maupun group.

· Selalu cek program-program yang tidak dikenal

5. Keamanan Password dan Enkripsi

· Hati-hati terhadap bruto force attack dengan membuat password yang baik.

· Selalu mengenkripsi file yang dipertukarkan.

· Lakukan pengamanan pada level tampilan, seperti screen saver.

6. Keamanan Kernel

· selalu update kernel system operasi.

· Ikuti review bugs dan kekurang-kekurangan pada system operasi.

7. Keamanan Jaringan

· Waspadai paket sniffer yang sering menyadap port Ethernet.

· Lakukan prosedur untuk mengecek integritas data

· Verifikasi informasi DNS

· Lindungi network file system

· Gunakan firewall untuk barrier antara jaringan privat dengan jaringan eksternal

Keamanan Jaringan

Kamis, 04 November 2010

1. Membatasi Akses ke Jaringan

A. Membuat tingkatan akses :

Pembatasan-pembatasan dapat dilakukan sehingga memperkecil peluang penembusan oleh pemakai yang tak diotorisasi, misalnya :

· Pembatasan login. Login hanya diperbolehkan :

· Pada terminal tertentu.

· Hanya ada waktu dan hari tertentu.

· Pembatasan dengan call-back (Login dapat dilakukan siapapun. Bila telah sukses login, sistem segera memutuskan koneksi dan memanggil nomor telepon yang telah disepakati, Penyusup tidak dapat menghubungi lewat sembarang saluran telepon, tapi hanya pada saluran telepon tertentu).

· Pembatasan jumlah usaha login.

· Login dibatasi sampai tiga kali dan segera dikunci dan diberitahu ke administrator.

· Semua login direkam dan sistem operasi melaporkan informasi-informasi berikut :

1. Waktu, yaitu waktu pemakai login.

2. Terminal, yaitu terminal dimana pemakai login.

· Tingkat akses yang diizinkan ( read / write / execute / all )

B. Mekanisme kendali akses :

Masalah identifikasi pemakai ketika login disebut otentifikasi pemakai (user authentication). Kebanyakan metode otentifikasi didasarkan pada tiga cara, yaitu :

1. Sesuatu yang diketahui pemakai, misalnya :

· Password.

· Kombinasi kunci.

· Nama kecil ibu mertua.

· Dan sebagainya.

2. Sesuatu yang dimiliki pemakai, misalnya :

· Badge.

· Kartu identitas.

· Kunci.

· Dan sebagainya.

3. Sesuatu mengenai (ciri) pemakai, misalnya :

· Sidik jari.

· Sidik suara.

· Foto.

· Tanda tangan.

C. Waspada terhadap Rekayasa sosial :

1. Mengaku sebagi eksekutif yang tidak berhasil mengakses, menghubungi administrator via telepon/fax.

2. Mengaku sebagai administrator yang perlu mendiagnosa masalah network, menghubungi end user via email/fax/surat.

3. Mengaku sebagai petugas keamanan e-commerce, menghubungi customer yang telah bertransaksi untuk mengulang kembali transaksinya di form yang disediakan olehnya.

4. pencurian surat, password.

5. penyuapan, kekerasan.

D. Membedakan Sumber daya internal dan Eksternal :

Memanfaatkan teknologi firewall yang memisahkan network internal dengan network eksternal dengan rule tertentu.

E. Sistem Otentikasi User :

Def : adalah proses penentuan identitas dari seseorang yang sebenarnya, hal ini diperlukan untuk menjaga keutuhan ( integrity ) dan keamanan ( security ) data, pada proses ini seseorang harus dibuktikan siapa dirinya sebelum menggunakan layanan akses.

Upaya untuk lebih mengamankan proteksi password, antara lain :

1. Salting.

Menambahkan string pendek ke string password yang diberikan pemakai

sehingga mencapai panjang password tertentu.

2. One time password.

· Pemakai harus mengganti password secara teratur. Upaya ini membatasi peluang password telah diketahui atau dicoba-coba pemakai lain.

· Bentuk ekstrim pendekatan ini adalah one time password, yaitu pemakai mendapat satu buku berisi daftar password. Setiap kali pemakai login, pemakai menggunakan password berikutnya yang terdapat di daftar password.

· Dengan one time password, pemakai direpotkan keharusan menjaga agar buku passwordnya jangan sampai dicuri.

3. Satu daftar panjang pertanyaan dan jawaban.

· Variasi terhadap password adalah mengharuskan pemakai memberi satu daftar pertanyaan panjang dan jawabannya. Pertanyaan-pertanyaan dan jawabannya dipilih pemakai sehingga pemakai mudah mengingatnya dan tak perlu menuliskan di kertas.

· Pertanyaan berikut dapat dipakai, misalnya :

· Siapa mertua abang ipar Badru ?

· Apa yang diajarkan Pak Harun waktu SD ?

· Di jalan apa pertama kali ditemukan simanis ?

· Pada saat login, komputer memilih salah satu dari pertanyaan-pertanyaan secara acak, menanyakan ke pemakai dan memeriksa jawaban yang diberikan.

4. Tantangan tanggapan (chalenge response).

· Pemakai diberi kebebasan memilih suatu algoritma, misalnya x3.

· Ketika pemakai login, komputer menuliskan di layar angka 3. Dalam kasus ini pemakai mengetik angka 27. Algoritma dapat berbeda di pagi, sore, dan hari berbeda, dari terminal berbeda, dan seterusnya.

Contoh Produk Otentikasi User, antara lain :

1. Secureid ACE (Access Control Encryption)

System token hardware seperti kartu kredit berdisplay, pemakai akan menginput nomor pin yang diketahui bersama, lalu memasukkan pascode bahwa dia pemilik token.

2. S/key (Bellcore)

System software yang membentuk one time password (OTP) berdasarkan informasi loginterkhir dengan aturan random tertentu.

3. Password Authentication Protocol (PAP)

Protokol dua arah untuk PPP (Point to point Protocol). Peer mengirim pasangan user id dan password, authenticator menyetujuinya.

4. Challenge Handshake Authentication Protocol (CHAP)

S/key pada PAP, protocol 3 arah, authenticator mengirim pesan tantangan ke peer, peer menghitung nilai lalu mengirimkan ke authenticator, authenticator menyetujui otentikasi jika jawabannya sama dengan nilai tadi.

5. Remote Authentication Dial-in User Service (RADIUS)

Untuk hubungan dial-up, menggunakan network access server, dari suatu host yang menjadi client RADIUS, merupan system satu titik akses.

  1. Terminal Access Controller Access Control System (TACACS)

Protokol keamanan berbasis server dari CISCO System. Secury\ity Server terpusat dangan file password UNIX, database otentikasi, otorisasi dan akunting, fungsi digest (transmisi password yang tidak polos)