Selasa, 07 Juli 2009

membuat proxy sederhana ubutu

membuat proxy sederhana ubutu


Akhir-akhir ini, trend mengakses situs jejaring seperti facebook sangat tinggi. Hal ini jika tetap dibiarkan akan menjadi suatu kendala bagi sebuah perusahaan yang hanya memiliki bandwidth kecil untuk akses internet. Seperti perusahaan dimana saya bekerja selama ini, hanya memiliki bandwidth ADSL untuk koneksi browsing para karyawan yang totalnya sekitar 35-an komputer. Bisa dibayangkan bagaimana lambatnya ? dengan ditambah akses ke situs2 yang tidak ada kaitannya dengan urusan pekerjaan. OK, itu adalah salah satu alasan mengapa akhirnya saya harus memblokir situs-situs jejaring ini untuk waktu-waktu tertentu. Selain itu, alasan yang menjadi dasar untuk saya memblokir situs ini adalah agar manajemen tidak “teriak-teriak” koneksi lambat lagi… that’s all… intinya itu aja. Maafkan saya teman-teman, sehingga kalian tidak dapat nge-fb pada jam kantor hehehe…

Saya putuskan menggunakan Open Source karena disampin gratis, dokumentasi yang ada juga tidak sedikit, sehingga saya bisa browsing via mbah google untuk mencari artikel yang sesuai dengan keinginan saya. Saya menggunakan OS Ubuntu JJ dan Proxy Squid.

Dalam menginstall Ubuntu JJ LTS, tidaklah rumit, tinggal download dari website ubuntu.org berupa file iso, lalu di burn ke CD dan kemudian langsung boot CD tersebut dari PC yang akan diinstall proxy.

Spesifikasi PC yang saya gunakan adalah : P4-2.0GHz, RAM DDR2 1 GB, HD 40GB, Mainboard Asus P5KPL, CDROM Sony.

Baiklah sekarang mulailah menginstall Squid. Kita asumsikan bahwa OS sudah terinstall. Jangan lupa jalankan : #apt-get update

ketika sudah selesai menginstall. Karena jika kamu tidak menjalankan update, maka kamu akan mendapatkan error/gagal.

Kemudian setelah selesai update mulailah dengan urutan dibawah ini :

1. root@proxyeno:/#apt-get install squid

2. root@proxyeno:/#cp /etc/squid/squid.conf /etc/squid/squid.conf.bak

3. root@proxyeno:/#mkdir /home/squid

4. root@proxyeno:/#chown squid.squid -fR /home/squid/

5. root@proxyeno:/#adduser squid

6. root@proxyeno:/#vi /etc/squid/squid.conf (dan isikan dengan konfigurasi dibawah ini)

http_port 3128
icp_port 3130
htcp_port 4827
cache_mem 42 MB
maximum_object_size 10240 KB
minimum_object_size 8 KB
#
maximum_object_size_in_memory 42 KB
#
cache_dir ufs /home/squid 10240 32 512
#
cache_access_log /var/log/squid/access.log
#
cache_log /var/log/squid/cache.log
#
cache_store_log /var/log/squid/store.log
#
acl all src 0.0.0.0/0.0.0.0
acl erica src 192.168.1.64/255.255.255.255
acl lokal src 192.168.1.0/255.255.255.0
acl waktublok1 time MTWHF 08:30-11:59
acl waktublok2 time MTWHF 13:30-16:59
acl bloking url_regex “/etc/squid/restricted-sites.txt”
acl blokmp3 urlpath_regex “/etc/squid/blok.mp3.acl
acl rahasia proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # waisacl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
#
http_access deny erica bloking
http_access deny bloking waktublok1
http_access deny bloking waktublok2
http_access deny blokmp3
http_access allow lokal
http_access allow localhost
http_access allow rahasia localhost
http_access allow rahasia lokal
http_access deny all
#
cachemgr_passwd mypasswd all
#
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
#
http_reply_access allow lokal
http_reply_access allow localhost
http_reply_access deny all
#
#
icp_access allow lokal
icp_access allow localhost
icp_access deny all
#
cache_effective_user squid
cache_effective_group squid
#
hosts_file /etc/hosts
visible_hostname PROXYENO

forwarded_for on
cache_mgr postmaster@domain.com

(kemudian save dengan :wq)

7. root@proxyeno:/#/etc/init.d/squid stop

8. root@proxyeno:/#/etc/init.d/squid start
9. Jalankan root@proxyeno:/#ps ax | grep squid -–> Hasil yang dibenar adalah :

root@proxyeno:/# ps ax|grep squid
4800 tty2 S+ 0:28 tail /var/log/squid/access.log -f
19518 ? Ss 0:00 /usr/sbin/squid -D -YC
19520 ? S 1:04 (squid) -D -YC
20292 pts/0 S+ 0:00 grep squid

10. Jalankan #squid -z –> untuk membuat cache_Dir

11. Done

Kemudian tinggal membuat file-file pendukung yang tertera pada squid.conf.

1. Membuat file restricted-sites.txt.

# vi restricted-sites.txt

friendster.com

facebook.com

tagged.com

2. Membuat file blok MP3. # vi blok.mp3.acl

\.[Ee][Xx][Ee]$
\.[Aa][Vv][Ii]$
\.[Mm][Pp][Gg]$
\.[Mm][Pp][Ee][Gg]$
\.[Mm][Pp]3$

Done.

Penjelasan Mengenai Waktu bloking :

Pada konfigurasi di squid.conf, saya membuat agar squid mem-blok situs yang saya inginkan pada jam-jam tertentu saja :

acl waktublok1 time MTWHF 08:30-11:59
acl waktublok2 time MTWHF 13:30-16:59

Arti dari receipt diatas adalah MTWHF adalah menunjukkan Hari SENIN SELASA RABU KAMIS JUMAT

kemudian 08:30-11:59 menunjukkan waktu dari pukul 08:30 – 11:59

Dari receipt diatas setelah ditambahkan receipt :

http_access deny bloking waktublok1

Maka dapat dibaca : Akses HTTP tidak diperkenankan ke situs yang ada di dalam bloking pada waktublok1

Setelah semua beres, tinggal tambahkan ip proxy dan portnya pada web browser masing-masing klien. Tapi, kalau tidak mau ribet ya mesti buat transparent proxy. Nanti kl saya sudah buat, akan saya posting lagi deh.

Semoga berguna !!!

Artikel Terkait ok



Tidak ada komentar:

Posting Komentar