Senin, 26 Oktober 2015

Materi Mata Kuliah Keamanan Sistem dan Jaringan Komputer "URL, DNS, HTTP dan HTTPS"



URL, DNS, HTTP dan HTTPS

URL (Uniform Resource Locator)
URL merupakan sebuah pathname yang mengidentifikasi sebuah dokumen di dalam web. URL bukan hanya berisikan informasi dokumen web saja, melainkan informasi host yang akan diakses serta protokol yang digunakan untuk akses web. Dapat dikatakan URL adalah sebuah format penulisan yang harus dipenuhi ketika ingin mengakses sebuah dokumen di dalam web.
Beberapa fungsi dan kegunaan URL
·           Sebagai pengidentifikasi sebuah dokumen di dalam web
·           Memudahkan mengakses sebuah dokumen suatu website
·           Memudahkan mengingat suatu alamat website

DNS (Domain Name System)
DNS adalah sebuah sistem  yang dibangun dan bertujuan untuk menyimpan informasi tentang nama host dan nama domain dalam bentuk database tersebar di dalam internet. DNS menyediakan IP address untuk setiap nama host yang diakses di dalam internet.
Keberadaan DNS sangat penting karena protokol-protokol jaringan tidak mengerti dengan tipe data string. Oleh karena itu komputer tidak tahu dengan namanya www.google.com, www.facebook.com dan lain-lain karena di dalam jaringan, ia hanya dapat mencari host lain menggunakan IP address. Tapi mengapa browser mengerti URL yang kita tuliskan? Padahal yang kita tuliskan sebagai ID sebuah host berbentuk string.
Disinilah fungsi penting sebuah DNS, ketika kita menuliskan www.google.com, browser akan menghubungi DNS server lalu bertanya “berapakah IP address dari www.google.com?” . DNS server kemudian mencari informasi IP address dari www.google.com di dalam database yang tersebar di internet. Setelah menemukan informasi yang dicari, DNS server kemudian mengirimkannya kembali ke browser. Dengan informasi IP address yang diperoleh, browser dapat melakukan koneksi ke web server dari google.
DNS tidak hanya diperuntukkan terhadap jaringan internet, namun dapat juga diimplementasikan di dalam jaringan internal yang berskala sedang maupun kecil seperti WAN atau LAN. DNS dapat diibaratkan seperti sebuah buku telepon, untuk mencari alamat seseorang.

HTTP (Hypertext Transfer Protocol)
HTTP adalah sebuah protokol jaringan yang terimplementasi pada layer aplikasi dan termasuk ke dalam sistem informasi hypermedia. HTTP memfasilitasi transfer informasi melalui internet.
HTTP biasa disebut juga protokol request-renponse antara client dengan server. Yang menjadi client adalah web browser dari pengguna dan server dapat berupa web server. Disebut dengan request-renponse karena melalui protokol inilah web browser dapat mengirimkan request sebuah dokumen hypertext kepada web server lalu web server memberikan tanggapan dengan mengirimkan dokumen hypertext yang diminta oleh web browser client. Inilah mengapa web browser dapat menampilkan suatu halaman website.
·           Mekanisme HTTP
Ketika melakukan browsing internet di komputer, contoh menggunakan google chrome sebagai browser. Ketika ingin mengakses website www.sesuatu.com, kita akan menuliskan URL di browser dengan http://www.sesuatu.com.
Dengan infor URL yang diberikan, browser kemudian menghubungi DNS server untuk menanyakan IP address dari www.sesuatu.com. DNS akan mencari informasi yang browser butuhkan kemudian memberikannya kembali pada browser.
Dengan informasi IP address yang diperoleh dari DNS server, browser kini dapat membuat hubungan ke webserver dari www.sesuatu.com melalui protokol HTTP menggunakan koneksi TCP maka dilakukan three-way handshake terlebih dahulu. Jika sudah terhubung, maka browser dapat mengirimkan request untuk meminta file index.html dari web server.
Request yang dikirim memiliki aturan penulisan tersendiri, contohnya ketika browser ingin me-request file index.html dari www.sesuatu.com maka penulisannya menjadi
GET/HTTP/1.1\nHost:www.sesuatu.com
Namun kita tidak perlu menuliskannya secara manual, browser akan secara otomatis mengirimkan paket berisi request dengan contoh penulisan lengkap sebagai berikut :
Web server kemudian akan mengirimkan response yang berisi
ISI FILE berisikan data dari file tersebut. Contoh jika file yang diminta adalah index.html, maka yang dikirimkan berupa text html dan akan langsung ditampilkan oleh browser di layar monitor.


Kelemahan Protokol HTTP
Paket – paket data berupa paket requestdan responseyang dikirimkan melalui protokol HTTP masih berupa plain text, artinya tidak terjadi pengenkripsian terhadap paket-paket data tersebut. Disitulah letak kelemahan dari protokol HTTP. Ketika hacker melakukan serangan MITM, dengan mudah ia dapat membaca paket yang dikirim melalui protokol HTTP.
Hacker dapat mengetahui website apa saja yang kita kunjungi, cookies yang kita miliki, bahkan sampai username dan password dari akun pribadi kita. Semua itu terjadi karena hacker dapat membaca paket request dan responsedengan mudah.

HTTPS (HyperText Transfer Protocol Secure)
Para pengembang protokol HTTP melihat bahwa celah keamanan tersebut mengharuskan adanya peningkatan aspek keamanan dari protokol HTTP. Oleh karena itu munculah protokol baru dengan nama HTTPS.
HTTPS adalah protokol yang lebih aman dibanding dengan HTTP karena menerapkan pengenkripsian terhadap paket-paket datanya. HTTPS merupakan gabungan dari HTTP dan SSL (SecureSocketLayer). SSL lah yang berperan mengatur pengenkripsian data.
SSL digunakan hampir di semua transaksi penting melalui internet. SSL bekerja sebagai protokol transport layer seperti TCP dan UDP. Hal tersebut membuat HTTPS sering digunakan oleh website-website penyedia akses online terhadap akun-akun penting seperti perbankan dan media sosial.
SSL menyediakan jasa authenticationkepada sisi client dan sisi server sehingga antar kedua pihak tersebut dapat berkomunikasi dengan  aman. Jasa autentikasi tersebut masuk ke dalam mekanisme yang dibuat SSL yaitu SSL handshake.


SSL Handshake
SSL memiliki mekanisme agar antara browser dan web server dapat berbagi data secara aman. Mekanisme tersebut berada di bagian authenticationketika browser dan web server ingin berhubungan, sering disebut dengan SSL handshake.
SSL handshakemerupakan mekanisme yang diterapkan SSL untuk memastikan bahwa hubungan yang dibangun oleh browser dan web server aman. Dimulai dari pembuatan SSLcertificate. SSLcertificateterdiri dari sepasang kunci (pairkey). Pair key ini digunakan sebagai identitas untuk memverifikasi komunikasi data yang terjadi antar dua mesin. Pair key terdiri dari privatkey(diletakkan di bagian server) dan public key (diletakkan di bagian client).
SSL certificatebersifat komersil dan ketika sebuah web server diberi SSL certificatemaka client dengan web browser yang termasuk dalam versi terbaru dari Firefox, Chrome atau Opera akan melihat address bar berwarna hijau di area URL navigator.
Ketika browser menghubungi sebuah web server yang menggunakan SSL, maka web server tersebut akan mengirimkan publickey kepada browser. Browser kemudian mengecek kevalidan dari publickey yang diperoleh ke TrustedAuthoritiesDatabase. Jika sertifikat yang terdaftar sesuai dengan yang diperoleh dari web server, maka hubungan antar browser dan web server dapat dibentuk.  Namun jika sertifikat berdasarkan publickey yang diperoleh tidak terdaftar di trustedAuthorities DB Server, maka browser akan mengirimkan pesan ke web server yang berisikan pemberitahuan bahwa SSL certificatetidak dapat diverifikasi kebenarannya, sehingga muncul pesan peringatan di browser seperti ini:
Setelah menerima pesan tidak dapat terverifikasi dari browser, web server akan mengirimkan bukti pengakuan yang telah ditandatangani secara digital bahwa SSL certificateyang diberikan sebelumnya valid. Karena bisa saja terjadi error pada jaringan sehingga browser kita tidak dapat memverifikasi ke trusted authorities dengan benar. Browser akan meminta persetujuan kita terlebih dahulu untuk mempercayai bukti pengakuan yang diberikan atau tidak. Jika iya, maka browser akan mengkoneksikan ke web server yang bersangkutan. Jika tidak, maka browser membatalkan proses koneksi.

Downgrade the HTTPS
Penggunaan SSSL terhadap protokolHTTP yang dilakukan web server tertentu terkadang membuat kesal hacker yang melakukan MITM attack karena tidak ada celah keamanan pada protokol SSL, kecuali kita ingin mendeskripsikan setiap data yang melaluinya, dan hal tersebut pasti memakan waktu yang tidak sebentar.
Sulitnya menembus pengenkripsian SSL membuat hacker mencari cara lain agar dapat mambaca paket request dan response. Cara tersebut yaitu mencegah browser mengakses SSL.
Jarang sekali ornag mengunjungi website tertentu dengan menuliskan secara lengkap URL-nya, apalagi menuliskan protokol http:// atau https://. Secara default ketika pada URL tidak disertakan informasi https://, browser akan berasumsi bahwa pengunjung ingin menggunakan protokol HTTP.
Website yang menggunakan HTTPS di web servernya, harus tetap mengaktifkan protokol HTTP untuk menerima request dan mengirimkan response. Karena HTTPS hanyalah HTTP yang mengirimkan paketnya melalui protokol SSL. Jadi, yang bertugas mengirimkan paket responsetetaplah HTTP, SSL hanya menjadi saluran yang mengenkripsi paket - paket yang melaluinya.




Tidak ada komentar:

Posting Komentar