BAB II DASAR TEORI - · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab...

21
II-1 BAB II DASAR TEORI Pada bab ini akan dibahas mengenai teori dan konsep yang dibutuhkan dalam pengerjaan tugas akhir ini. Dasar teori yang dibahas akan memberikan pengetahuan dan pemahaman mengenai protokol TCP/IP yang digunakan untuk transportasi data pada jaringan dewasa ini, konsep MAC address dalam memberikan pengalamatan fisik untuk setiap node pada jaringan, protokol- protokol pada internet layer model TCP/IP di mana teknik serangan MiTM diimplementasikan, Hypertext Transfer Protocol (HTTP) beserta Otentikasi Akses Dasar, serta pengetahuan mengenai software Squid Proxy yang digunakan pada jaringan kampus ITB. 2.1 Protokol TCP/IP TCP/IP (Transmission Control Protocol/Internet Protocol) adalah sekumpulan protokol komunikasi yang distandarkan untuk internet dan jaringan sejenis dalam proses pertukaran data dari satu komputer ke komputer lain. Protokol TCP/IP ini merupakan protokol yang paling banyak digunakan dewasa ini. Protokol TCP/IP dikembangkan pada akhir dekade 1970-an hingga awal 1980-an sebagai sebuah protokol standar untuk menghubungkan komputer-komputer dan jaringan untuk membentuk sebuah jaringan yang luas (WAN). TCP/IP merupakan sebuah standar jaringan terbuka yang bersifat independen terhadap mekanisme transport jaringan fisik yang digunakan, sehingga dapat digunakan di mana saja. Protokol ini menggunakan skema pengalamatan yang sederhana yang disebut sebagai alamat IP (IP address) yang mengizinkan hingga beberapa ratus juta komputer untuk dapat saling berhubungan satu sama lainnya di internet. Protokol ini juga bersifat routable yang berarti protokol ini cocok untuk menghubungkan sistem-sistem berbeda (seperti Microsoft Windows dan keluarga UNIX) untuk membentuk jaringan yang heterogen [WIK09-a].

Transcript of BAB II DASAR TEORI - · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab...

Page 1: BAB II DASAR TEORI -  · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab untuk TCP/IP. rotocol (D ol (HTTP), F ... (Network Access Layer)

II-1

BAB II

DASAR TEORI

Pada bab ini akan dibahas mengenai teori dan konsep yang dibutuhkan dalam

pengerjaan tugas akhir ini. Dasar teori yang dibahas akan memberikan

pengetahuan dan pemahaman mengenai protokol TCP/IP yang digunakan untuk

transportasi data pada jaringan dewasa ini, konsep MAC address dalam

memberikan pengalamatan fisik untuk setiap node pada jaringan, protokol-

protokol pada internet layer model TCP/IP di mana teknik serangan MiTM

diimplementasikan, Hypertext Transfer Protocol (HTTP) beserta Otentikasi Akses

Dasar, serta pengetahuan mengenai software Squid Proxy yang digunakan pada

jaringan kampus ITB.

2.1 Protokol TCP/IP

TCP/IP (Transmission Control Protocol/Internet Protocol) adalah sekumpulan

protokol komunikasi yang distandarkan untuk internet dan jaringan sejenis dalam

proses pertukaran data dari satu komputer ke komputer lain. Protokol TCP/IP ini

merupakan protokol yang paling banyak digunakan dewasa ini.

Protokol TCP/IP dikembangkan pada akhir dekade 1970-an hingga awal 1980-an

sebagai sebuah protokol standar untuk menghubungkan komputer-komputer dan

jaringan untuk membentuk sebuah jaringan yang luas (WAN). TCP/IP merupakan

sebuah standar jaringan terbuka yang bersifat independen terhadap mekanisme

transport jaringan fisik yang digunakan, sehingga dapat digunakan di mana saja.

Protokol ini menggunakan skema pengalamatan yang sederhana yang disebut

sebagai alamat IP (IP address) yang mengizinkan hingga beberapa ratus juta

komputer untuk dapat saling berhubungan satu sama lainnya di internet. Protokol

ini juga bersifat routable yang berarti protokol ini cocok untuk menghubungkan

sistem-sistem berbeda (seperti Microsoft Windows dan keluarga UNIX) untuk

membentuk jaringan yang heterogen [WIK09-a].

Page 2: BAB II DASAR TEORI -  · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab untuk TCP/IP. rotocol (D ol (HTTP), F ... (Network Access Layer)

2.1.1 Ar

Arsitektur

mengguna

Arsitektur

model ref

model, int

yang awa

Departeme

Berikut ga

Setiap lap

diasosiasik

TCP/IP ad

Protok

Bertan

layana

Config

Transf

Transf

rsitektur T

r TCP/IP t

akan mode

r empat lapi

ferensi OSI

ternet mode

alnya dike

en Pertahan

ambar perba

pisan yang

kan dengan

dalah sebaga

kol Lapisan

nggung jaw

an jaringan

iguration P

sfer Protoco

sfer Protoco

TCP/IP

tidaklah be

el referensi

is ini dapat

I. Empat la

el, atau DoD

embangkan

nan Amerika

andingan m

Gambar II-1

dimiliki o

n protokolny

ai berikut:

n Aplikasi (A

wab untuk

n TCP/IP.

Protocol (D

ol (HTTP), F

ol (SMTP),

erbasis mod

i DARPA,

dipetakan (

apis ini, kad

D model, m

dari proy

a Serikat.

model referen

1 Model Refere

leh kumpu

ya masing-m

Application

menyedia

Protokol in

HCP), Dom

File Transf

Simple Ne

del referen

yaitu ter

(meski tidak

dang-kadan

mengingat T

yek ARPA

nsi OSI dan

ensi OSI dan T

ulan protoko

masing. Pro

n Layer)

akan akses

ni mencaku

main Name

fer Protocol

twork Mana

nsi tujuh la

diri dari 4

k secara lan

ng disebut s

TCP/IP mer

ANET yang

n model TCP

TCP/IP

ol (protoco

tokol utama

kepada ap

up protokol

e System (D

l (FTP), Tel

agement Pr

apis OSI, t

4 layer (l

ngsung) terh

sebagai DA

rupakan pro

g dimulai

P/IP.

ol suite) TC

a dalam pro

plikasi terh

l Dynamic

DNS), Hype

lnet, Simple

rotocol (SN

II-2

tetapi

apis).

hadap

ARPA

otokol

oleh

CP/IP

otokol

hadap

Host

ertext

e Mail

NMP),

Page 3: BAB II DASAR TEORI -  · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab untuk TCP/IP. rotocol (D ol (HTTP), F ... (Network Access Layer)

II-3

dan masih banyak protokol lainnya. Dalam beberapa implementasi stack

protokol, seperti halnya Microsoft TCP/IP, protokol-protokol lapisan aplikasi

berinteraksi dengan menggunakan antarmuka Windows Sockets (Winsock)

atau NetBIOS over TCP/IP (NetBT).

Protokol Lapisan Antar Host (Host to Host/Transport Layer)

Berguna untuk membuat komunikasi menggunakan sesi koneksi yang bersifat

connection-oriented atau broadcast yang bersifat connectionless. Protokol

dalam lapisan ini adalah Transmission Control Protocol (TCP) dan User

Datagram Protocol (UDP).

Protokol Lapisan Internet (Internet Layer)

Bertanggung jawab untuk melakukan pemetaan (routing) dan enkapsulasi

paket-paket data jaringan menjadi paket-paket IP. Protokol yang bekerja

dalam lapisan ini adalah Internet Protocol (IP), Address Resolution Protocol

(ARP), Internet Control Message Protocol (ICMP), dan Internet Group

Management Protocol (IGMP). Karena pengerjaan Tugas Akhir ini

difokuskan pada Internet Layer, maka protokol-protokol pada lapisan ini akan

dibahas lebih mendalam pada subbab tersendiri selanjutnya.

Protokol Lapisan Antarmuka Jaringan (Network Access Layer)

Bertanggung jawab untuk meletakkan frame-frame jaringan di atas media

jaringan yang digunakan. TCP/IP dapat bekerja dengan banyak teknologi

transport, mulai dari teknologi transport dalam LAN (seperti halnya Ethernet

dan Token Ring), MAN dan WAN (seperti halnya dial-up modem yang

berjalan di atas Public Switched Telephone Network (PSTN), Integrated

Services Digital Network (ISDN), serta Asynchronous Transfer Mode (ATM).

2.1.2 Layanan

Berikut ini adalah layanan standar yang berjalan di atas protokol TCP/IP:

Pengiriman berkas (file transfer). File Transfer Protocol (FTP)

memungkinkan pengguna komputer yang satu untuk dapat mengirim ataupun

menerima berkas ke sebuah host di dalam jaringan. Metode otentikasi yang

Page 4: BAB II DASAR TEORI -  · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab untuk TCP/IP. rotocol (D ol (HTTP), F ... (Network Access Layer)

II-4

digunakannya adalah penggunaan nama pengguna (username) dan password,

meskipun banyak juga FTP yang dapat diakses secara anonim.

Remote Login. Network terminal Protocol (Telnet) memungkinkan pengguna

komputer dapat melakukan login ke dalam suatu komputer di dalam suatu

jaringan secara jarak jauh. Jadi hal ini berarti bahwa pengguna menggunakan

komputernya sebagai perpanjangan tangan dari komputer jaringan tersebut.

Electronic Mail. Digunakan untuk menerapkan sistem surat elektronik/email.

Network File System (NFS). Pelayanan akses berkas-berkas yang dapat

diakses dari jarak jauh yang memungkinkan klien-klien untuk mengakses

berkas pada komputer jaringan, seolah-olah berkas tersebut disimpan secara

lokal.

Remote Execution. Memungkinkan pengguna komputer untuk menjalankan

suatu program tertentu di dalam komputer yang berbeda. Biasanya berguna

jika pengguna menggunakan komputer yang terbatas, sedangkan ia

memerlukan sumber yg banyak dalam suatu sistem komputer. Ada beberapa

jenis remote execution, ada yang berupa perintah-perintah dasar saja, yaitu

yang dapat dijalankan dalam sistem komputer yang sama dan ada pula yg

menggunakan sistem Remote Procedure Call (RPC), yang memungkinkan

program untuk memanggil subrutin yang akan dijalankan di sistem komputer

yg berbeda.

Name server. Berguna sebagai penyimpanan basis data nama host yang

digunakan pada Internet.

2.2 Pengalamatan Fisik (MAC Address)

MAC Address (Media Access Control Address) adalah sebuah alamat jaringan

yang diimplementasikan pada lapisan data-link dalam tujuh lapisan model OSI

atau lapisan internet pada model TCP/IP, yang merepresentasikan sebuah node

tertentu dalam jaringan. Dalam sebuah jaringan berbasis Ethernet, MAC address

merupakan alamat yang unik yang memiliki panjang 48-bit (6 byte) yang

mengidentifikasikan sebuah komputer, interface dalam sebuah router, atau node

Page 5: BAB II DASAR TEORI -  · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab untuk TCP/IP. rotocol (D ol (HTTP), F ... (Network Access Layer)

II-5

lainnya dalam jaringan. MAC address juga sering disebut sebagai ethernet

address, physical address, atau hardware address [WIK09-b].

MAC Address mengizinkan perangkat-perangkat dalam jaringan agar dapat

berkomunikasi antara satu dengan yang lainnya. Sebagai contoh, dalam sebuah

jaringan berbasis teknologi ethernet, setiap header dalam frame ethernet

mengandung informasi mengenai MAC address dari komputer sumber (source)

dan MAC address dari komputer tujuan (destination). Beberapa perangkat, seperti

halnya bridge dan switch akan melihat pada informasi MAC address dari

komputer sumber dari setiap frame yang ia terima dan menggunakan informasi

MAC address ini untuk membuat routing table internal secara dinamis.

Perangkat-perangkat tersebut pun kemudian menggunakan tabel yang baru dibuat

itu untuk meneruskan frame yang ia terima ke sebuah port atau segmen jaringan

tertentu di mana komputer atau node yang memiliki MAC address tujuan berada.

Dalam sebuah komputer, MAC address ditetapkan ke sebuah kartu jaringan

(Network Interface Card/NIC) yang digunakan untuk menghubungkan komputer

yang bersangkutan ke jaringan. MAC address umumnya tidak dapat diubah

karena telah dimasukkan ke dalam ROM. Beberapa kartu jaringan menyediakan

utilitas yang mengizinkan pengguna untuk mengubah MAC address, meski hal ini

kurang disarankan. Jika dalam sebuah jaringan terdapat dua kartu jaringan yang

memiliki MAC address yang sama, maka akan terjadi konflik alamat dan

komputer pun tidak dapat saling berkomunikasi antara satu dengan lainnya.

Beberapa kartu jaringan, seperti halnya kartu token ring mengharuskan pengguna

untuk mengatur MAC address (tidak dimasukkan ke dalam ROM), sebelum dapat

digunakan.

Page 6: BAB II DASAR TEORI -  · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab untuk TCP/IP. rotocol (D ol (HTTP), F ... (Network Access Layer)

MAC add

Electronic

bit pertam

dan 24 bit

bit tersebu

heksadesim

mereprese

2.3 Pro

Dari berba

The Midd

jaringan d

Internet T

(ARP).

dress mema

cs Engineer

ma dari MA

t sisanya m

ut dapat di

mal, sehing

entasikan ke

otokol La

agai referen

dle ini diim

dengan mem

TCP/IP, yai

Gamba

ang harus u

rs (IEEE) m

AC address

merepresenta

irepresentas

gga menjad

eseluruhan M

apisan In

nsi yang did

mplementasi

manfaatkan

tu: Internet

ar II-2 Skema

unik, dan un

mengalokasik

merepresen

asikan nom

sikan denga

dikan total

MAC addre

nternet (I

dapat [SIN0

ikan untuk

protokol-pr

t Protocol

MAC Address

ntuk itulah,

kan blok-bl

ntasikan sia

mor kartu ter

an menggun

12 digit bi

ess.

Internet L

06] [ANS0

k melakukan

rotokol yan

(IP) dan Ad

s

, Institute o

ok dalam M

apa pembua

rsebut. Seti

nakan enam

ilangan hek

Layer)

8], teknik s

n serangan

ng disediaka

ddress Reso

of Electrica

MAC addres

at kartu ters

ap kelompo

m digit bila

ksadesimal

serangan M

n terhadap

an pada La

olution Pro

II-6

al and

ss. 24

sebut,

ok 24

angan

yang

Man in

suatu

apisan

otocol

Page 7: BAB II DASAR TEORI -  · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab untuk TCP/IP. rotocol (D ol (HTTP), F ... (Network Access Layer)

II-7

2.3.1 Protokol Internet (IP)

Internet Protocol merupakan salah satu protokol yang bekerja pada lapisan

internet model TCP/IP. Perannya adalah melakukan pengalamatan dan routing

paket data antar host pada jaringan komunikasi berbasis TCP/IP. Versi IP yang

paling banyak diimplementasikan pada jaringan dewasa ini adalah IP versi 4

(IPv4). Sedangkan ke depannya, untuk menangani kebutuhan jumlah

pengalamatan yang lebih besar lagi IP versi 6 (IPv6) telah dipersiapkan.

IP menawarkan layanan sebagai protokol antar jaringan (inter-network), karena

itulah IP juga sering disebut sebagai protokol yang bersifat routable. Header IP

mengandung informasi yang dibutuhkan untuk menentukan rute paket, yang

mencakup alamat IP sumber (source IP address) dan alamat IP tujuan (destination

IP address). Anatomi alamat IP terbagi menjadi dua bagian, yakni alamat jaringan

(network address) dan alamat node (node address/host address). Penyampaian

paket antar jaringan (umumnya disebut sebagai proses routing), dimungkinkan

karena adanya alamat jaringan tujuan dalam alamat IP. Selain itu, IP juga

mengizinkan pembuatan sebuah jaringan yang cukup besar, yang disebut sebagai

IP internetwork, yang terdiri atas dua atau lebih jaringan yang dihubungkan

dengan menggunakan router berbasis IP.

IP mendukung banyak protokol klien, karena memang IP merupakan pembawa

data yang dikirimkan oleh protokol-protokol lapisan yang lebih tinggi

dibandingkan dengannya. Protokol IP dapat membawa beberapa protokol lapisan

tinggi yang berbeda-beda, tapi setiap paket IP hanya dapat mengandung data dari

satu buah protokol dari banyak protokol tersebut dalam satu waktu. Contoh dari

protokol-protokol lapisan yang lebih tinggi dibandingkan IP adalah Internet

Control Management Protocol (ICMP), Internet Group Management Protocol

(IGMP), User Datagram Protocol (UDP), dan Transmission Control Protocol

(TCP).

Page 8: BAB II DASAR TEORI -  · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab untuk TCP/IP. rotocol (D ol (HTTP), F ... (Network Access Layer)

Protokol I

hanya me

andal (unr

connection

mengirimk

lapisan in

penguruta

IP hanya

paket-pake

best effort

merupakan

protokol T

IP bersifa

DARPA R

komputer

fisik, sepe

bersifat in

Media acc

Internet me

enyediakan

reliable) ke

nless, berar

kan data da

ni. Unrelia

an dan tanpa

akan mela

et kepada h

t delivery). K

n protokol

TCP.

at independe

Reference M

dan antarm

erti halnya

ndependen t

cess contro

ngirimkan d

layanan pe

pada protok

rti tidak per

an tidak ada

able, berar

a acknowled

akukan pen

hop selanjutn

Keandalan

yang berad

T

en dari lap

Model), kare

muka jaringa

pengabelan

terhadap atr

ol (MAC), p

data dalam

engiriman d

kol-protoko

rlu ada neg

a koneksi ya

rti IP akan

dgment ketik

ngiriman se

nya atau tuj

data bukan

da pada lap

Tabel II-1 IP D

isan antarm

ena meman

an. IP bersif

n, pensinya

ribut lapisa

pengalamata

bentuk dat

data secara

ol yang bera

gosiasi kone

ang harus d

n mengirim

ka pihak ya

kali kirim

juan akhir (

merupakan

pisan yang

Datagram

muka jaring

g IP didesa

fat independ

alan, dan b

an data link

an MAC, s

tagram, kar

connection

ada lebih tin

eksi (handsh

dibuat atau d

mkan pake

ang dituju te

saja untuk

teknik yang

n tugas dari

lebih tingg

gan (lapisan

ain agar men

den terhada

it rate. Sel

k seperti ha

erta ukuran

rena meman

nless serta

nggi. Pengir

haking) seb

dipelihara d

et tanpa p

elah dapat d

k menyamp

g dikenal se

protokol IP

i, seperti h

n pertama d

ndukung ba

ap atribut la

lain itu, IP

alnya mekan

n frame terb

II-8

ng IP

tidak

riman

belum

dalam

proses

diraih.

aikan

ebagai

P, tapi

halnya

dalam

anyak

apisan

juga

nisme

besar.

Page 9: BAB II DASAR TEORI -  · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab untuk TCP/IP. rotocol (D ol (HTTP), F ... (Network Access Layer)

II-9

IP menggunakan skema pengalamatannya sendiri, yang disebut sebagai IP

address, yang merupakan bilangan 32-bit dan independen terhadap skema

pengalamatan yang digunakan dalam lapisan antarmuka jaringan.

Untuk mendukung ukuran frame terbesar yang dimiliki oleh teknologi lapisan

antarmuka jaringan yang berbeda-beda, IP dapat melakukan pemecahan terhadap

paket data ke dalam beberapa fragmen sebelum diletakkan di atas sebuah saluran

jaringan. Paket data tersebut akan dipecah ke dalam fragmen-fragmen yang

memiliki ukuran Maximum Transmission Unit (MTU) yang lebih rendah

dibandingkan dengan ukuran datagram IP. Proses ini dinamakan dengan

fragmentasi. Router atau host yang mengirimkan data akan memecah data yang

hendak ditransmisikan, dan proses fragmentasi dapat berlangsung beberapa kali.

Selanjutnya host yang dituju akan menyatukan kembali fragmen-fragmen tersebut

menjadi paket data utuh, seperti halnya sebelum dipecah.

Dapat diperluas dengan menggunakan fitur IP options dalam IP header. Fitur

yang dapat ditambahkan contohnya adalah kemampuan untuk menentukan jalur

yang harus diikuti oleh datagram melalui sebuah internetwork.

2.3.2 Protokol Resolusi Alamat (ARP)

Address Resolution Protocol (ARP) adalah suatu protokol pada TCP/IP lapisan

Internet yang bertanggungjawab dalam melakukan resolusi alamat IP ke dalam

alamat MAC address. Pengiriman suatu paket data ke suatu host atau router

membutuhkan 2 level pengalamatan, yaitu alamat logik (IP address), dan alamat

fisik (MAC address).

Ketika sebuah aplikasi yang mendukung teknologi protokol jaringan TCP/IP

mencoba untuk mengakses sebuah host TCP/IP dengan menggunakan alamat IP,

maka alamat IP yang dimiliki oleh host yang dituju harus diterjemahkan terlebih

dahulu ke dalam MAC Address agar frame data dapat diteruskan ke tujuan dan

diletakkan di atas media transmisi (kabel, radio, atau cahaya), setelah diproses

Page 10: BAB II DASAR TEORI -  · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab untuk TCP/IP. rotocol (D ol (HTTP), F ... (Network Access Layer)

terlebih d

beroperasi

referensi O

(seperti ha

dalam jari

ARP akan

seolah-ola

akan mela

Host tujua

unicast ya

request se

local ARP

sehingga t

Namun, ji

akan men

yang men

dituju ber

dahulu oleh

i dalam lap

OSI dan me

alnya alama

ingan [RHE

n melakukan

ah "Siapa ya

akukan perm

an kemudia

ang mengan

elanjutnya m

P cache seca

tidak perlu l

ika memang

ncoba untuk

nghubungka

rada), apaka

Network I

pisan fisik

enggunakan

at IP atau na

E03].

Gamb

n broadcast

ang memili

mintaan ter

an merespo

ndung alam

menyimpan

ara sementa

lagi melaku

g alamat yan

k mendapat

an jaringan

ah ARP ca

Interface C

dan lapisa

n alamat fisi

ama NetBIO

bar II-3 ARP R

ting terhada

iki alamat I

rhadap MA

ns dengan

mat MAC ya

pemetaan a

ara, mungkin

ukan ARP re

ng dituju be

tkan MAC

lokal ke lu

che pada r

Card (NIC).

an data-lin

ik daripada

OS) untuk m

Request-Reply

ap suatu pak

IP www.xxx

C address

mengirimk

ang dimiliki

alamat IP ke

n sewaktu-w

equest.

erada di lua

address da

uar jaringan

router terse

. Hal ini d

nk pada tuj

a mengguna

melakukan

ket ARP req

x.yyy.zzz??

dari kompu

kan paket A

inya. Host

e alamat MA

waktu akan

ar jaringan l

ari antarmu

n (di mana

but mengan

dikarenakan

juh lapis m

akan alamat

komunikasi

quest yang b

?". Broadca

uter yang d

ARP reply s

yang melak

AC ini ke d

kembali di

lokal, maka

uka router

a komputer

ndung infor

II-10

NIC

model

logis

i data

berisi

ast ini

dituju.

secara

kukan

dalam

iakses

ARP

lokal

yang

rmasi

Page 11: BAB II DASAR TEORI -  · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab untuk TCP/IP. rotocol (D ol (HTTP), F ... (Network Access Layer)

yang dibu

request ke

Keteranga

Ha

Pro

fie

Pr

Me

0x

Ha

Pa

pan

Pr

Pa

Op

Me

rep

Sen

Al

Sen

Al

Ta

utuhkan. Ji

e host yang

an:

ardware typ

otokol lapis

ld ini. Cont

rotocol type

enunjukkan

0800

ardware len

anjang dala

njangnya 6

rotocol leng

anjang dalam

peration

enunjukkan

ply, 3: RAR

nder hardw

amat fisik p

nder protoc

amat IP pen

arget hardw

ika tidak, m

dituju pada

T

pe (HTYPE)

san data lin

tohnya untu

(PTYPE)

n protokol

ngth (HLEN

am bytes

bytes

gth (PLEN)

m bytes dari

n jenis oper

RP request d

ware address

pengirim

col address

ngirim

are address

maka route

a jaringan lu

Tabel II-2 ARP

)

nk ditunjuk

uk ethernet a

yang digu

N)

dari alam

i alamat log

rasi apa yan

dan 4: RAR

s (SHA)

(SPA)

s (THA)

er akan me

uar.

P Format

kkan oleh a

adalah 1

unakan. Co

mat fisik/ha

gik/IP. Alam

ng dilakuka

P reply

elakukan fo

angka yang

ontohnya u

ardware. A

mat Ipv4 pan

an pengirim

forwarding

digunakan

untuk IP a

Alamat eth

njangnya 4

m; 1: reque

II-11

ARP

pada

adalah

hernet

bytes

est, 2:

Page 12: BAB II DASAR TEORI -  · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab untuk TCP/IP. rotocol (D ol (HTTP), F ... (Network Access Layer)

II-12

Alamat fisik penerima yang dituju. Field ini dibiarkan kosong jika

melakukan request

Target protocol address (TPA)

Alamat IP penerima yang dituju

ARP cache adalah suatu tabel yang mengandung pemetaan antara alamat MAC

dengan alamat IP suatu host yang bersesuaian. Ada 2 cara bagaimana ARP cache

dibangkitkan, yaitu:

a. Secara statis

Dengan cara ini, entri untuk tabel ditambahkan secara manual dan

disimpan ke dalam ARP cache secara permanen

b. Secara dinamik

Pasangan alamat IP dan alamat fisik yang ditambahkan pada ARP cache

dilakukan oleh perangkat lunak itu sendiri sebagai hasil dari proses

resolusi ARP. Entri ini hanya disimpan dalam periode waktu tertentu yang

kemudian dihapus. Selanjutnya jika pemetaan alamat dibutuhkan, resolusi

yang baru kemudian dilakukan untuk melakukan update ARP cache.

Reserve Address Resolution Protocol (rARP) adalah kebalikan dari ARP, yaitu

protokol yang digunakan untuk mendapatkan alamat IP dari alamat MAC yang

diberikan. Untuk mendapatkan alamat IP, pengirim melakukan broadcast paket

rARP request ke semua host pada jaringan. Setiap host akan mendapatkan paket

ini, namun hanya host yang dituju yang akan membalas dengan mengirimkan

secara unicast paket rARP reply kepada pengirim.

2.4 Otentikasi HTTP

2.4.1 Protokol Hyper Text Transfer

HTTP (HyperText Transfer Protocol) adalah protokol yang dipergunakan untuk

melakukan transfer dokumen dalam World Wide Web (WWW). Protokol ini

adalah protokol ringan, tidak berstatus dan generik yang dapat dipergunakan

berbagai macam tipe dokumen.

Page 13: BAB II DASAR TEORI -  · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab untuk TCP/IP. rotocol (D ol (HTTP), F ... (Network Access Layer)

II-13

HTTP adalah suatu protokol standar request-response antara klien (browser) dan

server (website). Klien membangkitkan suatu HTTP request menggunakan web

browser, spider atau tool end-user lainnya, yang ditunjuk sebagai user agent.

Server yang merespon, yaitu yang menyimpan dan membangkitkan data misalnya

berkas HTML dan gambar, disebut sebagai server asal. Di antara user-agent dan

server asal mungkin terdapat penghubung, misalnya proxy, gateway ataupun

tunnel [GOU02].

Secara umum, suatu klien HTTP menciptakan suatu request, bertujuan untuk

membangkitkan koneksi TCP pada port tertentu pada suatu host (biasanya port

80). Server HTTP yang mendengarkan pada port tersebut menunggu klien

mengirimkan pesan request. Setelah menerima request, server mengirim balik

kode status, misalnya “HTTP/1.1 200 OK”, resources yang diminta, pesan error

atau informasi lainnya.

HTTP mendefinisikan 8 methods yang menunjukkan operasi yang ingin

dikerjakan pada resource yang dituju. Apakah resource ini tersedia, apakah

datanya sudah tersedia atau dibangkitkan secara dinamik, tergantung pada

implementasinya pada server. Kadangkala resource yang diminta dapat

berhubungan juga dengan suatu berkas ataupun keluaran (output) dari program

yang dieksekusi di sisi server. Berikut HTTP methods yang tersedia.

HEAD

Menanyakan suatu jawaban yang berhubungan dengan suatu permintaan

GET, namun tanpa body jawaban. Hal ini berguna untuk mendapatkan

meta-informasi yang ditulis pada header respon tanpa perlu mengirimkan

seluruh isinya

GET

Permintaan yang merepresentasikan resource tertentu. Perlu dicatat bahwa

GET harusnya tidak digunakan untuk operasi yang menimbulkan efek,

misalnya menggunakannya untuk melakukan sesuatu pada aplikasi web.

Salah satu alasannya adalah GET mungkin digunakan oleh robots atau

Page 14: BAB II DASAR TEORI -  · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab untuk TCP/IP. rotocol (D ol (HTTP), F ... (Network Access Layer)

II-14

crawlers, yang mana tidak memperhatikan efek samping akibat dari

request

POST

Mengirimkan data untuk diproses (misalnya form HTML) pada resource

yang dituju. Data ini disisipkan ke dalam body request. Hal ini mungkin

menghasilkan resource baru, perbaharuan resource yang sudah ada atau

keduanya

PUT

Melakukan upload suatu representasi dari resource tertentu

DELETE

Menghapus resource tertentu

TRACE

Mengirimkan balik request yang diterima, sehingga klien dapat

mengetahui apakah server antara melakukan penambahan atau perubahan

pada request

OPTIONS

Mengembalikan HTTP method yang mana server mendukung pada URL

tertentu. Hal ini dapat digunakan untuk melakukan pengecekan

fungsionalitas dari web server dengan request ‘*’ daripada resource

tertentu

CONNECT

Melakukan perubahan permintaan koneksi ke suatu TCP/IP tunnel

transparan, biasanya untuk memfasilitasi komunikasi SSL-terenkripsi

(HTTPS) melalui suatu HTTP proxy yang tidak terenkripsi

HTTP server dibutuhkan untuk mengimplementasikan minimal GET dan HEAD

methods dan kapanpun memungkinkan, juga terhadap OPTIONS method.

2.4.2 Otentikasi Akses Dasar

Pada konteks transaksi HTTP, basic access authentication adalah suatu metode

yang dirancang guna mengijinkan web browser, atau program klien lainnya untuk

Page 15: BAB II DASAR TEORI -  · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab untuk TCP/IP. rotocol (D ol (HTTP), F ... (Network Access Layer)

II-15

menyediakan kredensial – dalam bentuk username dan password – ketika

melakukan suatu request.

Sebelum melakukan pengiriman, informasi username ditambahkan dengan titik

dua (:) kemudian digabungkan dengan password. Sebagai contoh, diberikan

username ‘Aladdin’ dan password ‘open sesame’, maka string Aladdin:open

sesame dienkodekan dengan Base64, menghasilkan

QWxhZGRpbjpvcGVuIHNlc2FtZQ==. String ini kemudian dikirimkan dan

didekodekan oleh penerima menghasilkan username dan password yang dipisah

dengan titik dua kembali.

Keunggulan dari otentikasi akses dasar ini adalah didukung oleh oleh semua web

browser populer saat ini. Namun walaupun mudah diimplementasikan,

penggunaannya diasumsikan bahwa koneksi antara komputer klien dan server

adalah aman dan dapat dipercaya. Hal ini dikarenakan kerahasiaan yang

dilewatkan ini berupa plaintext dimana informasi penting yang terkandung

didalamnya dapat diekstraksi dengan mudah. Skema tersebut juga tidak

menyediakan perlindungan terhadap informasi yang dilewatkan kembali dari

server.

Format pesan HTTP dibagi menjadi 3 bagian, yaitu start line, header (empty line)

dan body. Start line dan header hanya berupa ASCII teks yang dipisahkan dengan

baris. Setiap baris diakhiri dengan karakter ASCII 13 (carriage return) dan 10

(line feed). Gabungan dari karakter akhir baris ini ditulis sebagai ‘CRLF’.

Sedangkan bagian body, yang merupakan isi dari pesan dapat mengandung data

teks maupun biner [GOU02].

Page 16: BAB II DASAR TEORI -  · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab untuk TCP/IP. rotocol (D ol (HTTP), F ... (Network Access Layer)

II-16

Start line

Header

Empty line

Body

Semua pesan HTTP dibagi menjadi 2 jenis, yaitu pesan request dan pesan

response. Pesan request dikirimkan oleh klien untuk meminta suatu aksi/operasi

pada server (web/proxy). Pesan response merupakan balasan yang dikirim balik

oleh server yang berisikan hasil dari pesan request klien. Berikut format kedua

jenis pesan HTTP ini.

Request message:

Response message:

HTTP/1.0 200 OK

Content-type: text/plain Content-length: 19

Hi! I’m a message.. …

<method> <request-URL> <version>

<headers>

<entity-body>

<version> <status> <reason-phrase>

<headers>

<entity-body>

Page 17: BAB II DASAR TEORI -  · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab untuk TCP/IP. rotocol (D ol (HTTP), F ... (Network Access Layer)

II-17

Start line

Start line pada pesan request menunjukkan apa yang ingin dilakukan,

biasanya berisikan HTTP methods. Sedangkan pada pesan response

menunjukkan apa yang terjadi, biasanya berisikan status code.

Header

HTTP header berisikan informasi tambahan yang diikutkan pada pesan

request dan response, biasanya berupa pasangan nama field dan nilainya.

Misalnya: Content-length: 15040, Content-type: image/gif, Accept: image/gif,

image/jpeg, text/html

Entity body

Bagian dari pesan HTTP ini bersifat opsional, merupakan payload dari pesan

HTTP. Bagian ini dirancang untuk dapat membawa berbagai jenis data

digital: HTML dokumen, gambar, video, software, email dan lain sebagainya.

Secara umum, berikut contoh suatu transaksi antara klien dan server HTTP yang

berjalan pada mesin lokal (localhost). Langkah-langkahnya dapat dijelaskan

sebagai berikut.

Klien menanyakan suatu halaman yang membutuhkan otentikasi namun

tidak memberikan suatu username dan password. Hal ini biasa terjadi

ketika klien langsung membuka suatu alamat atau melakukan klik suatu

link suatu halaman.

Server merespon dengan mengembalikan kode 401 untuk web server, 407

untuk proxy server dan meminta otentikasi

Pada titik ini, klien akan mendapatkan permintaan otentikasi yang

mengharuskan klien untuk mengisi dengan username dan password. Klien

dapat membatalkannya.

Jika username dan password kemudian dimasukkan, klien akan mengirim

ulang request yang sama namun mengikutsertakan header otentikasi

Jika otentikasi berhasil, maka halaman yang diminta akan dikirimkan ke

klien oleh server. Sebaliknya jika username atau password tidak valid,

Page 18: BAB II DASAR TEORI -  · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab untuk TCP/IP. rotocol (D ol (HTTP), F ... (Network Access Layer)

II-18

server akan mengembalikan kode error 401 atau 407 dan klien diminta

kembali untuk mengisi informasi yang valid.

Klien request (tidak ada otentikasi):

Server response:

Client request (user name "Aladdin", password "open sesame"):

Server response:

GET /private/index.html HTTP/1.0 Host: localhost

HTTP/1.0 401 UNAUTHORIZED Server: HTTPd/1.0 Date: Sat, 27 Nov 2004 10:18:15 GMT WWW-Authenticate: Basic realm="Secure Area" Content-Type: text/html Content-Length: 311 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> <HTML> <HEAD> <TITLE>Error</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"> </HEAD> <BODY><H1>401 Unauthorised.</H1></BODY> </HTML>

GET /private/index.html HTTP/1.0 Host: localhost Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

HTTP/1.0 200 OK Server: HTTPd/1.0 Date: Sat, 27 Nov 2004 10:19:07 GMT Content-Type: text/html Content-Length: 10476

Page 19: BAB II DASAR TEORI -  · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab untuk TCP/IP. rotocol (D ol (HTTP), F ... (Network Access Layer)

II-19

2.5 Squid Web Proxy

2.5.1 Tentang Squid

Squid adalah suatu caching proxy untuk web yang mendukung protokol HTTP,

HTTPS, FTP dan lain sebagainya. Tujuannya adalah untuk mengurangi

bandwidth dan meningkatkan waktu respon dengan melakukan penyimpanan

sementara (caching) dan penggunaan kembali halaman-halaman web yang sering

diminta oleh pengguna. Squid memiliki konfigurasi akses kontrol yang luas dan

meningkatkan performansi server. Squid berjalan di hampir semua sistem operasi

yang ada, termasuk Windows dan lisensi dibawah GNU/GPL.

Caching adalah suatu cara untuk menyimpan objek internet yang diminta

(misalnya data seperti halaman web) melalui protokol HTTP, FTP dan Gopher

pada suatu sistem yang terdekat dengan host yang meminta. Web browser

kemudian menggunakan Squid cache proxy lokal sebagai server proxy HTTP,

sehingga mengurangi waktu akses dan konsumsi bandwidth. Hal ini sangat

berguna bagi penyedia layanan internet untuk meningkatkan kecepatan koneksi

bagi konsumen mereka, dan juga LAN yang melakukan sharing koneksi internet.

Karena juga bertindak sebagai proxy, maka Squid juga menyediakan fitur

keamanan dan anonimitas bagi klien. Namun walaupun demikian, privasi menjadi

masalah utama karena Squid melakukan pencatatan (logging) terhadap banyak

data termasuk permintaan URL, waktu akses, nama dan versi web browser dan

OS pengakses, dan lain sebagainya.

Program klien misalnya web browser harus menentukan secara eksplisit server

proxy yang digunakannya, atau juga dapat menggunakan suatu proxy tanpa

melakukan konfigurasi (transparent caching), sehingga semua permintaan HTTP

keluar ditangkap oleh Squid dan semua respon kemudian disimpan. Squid juga

memiliki fitur yang dapat membantu untuk melakukan koneksi yang anonim

(penyamaran identitas), seperti dengan menonaktifkan atau mengubah field

header tertentu pada HTTP request klien. Apakah fitur ini diaktifkan atau tidak,

tergantung kepada pihak yang mengontrol komputer yang menjalankan Squid.

Page 20: BAB II DASAR TEORI -  · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab untuk TCP/IP. rotocol (D ol (HTTP), F ... (Network Access Layer)

2.5.2 Me

Dalam m

keamanan

adalah daf

ini menen

operasi-op

Ketika Sq

dengan p

diotentika

dikirimkan

jika heade

dan passw

reply deng

menerima

username

ekanisme

melakukan o

n ACL-Bas

ftar sekump

ntukan siapa

perasi apa sa

quid pada pr

proxy_auth

asi terlebih

n oleh brow

er tersebut

word. Jika he

gan status 4

anya akan m

dan passwo

Gamba

Otentikas

otentikasi t

ed. ACL (

pulan perizi

a atau apa

aja yang dip

roxy server

ACLs, p

dahulu. A

wser pengg

ada, maka

eader terseb

407 (Proxy a

memunculka

ord [SQU09

r II-4 Squid W

si Squid W

terhadap pe

(Access Co

inan yang d

saja yang

perbolehkan

dikonfigur

engguna y

Apabila Squ

guna, Squi

akan didek

but tidak dit

authenticat

an prompt

9].

Web Proxy Serve

Web Proxy

engguna S

ontrol List)

diberikan te

diizinkan u

n dilakukan

rasi menggu

yang henda

uid mendap

d akan men

kodekan unt

temukan, S

ion require

kepada pen

er

y

quid meng

) dalam de

erhadap sua

untuk melak

terhadap ob

unakan apa

ak melakuk

patkan suat

ncari autho

tuk mendap

quid menge

d). Browser

ngguna untu

ggunakan m

efinisi kom

atu objek. D

kukan akse

bjek tersebu

itu yang di

kan akses

tu request

orization he

patkan user

embalikan H

r pengguna

uk memasu

II-20

model

mputer

Daftar

s dan

ut.

isebut

akan

yang

eader,

rname

HTTP

yang

ukkan

Page 21: BAB II DASAR TEORI -  · PDF file2.1.1 Ar Arsitektur mengguna Arsitektur ... Aplikasi (A ab untuk TCP/IP. rotocol (D ol (HTTP), F ... (Network Access Layer)

II-21

Berikut salah satu contoh entri proxy_auth ACLs untuk melakukan konfigurasi

terhadap Squid.

Pada contoh di atas, kata REQUIRED berarti untuk setiap pengguna yang telah

terutentikasi akan dicocokkan dengan ACL yang diberi nama foo. Pengguna

dengan nama lisa, sarah, frank, joe diizinkan mengakses proxy sepanjang waktu,

sedangkan yang lain hanya pada waktu daytime (08.00 – 17.00).

Username dan password yang dilewatkan dari browser pengguna ke proxy server

dienkode menggunakan base64. Base64 ini hanya melakukan enkode binary-to-

text yang artinya username dan password yang ditransmisikan tidak dilakukan

enkripsi. Oleh karena itu, otentikasi Squid ini rentan terhadap penyadapan dan

pencurian akun pengguna untuk melakukan akses terhadap proxy server.

acl foo proxy_auth REQUIRED acl bar proxy_auth lisa sarah frank joe acl daytime time 08:00-17:00 http_access allow bar http_access allow foo daytime http_access deny all