Proxy Server

Proxy Server

Squid Proxy Server

Jika Anda sebagai administrator Lab. Komputer (dengan jumlah komputer 40), dan dilengkapi
dengan modem ADSL kecepatan 384kbbs/64kbbs , maka tanpa web-cache,, jumlah bandwith
yang diperlukan untuk berinternet ria adalah 40 x trafik data masing2 komputer.
Jika masing2 browser tiap komputer membuka www.yahoo.com, maka trafik data adalah 40 x 31
KByte.
Squid merupakan proxy server populer di dunia. Banyak fungsi yang diemban oleh proxy server.
Salah satunya adalah sebagai web-cache.
Sebelum memulai, siapa yang akan menjalankan squid ? Tambahkan user dan group baru
bernama squid.
roor@komputer7:~# groupadd squid
Tambahkan user squid:
roor@komputer7:~# adduser squid
Ada 2 model penggunaan paket squid. Kompile dan install dari source. Atau kompile lewat
SlackBuild.

Abdul Rais Husain | ICT Center Majene2

Pertama2 buat direktory cache :

Buat direktory cache squid. (jika install dari paket SlackBUild)
roor@komputer7:~# mkdir /var/log/squid/cache
roor@komputer7:~# chown -hR squid:squid /var/log/squid/cache
Buat direktory cache squid (Jika Instal dari source )
roor@komputer7:~# mkdir /usr/local/squid/var/cache
roor@komputer7:~# chown -hR squid:squid /usr/local/squid/var/cache

From the Source :

…. Ambil squid versi terbaru :
http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE14.tar.gz
Kopikan file tersebut di /usr/share/squid dan unpack source code tersebut.
roor@komputer7:~# tar -xvzf squid-2.6.STABLE14.tar.gz
masuk kedirektory squid dan lakukan konfigurasi
roor@komputer7:~#./configure
Lakukan Make
roor@komputer7:~# make
Install program hasil kompilasi.
roor@komputer7:~# make install
Edit awal konfig squid di /usr/local/squid/etc/squid.conf
cache_mem 256 MB
cache_dir ufs /usr/local/squid/var/cache 1000 16 256
acl our_networks src 192.168.1.0/24 192.168.2.0/24
http_access allow our_networks

Sebagai root lakukan instruksi :
roor@komputer7:~# /usr/local/squid/sbin/squid -Z
Perintah diatas untuk membuat swap cache yang akan digunakan squid.
Sekarang Saatnya mencoba :
roor@komputer7:~# /usr/local/squid/sbin/squid -D
From SlackBuild :

….Jika Anda ingin mengkompile squid lewat script SlackBUild.
Ambil script Slackbuild squid versi terbaru :
http://slackbuilds.org/slackbuilds/12.0/network/squid.tar.gz
Unpack file squid.tar.gz pada direktory tertentu. (misal /usr/src/squid)
Abdul Rais Husain | ICT Center Majene3

Ambil source squid
http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE14.tar.gz
Kopikan file source squid kedalam direktory slackbuild squid (yang baru Anda unpack).
Kemudian jalankan script squid.SlackBuild.
roor@komputer7:~# ./squid.SlackBuild
Setelah proses kompilasi dan pembentukan paket squid selesai, install squid. (Hasil slacbuild
diletakkan di /tmp)
masuk kedirektory /tmp dan lakukan instruksi :
roor@komputer7:~# installpkg squid-*.tgz
Oke ! Paket squid sudah terinstall
Edit awal konfig squid di /etc/squid/squid.conf
cache_mem 256 MB
cache_dir ufs /var/log/squid/cache 1000 16 256
acl our_networks src 192.168.1.0/24 192.168.2.0/24
http_access allow our_networks
Sebagai root lakukan instruksi :
roor@komputer7:~# squid -z
Perintah diatas untuk membuat swap cache yang akan digunakan squid.

Sekarang Saatnya mencoba :

roor@komputer7:~# squid -D
Untuk selanjutnya untuk start squid, Anda dapat menggunakan rc.squid.
Ubah ke 755 permission rc.squid
roor@komputer7:~# chmod 755 /etc/rc.d/rc.squid
Pada waktu booting pertamakali, squid akan diaktifkan.

Blok Situs dan Keyword dengan ACL

Untuk membatasi akses terhadap suatu situs tertentu kadang diperlukan. Semisal di sekolah anda
ingin mem-blok beberapa situs porno dan keyword pencarian.
Pada tulisan ini dibahas mengenai blok terhadap beberapa alamat situs tertentu ataupun blok
pencarian di google dengan menggunakan keyword tertentu.
Disini akan dibahas blok suatu situs dengan menggunakan ACL dari squid.
Berikut ini adalah beberapa langkah-nya :

1. Buat sebuah file daftar alamat situs.

Buat sebuah file yang berisi mengenai alamat dari situs - situs dan keyword yang mau
anda blok. Perhatikan letak dari file tersebut ! (karena anda harus mendefinisikan path
dari file tersebut di squid.conf)

Abdul Rais Husain | ICT Center Majene4
Contoh isi file :
http://xxx.com
http://www.porno.com
sex
seks
sek

2. Tambahkan rule ACL di squid.conf

Misalkan nama file yang baru anda buat tadi “situsterlarang.txt”.
Edit squid.conf anda dan tambahkan beberapa rule di bawah ini :
acl NamaACL url_regex -i “path_dari_file_anda”
contoh :
acl porno url_regex -i “/etc/squid/situsterlarang.txt”
http_access deny NamaACL
contoh :
http_access deny porno
Perhatikan untuk letak dari http_access deny porno. Letakkan baris ini sebelum
http_access deny all
3. Restart squid anda, lalu coba lakukan test dari client

TransparantProxy

Mengapa Transparant Proxy ?
Mengisikan setting proxy untuk jumlah client yang sedikit mungkin bukan masalah besar, tapi
jika jumlah client yang banyak juga beragamnya browser ada baiknya membuat transparent
proxy, yang memaksa setiap browser client untuk menggunakan proxy.
Tanpa Transparant proxy, besar kemungkinan client dapat mem-bypas proxy (dengan segala
aturannya)untuk melakukan koneksi langsung.
Tambahkan configurasi berikut di squid.conf
Squid versi 2.6
http_port 3128 transparent
Squid versi 2.5
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
Konfigurasi tersebut berfungsi jika pada proses kompilasi opsi untuk transparant proxy
diaktifkan, silahkan melihat manual kompilasi squid untuk mengaktifkan fungsi tersebut.
Selanjutnya adalah memaksa akses ke port 80 (http) melalui proxy.
Di command line ketikkan :
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -d 0/0 -p tcp –dport 80 -j
REDIRECT –to 3128
Abdul Rais Husain | ICT Center Majene5

Dengan asumsi bahwa router (gateway) dan proxy server berapa pada mesin linux yang sama,
silahkan menyesuaikan jika sekiranya mesin proxy berbeda dengan router/gateway. Dengan
demikian setiap kali ada akses ke port 80 (http) akan di alihkan ke 3128 (proxy).

SquidNote

1. Kompleksitas.
Ini adalah ‘musuh utama’ . Berhadapan dengan ratusan baris squid.conf. Apa yang Anda
inginkan dari squid ?
Saya mencatat, cukup 4 baris modifikasi dari squid.conf sudah membuat squid Anda
berjalan normal.
o cache_mem 256 MB
Ganti besar memory 1/3 dari kapasitas memory Anda. Memang tidak ada
patokan pasti. Jika Anda punya memory 512MB, dan dikhususkan buat
squid, berjalan di run level 3, mungkin Anda bisa mengganti dengan
400MB Hehehe
o cache_dir ufs /var/log/squid/cache 1000 16 256
Berapa besar kapasitas Hardisk Anda ? Angka 1000 menandakan 1000MB
untuk cache squid di hardisk. Ingin lebih ? Silahkan !
o acl our_networks src 192.168.1.0/24 192.168.2.0/24
Baris di atas menunjukkan bahwa komputer dengan alamat 192.168.1.0
sampai 192.168.1.255 dan komputer dengan address 192.168.2.0 sampai
192.168.2.255 merupakan our_networks.
o http_access allow our_networks
Baris diatas memgatakan, squid hanya mengijinkan cache http pada alamat
yang disebutkan our_networks
2. Identitas.
cache_mgr emailku@blablabla.com

Mungkin Anda ingin mengganti Identitas cache_mgr dengan e-mail Anda ?
3. Jalankan squid !.
#squid -D

Ini adalah cara ‘kasar’ untuk menjalankan squid. :)Ingat, setiap mengganti
squid.conf restart squid Anda. #squid restart agar konfig baru di terima. Ini juga
cara ‘kasar’ Hehehe
4. Set Browser client Anda !.
Set browser client Anda untuk mengarah ke proxy server. Pada Firefox, Klik Edit–
>Preferences–>Advanced–>Networks–>Settings–>Manual proxy Configuration
Isi dengan IP Proxy server Anda. Isikan juga port proxy (default 3128)
Abdul Rais Husain | ICT Center Majene6

Buat admin yang malas

Mengisikan setting proxy untuk jumlah client yang sedikit mungkin bukan masalah besar,
tapi jika jumlah client yang banyak juga beragamnya browser ada baiknya membuat
transparent proxy, yang memaksa setiap browser client untuk menggunakan proxy.
5. Jika Ingin start saat boot !
Letakkan script ini di /etc/rc.d/rc.local
if [ -x /etc/rc.d/rc.squid ]; then
/etc/rc.d/rc.squid start
fi

Slackware : setup DNS Server dengan dnsmasq

Ditulis oleh bayuart di/pada 22 Agustus 2007

mas boer, maaf ya sebelumnya, bukan maksud menggurui.
gini, mas kalo install paket aplikasi di linux, kalo bisa pake bawaan distro tsb, jika dari distro tsb belum ada pakete, baru deh ngompile sendiri. hal begini sebenere cuman untuk mempermudah penelusuran dan administrasi paket yang terisntal biar lebih gampang aja kok.

untuk paket dns server, di slack (bawaan default slackware) ada 2 jenis paket standar, nama;e

-bind
-dnsmasq

dari kedua paket tsb, yang paling gampang dikonfigurasi adalah dnsmasq, untuk cara penginstalannya secara garis besar seperti ini

DNSMASQ setup

# installpkg dnsmasq-*.tgz

Sementara itu, file-file yang berpengaruh untuk konfigurasi dnsmasq adalah:

* /etc/dnsmasq.conf : file konfigurasi utama
* /etc/resolv.conf : file berisi alamat IP DNS server utama. Jika dnsmasq hidup, file ini harus berisi

nameserver 127.0.0.1

* /etc/resolv.conf.dnsmasq : file berisi alamat IP upstream DNS server, misal:

nameserver 192.168.0.254

* /etc/hosts : file berisi pemetaan nama domain ke IP

untuk start dan stop nya

/etc/rc.d/ec.dnsmasq start/stop/status

Konfigurasi DNSMASQ sebagai caching NS

Untuk mengoperasikan dnsmasq sebagai caching dnsserver, yang perlu anda lakukan hanya:

1. Pastikan /etc/resolv.conf berisi alamat IP DNS server yang betul (sediaan provider atau gateway), misal

nameserver 192.168.0.254

2. Hidupkan service dnsmasq. Secara otomatis dnsmasq akan menyalin alamat yang ada di /etc/resolv.conf ke /etc/resolv.conf.dnsmasq, lalu mengganti /etc/resolv.conf jadi 127.0.0.1.

Dengan demikian, cara kerja konfigurasi ini adalah:

* Saat suatu aplikasi menanyakan name domain, sistem akan bertanya ke dnsmasq dulu (lewat alamat 127.0.0.1).
* dnsmasq akan bertanya ke upstream server (alamat 192.168.0.254), bila dapat akan diingat masuk cache.
* dnsmasq mengembalikan jawaban yang didapat ke sistem, dan diteruskan ke aplikasi.
* Jika ada aplikasi bertanya lagi, maka dnsmasq akan mencarinya di cache. Bila ada maka langsung dijawab, namun kelau belum ada, maka tanya dulu ke upstream server.

STANDALONE DNS SERVER
Konfigurasi ini bisa dipakai pada sistem LAN tertutup, dimana dnsmasq dipasang pada sebuah server.

[client]——[server (dnsmasq)]

Dengan cara ini, anda bisa memberi nama seluruh client dengan nama domain tak resmi. Untuk itu, tinggal edit file /etc/hosts, misalnya sebagai berikut:

# /etc/hosts
# file ini biasanya dipakai untuk resolve nama dns statik lokal
# bila dnsmasq hidup, file ini menjadi database nama hosts yang dipublish
#
# format penulisan
# ALAMAT_IP NAMA_DOMAIN …. NAMA_PENDEK …

# entry ini harus ada, menandakal localhost
127.0.0.1 localhost

# ini entry si SERVER sendiri
192.168.0.254 server.kampus.lan server

# ini entry beberapa CLIENT
192.168.0.1 pc01.kampus.lan pc01
192.168.0.2 pc02.kampus.lan pc02
192.168.0.3 pc03.kampus.lan pc03
192.168.0.4 pc04.kampus.lan pc04

# server www, mail dan ftp satu komputer
192.168.0.250 www.kampus.lan mail.kampus.lan ftp.kampus.lan www mail ftp

Bila file /etc/hosts sudah siap, mengoperasikan dnsmasq sebagai standalone dnsserver hanya perlu:

1. Pastikan /etc/resolv.conf berisi

nameserver 127.0.0.1

2. Hidupkan service dnsmasq.

Sudah. Cukup sederhana kan ? (coba bandingkan kalau pakai bind).

Untuk memanfaatkan dns server LAN ini, setiap komputer client (termasuk WIndows) tinggal mengisi dnsserver ke 192.168.0.254 pada setting TCP/IP-nya. Selanjutnya setiap client bisa memakai nama domain (misal www.kampus.lan) untuk mengakses komputer lain. Seandainya tidak ada dns server lokal ini, setiap client harus memiliki file /etc/hosts sendiri-sendiri.

DOWNSTREAM DNS SERVER
Konfigurasi ini bisa dipakai pada sistem LAN yang tersambung ke Internet melalui gateway (cocok buat Warnet). Dnsmasq terpasang pada gateway sebagai berikut:

[client]——[gateway (dnsmasq)]——{provider(dns server)}

Perhatikan bahwa konfigurasi ini mirip dengan konfigurasi stand alone, hanya saja kini ada sambungan Internet. Setelah diset dengan benar, dnsmasq akan sanggup menjawab nama domain resmi (misal www.google.com) yang diambil dari upstream server (provider) dan juga nama domain tak resmi dari /etc/hosts. Untuk itu silahkan edit /etc/hosts seperti telah dijelaskan sebelumnya, lalu:

1. Edit file /etc/dnsmasq.conf, pastikan bahwa dnsmasq HANYA melayani LAN internal saja. Ini penting ! Kalau tidak, nanti komputer luar dari Internet bisa bertanya ke si gateway, dan akan mendapat jawaban nama domain tak resmi yang menyesatkan.

# If you want dnsmasq to listen for requests only on specified interfaces
# (and the loopback) give the name of the interface (eg eth0) here.
# Repeat the line for more than one interface.
#interface=
# Or you can specify which interface _not_ to listen on
#except-interface=
# Or which to listen on by address (remember to include 127.0.0.1 if
# you use this.)

# Ubah ini
listen-address=127.0.0.1 192.168.0.254

2. Pastikan /etc/resolv.conf berisi alamat domain si upstream server

nameserver 123.123.123.123

3. Hidupkan service dnsmasq.

Selamat memanfaatkan.

bersambung ke Slackware : setup DNS Server dengan BIND

Ditulis dalam Slack, Tips | 2 Komentar »

Slackware : Setup DHCP Server

Ditulis oleh bayuart di/pada 21 Agustus 2007

untuk instalasi DHCP di slackware, yang dibutuhkan adalah paket /slackware/n/dhcp-3.0.4-i486-2.tgz
di CD

install seperti biasa, ato dengan cara manual
installpkg dhcp-3.0.4-i486-2.tgz

setelah selesai, langsung edit aja file konfigurasinya
(file konfigurasi sesuaikan dengan kondisi di tempat masing-masing)

# ISC DHCP-Server Configuration
# /etc/dhcpd.conf
#
default-lease-time 86400 ; # one day
max-lease-time 604800 ; # one week
ddns-update-style ad-hoc ;
ddns-updates on;
option ip-forwarding off;
option routers 192.168.2.1 ; # important when this corresponds to: ‘gateway’
option subnet-mask 255.255.255.0 ;
ignore client-updates ;
option broadcast-address 192.168.2.255 ;
option domain-name “mydomain.com” ;
option domain-name-servers 194.22.190.10 , 194.22.194.14; # important when this corresponds to: ‘DNS Servers’
#
# LAN
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.40 192.168.2.60;
}

# DMZ
subnet 192.168.3.0 netmask 255.255.255.0 {
range 192.168.3.40 192.168.3.60;
}
#
# List an unused interface here
subnet 192.168.1.0 netmask 255.255.255.128 {
}

kemudian test, mode debug

shell> killall dhcpd
shell> dhcpd -d &
Baca entri selengkapnya »

Ditulis dalam Slack, Tips | 5 Komentar »

Slackware : Network Configuration

Ditulis oleh bayuart di/pada 16 Juli 2007

Tips untuk slackware lagi :)cara bagaimana membuat konfigurasi ip alias di /etc/rc.d/rc.inet1.conf

 # Config information for eth0
   IPADDR[0]="192.168.0.1"
   NETMASK[0]="255.255.255.0"
   USE_DHCP[0]=""
   DHCP_HOSTNAME[0]=""
 
   # Config information for eth0:1
   IFNAME[1]="eth0:1"
   IPADDR[1]="192.168.1.12"
   NETMASK[1]="255.255.255.0"
   USE_DHCP[1]=""
   DHCP_HOSTNAME[1]=""

jangan lupa urutannya

Ditulis dalam Slack, Tips | 5 Komentar »

Tips : contoh filter di squid (lagi)

Ditulis oleh bayuart di/pada 24 Maret 2007

Salah satu cara tips penggunaan squid sebagai web cache atau proxy server. Contoh diambil dari K.L.A.S’ers.

File yang akan diblokir untuk di donlot antara lain : MPEG, MPG, MP3, 3GP, AVI, RAR, ZIP

# vim /etc/squid/squid.conf
….
….

acl Safe_ports port 15000# VUE
acl purge method PURGE
acl CONNECT method CONNECT

# blokir donlot file dg ext tertentu
#acl blockfiles urlpath_regex “/etc/squid/blocks.files.acl”

….

….

# deny donlot files
deny_info ERR_BLOCKED_FILES blockfiles
http_access deny blockfiles

Kemudian buat list ext. file yang akan diblokir

# vim /etc/squid/blocks.files.acl

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

Maksud dari contoh baris ini adalah ” \.[Rr][Aa][Rr]$” : namafile.RAR atau namafile.rar atau namafile.RaR tidak diijinkan di donlot. Tambahkan ext yang lain sesuai kebutuhan.

Buat file halaman error jika terjadi kegagalan donlot file dengan ext diatas. Letakkan file halaman error sesuai dengan konfigurasi squid anda.

~# vim /usr/share/squid/errors/English/ERR_BLOCKED_FILES



ERROR : Squid Error


PERINGATAN: Maaf, file macam gini tidak boleh di donlot

#squid -k reconfigure

Ok selesai.

Instalasi Squid di Slackware

Berikut adalah cara sederhana untuk install squid di mesin slackware kita :

Pertama² download squid package nya:
# wget http://linuxpackages.inode.at/Slackware-10.1/Daemon/squid/squid-2.5.STABLE9-x86_64-1stb.tgz

kemudian install package
# installpkg squid-2.5.STABLE9-x86_64-1stb.tgz

Kemudian buat script bash sbb:
# pico /etc/rc.d/rc.squid

isi dari rc.squid sbb:
#!/bin/sh
echo -n ' squid '
case "$1" in
start)
/usr/sbin/squid -D
;;
stop)
/usr/sbin/squid -k shutdown
;;
restart)
/usr/sbin/squid -k reconfigure
;;
*)
echo "Usage: `basename $0`
{start|stop|restart}"
;;
esac

Kemudian buat /etc/rc.d/rc.squid supaya bisa di eksekusi
#chmod 755 /etc/rc.d/rc.squid

Supaya squid dapat di load otomatis ketika restart edit file rc.inet2
# pico /etc/rc.d/rc.inet2

tambah baris dibawah ini pada file /etc/rc.d/rc.init2
# Start SQUID (Squid proxy server):
if [ -x /etc/rc.d/rc.squid ]; then
. /etc/rc.d/rc.squid start
fi

Ubah kepemilikan direktori squid
# chown -R nobody:nogroup /var/lib/squid/

Buat swap dengan :
# squid -z
2005/09/17 13:31:10| Creating Swap Directories

Edit file /etc/squid/squid.conf
# pico /etc/squid/squid.conf

secara singkat edit pada baris dibawah di uncoment:
acl our_networks src 192.168.0.0/27 <--- tergantung network client kita
http_access allow our_networks

Jika kita ingin menjalankan squid sebagai transparent proxy maka entry² berikut pada file squid.conf harus di enable:

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

Jika ingin config secara advance dapat di lihat di :
http://squid.visolve.com/squid/index.htm

kemudian tambahkan pada firewall kita dengan baris dibawah ini:
misal eth1 sebagai local dan eth0 adalah yang erhubung degan internet dengan ip 200.200.200.1

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 200.200.200.1:3128

Start squid dengan:

# /etc/rc.d/rc.squid start

Setiingan proxy dengan freebsd

Transparent Proxy

Transparent Proxy digunakan apabila kita ingin memaksa clients dalam network untuk menggunakan proxy tanpa sepengetahuan mereka. Maksudnya semua http request dari client secara otomatis akan diarahkan ke proxy terlebih dahulu (forwarded). Keuntungan lainnya, kita tidak perlu repot untuk melakukan setting/konfigurasi browser pada masing-masing client yang mungkin berjumlah banyak.

Dalam FreeBSD kita dapat menggunakan IPFW dan SQUID untuk membuat Transparent Proxy. Contoh disini adalah transparent proxy yang berjalan pada Dial up gateway dengan menggunakan NATD dan SQUID sebagai HTTP proxy nya.

1. Menambahkan rule IPFW untuk forwarding.

Untuk mengaktifkan fungsi IPFW forward, pastikan bahwa sudah terdapat options IPFIREWALL_FORWARD pada file konfigurasi kernel. Seandainya belum ada, maka kita harus menambahkan options tersebut dan kemudian melakukan compile dan install kernel.

add 350 fwd 192.168.0.1,8080 tcp from 192.168.0.0/24 to any www

Rule diatas maksudnya, semua request http (port www) dari clients di forward/diarahkan ke port 8080 (port SQUID di 192.168.0.1). Berikut contoh IPFW rules sederhana untuk menjalankan NATD dan Transparent Proxy :

## ipfw rules
add 350 fwd 192.168.0.1,8080 tcp from 192.168.0.0/24 to any www
add 400 divert natd all from any to any via tun0
add 450 pass all from any to any via rl0
add 500 pass all from any to any via tun0



2. Edit squid.conf pada bagian HTTPD-ACCELERATOR

## HTTPD-ACCELERATOR OPTIONS
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on



3. Restart Squid dan coba matikan konfigurasi browser di client.

reference:
http://www.tldp.org/HOWTO/mini/TransparentProxy-2.html

http://infofreebsd.org/article.php?sid=234&mode=thread&order=0

View Full Version : Instalasi Proxy Server dengan SQUID


Pages : [1] 2 3


Topenggas

13-04-2007, 04:36 PM

Rasanya tidak perlu lagi dijelaskan fungsi maupun kegunaan Squid karena sudah banyak situs-situs lain yang menguraikannya secara jelas, baik berbahasa Indonesia maupun bahasa asing.Artikel ini terfokus secara teknisnya saja, bagaimana menginstalasi Squid dan mengkonfigurasi Squid sebagai transparent proxy melalui firewall yang sudah ada di server. Berdasarkan pengalaman, metode instalasi dan konfigurasi yang saya gunakan dapat berjalan dengan baik di server dengan sistem operasi Linux slackware 11 dan Hit ratio dapat mencapai 85%

Karena Squid membutuhkan memory yang cukup besar, maka untuk kebutuhan minimal memory untuk saat ini adalah 256MB. Di samping itu, Squid juga memerlukan tipe penyimpanan (disk) dengan kecepatan tinggi semacam SCSI, namun sebenarnya tipe hard disk IDE pun saat ini juga sudah mempunyai kecepatan tinggi, bahkan ada yang sudah mencapai 7200 rpm, mungkin 10000 rpm.

Download source dari squid
#wget http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE9-20070220.tar.gz

Extract squid tersebut
#tar -zxvf squid-2.6.STABLE9-20070220.tar.gz -C /usr/local/src (sembarang mau ditaruh di mana hasil ekstraknya squid).

Masuk ke direktori ekstrak squid tersebut
#cd /usr/local/src/squid-2.6.STABLE9-20070220

Buat group dan user yang akan di gunakan untuk menjalankan squid
#groupadd squid_
#useradd -c \\\"SQUID PROXY CACHE\\\" -d /dev/null -s /bin/false -g _squid _squid

Configure dan install squid
#./configure \\\\
--prefix=/squid/ --sysconfdir=/etc/ --enable-gnuregex --enable-async-io=16 \\\\
--with-aufs-threads=16 --with-pthreads --with-aio --with-dl \\\\
--enable-storeio=aufs --enable-removal-policies=heap --enable-delay-pools \\\\
--disable-wccp --enable-cache-digests --enable-default-err-languages=English \\\\
--enable-err-languages=English --enable-linux-netfilter --disable-ident-lookups \\\\
--disable-hostname-checks --enable-underscores --enable-snmp --enable-useragent-log \\\\
--disable-wccpv2 --enable-epoll --disable-internal-dns --enable-htcp
Keterangan opsi :
--enable-async-io=16 dan --with-aufs-threads=16 di sesuaikan dengan kemampuan mesin server
Untuk pentium III dengan ram 128 kebawah dapat menggunakan 8
Untuk pentium III ram 128 s/d PIV 1,8 Ghz ram 256 dapat menggunakan 16
Untuk pentium IV ram 256 1,8 s/d PIV 2,4 ram 256 dapat menggunakan 24
Untuk pentium di atasnya atau sekelasnya dapat menggunakan 32
Pilihan diatas hanya sebuah perkiraan karena saya hanya menggunakan P4 ram 256 saja.
Kompile source
#make && make install

Keterangan tambahan :
--enable-auth=basic \\\\
--enable-basic-auth-helpers=NCSA
Digunakan jika proxy squid akan digunakan dengan menggunakan authentikasi user.

Tanda # didepan perintah maksudnya adalah root di dalam bash bukan comment.
Setelah instalasi selesai dan tidak terdapat kesalahan, langkah berikutnya adalah mengatur konfigurasi squid, bukalah file /etc/squid.conf dengan editor teks favorit anda (vi, pico, dll), file ini adalah file konfigurasi squid.


#pico -w /etc/squid.conf (Silahkan edit dengan editor kesukaan anda)
Rubahlah konfigurasi default squid.conf di sesuaikan dengan kebutuhan.
Jangan lupa untuk membuang yang kira kira tidak perlu dan membebani server.

agar squid dapat berjalan transparan maka untuk squid versi 2.6 keatas dapat memberikan opsi :
--> http_port 3128 transparent
di dalam confignya.

Sebelum squid dapat berjalan, anda harus menciptakan direktori swap. Lakukanlah dengan menjalankan perintah :

#/squid/sbin/squid -z

Perintah ini hanya perlu dijalankan satu kali saja ketika squid pertama kali akan dijalankan pada komputer anda.

Cek dulu konfigurasi squid sudah benar atau belum
#/squid/sbin/squid -k parse

Kalo masih terdapat kesalahan atau error silahkan di edit kembali konfigurasinya.

Untuk menjalankan squid gunakan perintah :
#/squid/sbin/squid -sYD

setting transparan iptables nya :
Buat file transparannya biar mudah memanggilnya :
#pico /etc/rc.d/rc.nat
isi dengan :
# Redirect proxy
for SQUID in 80 3128 444 3127 3129
do
iptables -t nat -A PREROUTING -p tcp --dport $SQUID -j REDIRECT --to-ports 3128
done

--> Hal diatas memiliki maksud semua port yang menuju ke 80,3128,444,3127,3129 di redirect ke 3128

Buatlah file agar dapat di eksekusi
#chmod +x /etc/rc.d/rc.nat

Jalankan transparan :
#/etc/rc.d/rc.nat

Untuk membuat squid jalan sendiri setiap kali booting maka tambah kan perintah di atas di /etc/rc.d/rc.local
#pico /etc/rc.d/rc.local
tambahkan baris :
# Squid Proxy Cache
/squid/sbin/squid -sYD
# Transparan Proxy
/etc/rc.d/rc.nat
Sampai disini anda sudah melakukan instalasi, setting dan mengaktifkan squid. Mudah bukan?

Firewall untuk router mikrotik

February 21, 2008 at 3:37 pm (MikroTik)

Untuk mengamankan router mikrotik dari traffic virus dan excess ping dapat digunakan skrip firewall berikut
Pertama buat address-list “ournetwork” yang berisi alamat IP radio, IP LAN dan IP WAN atau IP lainnya yang dapat dipercaya

Dalam contoh berikut alamat IP radio adalah = 10.0.0.0/16, IP LAN = 192.168.2.0/24 dan IP WAN = 203.89.24.0/21 dan IP lainnya yang dapat dipercaya = 202.67.33.7

Untuk membuat address-list dapat menggunakan contoh skrip seperti berikut ini tinggal disesuaikan dengan konfigurasi jaringan Anda.

Buat skrtip berikut menggunakan notepad kemudian copy-paste ke console mikrotik

/ ip firewall address-list
add list=ournetwork address=203.89.24.0/21 comment=”Datautama Network” \
disabled=no
add list=ournetwork address=10.0.0.0/16 comment=”IP Radio” disabled=no
add list=ournetwork address=192.168.2.0/24 comment=”LAN Network” disabled=no

Selanjutnya copy-paste skrip berikut pada console mikrotik

/ ip firewall filter
add chain=forward connection-state=established action=accept comment=”allow \
established connections” disabled=no
add chain=forward connection-state=related action=accept comment=”allow \
related connections” disabled=no
add chain=virus protocol=udp dst-port=135-139 action=drop comment=”Drop \
Messenger Worm” disabled=no
add chain=forward connection-state=invalid action=drop comment=”drop invalid \
connections” disabled=no
add chain=virus protocol=tcp dst-port=135-139 action=drop comment=”Drop \
Blaster Worm” disabled=no
add chain=virus protocol=tcp dst-port=1433-1434 action=drop comment=”Worm” \
disabled=no
add chain=virus protocol=tcp dst-port=445 action=drop comment=”Drop Blaster \
Worm” disabled=no
add chain=virus protocol=udp dst-port=445 action=drop comment=”Drop Blaster \
Worm” disabled=no
add chain=virus protocol=tcp dst-port=593 action=drop comment=”________” \
disabled=no
add chain=virus protocol=tcp dst-port=1024-1030 action=drop comment=”________” \
disabled=no
add chain=virus protocol=tcp dst-port=1080 action=drop comment=”Drop MyDoom” \
disabled=no
add chain=virus protocol=tcp dst-port=1214 action=drop comment=”________” \
disabled=no
add chain=virus protocol=tcp dst-port=1363 action=drop comment=”ndm requester” \
disabled=no
add chain=virus protocol=tcp dst-port=1364 action=drop comment=”ndm server” \
disabled=no
add chain=virus protocol=tcp dst-port=1368 action=drop comment=”screen cast” \
disabled=no
add chain=virus protocol=tcp dst-port=1373 action=drop comment=”hromgrafx” \
disabled=no
add chain=virus protocol=tcp dst-port=1377 action=drop comment=”cichlid” \
disabled=no
add chain=virus protocol=tcp dst-port=2745 action=drop comment=”Bagle Virus” \
disabled=no
add chain=virus protocol=tcp dst-port=2283 action=drop comment=”Drop Dumaru.Y” \
disabled=no
add chain=virus protocol=tcp dst-port=2535 action=drop comment=”Drop Beagle” \
disabled=no
add chain=virus protocol=tcp dst-port=2745 action=drop comment=”Drop \
Beagle.C-K” disabled=no
add chain=virus protocol=tcp dst-port=3127 action=drop comment=”Drop MyDoom” \
disabled=no
add chain=virus protocol=tcp dst-port=3410 action=drop comment=”Drop Backdoor \
OptixPro” disabled=no
add chain=virus protocol=tcp dst-port=4444 action=drop comment=”Worm” \
disabled=no
add chain=virus protocol=udp dst-port=4444 action=drop comment=”Worm” \
disabled=no
add chain=virus protocol=tcp dst-port=5554 action=drop comment=”Drop Sasser” \
disabled=no
add chain=virus protocol=tcp dst-port=8866 action=drop comment=”Drop Beagle.B” \
disabled=no
add chain=virus protocol=tcp dst-port=9898 action=drop comment=”Drop \
Dabber.A-B” disabled=no
add chain=virus protocol=tcp dst-port=10000 action=drop comment=”Drop \
Dumaru.Y, sebaiknya di didisable karena juga sering digunakan utk vpn atau \
webmin” disabled=yes
add chain=virus protocol=tcp dst-port=10080 action=drop comment=”Drop \
MyDoom.B” disabled=no
add chain=virus protocol=tcp dst-port=12345 action=drop comment=”Drop NetBus” \
disabled=no
add chain=virus protocol=tcp dst-port=17300 action=drop comment=”Drop Kuang2″ \
disabled=no
add chain=virus protocol=tcp dst-port=27374 action=drop comment=”Drop \
SubSeven” disabled=no
add chain=virus protocol=tcp dst-port=65506 action=drop comment=”Drop PhatBot, \
Agobot, Gaobot” disabled=no
add chain=forward action=jump jump-target=virus comment=”jump to the virus \
chain” disabled=no
add chain=input connection-state=established action=accept comment=”Accept \
established connections” disabled=no
add chain=input connection-state=related action=accept comment=”Accept related \
connections” disabled=no
add chain=input connection-state=invalid action=drop comment=”Drop invalid \
connections” disabled=no
add chain=input protocol=udp action=accept comment=”UDP” disabled=no
add chain=input protocol=icmp limit=50/5s,2 action=accept comment=”Allow \
limited pings” disabled=no
add chain=input protocol=icmp action=drop comment=”Drop excess pings” \
disabled=no
add chain=input protocol=tcp dst-port=21 src-address-list=ournetwork \
action=accept comment=”FTP” disabled=no
add chain=input protocol=tcp dst-port=22 src-address-list=ournetwork \
action=accept comment=”SSH for secure shell” disabled=no
add chain=input protocol=tcp dst-port=23 src-address-list=ournetwork \
action=accept comment=”Telnet” disabled=no
add chain=input protocol=tcp dst-port=80 src-address-list=ournetwork \
action=accept comment=”Web” disabled=no
add chain=input protocol=tcp dst-port=8291 src-address-list=ournetwork \
action=accept comment=”winbox” disabled=no
add chain=input protocol=tcp dst-port=1723 action=accept comment=”pptp-server” \
disabled=no
add chain=input src-address-list=ournetwork action=accept comment=”From \
Datautama network” disabled=no
add chain=input action=log log-prefix=”DROP INPUT” comment=”Log everything \
else” disabled=no
add chain=input action=drop comment=”Drop everything else” disabled=no

Efek dari skrip diatas adalah:

  1. router mikrotik hanya dapat diakses FTP, SSH, Web dan Winbox dari IP yang didefinisikan dalam address-list “ournetwork” sehingga tidak bisa diakses dari sembarang tempat.
  2. Port-port yang sering dimanfaatkan virus di blok sehingga traffic virus tidak dapat dilewatkan, tetapi perlu diperhatikan jika ada user yang kesulitan mengakses service tertentu harus dicek pada chain=”virus” apakah port yang dibutuhkan user tersebut terblok oleh firewall.
  3. Packet ping dibatasi untuk menghindari excess ping.

Selain itu yang perlu diperhatikan adalah: sebaiknya buat user baru dan password dengan group full kemudian disable user admin, hal ini untuk meminimasi resiko mikrotik Anda di hack orang.

Setting bandwith per ip dengan kapasitas yang sama di mikrotik

February 21, 2008 at 3:20 pm (MikroTik)

[admin@BM] > queue type add name=PCQ pcq-rate=128000 pcq-limit=32000

kemudian add simple queue untuk target address

admin@BM] > queue simple add name=172.16.8.0/24-BLOCK target-addresses=172.16.8.0/24 queue=PCQ interface=HOTSPOT

selesai, dengan begitu per IP akan mendapatkan rate 128kbps Limit 32kbps

Kalo di HOTSPOT, denga catatan hotspot sudah disetup

[admin@HOTSPOT] > ip hotspot profile set hsprof1 rate-limit=128000

dengan demikian setiap user yang profile hsporf1 akan mendapatkan bandwidth 128kbps tanpa melihat IP nya.

Untuk membuktikan test login hotspot dan lihat di simple que ..

IP Universal Mikrotik 2.9

February 21, 2008 at 3:15 pm (MikroTik)

Merasa kehilangan IP Universal di versi 2.9?

Actually default Hotspot Mikrotik versi 2.9 sudah enable ip universal.

Jadi tidak perlus setting IP universal atau yang sering dikenal dengan nama “Zero Config”.

Tapi kadang Zero Config sering menimbulkan kendala, misalnya antar pengguna hotspot memerlukan sharing file, karena setiap IP di NAT ke IP lain otomatis sharing file tidak akan pernah terjadi. Untuk menghilangkan / disable IP universal di Mikrotik versi 2.9 memang tidak ada menu tapi kita bisa meng non aktifkan melalui IP pool yang ada di profile user diset “none”

[admin@HOTSPOT] > ip hotspot user profile set ip address-pool=none

Dgn demikian ip client yang didapat dari DHCP / static tidak akan di NAT menjadi IP lain.

Deixe o seu comentario

Posting Komentar