1 / 31

Kemanan 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

van
Download Presentation

Kemanan Web

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kemanan Web

  2. 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

  3. 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

  4. 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

  5. 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.

  6. 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

  7. 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

  8. SSL • Untuk Semua Protokol TCP • Telnet -> SSH • HTTP -> HTTPS • Public Key Server • Hashing • MD5 + SHA • CA • Sekarang -> TLS

  9. Secure Socket Layer (SSL) • Menggunakan enkripsi untuk mengamankan transmisidata • Mulanya dikembangkan oleh Netscape • Implementasi gratis pun tersedia openSSL

  10. 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.

  11. Tampilan HTTP biasa

  12. Tampilan HTTPS

  13. Ilustrasi Cara Kerja SSL

  14. 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?

  15. 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.

  16. 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.

  17. Contoh penerapan MD5

  18. 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

  19. File form input

  20. File koneksi database tanpa hash MD5 :

  21. File koneksi database menggunakan metode MD5 kriptograpy:

  22. 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)

  23. 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.

  24. 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

  25. 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

  26. 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.

  27. 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

More Related