Jumat, 11 Oktober 2013

Topik Khusus Keamana Komputer

Keamanan komputer

Definisi Keamanan komputer menurut para tokoh

Menurut John D. Howard dalam bukunya “An Analysis of security incidents on the internet” menyatakan bahwa :
Keamanan komputer adalah tindakan pencegahan dari serangan pengguna komputer atau pengakses jaringan yang tidak bertanggung jawab.
Menurut Gollmann pada tahun 1999 dalam bukunya “Computer Security” menyatakan bahwa:
Keamanan komputer adalah berhubungan dengan pencegahan diri dan deteksi terhadap tindakan pengganggu yang tidak dikenali dalam system komputer.
Dalam keamanan sistem komputer yang perlu kita lakukan adalah untuk mempersulit orang lain untuk mengganggu sistem yang kita pakai, baik itu kita menggunakan komputer yang sifatnya stand alone, jaringan local maupun jaringan global. Kita harus memastikan system bisa berjalan dengan baik dan kondusif, selain itu program aplikasinya masih bisa dipakai tanpa ada masalah.

Keamanan komputer adalah suatu cabang teknologi yang dikenal dengan nama keamanan informasi yang diterapkan pada komputer. Sasaran keamanan komputer antara lain adalah sebagai perlindungan informasi terhadap pencurian atau korupsi, atau pemeliharaan ketersediaan, seperti dijabarkan dalam kebijakan keamanan.
Menurut Garfinkel dan Spafford, ahli dalam computer security, komputer dikatakan aman jika bisa diandalkan dan perangkat lunaknya bekerja sesuai dengan yang diharapkan. Keamanan komputer memiliki 5 tujuan, yaitu:
  1. Availability
  2. Confidentiality
  3. Data Integrity
  4. Control
  5. Audit
Keamanan komputer memberikan persyaratan terhadap komputer yang berbeda dari kebanyakan persyaratan sistem karena sering kali berbentuk pembatasan terhadap apa yang tidak boleh dilakukan komputer. Ini membuat keamanan komputer menjadi lebih menantang karena sudah cukup sulit untuk membuat program komputer melakukan segala apa yang sudah dirancang untuk dilakukan dengan benar. Persyaratan negatif juga sukar untuk dipenuhi dan membutuhkan pengujian mendalam untuk verifikasinya, yang tidak praktis bagi kebanyakan program komputer. Keamanan komputer memberikan strategi teknis untuk mengubah persyaratan negatif menjadi aturan positif yang dapat ditegakkan.
Pendekatan yang umum dilakukan untuk meningkatkan keamanan komputer antara lain adalah dengan membatasi akses fisik terhadap komputer, menerapkan mekanisme pada perangkat keras dan sistem operasi untuk keamanan komputer, serta membuat strategi pemrograman untuk menghasilkan program komputer yang dapat diandalkan.


Sistem Keamanan Komputer
Keamanan sistem komputer adalah untuk menjamin sumber daya sistem tidak digunakan / dimodifikasi, diinterupsi dan diganggu oleh orang yang tidak diotorisasi. Pengamanan termasuk masalah teknis, manajerial, legalitas dan politis.

3 macam keamanan sistem, yaitu :
1. Keamanan eksternal / external security
Berkaitan dengan pengamanan fasilitas komputer dari penyusup dan bencana seperti kebakaran /kebanjiran.
2. Keamanan interface pemakai / user interface security
Berkaitan dengan indentifikasi pemakai sebelum pemakai diijinkan mengakses program dan data yang disimpan
3. Keamanan internal / internal security

Berkaitan dengan pengamanan beragam kendali yang dibangun pada perangkat keras dan sistem operasi yang menjamin operasi yang handal dan tak terkorupsi untuk menjaga integritas program dan data.



2 masalah penting keamanan, yaitu :

1. Kehilangan data / data loss yang disebabkan karena :


· Bencana, contohnya kebakaran, banjir, gempa bumi, perang, kerusuhan, tikus, dll.
· Kesalahan perangkat keras dan perangkat lunak, contohnya ketidak berfungsinya pemroses, disk / tape yang tidak terbaca, kesalahan komunikasi, kesalahan program / bugs.

· Kesalahan / kelalaian manusia, contohnya kesalahan pemasukkan data, memasang tape / disk yang salah, kehilangan disk / tape.

2. Penyusup / intruder

· Penyusup pasif, yaitu yang membaca data yang tidak terotorisasi
· Penyusup aktif, yaitu mengubah data yang tidak terotorisasi.


Contohnya penyadapan oleh orang dalam, usaha hacker dalam mencari uang, spionase militer / bisnis, lirikan pada saat pengetikan password.
Sasaran keamanan adalah menghindari, mencegah dan mengatasi ancaman terhadap sistem.

3 aspek kebutuhan keamanan sistem komputer, yaitu :
1. Kerahasiaan / secrecy, diantaranya privasi
Keterjaminan bahwa informasi di sistem komputer hanya dapat diakses oleh pihak-pihak yang terotorisasi
dan modifikasi tetap menjaga konsistensi dan keutuhan data di sistem
2. Integritas / integrity
Keterjaminan bahwa sumber daya sistem komputer hanya dapat dimodifikasi oleh pihak-pihak yang
terotorisasi
3. Ketersediaan / availability
Keterjaminan bahwa sumber daya sistem komputer tersedia bagi pihak-pihak yang diotorisasi saat diperlukan.
Tipe ancaman terhadap keamanan sistem komputer dapat dimodelkan dengan memandang fungsi sistem
komputeer sebagai penyedia informasi.
Berdasarkan fungsi ini, ancaman terhadap sistem komputeer dikategorikan menjadi 4 ancaman, yaitu :
1. Interupsi / interuption
Sumber daya sistem komputer dihancurkan / menjadi tak tersedia / tak berguna. Merupakan ancaman
terhadap ketersediaan. Contohnya penghancuran harddisk, pemotongan kabel komunikasi.
2. Intersepsi / interception
Pihak tak diotorisasi dapat mengakses sumber daya. Merupakan ancaman terhadap kerahasiaan. Pihak tak
diotorissasi dapat berupa orang / program komputeer. Contohnya penyadapan, mengcopy file tanpa
diotorisasi.
3. Modifikasi / modification
Pihak tak diotorisasi tidak hanya mengakses tapi juga merusak sumber daya. Merupakan ancaman
terhadap integritas. Contohnya mengubah nilai file, mengubah program, memodifikasi pesan
4. Fabrikasi / fabrication
Pihak tak diotorisasi menyisipkan / memasukkan objek-objek palsu ke sistem. Merupakan ancaman terhadap integritas. Contohnya memasukkan pesan palsu ke jaringan, menambah record file.


Petunjuk prinsip-prinsip pengamanan sistem komputer, yaitu :

1. Rancangan sistem seharusnya publik

Tidak tergantung pada kerahasiaan rancangan mekanisme pengamanan. Membuat proteksi yang bagus
dengan mengasumsikan penyusup mengetahui cara kerja sistem pengamanan.
2. Dapat diterima
Mekanisme harus mudah diterima, sehingga dapat digunakan secara benar dan mekanisme proteksi tidak
mengganggu kerja pemakai dan pemenuhan kebutuhan otorisasi pengaksesan.
3. Pemeriksaan otoritas saat itu
Banyak sisten memeriksa ijin ketika file dibuka dan setelah itu (opersi lainnya) tidak diperiksa.
4. Kewenangan serendah mungkin
Program / pemakai sistem harusnya beroperasi dengan kumpulan wewenang serendah mungkin yang
diperlukan untuk menyelesaikan tugasnya.
5. Mekanisme yang ekonomis
Mekanisme proteksi seharusnya sekecil dan sesederhana mungkin dan seragam sehingga mudah untukverifikasi.

Otentifikasi pemakai / user authentification adalah identifikasi pemakai ketika login.
3 cara otentifikasi :

1. Sesuatu yang diketahui pemakai, misalnya password, kombinasi kunci, nama kecil ibu mertua, dll
Untuk password, pemakai memilih suatu kata kode, mengingatnya dan menggetikkannya saat akan mengakses sistem komputer, saat diketikkan tidak akan terlihat dilaya kecuali misalnya tanda *. Tetapi banyak kelemahan dan mudah ditembus karena pemakai cenderung memilih password yang mudah diingat,
misalnya nama kecil, nama panggilan, tanggal lahir, dll.

Upaya pengamanan proteksi password :
a. Salting, menambahkan string pendek ke string password yang diberikan pemakai sehingga mencapai
panjang password tertentu
b. one time password, pemakai harus mengganti password secara teratur, misalnya pemakai mendapat 1
buku daftar password. Setiap kali login pemakai menggunakan password berikutnya yang terdapat pada
daftar password.
c. satu daftar panjang pertanyan dan jawaban, sehingga pada saat login, komputer memilih salah satu dari
pertanyaan secara acak, menanyakan ke pemakai dan memeriksa jawaban yang diberikan.
d. tantangan tanggapan / chalenge respone, pemakai diberikan kebebasan memilih suatu algoritma
misalnya x3, ketika login komputer menuliskan di layar angka 3, maka pemakai harus mengetik angka 27.

2. Sesuatu yang dimiliki pemakai, misalnya bagde, kartu identitas, kunci, barcode KTM, ATM.
Kartu pengenal dengan selarik pita magnetik. Kartu ini disisipkan de suatu perangkat pembaca kartu
magnetik jika akan mengakses komputer, biasanya dikombinasikan dengan password.


3. Sesuatu mengenai / merupakan ciri pemakai yang di sebut biometrik, misalnya sidik jari, sidik suara, foto, tanda tangan, dll. Pada tanda tangan, bukan membandingkan bentuk tanda tangannya (karena mudah ditiru) tapi gerakan / arah dan tekanan pena saat menulis (sulit ditiru).
Untuk memperkecil peluang penembusan keamanan sistem komputer harus diberikan pembatasan,

misalnya :
1. Pembatasan login, misalnya pada terminal tertentu, pada waktu dan hari tertentu.
2. Pembatasan dengan call back, yaitu login dapat dilakukan oleh siapapun, bila telah sukses, sistemmemutuskan koneksi dan memanggil nomor telepon yang disepakati. Penyusup tidak dapat menghubungkan lewat sembarang saluran telepon, tapi hanya pada saluran tetepon tertentu.
3. Pembatasan jumlah usaha login, misalnya dibatasi sampai 3 kali, dan segera dikunci dan diberitahukan keadministrator.

>> Beberapa hal yang menjadikan kejahatan komputer terus terjadi dan cenderung meningkat adalah sebagai berikut :
  1. Meningkatnya pengguna komputer dan internet
  2. Banyaknya software yang pada awalnya digunakan untuk melakukan audit sebuah system dengan cara mencari kelemahan dan celah yang mungkin ada disalahgunakan untuk melakukan scanning system orang lain.
  3. Banyaknya software-software untuk melakukan probe dan penyusupan yang tersedia di Internet dan bisa di download secara gratis.
  4. Meningkatnya kemampuan pengguna komputer dan internet
  5. Desentralisasi server sehingga lebih banyak system yang harus ditangani, sementara SDM terbatas.
  6. Kurangnya huku yang mengatur kejahatan komputer.
  7. Semakin banyaknya perusahaan yang menghubungkan jaringan LAN mereka ke Internet.
  8. Meningkatnya aplikasi bisnis yang menggunakan internet.
  9. Banyaknya software yang mempunyai kelemahan (bugs).

>> Ada beberapa hal yang bisa menjawab pertanyaan mengapa kita perlu mengamankan sistem komputer, antara lain :
  1. Menghindari resiko penyusupan, kita harus memastikan bahwa system tidak kemasukaan penyusup yang bisa membaca, menulis dan menjalankan program-program yang bisa mengganggu atau menghancurkan system kita.
  2. Mengurangi resiko ancaman, hal ini biasa berlaku di institusi dan perusahaan swasta. Ada beberapa macam penyusup yang bisa menyerang system yang kita miliki.
  3. Melindungi system dari kerentanan, keretanan akan menjadikan system kita berpotensi untuk memberikan akses yang tidak diizinkan bagi orang lain yang tidak berhak.
  4. Melindungi system dari gangguan alam seperti petir dan lain-lainnya.

Klasifikasi keamanan komputer



Menurut David Icove, ada 4 tingkatan yang harus diperhatikan :
1. Fisik / Physical Security
Keamanan fisik adalah keamanan yang dipandang dari sisi hardware dan dari jaringan komputer seperti AP ( Access Point ), Kabel LAN ( Local Area Network ), Chasing CPU,dan  UPS.
2. Manusia / Personel Security
Keamanan  yang menggunakan jaringan komputer perlu diperhatikan. seperti  kasus Kevin Mitnick ( Hacker Legendaris ), dimana dia mampu menjebol sistem keamanan perusahaan dengan cara berpura-pura menjadi pegawai service komputer.
3. Data
Keamanan data cenderung mendapatkan perhatian yang lebih dari pada yang lain. Keamanan  ini menitikberatkan pada aspek software. Data pada jaringan  harus diamankan dari berbagai pihak yang tidak memiliki izin khusus.
4. Kebijakan dan prosedur
kebijakan  yang digunakan untuk mengatur dan mengelola sistem keamanan, dan juga termasuk prosedur setelah serangan ( post attack recovery).




Rabu, 25 September 2013

Yii Framework

Cara Mengintall Yii Framework




Yii Framework adalah (kerangka kerja) PHP berbasis-komponen, berkinerja tinggi untuk pengembangan aplikasi Web berskala-besar. Yii menyediakan reusability maksimum dalam pemrograman Web dan mampu meningkatkan kecepatan pengembangan secara signifikan. Nama Yii (dieja sebagai /i:/) singkatan dari "Yes It Is!".

Cara menginstal Yii Framework pada XAMPP :

Langkah 1.

Kita harus menginstal XAMPP terlebih dahulu setelah itu kita download Yii Framework di situs resminya http://www.yiiframework.com/download/ Proses Penginstalam Menggunakan i XAMPP versi 1.7.3 dan Yii Frameworknya memakai versi 1.1.13.



Langkah ke 2.

Setelah kita download kita extrak yiiframework yang berformat .zip yang baru kita download dan copykan ke c:\xampp\htdocs
 

Langkah ke 3.

Buka CMD atau Command Promt dan masuk ke directory web server lokal dan kemudian ketikkan seperti pada gambar berikut


  
Langkah ke 4.

Kita akan masuk ke directory htdocs, lihat gambar berikut

 
Langkah ke 5.
Membuat Folder latihankuyii



 Langkah ke 6. 

Jika Tulisan sudah benar seperti gambar ketikkan yes lalu enter seperti gambar berikut


Langkah ke 7.
Proses penginstalan berlangsung





Langkah ke 8.

Hasil di Xampp/Htdocs muncul Folder latihankuyii.



Langkah ke 9.

Aktifkan XAMPP Apache dan mysql


Buka web browser anda lalu ketikkan localhost/namafolder yii.

http://localhost/latihankuyii/

Dan jika berhasil akan muncul seperti gambar berikut




PERBEDAAN KONSEP PEMROGRAMAN Yii FRAMEWORK (MVC) DENGAN PEMROGRAMAN BIASA




Seperti kebanyakan PHP framework, Yii adalah MVC framework. Yii melampaui framework PHP lain dalam hal efisiensi, kekayaan-fitur, dan kejelasan dokumentasi. Yii didesain dengan hati-hati dari awal agar sesuai untuk pengembangan aplikasi Web secara serius. Yii bukan berasal dari produk pada beberapa proyek maupun konglomerasi pekerjaan pihak-ketiga. Yii adalah hasil dari pengalaman kaya para pembuat pada pengembangan aplikasi Web dan investigasi framework pemrograman Web dan aplikasi yang paling popular.

Kelebihan Framework Yii

Ada beberapa keuntungan yang dapat penulis ambil dalam penggunaan framework PHP Yii berikut. Keuntungannya antara lain adalah:

1.       Yii adalah salah satu framework yang sangat ringan dan dilengkapi dengan solusi caching yang memuaskan.

2.       Yii sangat cocok untuk pengembangan aplikasi dengan lalu lintas-tinggi, seperti portal, forum, sistem manajemen konten (CMS), sistem e-commerce, dll.

3.   Yii didokumentasikan dengan jelas, efisien, dan kaya-fitur.





Kekurangan Framework Yii


Berikut ini adalah kekurangan  PHP framework  dilihat dari sisi Programmer PHP biasa. kekurangan ini bersifat subjektif, jadi jangan dimakan mentah mentah!

Butuh spesifikasi server yang lebih banyak.

Biasanya framework butuh PHP versi 5 ketas, modul spesifik di apache seperti mod_rewrite atau mod_pdo, bahkan ada framework yang mengharuskan diletakan di root direktori server. Sebagian lagi spesifik harus didevelop di Linux.

Banyak yang harus dipelajari

Banyaknya fitur framework sebanding dengan banyaknya hal yang harus anda pelajari. Yang pertama Object oriented pogramming, yang kedua MVC dan yang ketiga adalah library dari framework itu sendiri. Belum lagi anda harus paham konfigurasi dan konvensi yang harus di pakai di framework tersebut.

Masalah keamanan

Secara umum, Framework sudah menyediakan fitur keamanan didalamnya. Namun jika ditemukan lubang keamanan,  anda harus mengupgrade framework yang anda pakai  di aplikasi anda.  Efek beruntunnya,  kode yang anda buat juga harus ikut di modifikasi.

Ukuran total file code menjadi lebih besar

Ketika program sudah selesai, anda juga harus mengupload framework bersama aplikasi anda di Webhosting  Efeknya, space yang dipakai menjadi lebih besar. Efek lainnya, jika ada file framework yang korup atau hilang, maka akan membuat  aplikasi error.

Susah melacak Error!

Saya pernah mempelajari Yii dan CI framework. Sangat banyak fitur yang disediakan, namun ketika ada code error, saya kesulitan menemukannya. berbeda dengan PHP biasa yang secara cepat mencari dan memperbaiki error yang muncul. Yii framework justru lebih seram lagi
saat menampilkan error dengan model stack seperti java.

ALUR MVC PADA Yii FRAMEWORK


Yii mengimplementasikan pola desain model-view-controller (MVC), yang diadopsi secara luas dalam pemrograman Web. MVC bertujuan untuk memisahkan logika bisnis dari pertimbangan antar muka pengguna agar para pengembang bisa lebih mudah mengubah
setiap bagian tanpa mempengaruhi yang lain. Dalam MVC, model menggambarkan informasi

(data) dan aturan bisnis; view(tampilan) berisi elemen antar muka pengguna seperti teks, input form; sementara controller mengatur komunikasi antar model dan view.

Selain implementasi MVC, Yii juga memperkenalkan front-controller(controller-depan), yang disebut Aplikasi, yang mengenkapsulasi konteks eksekusi untuk memproses sebuah request. Aplikasi mengumpulkan beberapa informasi mengenai request pengguna dan kemudian mengirimnya ke controller yang sesuai untuk penanganan selanjutnya.

Diagram berikut memperlihatkan struktur statis sebuah aplikasi Yii:


Struktur statis aplikasi Yii


1. Alur kerja Umum

Diagram berikut memperlihatkan alur kerja umum sebuah aplikasi Yii saat menangani permintaan pengguna:

Alur kerja umum aplikasi Yii



1.  Pengguna membuat permintaan dengan URL http://www.example.com/index.php?r=post/show&id=1 dan  server Web           menangani permintaan dengan menjalankan skrip bootstrap index.php.
2.  Skrip bootstrap membuat sebuah instance Aplikasi dan menjalankannya.
3. Aplikasi mendapatkan rincian informasi permintaan pengguna dari komponen aplikasi bernama request.
4.   Aplikasi menentukan controller dan aksi yang diminta dengan bantuan komponen
aplikasi bernama urlManager. Dalam contoh ini, controller adalah post yang merujuk pada kelas PostController; dan aksi adalah show yang arti sebenarnya ditentukan oleh controller.
5. Aplikasi membuat instance controller yang diminta untuk selanjutnya menangani permintaan pengguna. Controller menentukan aksi show merujuk pada sebuah metode bernama actionShow dalam kelas controller. Kemudian membuat dan menjalankan filter (contoh kontrol akses, pengukuran) terkait dengan aksi ini. Aksi dijalankan jika diijinkan oleh filter.
6.   Aksi membaca Post model di mana ID adalah 1 dari database.
7.   Aksi meyiapkan view(tampilan) bernama show dengan model Post.
8.   View membaca dan menampilkan atribut model Post.
9.   View menjalankan beberapa widget.
10. View menyiapkan hasil yang dipasangkan dalam layout(tata letak).
11. Aksi mengakhiri pembuatan view dan menampilkan hasil akhir kepada pengguna.