A. TUJUAN
Setelah melakukan
praktik ini siswa diharapkan dapat:
1. Mengerti yang dimaksud dengan Squid
2. Membuat transparat proxy
3. Dapat memblok situs dan kata yang diinginkan
B. DASAR TEORI
Squid pada
awalnya dikembangkan oleh
Duane Wessels sebagai "Harvest object cache", yang
merupakan bagian dari proyek Harvest yang dikembangkan di University of
Colorado at Boulder. Pekerjaan selanjutnya dilakukan hingga selesai di
University of
California,
San Diego dan didanai melalui
National Science
Foundation. Squid kini hampir secara eksklusif dikembangkan dengan cara
usaha sukarela.
Web proxy
Caching
merupakan sebuah cara untuk menyimpan objek-objek
Internet yang
diminta (seperti halnya data halaman web) yang bisa diakses melalui HTTP, FTP
dan Gopher di dalam sebuah sistem yang lebih dekat dengan situs yang
memintanya. Beberapa
penjelajah web dapat menggunakan
cache Squid
lokal untuk sebagai
server proxy HTTP, sehingga dapat mengurangi waktu
akses dan juga tentu saja konsumsi
bandwidth.
Hal ini sering berguna bagi para
penyedia layanan Internet untuk
meningkatkan kecepatan kepada para pelanggannya, dan LAN yang membagi saluran
Internet. Karena memang bentuknya sebagai
proxy (ia berlaku sebagaimana
layaknya klien, sesuai dengan permintaan klien),
web cache bisa
menyediakan
anonimitas
dan keamanan. Tapi,
web cache juga bisa menjadi masalah yang signifikan
bila melihat maslah privasi, karena memang ia dapat mencatat banyak data,
termasuk
URL yang
diminta oleh klien, kapan hal itu terjadi, nama dan versi
penjelajah
web yang digunakan klien serta
sistem
operasinya, dan dari mana ia mengakses situs itu.
Selanjutnya,
sebuah program klien (sebagai contoh adalah penjelajah web) bisa menentukan
secara ekplisit
proxy server yang digunakan bila memang hendak
menggunakan proxy (umumnya bagi para pelanggan
ISP) atau bisa juga
menggunakan proxy tanpa konfigurasi ekstra, yang sering disebut sebagai "
Transparent
Caching", di mana semua permintaan HTTP ke jaringan luar akan diolah
oleh
proxy server dan semua respons disimpan di dalam
cache.
Kasus kedua umumnya dilakukan di dalam perusahaan dan korporasi (semua klien
berada di dalam
LAN
yang sama) dan sering memiliki masalah privasi yang disebutkan di atas.
Squid
memiliki banyak fitur yang bisa membantu melakukan koneksi secara anonim,
seperti memodifikasi atau mematikan beberapa field header tertentu dalam
sebuah permintaan HTTP yang diajukan oleh klien. Saat itu terpenuhi, apa yang
akan dilakukan oleh Squid adalah tergantung orang yang menangani komputer yang
menjalankan Squid. Orang yang meminta halaman web melalui sebuah jaringan yang
secara transparan yang menggunakan biasanya tidak mengetahui bahwa informasi
semua permintaan HTTP yang mereka ajukan dicatat oleh Squid.
C. ALAT DAN BAHAN
Nama
|
Spesifikasi
|
Jumlah
|
Komputer
|
Pentium 4
|
1
|
System Operasi
|
Linux Debian
|
1
|
Kabel LAN
|
Cross
|
1
|
Lan Card
|
SMC
|
1
|
D. LANGKAH KERJA
1. Pertama menginstall paket ‘Squid’ bawaan dari
repository debian, jika belum ada. Dengan cara masuk ke root kemudian ketikkan
perintah:
debian:/home/debian# apt-get
install squid
2. Setelah selesai menginstall ‘squid’, kemudian
mengcopy squid.conf dan member nama
copyannya dengan nama squid.conf.bak,
dengan perintah:
squid.conf.bak digunakan
untuk menyimpan settingan defaultnya
debian:/home/debian# cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
3. Untuk mengedit dapat
menggunakan ‘nano, pico, vi’, setelah
mengcopy squid.conf, kemudian edit squid.conf yang terletak di directory /etc/squid/squid.conf dengan perintah:
debian:/home/debian# nano /etc/squid/squid.conf
4. Tampilan squid pada tampilan pico editor (tampilan
didalam edit squid.conf)
5. Di dalam squid.conf mengubah configurasi port
menjadi transparent dengan cara mengetikkan http_port
3128, seperti gambar di bawah ini:
6. Selanjutnya mencari cache_mem digunakan untuk menentukan berapa besar memory yang digunakan
oleh squid. Besar memory yang digunakan adalah 1/3 dari kapasitas RAM yang
dipakai. Dengan cara mengetikkan cache_mem
128
7. Selanjutnya menghilangkan tanda ‘# ‘ seperti pada
gambar di bawah ini:
8. Kemudian menghilangkan tanda ‘#’ pada access_log
#Default:
Cache_access /var/log/squid/access.log
9. Kemudian menghilangkan tanda ‘#’ pada cache_log
10. Juga menghilangkan tanda’#’ pada cache_store_log
11. Selanjutnya mengatur letak dan ukuran direktori
dimana squid menyimpan cache-nya. Mencari cache_dir kemudian mementukan nilai
pada cache_dir tersebut.
12. Mencari cache_mgr, digunakan untuk mendefinisikan
email address dari Cache Manager Squid.
13. Mengubah parameter visible_hostname, fungsinya agar
jika terjadi error (memberikan informasi nama
proxy dan client saat tidak dapat mengakses halaman web) squid dapat menemukan
hostname yang valid.
14. Untuk mempercepat proses restart squid
15. Menambahkan scripts untuk memblokir situs, secript
ditambahkan dibawah acl CONNECT method CONNECT
16. Melakukan setting agar memperbolehkan akses situs
dengan cara:
Deny = melarang/blog
Allow = memperbolehkan
17. Mengisikan alamat url yang ingin diblok/dilarang,
dengan cara:
Kemudian masuk ke dalam
url.txt dan mengetikkan url yang akan diblok
18. Memasukkan kata-kata yang akan diblok/dilarang
dengan cara:
Kemudian masuk ke dalam key.txt dan
mengetikkan kata-kata yang tidak diperbolehkan untyuk diakses
19. Memasukkan pengecualian yang akan diblok, dengan
cara:
Kemudian masuk ke dalam
ex.txt dan mengetikkan kata-kata pengecualian
20. Setelah memasukkan situs, kata, dan kata
pengecualian, selanjutnya buat swap untuk squid
21. Langkah terakhir yaitu melakukan restart squid,
dengan perintah;
22. REDIRECT port 80 ke port 3128 dengan perintah:
#iptables –t nat –A PREROUTING
–s 192.168.16.0/24 –d 0.0.0.0/24 –p tcp –dport 80 –j REDIRECT –to-port 3128
23. Kemudian simpan dengan perintah:S
debian:/home/debian#
iptables-save
24. Untuk melihat akses client dapat menggunakan
perintah:
debian:/home/debian#
tail –f /var/log/squid/access.log
25. Agar settingan iptables dan ip_forward tidak hilang
saat terjadi reboot. Maka menambahkan konfigurasi ip_tables dan redirect port
pada etc/rc.local agar dapat diload
waktu pertama booting.
26. Tes koneksi ke www.facebook.com, yang tadi situs tersebut telah diblok atau tidak
dapat diakases.
27. Tes koneksi ke www.google.com
yang mana situs tersebut diperbolehkan diakses.
E. KESIMPULAN
1. Dalam melakukan squid ini, kita dapat melakukan
pemblokiran situs tertentu dengan mengetikan alamat situs website, ataupun kata-kata
tertentu yang dapat di blokir.
2. Kita juga dapat memilih komputer
mana saja yang akan kita blok, dengan perintah http_access allow/deny lan