I. JUDUL :
MEMBANGUN PROXY SERVER UNTUK FILTERISASI AKSES INTERNET DAN
MANAJEMEN BANDWIDTH
MENGGUNAKAN SQUID DI SMP N 1 KUTA SELATAN
I I . PENDAHULUAN A. Latar Belakang Perkembangan teknologi
informasi dan komunikasi saat ini sangat pesat dan pengaruhnya juga
sangat besar dalam berbagai segi kehidupan pada semua tingkat
kehidupan. Sekolah sebagai sebuah lembaga pendidikan merupakan
organisasi yang paling merasakan dampak dari perkembangan teknologi
informasi dan komunikasi tersebut. Oleh karena itu sudah saatnya
sekolah memiliki dan melengkapi sarana dan prasarananya dengan
peralatan teknologi yang di butuhkan seperti komputer dan internet.
Sekolah SMP N 1 Kuta Selatan merupakan sekolah yang berstatus
rintisan , dengan status yang nantinya akan berstandar
internasional sudah tentu harus memiliki fasilitas
untuk berhubungan dengan sekolah lain atau luar dalam hal ini
internet. Atas tuntutan tersebut pihak sekolah sudah mengupayakan
pemasangangan jaringan internet
menggunakan Telkom Speedy. Dengan adanya fasilitas ini, kegiatan
belajar mengajar semakin mudah, semua siswa aktif mencari informasi
tentang pelajaran yang di butuhkan di internet. Jaringan komputer
di Lab ini menggunakan topologi bintang yang sederhana mengingat
topologi ini paling banyak digunkan saat ini, topologi ini
memerlukan banyak kabel karena tiap-tiap komputer dihubungkan
dengan Hub.
Disamping manfaat positif yang di hasilkan dari adanya jaringan
internet ini juga ada permasalahan yang muncul karena penggunaannya
yang tidak diawasi karena dengan internet semua situs bisa di akses
tanpa memandang jenis, usia, dll. Dari pengguna internet ini.
Situs-situs yang tidak boleh di akses misalnya, situs porno,
kekerasan, judi, yang tidak ada hubungannya dengan pelajaran.
Selain itu siswa yang aktif melakukan download file yang besar,
akan menghabiskan jatah bandwidth yang didapat, ini mempengaruhi
koneksi internet yang lain, yang pada akhirnya akan mengahambat
kegiatan belajar mengajar di sekolah. Dari permasalahan tersebut
penulis berencana untuk membangun Proxy Server untuk membatasi
akses internet dan manajemen bandwidth agar semua komputer mendapat
alokasi bandwidth yang sama. Adapun sistem operasi yang akan di
gunakan adalah linux, serta software pendukungnya yaitu Squid.
Squid merupakan software yang handal yang sudah terbukti
kualitasnya. B. Rumusan Masalah Dengan mengacu pada latar belakang
di atas yang menjadi pokok permasalahan adalah : 1. Bagaimana
implementasi dan konfigurasi squid sebagai proxy server membatasi
akses internet di SMP N 1 Kutsel? 2. Bagaimana implementasi
transparent proxy? 3. Bagaiman mengatur bandwidth? 4. Disini
pedoman yang dipakai untuk membatasi akses adalah perdomain dan per
IP. untuk
C. Batasan Malalah
Pembahasan laporan tugas akhir ini hanya sebatas pembahasan dari
permasalahan yang disebutkan diatas dengan ketentuan linux server
sudah terinstal.
D. Tujuan dan Manfaat
Tujuan penulisan proyek akhir yang berjudul Membangun proxy
server untuk filterisasi akses internet dan manajemen bandwidth
dengan squid di SMP N 1 Kutsel. Adalah: 1. Agar dapat
mengimplementasikan Proxy Server menggunakan sistem linux untuk
membatasi hak akses internet yang tidak di kegiatan belajar
mengajar. 2. Agar dapat mengimplementasikan transparent proxy untuk
mengalihkan semua request yang di minta oleh client. 3. Agar dapat
mengatur bandwidth semua komputer sehingga proses belajar mengajar
menjadi lancar E. Metodelogi 1. Sumber Data
operasi
perlukan dalam
a.Data Primer
Data primer merupakan data yang diperoleh secara langsung dari
sekolah tempat
magang. Data ini didapat melalui observasi langsung dan melihat
belum adanya Proxy Server untuk filter dan manajemen bandwidth.
b. Data Sekunder Data sekunder merupakan data yang diperoleh
dari buku-buku dan website yang berkaitan dengan permasalahan yang
dibahas.
2. Tehnik Pengumpulan Data Ada 2 tehnik yang digunakan dalam
pengumpulan data selama melakukan penelitian, yaitu:
a. Observasi Partisipasi Obsevasi Partisipasi merupakan tehnik
pengumpulan data dengan cara melakukan pengamatan pada objek
penelitian serta ikut terlibat langsung pada saat magang.
a.Studi Literatur/ Pencatatan Dokumen Pencatatan dokumen
merupakan tehnik pengumpulan data yang dilakuka dengan cara
mencatat informasi data yang ada pada buku-buku yang berkaitan
dengan permasalahan yang dibahas dalam proyek akhir ini.
F. Sistematika Penulisan
Untuk mempermudah pemahaman isi dari penulisan proyek akhir yang
di buat maka penulis menguraikan ke dalam empat bab sebagai
berikut:
BAB I PENDAHULUAN
Meliputi latar belakang, permasalahan, batasan masalah, tujuan,
metodelogi, dan sistematika pembahasan.
BAB II TINJAUAN PUSTAKA
Meliputi teori, dan metode dalam penerapan judul proyek
akhir.
BAB III PERENCANAAN SISTEM
Meliputi data teknis obyek, perencanaan teknis, dan dekripsi
kerja.
BAB IV PENUTUP
Melipiti Simpulan dan saran
III. TINJAUAN PUSTAKA
A. Internet Istilah internet berasal dari bahas latin inter,
berti antara. Secara kata perkata inetrnet berarti jaringan antara
atau penghubung. Internet merupakan hubungan antar berbagai jenis
komputer dan jaringan dunia yang berbeda sistem operasi maupun
aplikasinya di mana hubungan tersebut memanfaatkan kemajuan media
komunikasi (telepon dan satelit) yang menggunakan protokol standar
dalam berkomunikasi yaitu IP (internet protokol)
B.
Proxy server
Ada beberapa kalimat yang menjelaskan apa sebenarnya proxy
server itu. Proxy server adalah sebuah komputer server atau program
komputer yang dapat bertindak sebagai komputer lainya untuk
melakukan request terhadap content dari internet dan intranet
(http://id.wikipedia.org/)
Proxy server bertindak sebagai gateway terhadap dunia internet
untuk setiap komputer client. Dalam menjalankan tugasnya proxy
server tidak terlihat oleh komputer client sebagai contoh saat
seorang pengguna yang berinteraksi dengan Internet melalui sebuah
proxy server tidak akan mengetahui bahwa sebuah proxy server sedang
menangani request yang dilakukannya. Web server yang menerima
request dari Proxy server akan menginterpresentasikan
request-request tersebut seolah-olah datang secara langsung dari
komputer client, bukan dari proxy server.
Proxy server dalam suatu jaringan memiliki tiga fungsi utama
yaitu sebagai Connection sharing, filtering, dan caching.
1. Connection Sharing
Dalam suatu jaringan lokal yang terhubung ke jaringan lain atau
internet, pengguna tidak langsung berhubungan dengan jaringan luar
atau internet, tetapi harus melewati suatu gateway, yang bertindak
sebagai batas antara jaringan lokal (private) dan jaringan luar
(publik). Gateway ini sangat penting, karena jaringan lokal harus
dapat dilindungi dengan baik dari bahaya yang mungkin berasal dari
internet, dan hal tersebut akan sulit dilakukan bila tidak ada
garis batas yang jelas antara jaringan lokal dan internet. Gateway
juga bertindak sebagai titik dimana sejumlah koneksi dari pengguna
lokal akan terhubung kepadanya, dan suatu koneksi ke jaringan luar
juga terhubung kepadanya. Dengan demikian, koneksi dari jaringan
lokal ke internet akan menggunakan sambungan yang dimiliki oleh
gateway secara bersama-sama (connection sharing). Dalam hal ini,
gateway adalah juga sebagai proxy server, karena menyediakan
layanan sebagai perantara antara jaringan lokal dan jaringan luar
atau internet.
2. Filtering
Merupakan sebuah usaha pengamanan atau pembatasan sehingga
dengan adanya filtering sebuah proxy server dapat mengamankan dan
membatasi hak akses client pada jaringan private. Jadi meskipun
mula-mula dibuat sebagai cache nonsekuriti, tujuan utama proxy
server sekarang menjadi firewalling. Proxy server memperbarui
request layanan pada jaringan eksternal atas nama client mereka
pada jaringan private. Ini secara otomatis menyembunyikan identitas
dan jumlah client pada jaringan internal dari jaringan eksternal.
Karena posisi mereka di antara client internal dan server publik,
proxy juga dapat menyimpan content yang sering diakses dari
jaringan publik untuk mengurangi akses ke jaringan publik tersebut.
Kebanyakan implementasi nyata proxy sekuriti meliputi pemfilteran
paket dan Network Address Translation untuk membangun firewall yang
utuh. Teknologi tersebut dapat digabungkan dengan proxy untuk
menghilangkan serangan yang terhadapnya proxy rentan.
3. Caching (Internet Object caching)
Adalah suatu cara untuk menyimpan hasil permintaan
internet-object. (seperti: data yang ada dari HTTP, FTP, dan Ghoper
Protokol) untuk membuat sistem dekat dengan permintaan daripada ke
sumber aslinya. Web browser dapat menggunakan lokal squid cache
sebagai proxy HTTP server, ini akan mengurangi waktu akses seperti
halnya penghematan bandwidth. Dengan kata lain sebuah client tidak
harus melakukan kontak dengan server untuk meminta layanan akan
tetapi client dapat mendapatkan layanan (data) yang sudah tersimpan
pada proxy server, dengan hal ini maka akses akan semakin
cepat.
C. Squid
Salah satu contoh aplikasi proxy/cache server adalah Squid.
Squid dikenal sebagai aplikasi proxy dan cache server yang handal.
Pada pihak klien bekerja aplikasi browser yang meminta request http
pada port 80. Browser ini setelah dikonfigurasi akan meminta
content yang selanjutnya disebut object kepada cache server, dengan
nomor port yang telah disesuaikan dengan milik server, nomor yang
di pakai bukan port 80 melainkan port 8080 3130 ( kebanyakan cache
server menggunakan port ini sebagai standarnya).
Pada saat browser mengirimkan header permintaan, sinyal HTTP
request
squid
akan dikirimkan ke server. Header tersebut diterima squid dan
dibaca. Dari hasil pembacaan, memparsing URL yang dibutuhkan lalu
URL ini dicocokkan dengan
database cache yang ada.
Database ini berupa kumpulan metadata (semacam header) dari
object yang sudah ada dalam hardisk. Jika ada object akan
dikirimkan ke klien dan tercatat dalam logging bahwa klien telah
mendapatkan object yang di cari. Dalam log kejadian tersebut akan
dicatat debagai TCP_HIT. Sebaliknya, jika object yang diminta
ternyata tidak ada, squid akan mencarinya dari peer atau langsung
ke server tujuan. Setelah mendapatkan objectnya, squid akan
menyimpan object tersebut ke dalam hardisk. Selama dalam proses
download object dinamakan object in transit yang sementara akan
menghuni ruang memory. Dalam masa download tadi, object mulai
dikirimkan ke klien dan setelah selesai, kejadian tersebut tercatat
dalam log sebagai TCP_MISS.
Hubungan antar atau nantinya disebut peer itu sendiri ada dua
jenis, yaitu parent dan sibling. Sibling kedudukannya saling
sejajar dengan sibling lainnya, sedangkan parent berada diatas
sibling, dua jenis peer ini yang selanjutnya akan bergandengan
membentuk hirarki cache.
ICP sebagai protokol cache berperan dalam menanyakan
ketersediaan obyect dalam cache. Dalam sebuah jaringan sebuah cache
yang mempunyai sibling akan mencoba mencari yang dibutuhkan ke peer
sibling lainnya, bukan kepada parent, cache akan mengirimkan sinyal
icp kepada sibling dan sibling membalasnya dengan informasi
ketersediaan ada atau tidak. Bila ada cache akan mencatatkan
ICP_HIT dalam lognya. Setelah kepastian object bisa diambil dari
sibling, lalu cache akan mengrimkan sinyal http ke sibling untuk
mengambil object yang dimaksud. Dan setelah mendapatkannya, cache
akan mencatat log SIBLING_HIT. Jika ternyata sibling tidak
menyediakan object yang dicari, cache akan memintanya kepada
parent. Sebagai parent, ia wajib mencarikan object yang diminta
tersebut walaupun ia sendiri tidak memilikinya (TCP_MISS). Setelah
object dari server origin, object akan dikirimkan ke cache child
tadi, setelah medapatkan canche, child akan mencatatnya sebagai
PARENT_HIT.
C. Transparent proxy
Salah satu kompleksitas dari proxy pada level aplikasi adalah
bahwa pada sisi
pengguna harus dilakukan konfigurasi yang spesifik untuk suatu
proxy tertentu agar bisa menggunakan layanan dari suatu proxy
server. Bila diinginkan agar pengguna tidak melakukan konfigurasi
khusus, kita bisa mengkonfigurasi proxy/cache server agar berjalan
secara benar-benar transparan terhadap pengguna (transparent
proxy). Biasanya cara ini memerlukan bantuan dan konfigurasi
firewall (yang bekerja pada layer network) untuk bisa membuat
transparent proxy yang bekerja pada layer aplikasi.
Transparent proxy dapat berguna untuk memaksa pengguna
menggunakan proxy/cache server, karena pengguna benar-benar tidak
mengetahui tentang keberadaan proxy ini, dan apapun konfigurasi
pada sisi pengguna, selama proxy server ini berada pada jalur
jaringan yang pasti dilalui oleh pengguna untuk menuju internet ,
maka pengguna pasti dengan sendirinya akan menggunakan proxy/cache
ini.
Cara membuat transparent proxy adalah dengan membelokan arah
(redirecting) dari paket-paket untuk suatu aplikasi tertentu,
dengan menggunakan satu atau lebih aturan pada router/firewall. Hal
ini bisa dilakukan karena setiap aplikasi berbasis TCP akan
menggunakan salah satu port yang tersedia, dan firewall dapat
diatur agar membelokkan paket yang menuju ke port layanan tertentu,
ke arah dari proxy yang bersesuaian.
Sebagai contoh, pada saat klien membuka hubungan HTTP (port 80)
dengan suatu web server, firewall pada router yang menerima segera
mengenali bahwa ada paket data yang berasal dari klien dengan nomor
port 80. Disini kita juga mempunya satu HTTP
proxy server yang berjalan pada port 3130. Maka pada firewall
router kita buat satu aturan yang menyatakan bahwa setiap paket
yang datang dari jaringan lokal menuju ke port 80 harus dibelokkan
ke arah alamat HTTP proxy server port 3130. Akibatnya, semua
permintaan akan masuk dan di wakili oleh HTTP proxy server
diatas.
Webservertujuan
Gambar: transparent proxy
Server Port3130 Requestkeport80 klien
Jadi keuntungan dari metode transparent proxy itu sendiri
adalah: a. Kemudahan administrasi jaringan, dengan artian browser
yang digunakan klien tidak harus dikonfigurasi secara khusus yang
menyatakan bahwa mereka menggunakan fasilitas proxy yang
bersangkutan. b. Sentraliasi kontrol, yaitu pergantian metode
bypass proxy maupun penggunaan proxy oleh klien dapat dilakukan
secara terpusat.
D. Bandwidth.
Koneksi internet erat kaitannya dengan bandwidth. Bandwidth
adalah satuan kecepatan lalu lintas data (satuan: kilobyte per
seconds). Tujuam manajemen bandwidth
adalah mengatur agar lalu lintas data yang lewat tidak melebihi
kapasitas maksimal. Pembagian bandwidth: yang dibagi jalurnya:
dengan pembagian kanal (fix/statis) yang diatur datanya: dengan
metode antrian (dinamis-tergantung jumlah data yang lewat terdiri
dari # prioritas (biasanya internet perusahaan) # identitas (di
terapakan di ISP) # kelas (perpaduan antara identitas dengan
prioritas)
Contoh pembagian bandwidth dengan kelas: misalnya Guru dijatah
256 kbps dan maksimla 512 kbps, siswa di jatah 100 kbps. Pada suatu
saat sisa bandwidth adalah 256 kbps, maka Guru tetap mendapat 256
kbps dan siswa tidak bisa conect ke internet. Jika suatu saat sisa
bandwidth 600 kbps maka guru mendapat 512 kbps dan sisanya dapat di
pakai oleh siswa. Bandwidth biasanya diukur dengan pengukur
bandwidth yang langsung koneksi web pengukuran bandwidth, contohnya
Zdnetspedtest dan broadbandspeedtest.
Pembagian bandwidth biasnya 10% free dan yang di share 90% hal
ini digunakan untuk mengantisipasi bila suatu saat terjadi lonjakan
aliran data dijaringan tersebut. Saat melewati sebuah jaringan
sebuah data bisa dipastikan akan mengalami penambahan ukuran karena
setelah masuk ke jaringan, TCP/IP atau UDP akan menambahkan aneka
informasi
ke dalam suati file. Untuk mengetahui berapa ukuran sebenarnya
dari suatu file yang lewat di jaringan maka ada yang disebut
sebagai Troughtput yakni ukuran data yang sebenarnya (tanpa
informasi lain yang di tambahkan oleh TCP/IP atau UDP). Bandwidt
sangat penting karena besar kecilnya bandwidth sangat mempengaruhi
koneksi, baik data untuk keluar (upload) maupun data masuk
(download). Bandwidth juga bisa mengalami gangguan karena kurang
baiknya topologi jaringan yang ada, komponen hardware yang kurang
memadai, sistem keamanan jaringan yang kurang sehingga virus atau
sejenisnya mengganggu efektifitas koneksi, virus juga mengakibatkan
bandwidth berkurang karena digunakan oleh virus tersebut. Dengan
adanya hal ini, dibutuhkan software dan hardware yang benar-benar
mendukung bandwidth atau koneksi yang ada.
E. LINUX
Linux adalah sebuah program open source yang gratis di bawah
lisensi GNU, Sistem Operasi 32-64 bit, yang merupakan turunan dari
Unix dan dapat dijalankan dalam berbagai macam platform perangkat
keras mulai dari Intel (x86), hingga prosesor RISC. Salah satu yang
membuat Linux adalah Sistem Operasi yang terkenal adalah karena
Linux dapat di dapatkan secara gratis (freeware). Dengan Lisensi
GNU anda dapat memperoleh program, lengkap dengan kode sumbernya
(source code). Tidak hanya itu, anda diberikan hak untuk mengkopi
sebanyak anda mau, atau bahkan mengubah kode sumbernya. Dan itu
semua legal di bawah lisensi. Meskipun gratis, lisensi GNU
memperbolehkan pihak yang ingin menarik biaya untuk penggandaan
maupun pengiriman program. Dimana Linux sendiri
yang menyandang open source yang merupakan user friendly.
Kebebasan yang paling penting dari Linux, terutama bagi programer
dan administrator jaringan, adalah kebebasan memperoleh kode sumber
(source kode) dan kebebasan untuk mengubahnya.
F. LINUX UBUNTU
Ubuntu adalah sistem operasi lengkap berbasis Linux, tersedia
secara bebas dan mempunyai dukungan baik yang berasal dari
komunitas maupun tenaga ahli profesional. Komunitas Ubuntu dibentuk
berdasarkan gagasan yang terdapat di dalam filosofi Ubuntu: bahwa
perangkat lunak harus tersedia dengan bebas biaya, bahwa aplikasi
perangkat lunak tersebut harus dapat digunakan dalam bahasa lokal
masing-masing dan untuk orang orang yang mempunya keterbatasan
fisik, dan bahwa pengguna harus mempunyai kebebasan untuk mengubah
perangkat lunak sesuai dengan apa yang mereka butuhkan.
Ubuntu menyertakan lebih dari 16.000 buah perangkat lunak, dan
untuk instalasi dekstop dapat di lakukan dengan menggunakan satu CD
saja. Ubuntu menyertakan semua aplikasi standar untuk dekstop mulai
dari pengolah kata, aplikasi lembar sebar (spreadsheet) hingga
aplikasi untuk mengakses internet, perangkat lunak untuk server
web, peralatan untuk bahasa pemrograman dan tentu saja beragam
permainan.
Penulis memakai Linux Ubuntu 6.06 dalam penyusunan proyek akhir
ini karena software mudah didapat, penginstalan dan konfigurasi
lebih mudah serta teknikal support yang banyak.
IV. BAHAN DAN PERALATAN Spesifikasi hardware yang kita butuhkan
untuk membangun proxy server dengan adalah: No. 1. Bahan PC Server
Proxy Spesifikasi 1. Processor Intel P. IV 3.06 Ghz 2. RAM 512 MB
3. HDD 80 GB 4. CD-Rom Lg 5. VGA on Board 6. LAN Card on Board 2.
CD Sistem Operasi 3. 4. 5. 6. Switch Kabel UTP Connector Lan Card
Allied Telesis 24 Port Belden RJ 45 D-Link Unit Meter Buah Buah 1
10 4 2 Ubuntu 8.04 Keping 1 Satuan Unit Jumlah 1
Peralatan: NO. 1. 2. 3. 4. Nama Crimping Tool Obeng (+) Obeng
(-) LAN Tester Jumlah 1 Buah 1 Buah 1 Buah 1 Buah
V. JADWAL PRPOSAL
DAFTAR PUSTAKA
Wahana Komputer, 2008. Administrasi Jaringan Menggunakan Linux
Ubuntu Yogyakarta: Andi Komunitas Ubuntu Indonesia
(http://wiki.ubuntu-id.org/Panduan Ubuntu) Indonesian Ubuntu Linux
Blogs
(http://ubuntulinux.or.id/blog/2007/07/04/panduanmenginstall-ubuntu-2/)
Purbo, Onno W. 2008. Ayo Memblok Situs Negatif. Yogyakarta: C.V
ANDI OFFSET. http://www.jardiknas.diknas.org Sugeng. Winarno,
Manajemen Bandwidth, Bandung: Informatika, 2006
http://id.wikipedia.org http://www.squid-cache.org