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