Keamanan Web Server Pertemuan 5
WEB HACKING World Wide Web merupakan bagian dari Internet yang paling populer, sehingga serangan paling banyak terjadi lewat port 80 atau yang dikenal sebagai Web hacking, berupa : 1. Deface situs 2. SQL injection 3. Memanfaatkan kelemahan scripting maupun HTML form.
Deface Deface adalah suatu aktivitas mengubah halaman depan atau isi suatu situs Web sehingga tampilan atau isinya sesuai dengan yang anda kehendaki. Deface banyak terjadi pada situs e-commerce web yang menggunakan MS IIS. Ini dikarenakan adanya bug pada IIS yang dikenal sebagai unicode bug. Dengan adanya bug ini seseorang dapat mengakses command line shell cmd.exe pada server keluarga Windows NT.
Teknik-teknik Deface Situs Web Secara garis besarnya deface ini dapat dilakukan dengan 3 cara yaitu : 1. secara umum, Memasukkan Input Ilegal Tujuan adalah agar user terlempar keluar dari direktori file-file web server dan masuk ke root directory untuk kemudian menjalankan cmd.exe dan mengamati struktur direktori pada NT server sasaran. 2. dengan TFTP (Trivial File Transfer Protocol) adalah protokol berbasis UDP yang listen pada port 69 dan sangat rawan keamanannya dan kebanyakan web server menjalankan servis TFTP ini. 3. dengan FTP dengan Web yang telah diisi bahan deface. Setiap NT server memiliki file ftp.exe untuk melakukan FTP upload ataupun FTP download (dari dan ke sever itu).
NETCAT Netcat memungkinkan anda membentuk port filter sendiri yang memungkinkan file transfer tanpa menggunakan FTP. Lebih jauh lagi, Netcat dapat digunakan untuk menghindari port filter pada kebanyakan firewall, men-spoof IP address, sampai melakukan session hijacking.
Mengamankan sever IIS dari deface Selalu mengupdate dengan service pack dan hotfix terbaru. Melindungi dengan oleh firewall dan IDS (intrusion detection system). Menghilangkan Opsi Tulis pada Protokol HTTP (HTTP 1.0 atau HTTP 1.1) Perintah-perintah yang didukung HTTP 1.0 dan HTTP 1.1 CONNECT*, DELETE*, GET, HEAD, OPTIONS, POST, PUT,TRACE
SQL Injection SQL Injection attack merupakan salah satu teknik dalam melakukan web hacking untuk menggapai akses pada sistem database berbasis Microsoft SQL Server. Teknik ini memanfaatkan kelemahan dalam bahasa pemograman scripting pada SQL dalam mengolah suatu sistem database yang memungkinkan seseorang tanpa account dapat masuk dan lolos verifikasi dari MS SQL server. Contoh : Memasukkan karakter ‘ OR ‘ ‘= pada username dan password pada suatu situs. Untuk mengatasi hal ini, atur agar: • Hanya karakter tertentu yang boleh diinput. • Jika terdeteksi adanya illegal character, langsung tolak permintaan.
JavaScript: Client Side Scripting JavaScript sendiri merupakan suatu scripting language yang dieksekusi di sisi client (komputer pengguna), sehingga suatu transaksi yang menggunakan JavaScript sebagai scripting language-nya dapat dipastikan sangat rawan terhadap manipulasi dari sisi pemakai. Contoh scripting language yang bekerja di sisi client: • JavaScript • Client side VB Script Adapun scripting language di sisi server: • ASP (Active Server Pages) • JSP (Java Server Pages) • PHP (Personal Home Page)
Kelemahan Dasar HTML Form Formulir dalam format HTML (HTML Form) adalah tampilan yang digunakan untuk menampilkan jendela untuk memasukkan username dan password. Setiap HTML form harus menggunakan salah satu metode pengisian formulir, yaitu GET atau POST. Melalui kedua metode HTTP ini (GET atau POST) parameter disampaikan ke aplikasi di sisi server.
Berikut ini adalah kode HTML dari suatu login form: <form method=POST action=’/cgi-bin/login.cgi”> <table border=0> <tr> <td>username:</td> <td>input name=user type=text width=20></td> </tr> <td>password:</td> <td>input name=pass type=password width=20></td> </table> <input type=submit value=”login”> </form>
Masalahnya dengan menggunakan GET, variabel yang digunakan akan terlihat pada kotak URL, yang memungkinkan pengunjung langsung memasukkan karakter pada form process, selain juga perintah GET dibatasi oleh string sepanjang 2047 karakter. Variabel juga dapat diambil dengan Request.QueryString. POST biasa digunakan untuk mengirim data dalam jumlah besar ke aplikasi di sisi server, sehingga tidak menggunakan URL query string yang terbatas. POST juga lebih aman sebab variabel tidak terlihat oleh pengunjung, sehingga lebih sulit dimainkan lewat perubahan nama variabel. Namun variabel tetap dapat diambil dengan RequestForm.
Mencari informasi mengenai Web Server Menggunakan www.google.com Memasukan keyword allinurl dengan memodifikasi ke berbagai bentuk karena Google akan mencari semua URL dalam sebuah situs. Contoh : - allinurl:.co.nz/admin.asp - allinurl:.co.id atau net atau org, or.id - allinurl:.fr/admin.asp
Tool untuk memeriksa Vulnerabilities Happy Browser adalah Software yang digunakan sebagai tool untuk memeriksa, mencari, atau melacak komputer-komputer server yang security-nya sangat lemah (vulnerabilities). Di ciptakan pada akhir tahun 1999 oleh Doc Holiday dan Ganymed. - www.computec.ch/software/webserver - www16.brinkster.com/erytricky/Software/thc.zip Hacking Tools: Instant Source, Wget, WebSleuth, Black Widow, Window Bomb
Keamanan Mail Server
E-mail sudah digunakan orang sejak awal terbentuknya internet pada sekitar tahun 1969. Alamat e-mail merupakan gabungan dari nama user dan domain name ; user@domainname. Misalnya: sihot@hotmail.com. Proses pengiriman Email memanfaatkan protokol SMTP (Simple Mail Transport Protocol - bekerja di port 25) atau UUCP. Protokol SMTP hanya bekerja untuk berkomunikasi dengan server mail remote, tidak untuk server lokal. Sedangkan pengguna Email dapat membaca e-mailnya menggunakan protokol POP. Setiap pengguna memiliki 'mailbox' pada mail server tempat mail yang ditujukan kepada pengguna tersebut disimpan.
Mail server hanya sebuah aplikasi yang berurusan dengan lalu lintas email, tidak secara langsung berhubungan dengan user yang akan berkirim email. Sistem email memiliki dua komponen – Mail User Agent (MUA) Berhubungan dengan pengguna. Contoh: Pine, Mozilla FireBird, Eudora, Netscape, Ms. Outlook dan Pegasus. – Mail Transfer Agent (MTA) Yang melakukan pengiriman email. Contoh: sendmail, qmail, Exim, postfix, Mdaemon, exchange
Komponen email Email terdiri dari tiga buah komponen, yaitu: Envelope, atau amplop. Ini digunakan oleh MTA untuk pengiriman. Envelope ditandai dengan dua buah perintah SMTP : MAIL from: <susan@students.ee.itb.ac.id> RCPT to: susan@lskk.itb.ac.id Header, digunakan oleh user agent. Ada kurang lebih sembilan field header, yaitu: Received, Message-Id, From, Date, Reply-To, X-Phone, X-mailer, To dan Subject. Setiap field header berisi sebuah nama yang diikuti oleh sebuah titik dua (:), dan nilai dari field header tersebut. Body merupakan isi pesan dari pengirim ke penerima.
Contoh email header – body From: "Jimmy" <jimmy@tabloidpcplus.com> To: "Anton" <anton@bsi.ac.id> References: <WorldClient-F200506212027.AA27280044@bsi.ac.id> Subject: Re: Tanya mengenai workshop PC Plus Date: Wed, 22 Jun 2005 11:01:01 +0700
Return-path: <jimmy@tabloidpcplus.com> Received: from mail.ub.net.id ([202.146.0.14]) by bsi.ac.id ([202.183.1.20]) with SMTP (MDaemon.PRO.v6.7.8.R) for <anton@bsi.ac.id>; Wed, 22 Jun 2005 11:26:15 +0700 Received: (qmail 26119 invoked by uid 1006); 22 Jun 2005 10:43:18 +0700 Received: from jimmy@tabloidpcplus.com by mail by uid 89 with qmail-scanner-1.22-st-qms (clamdscan: 0.73. spamassassin: 2.63. Clear:RC:1(127.0.0.1):. Processed in 2.007306 secs); 22 Jun 2005 03:43:18 -0000 X-Antivirus-MYDOMAIN-Mail-From: jimmy@tabloidpcplus.com via mail X-Antivirus-MYDOMAIN: 1.22-st-qms (Clear:RC:1(127.0.0.1):. Processed in 2.007306 secs Process 26113) Received: from mail.ub.net.id (HELO infokomputer.com) () by mail.ub.net.id with SMTP; 22 Jun 2005 10:43:16 +0700 Received: from jimmy by infokomputer.com (MDaemon.PRO.v6.8.4.R) with ESMTP id 21-md50000000164.tmp for <anton@bsi.ac.id>; Wed, 22 Jun 2005 11:08:23 +0700 Message-ID: <00a901c576df$00cf3010$79260f0a@jimmy> From: "Jimmy" <jimmy@tabloidpcplus.com> To: "Anton" <anton@bsi.ac.id> References: <WorldClient-F200506212027.AA27280044@bsi.ac.id> Subject: Re: Tanya mengenai workshop PC Plus Date: Wed, 22 Jun 2005 11:01:01 +0700 MIME-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2600.0000
Penyadapan email - confidentiality problem Email seperti kartu pos (postcard) yang dapat dibaca oleh siapa saja. Terbuka. Email dikirimkan oleh MTA ke “kantor pos” terdekat untuk diteruskan ke “kantor pos” berikutnya. Hopping. Sampai akhirnya di tujuan. Potensi penyadapan dapat terjadi di setiap titik yang dilalui. Proteksi terhadap penyadapan Menggunakan enkripsi untuk mengacak isi surat Contoh proteksi: PGP(Pretty Good Privacy) , PEM
Email palsu Proteksi: email palsu Mudah membuat email palsu dengan membuat header sesuka anda. Email palsu ini kemudian dikirimkan via MTA atau langsung via SMTP Aktivitas tercatat di server dalam berkas log Proteksi: email palsu Lihat header untuk mengetahui asal email Menggunakan digital signature Namun keduanya jarang dilakukan
Spamming Mengirim satu email ke banyak orang Asal kata “spam” Proteksi: MTA dipasang proteksi terhadap spamming (RBL) Contoh Spam
Mailbomb Mengirim banyak email ke satu orang Proteksi: membatasi ukuran email,quota disk, menggunakan filter khusus Contoh Skrip Mailbomb #! /usr/local/bin/perl # for ($i=0; $i < 10 ; $i++) { system(“/usr/sbin/sendmail target@somedomain.com < junkmail.txt”); }
Mail relay Menggunakan server orang lain untuk mengirimkan email Akibat: – Bandwidth orang lain terpakai untuk mengirim email tersebut (yang biasanya banyak) – Mengelabui penerima email Proteksi – Mail Abuse Prevention System http://mail-abuse.org/ – ORBZ – Open Relay Blackhole Zone http://www.orbz.org/ – ORDB – Open Relay Database http://www.ordb.org/ – RBL-type services http://www.ling.helsinki.fi/users/reriksso/rbl/rbl.html