Squid

Squid sering diartikan secara pendek sebagai proxy. Lalu apa itu proxy? Squid sebagai proxy dapat dimanfaatkan untuk berbagai kebutuhan, antara lain 3 hal berikut. Pertama, komputer yang menjalankan Squid dapat bertindak sebagai gateway (gerbang atau jalur khusus) ke Internet bagi komputer lain dalam jaringan lokal. Kedua, Squid sebagai cache, artinya dapat berfungsi untuk menampung informasi (web) yang pernah diakses sebuah komputer, sehingga mempercepat akses komputer lainnya ke isi web tersebut. Ketiga, Squid sebagai filter atau penyaring terhadap pengaksesan web-web yang tidak diinginkan, misalnya web berisi pornografi.
Bagaimana agar setiap pengguna dipastikan mengakses Internet melalui Squid? Untuk ini kita dapat menerapkan transparent proxy. Transparent proxy dapat menggunakan gabungan antara Squid dengan Ipchains. Dengan transparent proxy, setiap Browser pada komputer yang menggunakan gateway ini secara otomatis melewati proxy.

Squid adalah high-performance proxy caching server untuk web klien, yang sudah mendukung FTP, ghoper, dan HTTP data object. Berbeda dengan software caching yang lama, squid menangani semua permintaan tunggal (single), non-blocking, I/O-driven proses.

Squid menyimpan meta data dan terutama hot-object yang di simpan di RAM, menyimpan DNS lookups, mendukung non-blocking DNS lookups, dan implementasi negative-caching jika permintaan gagal.

Squid mendukung SSL, access kontrol yang banyak, dan full request logging. Dengan menggunakan lightweight internet cache protokol, squid cache dapat dibuat dalam suatu hirarki atau mesh untuk meningkatkan penghematan bandwidth.

Squid terdiri dari program server utama squid, sebuah Domain Name System lookup (program dnsserver), beberapa program tambahan untuk permintaan menulis ulang dan melakukan authentication, dan beberapa tools management client. Ketika squid dijalankan, itu akan menambah jumlah proses dnsserver, masing-masing bertugas sendiri-sendiri, blocking Domain Name System (DNS) lookup. Ini akan mengurangi waktu tunggu DNS lookups.

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.

Untuk menginstal squid sebagai transparent proxy dianjurkan untuk memakai linux ataupun varian UNIX lainnya, misal : freebsd,openbsd (pilihan tergantung kesukaaan aja), walaupun di windows juga bisa, tapi tidak dianjurkan untuk masalah kestabilan.

Step by step Instal squid
dengan asumsi sudah terinstal salah satu OS Linux, kalau belum bisa instal Slackware, caranya klik disini
Siapkan dulu partisi untuk cache squidnya,di mount point /cache.
Ambil source squid yg paling baru,bisa diambil disini.
Exstrak source squid tersebut, misal
root@hostname:~#tar jxvf squid-2.5.STABLE12.tar.bz2 -C /tmp

Pindah ke direktori squid yg sudah di exstrak, seperti contoh di atas, source squid yg sudah di exstrak berada di direktori
root@hostname:~#cd /tmp/squid-2.5.STABLE12

Kemudian lakukan perintah berikut:

root@hostname:~#./configure prefix=/squid --enable-storeio=null,diskd,ufs
--with-pthreads --enable-underscores --disable-internal-dns
--enable-delay-pools --disable-ident-lookups --enable-truncate
--enable-removal-policies=heap,lru --enable-linux-netfilter
--enable-stacktraces --disable-hostname-checks --enable-snmp
--enable-kill-parent-hack

Kemudian seperti biasa,
root@hostname:~#make all
root@hostname:~#make install

Instalasi squid sudah selesai, dan instalasinya berada di /usr/local/squid/

Edit file squid.conf
root@hostname:~#pico /squid/etc/squid.conf

Sesuaikan dengan konfigurasi yg anda inginkan, misalnya letak direktori cache, log file, acl dsb.

- http_port 3128 ==> port buat squid
- httpd_accel_host virtual ==> transparent proxy
- httpd_accel_port 80 ==> transparent proxy
- httpd_accel_with_proxy on ==> transparent proxy
- httpd_accel_uses_host_header on ==> transparent proxy

Jangan lupa tambahkan opsi berikut di squid.conf, sehingga transparent proxynya berjalan :

* httpd_accel_host virtual
* httpd_accel_port 80
* httpd_accel_with_proxy on
* httpd_accel_uses_host_header on

Sesuaikan juga kepemilikan direktori cache dan log file untuk squid, sesuaikan dengan user yg menjalankan squid,squid berjalan dengan user squid dan groupnya squid, maka jalankan dl perintah
root@hostname:~#chown -R squid.squid /cache
Jalankan squid untuk pertama kali dengan perintah
root@hostname:~#/usr/local/squid/sbin/squid -z

Jika tidak ada error, maka instalasi squid sudah berjalan mulus. Mulailah menjalankan daemon squid dengan perintah

root@hostname:~#/usr/local/squid/sbin/squid -sYD

untuk memblokir suatu situs tambahkan :
- acl notsex url_regex -i "/usr/local/squid/etc/notsex"
- acl sex url_regex -i "/usr/local/squid/etc/sex"
- http_access deny sex all
- http_access allow notsex all
- http_access allow all

buat file sex :
root@hostname:~#pico /usr/local/squid/etc/sex
masukan list akan di blok misal :
www.17tahun.com
17tahun.com
17tahun
dewasa.tk
uh-oh.com
dll

trus buat file notsex :
root@hostname:~#pico /usr/local/squid/etc/notsex
.*.msexchange.*
.*.msexcel.*
.*freetown.*
.*geek-girls.*
.*scsext.*
missingheart
documen
button
wirelessexcite
dll...

Kalau sudah cukup konfigurasinya simpan.

buat directori cache
root@hostname:~# mkdir /cache
root@hostname:~#chmod 777 /usr/local/squid/var/*

tinggal jalanin squidnya.

# /usr/local/squid/sbin/squid -z ( cukup satu kali )
# /usr/local/squid/sbin/squid

tinggal test di client dengan memasukan proxy servernya.
coba buka satu situs kalo bisa kebuka berarti jalan...
buka www.17tahun.com kalo gak bisa kebuka berarti bloking situs porno jalan.

Untuk Transparent Proxy :

edit /etc/rc.local
root@hostname:~#pico /etc/rc.local
isinya :

/usr/local/squid/sbin/squid -sYD *sesuaikan*
iptables -t nat -I PREROUTING -i eth0 -p tcp -d ! 202.69.101.96/27 –dport 80 -j REDIRECT –to-port 3128

bisa juga liat di Kumpulan Linux