Anda di halaman 1dari 35

Keamanan WWW

dan SSL

Pertemuan 8
Sejarah WWW
 Dikembangan oleh Tim Berners-Lee
ketika sedang berada di CERN
 Kemudahan untuk mengakses
informasi melalui sistem hypertext
 Mula-mula dikembangkan dengan
NeXT, kemudian muncul Mosaic
(Windows, Mac, Unix), dan …
akhirnya Netscape. Kemudian
meledak
Sistem WWW
 Arsitektur sistem WWW
 Server (apache, IIS)
 Client (IE, Netscape, Mozilla, opera,
kfm, arena, amaya, lynx)
 Terhubung melalui jaringan
 Program dapat dijalankan di
server (CGI, [java] servlet) atau di
sisi client (javascript, java applet)
Asumsi [Sisi Pengguna]

 Server dimiliki dan dikendalikan


oleh organisasi yang mengaku
memiliki server tersebut
 Dokumen yang ditampilkan bebas
dari virus atau itikad jahat lainnya
 Server tidak mencatat atau
mendistribusikan informasi tentang
user (misalnya kebiasaan
browsing)
Asumsi [Sisi Webmaster]
 Pengguna tidak beritikad untuk
merusak web server atau
mengubah isinya
 Pengguna hanya mengakses
dokumen2 yang diperkenankan
diakses (dimana dia memiliki ijin)
 Identitas pengguna benar
Asumsi Kedua Pihak
 Network dan komputer bebas dari
penyadapan pihak ketiga
 Informasi yang disampaikan dari
server ke pengguna (dan
sebaliknya) terjamin keutuhannya
dan tidak dimodifikasi oleh pihak
ketiga
Keamanan Server WWW
 Server WWW (httpd) menyediakan
informasi (statis dan dinamis)
 Halaman statis diperoleh dengan
perintah GET
 Halaman dinamis diperoleh dengan
 CGI (Common Gateway Interface)
 Server Side Include (SSI)
 Active Server Page (ASP), PHP
 Servlet (seperti Java Servlet, ASP)
Eksploitasi server WWW

 Tampilan web diubah (deface)


 dengan eksploitasi skrip / previledge /
OS di server
 Situs yang dideface dikoleksi di

http://www.alldas.org
 Informasi bocor
 (misal laporan keuangan semestinya
hanya dapat diakses oleh orang/
bagian tertentu)
Eksploitasi server WWW [2]

 Penyadapan informasi
 URLwatch: melihat siapa mengakses apa
saja. Masalah privacy
 SSL memproteksi, namun tidak semua
menggunakan SSL karena komputasi yang
tinggi
 DoS attack
 Request dalam jumlah yang banyak
(bertubi-tubi)
 Request yang memblokir (lambat
mengirimkan perintah GET)
Eksploitasi server WWW [3]
 Digunakan untuk menipu firewall
(tunelling ke luar jaringan)
 Port 80 digunakan untuk identifikasi
server (karena biasanya dibuka di
router/firewall)
 telnet ke port 80 (dibahas di bagian lain)
Membatasi Akses
 Access Control
 Hanya IP tertentu yang dapat
mengakses server
(konfigurasi web server atau firewall)
 Via userid & password (htaccess)
 Menggunakan enkripsi untuk
menyandikan data-data
htaccess di Apache
 Isi berkas “.htaccess”
AuthUserFile /home/budi/.passme
AuthGroupFile /dev/null
AuthName “Khusus untuk Tamu Budi”
AuthType Basic
<Limit GET>
require user tamu
</Limit>
 Membatasi akses ke user “tamu” dan password
 Menggunakan perintah “htpasswd“ untuk
membuat password yang disimpan di “.passme”
Cari info server
 Informasi tentang server digunakan
sebagai bagian dari casing the joint
 Dapat dilakukan dengan
 Memberikan perintah HTTP langsung
via telnet
 Menggunakan program nc, ogre
Keamanan CGI

 CGI digunakan sebagai interface


dengan sistem informasi lainnya
(gopher, WAIS)
 Diimplementasikan dengan berbagai
bahasa (perl, C, C++, python, dll.)
 Skrip CGI dijalankan di server
sehingga membuka potensi lubang
keamanan
Lubang Keamanan CGI

 Beberapa contoh
 CGI dipasang oleh orang yang tidak berhak
 CGI dijalankan berulang-ulang untuk
menghabiskan resources (CPU, disk): DoS
 Masalah setuid CGI di sistem UNIX, dimana
CGI dijalankan oleh userid web server
 ASP di sistem Windows
 Guestbook abuse dengan informasi sampah
 Akses ke database via SQL
Keamanan Client WWW
 Berhubungan dengan masalah privacy
 Cookies untuk tracking kemana saja browsing
 Pengiriman informasi pribadi
 Attack (via active script, javascript, java)
 Pengiriman data-data komputer (program apa
yang terpasang, dsb.)
 DoS attack (buka windows banyak)
 Penyusupan virus dan trojan horse
Secure Socket Layer (SSL)
 Menggunakan enkripsi untuk
mengamankan transmisi data
 Mulanya dikembangkan oleh
Netscape
 Implementasi gratis pun tersedia
 openSSL
Sejarah SSL dan TLS
SSL
SSL1.0
1.0
Design
Designcomplete
complete
SSL
SSL2.0
2.0
Product
Productship
ship
PCT
PCT1.0
1.0
publihsed
publihsed
SSL
SSL3.0
3.0
publihsed
publihsed
TLS TLS
TLS
TLS
formed published
published
formed

1993 1994 1995 1996 1997 1998 1999

NCSA
NCSA Internet
Internet
Mosaic
Mosaic Explorer
Explorer
released
released released
Netscape
Netscape released
Navigator
Navigator
released
released
Pendekatan Keamanan Jaringan
Arsitektur Protokol Contoh A B C D E
Separate Protocol SSL
Layer

Application Layer S-HTTP


Integrated with IPSEC
Core
Parallel Protocol Kerberos

Keterangan:
 A = Full Security
 B = Multiple Application
 C = Tailored Service
 D = Transparent to Application
 E = Easy to Deploy
Separated Security Protocols
 Not Secure  Secure
HTTP
HTTP

HTTP
HTTP SSL
SSL

TCP
TCP TCP
TCP

IP
IP IP
IP
Penambahan SSL di aplikasi lain selain HTTP

HTTP
HTTP NNTP
NNTP FTP
FTP

SSL
SSL

TCP
TCP

IP
IP
Application Specific Security
 Not Secure  Secure

HTTP
HTTP
HTTP
HTTP security

TCP
TCP TCP
TCP

IP IP
IP
IP
Security within Protocols
 Not Secure  Secure

HTTP
HTTP HTTP
HTTP

TCP
TCP TCP
TCP

IP
IP IP
IPwith
withIPSec
IPSec
Parallel Security Protocol
 Not Secure  Secure

HTTP
HTTP HTTP Kerberos
HTTP Kerberos

TCP TCP
TCP TCPand
andUDP
UDP

IP
IP IP
IP
Operasi SSL
 SSL memiliki dua aturan yang
berbeda, untuk client dan server;
 Client yang memulai secure
communication
 WEB Browser => SSL untuk client
 WEB Site => SSL untuk server
SSL Message
Tipe-tipe Message (Pesan) Keterangan

Alert Menginformasikan pihak lain dari kemungkinan kegagalan


komunikasi atau pelanggaran keamanan
Application Data Kedua belah pihak saling tukar informasi yang aktual untuk
membuktikan keasliannya, yang dienkripsi, dan atau diverifikasi
melalui SSL
Sertifikat Suatu pesan yang dibawa pengirim berupa public key certificate
Permintaan Sertifikat Suatu permintaan oleh server kemudian client menyediakan public
key certificate
Verifikasi sertifikat Suatu pembuktian sertifikate dari client bahwa itu adalah miliknya
ChangeChiperSpec Sebuah indikasi untuk memulai persetujuan menggunakan
pelayanan keamanan (seperti enkripsi)
Client Hello Sebuah pesan dari identifikasi client untuk kemampuan dan
mendukung pelayanan keamanan
ClientKeyExchange Pesan berasal dari client yang membawa kunci enkripsi untuk
komunikasi
Finished Sebuah indikasi bahwa seluruh penginisialisasi negosiasi telah
lengkap dan komunikasi telah terjaga keamanannya
HelloRequest Permintaan server ke client untuk memulai proses negosiasi melalui
SSL
ServerHello Sebauh pesan dari server bahwa pelayanan keamanan akan
digunakan untuk komunikasi
ServerHelloDone Sebuah pesan dari server bahwa seluruh permintaan client telah
Komunikasi establish encrypted
`

Server
Client
ClientHello
1 ServerHello
2
ServerKeyExchange
3
ServerHelloDone
ClientKeyExchange 4
5
ChangeChiperSpec
6 Finished
7 ChangeChiperSpec
8
Fineshed
9
Proses negosiasi komunikasi yang di enskripsi
Langkah Aksi
1 Client mengirim pesan ClientHello dengan menggusulkan pilihan
SSL
2 Server merespon dengan pesan ServerHello dengan memilih SSL
3 Server mengirimkannya informasi public key dalam bentuk pesan
ServerKeyExchange
4 Server mengakhiri negosiasi dengan pesan ServerHelloDone
5 Client mengirim session key infformation (di endskripsikan dengan
public key server) didalam pesan ClientKeyExchange
6 Client mengirim pesan ChangeCipherSet mengaktifkan negosiasi
pilihan untuk keseluruhan pesan selanjutnya (future message)
yang akan dikirimkan
7 Client mengirimkan pesan Finished selanjutnya server memeriksa
pilihan aktifitas yang terbaru
8 Server mengirim pesan ChangeCipherSet mengaktifkan negosiasi
pilihan untuk keseluruhan future message yang akan dikirimkan
9 Server mengirimkan pesan Finished selanjutnya client memeriksa
pilihan aktifitas yang terbaru
Mengakhiri secure communication

Server
Client
ClosureAlert
1 ClosureAlert
2

 Pesan ClosureAlert menjamin akhir dari


sesi keamanan antara dua komponen
Membuktikan keaslian identitas server
 Menggunakan sertifikat sebagai pengganti
ServerKeyExchange
 secara sederhana, rantai sertifikat yang dimulai
dari setifikat pubic key server dan berakhir
denga sertifikat otoritas
 Client memiliki tanggung jawab untuk
meyakinkan sertifikat yang didapat berasal dari
server, tangung jawab termasuk;
 Sertifikat tanda tangan
 Validasi waktu
 Status untuk mengambil kembali
Prosesnya
`

Server
Client
ClientHello
1 ServerHello
2
Certificate
3
ServerHelloDone
ClientKeyExchange 4
5
ChangeChiperSpec
6 Finished
7 ChangeChiperSpec
8
Fineshed
9
Format pesan (message)
HTTP
HTTP

Change
Change Hand-
Hand- Appli-
Appli-
Alert
Alert
Chiper
Chiper shake
shake cation
cation
SSL
SSL
Record
RecordLayer
Layer

TCP
TCP
Sejarah WWW
 Bahan bacaan
 http://ensiklomedia.insan.co.id
 Buku Tim Berners-Lee, “Weaving the
Web”
 http://www.w3.org
 Thomas, Stephen; SSL and TLS
Essentials; Willey; 2000
Latihan Praktikum 1
 Carilah 2 buah website masing-
masing website tersebut
menggunakan SSL dan tidak
menggunakan SSL.
 Amati dan bandingkan dari kedua
web tersebut.
 Lakukan uji coba untuk keamanan
dari websit tersebut
Latihan Praktikum 2
 Carilah contoh kasus suatu website
di bobol/dihack karena factor
penggunaan SSL.
 Jabarkan penjelasan dari kasus
tersebut
 Solusi dari kasus tersebut

Anda mungkin juga menyukai