Keamanan WEB

Download Report

Transcript Keamanan WEB

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
 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.ph
p3.
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
sess_5cbdcb16f ...
►
180 Jun 30 18:46
 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.
►
Tampilan HTTP biasa
Tampilan HTTPS
Ilustrasi Cara Kerja SSL
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.
Contoh penerapan MD5
Implementasi MD5 pada database
►
Message Digest 5 (MD5) adalah sebuah fungsi hash satu
►
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
arah yang mengubah masukan dengan panjang variabel
menjadi keluaran dengan panjang tetap yaitu 128 bit.
File form input
File koneksi database tanpa hash MD5 :
File koneksi database menggunakan
metode MD5 kriptograpy:
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