310 likes | 547 Views
Kemanan Web. Keamanan Web. How Web Works ? Menggunakan protokol HTTP Klien meminta dokumen melalui URL (Request) Server membalas dengan memberikan dokumen jika ada (Replay) HTTP bersifat Stateless Elemen web lainya : HTML, ASP, PHP, JSP, dll Aplikasi : Audio/Video, Postscript, pdf
E N D
Keamanan Web • How Web Works ? • Menggunakan protokol HTTP • Klien meminta dokumen melalui URL (Request) • Server membalas dengan memberikan dokumen jika ada (Replay) • HTTP bersifat Stateless • Elemen web lainya : • HTML, ASP, PHP, JSP, dll • Aplikasi : Audio/Video, Postscript, pdf • Browser : • Untuk menampilkan doukumen dan gambar • Untuk membantu menjalakan aplikasi • IE, Mozilla, Netscape, Konqueror, Lynx, dll
Web Vulnerabilities • http://www.w3.org/Security/Faq • Intercept informasi dari klien • Data, password, dll • Pencurian data di server • Data, password, dll • Menjalankan aplikasi di server • Memungkinkan melakukan eksekusi program “ngak benar” di server • Denial Of Services • Server Side Scripting, Cgi-Bin • Kesalahan pemograman membuka peluang
Kemanan Web • Authentikasi • FORM HTML • Basic, Digest • Klien Side + Server Side Scripting • Manajemen Sesi • Menggunakan Layer lain • S-HTTP ( discontinoued) • HTTPS ( HTTP ovel SSL) • IPSec • Konfigurasi Web Server • Hak Akses • Indexes • Penempatan File
Authentikasi • FORM HTML • <form action="modules.php?name=Your_Account" method="post">... • <br><input type="hidden" name="op" value="login"> ... • </form> • Tidak di enkripsi • BASIC • Algortima Base64 • Mudah di Dekrip • DIGEST • Alghoritma Digest Ex: MD5 • Belum 100% di support • CS + SS Script • Belum 100% di support • http://toast.newcastle.edu.au/js/md5/browsertest.php3.
Manajemen Sesi • Hiden Form Field • <input type="hidden" name="uniqueticket" • View page Source • Cookies • User harus mennghidupkan fasilitas • Poisoned cookies • Session Id • -rw------- 1 nobody nobody 180 Jun 30 18:46 sess_5cbdcb16f ... • Dapat menggunakan History jika umur sesi belum habis • URL Rewriting • http://login.yahoo.com/config/login?.tries=&.src=ym&.last=&promo=&.intl=us
Konfigurasi Web Server • Hak Akses • Linux / Unix : Web Server => user = apache • Penempatan file • Penempatan file-file penting • <? php include ("./db.inc");?> • <? php include ("./config.php");?> • Backup file konfigurasi • Indexes • Listing Isi Direktori
SSL • Untuk Semua Protokol TCP • Telnet -> SSH • HTTP -> HTTPS • Public Key Server • Hashing • MD5 + SHA • CA • Sekarang -> TLS
Secure Socket Layer (SSL) • Menggunakan enkripsi untuk mengamankan transmisidata • Mulanya dikembangkan oleh Netscape • Implementasi gratis pun tersedia openSSL
HTTPS adalah varian dari protocol HTTP dimana user mengakses dengan https:// • Data yang dikirim ke server adalah data yang terenkripsi. • Enkripsi yang digunakan adalah enkripsi SSL (Secure socket Layer). • Menggunakan TCP port 443.
Penjelasan Blok Diagram 1. Klien membuka suatu halaman yang mendukung protokol SSL, biasanya diawali dengan https:// pada browsernya. 2. Kemudian webserver mengirimkan kunci publiknya beserta dengan sertifikat server. 3. Browser melakukan pemeriksaan : apakah sertifikat tersebut dikeluarkan oleh CA(Certificate Authority) yang terpercaya? Apakah sertifikat tersebut masih valid dan memang berhubungan dengan alamat situs yang sedang dikunjungi?
4. Setelah diyakini kebenaran dari webserver tersebut, kemudian browser menggunakan kunci public dari webserver untuk melakukan enkripsi terhadap suatu kunci simetri yang dibangkitkan secara random dari pihak klien. Kunci yang dienkripsiini kemudian dikirimkan ke webserver untuk digunakan sebagai kunci untukmengenkripsi alamat URL (Uniform Resource Locator) dan data http lain yang diperlukan.
5. Webserver melakukan dekripsi terhadap enkripsi dari klien tadi, menggunakankunci privat server. Server kemudian menggunakan kunci simetri dari klien tersebutuntuk mendekripsi URL dan data http yang akan diperlukan klien. 6. Server mengirimkan kembali halaman dokumen HTML yang diminta klien dan data http yang terenkripsi dengan kunci simetri tadi. 7. Browser melakukan dekripsi data http dan dokumen HTML menggunakan kuncisimteri tadi dan menampilkan informasi yang diminta.
Implementasi MD5 pada database • Message Digest 5 (MD5) adalah sebuah fungsi hash satu arah yang mengubah masukan dengan panjang variabel menjadi keluaran dengan panjang tetap yaitu 128 bit. • MD5 merupakan pengembangan lebih lanjut dari MD4. • Simplicity. Algoritma MD5 mudah untuk diimplementasikan karena tidak membutuhkan program yang besar dan panjang • Kecepatan enkripsi pada sistem kriptografi MD5 sangat bergantung kepada spesifikasi Komputer yang digunakan • MD5 akan menghasilkan output berupa 4 buah blok yang masing-masing terdiri dari 32 bit sehingga menjadi 128 bit yang disebut nilai hash
Berikut adalah beberapa metode yang biasa sering digunakan para hacker untuk menyerang suatu website: • 1. Remote File Inclusion (RFI) • 2. Local File Inclusion (LFI) • 3. SQL injection • 4. Cross Site Scripting (XSS)
Remote File Inclusion (RFI) • Metode yang memanfaatkan kelemahan script PHP include(), include_once(), require(), require_once() yang variabel nya tidak dideklarasikan dengan sempurna. • Dengan RFI seorang attacker dapat menginclude kan file yang berada di luar server yang bersangkutan.
Local File Inclusion (LFI) • Metode yang memanfaatkan kelemahan script PHP include(), include_once(), require(), require_once() yang variabel nya tidak dideklarasikan dengan sempurna. • Dengan LFI seorang attacker dapat menginclude kan file yang berada di dalam server yang bersangkutan. • Penanganan LFI : • Ubah fungsi ini • Allow_url_fopen = on gantilah dengan of • Allow_url_include = on gantilah dengan of
SQL injection • SQL injection adalah teknik yang memanfaatkan kesalahan penulisan query SQL pada suatu website sehingga seorang hacker bisa menginsert beberapa SQL statement ke ‘query’ dengan cara memanipulasi data input ke aplikasi tersebut. • Penanganan SQL Injection • Merubah script php • Menggunakan MySQL_escape_string • Pemfilteran karakter ‘ dengan memodifikasi php.ini
Cross Site Scripting (XSS) • XSS dikenal juga dengan CSS adalah singkatan dari Cross Site Scripting. • XSS adalah suatu metode memasukan code atau script HTML kedalam suatu website yang dijalankan melalui browser di client.
Tips keamanan website Tips Keamanan WebsiteAda beberapa cara supaya website kita tidak mudah disusupi oleh para hacker, sehingga dapat mengurangi resiko kerusakan website, antara lain: Jika anda menggunakan suatu CMS seperti joomla, phpbb, phpnuke, wordpress dan sebagainya, rajinlah mengupdate CMS anda dengan CMS terbaru jika muncul versi yang lebih baru. Kunjungilah situs-situs yang membahas tentang keamanan aplikasi web seperti : www.milw0rm.com, www.securityfocus.com atau www.packetstormsecurity.org untuk mendapatkan informasi tentang bug terbaru. Sewalah seorang yang ahli tentang keamanan website untuk menganalisis keamanan website anda. Gunakanlah software seperti Acunetix untuk melakukan scanning atas kelemahan yang bisa terjadi di website anda