kemanan web

31
Kemanan Web Kemanan Web

Upload: van

Post on 03-Feb-2016

99 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Kemanan Web

Kemanan WebKemanan Web

Page 2: Kemanan Web

Keamanan WebKeamanan Web

► How Web Works ?How Web Works ? Menggunakan protokol HTTPMenggunakan protokol HTTP Klien meminta dokumen melalui URL (Request)Klien meminta dokumen melalui URL (Request) Server membalas dengan memberikan dokumen jika ada Server membalas dengan memberikan dokumen jika ada

(Replay)(Replay) HTTP bersifat StatelessHTTP bersifat Stateless

► Elemen web lainya :Elemen web lainya : HTML, ASP, PHP, JSP, dllHTML, ASP, PHP, JSP, dll Aplikasi : Audio/Video, Postscript, pdfAplikasi : Audio/Video, Postscript, pdf Browser :Browser :

► Untuk menampilkan doukumen dan gambarUntuk menampilkan doukumen dan gambar► Untuk membantu menjalakan aplikasiUntuk membantu menjalakan aplikasi► IE, Mozilla, Netscape, Konqueror, Lynx, dllIE, Mozilla, Netscape, Konqueror, Lynx, dll

Page 3: Kemanan Web

Web VulnerabilitiesWeb Vulnerabilities

► http://www.w3.org/Security/Faqhttp://www.w3.org/Security/Faq► Intercept informasi dari klienIntercept informasi dari klien

Data, password, dllData, password, dll

► Pencurian data di serverPencurian data di server Data, password, dllData, password, dll

► Menjalankan aplikasi di serverMenjalankan aplikasi di server Memungkinkan melakukan eksekusi program “ngak benar” Memungkinkan melakukan eksekusi program “ngak benar”

di serverdi server

► Denial Of ServicesDenial Of Services► Server Side Scripting, Cgi-BinServer Side Scripting, Cgi-Bin

Kesalahan pemograman membuka peluangKesalahan pemograman membuka peluang

Page 4: Kemanan Web

Kemanan WebKemanan Web

► Authentikasi Authentikasi FORM HTMLFORM HTML Basic, DigestBasic, Digest Klien Side + Server Side ScriptingKlien Side + Server Side Scripting

► Manajemen SesiManajemen Sesi► Menggunakan Layer lainMenggunakan Layer lain

S-HTTP ( discontinoued)S-HTTP ( discontinoued) HTTPS ( HTTP ovel SSL)HTTPS ( HTTP ovel SSL) IPSecIPSec

► Konfigurasi Web ServerKonfigurasi Web Server Hak AksesHak Akses IndexesIndexes Penempatan FilePenempatan File

Page 5: Kemanan Web

Authentikasi Authentikasi ► FORM HTMLFORM HTML

<form action="modules.php?name=Your_Account" method="post">...<form action="modules.php?name=Your_Account" method="post">... <br><input type="hidden" name="op" value="login"> ...<br><input type="hidden" name="op" value="login"> ... </form></form>

Tidak di enkripsiTidak di enkripsi

► BASICBASIC Algortima Base64Algortima Base64 Mudah di DekripMudah di Dekrip

► DIGESTDIGEST Alghoritma Digest Ex: MD5Alghoritma Digest Ex: MD5 Belum 100% di supportBelum 100% di support

► CS + SS ScriptCS + SS Script Belum 100% di supportBelum 100% di support http://toast.newcastle.edu.au/js/md5/http://toast.newcastle.edu.au/js/md5/

browsertest.php3browsertest.php3. .

Page 6: Kemanan Web

Manajemen SesiManajemen Sesi► Hiden Form FieldHiden Form Field

<input type="hidden" name="uniqueticket"<input type="hidden" name="uniqueticket" View page SourceView page Source

► CookiesCookies User harus mennghidupkan fasilitasUser harus mennghidupkan fasilitas Poisoned cookiesPoisoned cookies

► Session IdSession Id -rw------- 1 nobody nobody 180 Jun 30 18:46 -rw------- 1 nobody nobody 180 Jun 30 18:46

sess_5cbdcb16f ...sess_5cbdcb16f ... Dapat menggunakan History jika umur sesi belum Dapat menggunakan History jika umur sesi belum

habishabis► URL Rewriting URL Rewriting

http://login.yahoo.com/config/http://login.yahoo.com/config/login?.tries=&.src=ym&.last=&promo=&.intl=uslogin?.tries=&.src=ym&.last=&promo=&.intl=us

Page 7: Kemanan Web

Konfigurasi Web Server Konfigurasi Web Server ► Hak AksesHak Akses

Linux / Unix : Web Server => user = apacheLinux / Unix : Web Server => user = apache

► Penempatan filePenempatan file Penempatan file-file penting Penempatan file-file penting <?<? php include ("./db.inc");?> php include ("./db.inc");?> <?<? php include ("./config.php");?> php include ("./config.php");?> Backup file konfigurasiBackup file konfigurasi

► IndexesIndexes Listing Isi DirektoriListing Isi Direktori

Page 8: Kemanan Web

SSLSSL► Untuk Semua Protokol TCPUntuk Semua Protokol TCP

Telnet -> SSHTelnet -> SSH HTTP -> HTTPSHTTP -> HTTPS

► Public Key ServerPublic Key Server► HashingHashing

MD5 + SHAMD5 + SHA

► CACA► Sekarang -> TLSSekarang -> TLS

Page 9: Kemanan Web

Secure Socket Layer (SSL)Secure Socket Layer (SSL)

► Menggunakan enkripsi untuk mengamankan Menggunakan enkripsi untuk mengamankan transmisidatatransmisidata

► Mulanya dikembangkan oleh NetscapeMulanya dikembangkan oleh Netscape► Implementasi gratis pun tersedia openSSLImplementasi gratis pun tersedia openSSL

Page 10: Kemanan Web

► HTTPS adalah varian dari protocol HTTP dimana HTTPS adalah varian dari protocol HTTP dimana user mengakses dengan https://user mengakses dengan https://

► Data yang dikirim ke server adalah data yang Data yang dikirim ke server adalah data yang terenkripsi.terenkripsi.

► Enkripsi yang digunakan adalah enkripsi SSL Enkripsi yang digunakan adalah enkripsi SSL (Secure socket Layer).(Secure socket Layer).

► Menggunakan TCP port 443.Menggunakan TCP port 443.

Page 11: Kemanan Web
Page 12: Kemanan Web
Page 13: Kemanan Web

Tampilan HTTP biasaTampilan HTTP biasa

Page 14: Kemanan Web

Tampilan HTTPSTampilan HTTPS

Page 15: Kemanan Web

Ilustrasi Cara Kerja SSLIlustrasi Cara Kerja SSL

Page 16: Kemanan Web

Penjelasan Blok DiagramPenjelasan Blok Diagram

1. Klien membuka suatu halaman yang 1. Klien membuka suatu halaman yang mendukung protokol SSL, biasanya diawali mendukung protokol SSL, biasanya diawali dengan https:// pada browsernya.dengan https:// pada browsernya.

2. Kemudian webserver mengirimkan kunci 2. Kemudian webserver mengirimkan kunci publiknya beserta dengan sertifikat server.publiknya beserta dengan sertifikat server.

3. Browser melakukan pemeriksaan : apakah 3. Browser melakukan pemeriksaan : apakah sertifikat tersebut dikeluarkan oleh sertifikat tersebut dikeluarkan oleh CA(Certificate Authority) yang terpercaya? CA(Certificate Authority) yang terpercaya?

Apakah sertifikat tersebut masih valid dan Apakah sertifikat tersebut masih valid dan memang berhubungan dengan alamat situs memang berhubungan dengan alamat situs yang sedang dikunjungi?yang sedang dikunjungi?

Page 17: Kemanan Web

4. Setelah diyakini kebenaran dari 4. Setelah diyakini kebenaran dari webserver webserver tersebut, kemudian tersebut, kemudian browser menggunakan browser menggunakan kunci kunci public dari public dari webserver untuk webserver untuk melakukan enkripsi melakukan enkripsi terhadap suatu kunci terhadap suatu kunci simetri yang dibangkitkan secara random simetri yang dibangkitkan secara random dari pihak klien. Kunci yang dienkripsiini dari pihak klien. Kunci yang dienkripsiini kemudian dikirimkan ke webserver untuk kemudian dikirimkan ke webserver untuk digunakan sebagai kunci untukmengenkripsi digunakan sebagai kunci untukmengenkripsi alamat URL (alamat URL (Uniform Resource Locator) dan Uniform Resource Locator) dan data data http lain yang diperlukan.http lain yang diperlukan.

Page 18: Kemanan Web

5. Webserver melakukan dekripsi terhadap 5. Webserver melakukan dekripsi terhadap enkripsi dari klien tadi, menggunakankunci enkripsi dari klien tadi, menggunakankunci privat server. Server kemudian menggunakan privat server. Server kemudian menggunakan kunci simetri dari klien tersebutuntuk kunci simetri dari klien tersebutuntuk mendekripsi URL dan data http yang akan mendekripsi URL dan data http yang akan diperlukan klien.diperlukan klien.

6. Server mengirimkan kembali halaman 6. Server mengirimkan kembali halaman dokumen HTML yang diminta klien dan data dokumen HTML yang diminta klien dan data http yang terenkripsi dengan kunci simetri http yang terenkripsi dengan kunci simetri tadi.tadi.

7. Browser melakukan dekripsi data http dan 7. Browser melakukan dekripsi data http dan dokumen HTML menggunakan kuncidokumen HTML menggunakan kuncisimteri simteri tadi dan menampilkan informasi yang diminta.tadi dan menampilkan informasi yang diminta.

Page 19: Kemanan Web

Contoh penerapan Contoh penerapan MD5MD5

Page 20: Kemanan Web

Implementasi MD5 pada Implementasi MD5 pada databasedatabase

► Message Digest 5 Message Digest 5 (MD5) adalah sebuah fungsi hash (MD5) adalah sebuah fungsi hash satu arah yang mengubah masukan dengan satu arah yang mengubah masukan dengan panjang variabel menjadi keluaran dengan panjang panjang variabel menjadi keluaran dengan panjang tetap yaitu 128 bit.tetap yaitu 128 bit.

► MD5 merupakan pengembangan lebih lanjut dari MD5 merupakan pengembangan lebih lanjut dari MD4.MD4.

► SimplicitySimplicity. Algoritma MD5 mudah untuk . Algoritma MD5 mudah untuk

diimplementasikan karena tidak membutuhkan diimplementasikan karena tidak membutuhkan program yang besar dan panjangprogram yang besar dan panjang

► Kecepatan enkripsi pada sistem kriptografi MD5 Kecepatan enkripsi pada sistem kriptografi MD5 sangat bergantung kepada spesifikasi Komputer sangat bergantung kepada spesifikasi Komputer yang digunakanyang digunakan

► MD5 akan menghasilkan MD5 akan menghasilkan output output berupa 4 buah blok berupa 4 buah blok yang masing-masing terdiri dari 32 bit sehingga yang masing-masing terdiri dari 32 bit sehingga menjadi 128 bit yang disebut nilai hashmenjadi 128 bit yang disebut nilai hash

Page 21: Kemanan Web

File form inputFile form input

Page 22: Kemanan Web

File koneksi database tanpa hash MD5 :File koneksi database tanpa hash MD5 :

Page 23: Kemanan Web
Page 24: Kemanan Web

File koneksi database menggunakan File koneksi database menggunakan metode MD5 kriptograpy:metode MD5 kriptograpy:

Page 25: Kemanan Web
Page 26: Kemanan Web

Berikut adalah beberapa metode yang biasa Berikut adalah beberapa metode yang biasa sering sering digunakan para hacker untuk menyerang digunakan para hacker untuk menyerang suatu suatu website:website:►1. Remote File Inclusion (RFI)1. Remote File Inclusion (RFI)►2. Local File Inclusion (LFI)2. Local File Inclusion (LFI)►3. SQL injection3. SQL injection►4. Cross Site Scripting (XSS)4. Cross Site Scripting (XSS)

Page 27: Kemanan Web

Remote File Inclusion (RFI)Remote File Inclusion (RFI)

►Metode yang memanfaatkan Metode yang memanfaatkan kelemahan script PHP include(), kelemahan script PHP include(), include_once(), require(), include_once(), require(), require_once() yang variabel nya tidak require_once() yang variabel nya tidak dideklarasikan dengan sempurna.dideklarasikan dengan sempurna.

►Dengan RFI seorang attacker dapat Dengan RFI seorang attacker dapat menginclude kan file yang berada di menginclude kan file yang berada di luar server yang bersangkutan.luar server yang bersangkutan.

Page 28: Kemanan Web

Local File Inclusion (LFI)Local File Inclusion (LFI)

► Metode yang memanfaatkan kelemahan Metode yang memanfaatkan kelemahan script PHP include(), include_once(), script PHP include(), include_once(), require(), require_once() yang variabel nya require(), require_once() yang variabel nya tidak dideklarasikan dengan sempurna.tidak dideklarasikan dengan sempurna.

► Dengan LFI seorang attacker dapat Dengan LFI seorang attacker dapat menginclude kan file yang berada di dalam menginclude kan file yang berada di dalam server yang bersangkutan.server yang bersangkutan.

► Penanganan LFI :Penanganan LFI : Ubah fungsi iniUbah fungsi ini

► Allow_url_fopen = on gantilah dengan ofAllow_url_fopen = on gantilah dengan of► Allow_url_include = on gantilah dengan ofAllow_url_include = on gantilah dengan of

Page 29: Kemanan Web

SQL injectionSQL injection

► SQL injection adalah teknik yang SQL injection adalah teknik yang memanfaatkan kesalahan penulisan query memanfaatkan kesalahan penulisan query SQL pada suatu website sehingga seorang SQL pada suatu website sehingga seorang hacker bisa menginsert beberapa SQL hacker bisa menginsert beberapa SQL statement ke ‘query’ dengan cara statement ke ‘query’ dengan cara memanipulasi data input ke aplikasi memanipulasi data input ke aplikasi tersebut.tersebut.

► Penanganan SQL Injection Penanganan SQL Injection Merubah script phpMerubah script php Menggunakan Menggunakan MySQL_escape_stringMySQL_escape_string Pemfilteran karakter ‘ dengan memodifikasi Pemfilteran karakter ‘ dengan memodifikasi

php.iniphp.ini

Page 30: Kemanan Web

Cross Site Scripting (XSS)Cross Site Scripting (XSS)

►XSS dikenal juga dengan CSS adalah XSS dikenal juga dengan CSS adalah singkatan dari Cross Site Scripting.singkatan dari Cross Site Scripting.

►XSS adalah suatu metode memasukan XSS adalah suatu metode memasukan code atau script HTML kedalam suatu code atau script HTML kedalam suatu website yang dijalankan melalui website yang dijalankan melalui browser di client.browser di client.

Page 31: Kemanan Web

Tips keamanan websiteTips keamanan websiteTips Keamanan WebsiteAda beberapa cara supaya website kita Tips Keamanan WebsiteAda beberapa cara supaya website kita

tidak mudah disusupi oleh para hacker, sehingga dapat tidak mudah disusupi oleh para hacker, sehingga dapat mengurangi resiko kerusakan website, antara lain:mengurangi resiko kerusakan website, antara lain:

Jika anda menggunakan suatu CMS seperti joomla, phpbb, phpnuke, Jika anda menggunakan suatu CMS seperti joomla, phpbb, phpnuke, wordpress dan sebagainya, rajinlah mengupdate CMS anda dengan wordpress dan sebagainya, rajinlah mengupdate CMS anda dengan CMS terbaru jika muncul versi yang lebih baru.CMS terbaru jika muncul versi yang lebih baru.

Kunjungilah situs-situs yang membahas tentang keamanan aplikasi Kunjungilah situs-situs yang membahas tentang keamanan aplikasi web seperti : www.milw0rm.com, www.securityfocus.com atau web seperti : www.milw0rm.com, www.securityfocus.com atau www.packetstormsecurity.org untuk mendapatkan informasi tentang www.packetstormsecurity.org untuk mendapatkan informasi tentang bug terbaru.bug terbaru.

Sewalah seorang yang ahli tentang keamanan website untuk Sewalah seorang yang ahli tentang keamanan website untuk menganalisis keamanan website anda.menganalisis keamanan website anda.

Gunakanlah software seperti Acunetix untuk melakukan scanning Gunakanlah software seperti Acunetix untuk melakukan scanning atas kelemahan yang bisa terjadi di website andaatas kelemahan yang bisa terjadi di website anda