Instalasi proxy server dengan linux

H/W : PC yg telah terinstalasi linux
S/W : CD linux additional
atau
koneksi internet untuk mendapatkan paket squid.

Di sini ane menggunakan linux ubuntu sebagai studi kasus, dalam konsepnya, squid bisa diterapkan di linux distro apapun, hanya kadang2, penamaan/tempat direktori saja yang berbeda.pertama2, kita nganggap make koneksi inet dulu ya..
# apt-get install squid

buat backup dahulu sebelum mengubah settingan, ingat , selalu bakcup…
# cp /etc/squid/squid.conf /etc/squid/squid.conf.bak

kemudian buka file /etc/squid/squid.conf dengan editor fave, terserah… D
# vi /etc/squid/squid.conf

kita mulai masuk ke squid.conf

http_port 3128 transparent
berarti kita akan menjalankan proxy di port 3128

visible_hostname proxy.domain.net
berikan hostname sesuai setingan server

cache_mgr admin@domain.net
kalo ada error, si squid ngubungin kita disitu…

cache_dir ufs /var/spool/squid 6000 14 256
/var/spool/squid adalah tempat si squid meletakkan file cache nya..
6000 dalam satuan MB (mega bytes) adalah daya tampung si cache nya cumi2
14 adalah untuk jumlah sub-direktori tingkat 1
256 adalah untuk jumlah sub-direktori tingkat 2

TIPS:
1. Gunakan 80% atau kurang dari setiap kapasitas cache direktori yang telah di siapkan. Jika di set ukuran cache_dir melebihi nilai ini, maka kita akan dapat melihat penurunan performansi squid.
2. Untuk menentukan jumlah subdirektori pertama yang akan dibuat, dapat menggunakan rumus ini:
x=Ukuran cache dir dalam KB (misal 6GB=~6,000,000KB) y=Average object size (gunakan saja 13KB)
z= Jumlah subdirektori pertama = (((x / y) / 256) / 256) * 2 = # direktori
Sebagai contoh, misal saya menggunakan 6 GB dari untuk /cache (setelah disisihkan 80% nya), maka:
6,000,000 / 13 = 461538.5 / 256 = 1802.9 / 256 = 7 * 2 = 14
maka baris cache_dir akan menjadi seperti ini: cache_dir ufs 6000 14 256

tahap berikut masuk ke filtering, disini kita bisa buat “RULES” siapa aja yang bole akses inet, jam berapa saja, hari apa aja, word filtering and so on….

filtering hak akses
acl server src 192.168.1.1/255.255.255.255
acl adalah perintah access list
server adalah variabel pengenal access list
src IP/SUBNET adalah keterangan ke variabel, ip berapa dan subnet berapa yang kena rule ini.
IP bisa juga berupa range contoh
acl kline src 192.168.1.2-192.168.1.10/255.255.255.255

ok, sekarang filtering waktu dan hari
acl hari_kerja time MTWHF 08:00-17:30
hari_kerja adalah variabel nya pengenal (identifier)
time perintahin si cumi2 untuk ngset jam
MTWHF berarti
M=Monday, T=Tuesday, W=Wednesday, H=Thurday, F=Friday, A=Saturday, S=Sunday
08:00-17:30 berarti
jam segitu yang kita kasi akses ke inet.
misal rule jam laen,
acl hari_lembur time AS 09:00-14:00

masuk ke filtering website
pertama buat dulu list website yang di black list
misal : # vi /etc/squid/pornourl.txt

masukin aja kek,
http://www.playboy.com
http://www.xxx.com
dst

kemudian masukin commandnya ke squid.conf
acl blokporno dstdomain “/etc/squid/pornourl.txt”
blockporno disini adalah variabel identifier…
http_access deny blokporno all

filtering keyword
sama dengan blok site porno, kita buat dulu listnya,
misal : # vi /etc/squid/keywordblock.txt
isikan saja seperti :
– sex
– gay
dst

tp keyword secara default bisa menyalahartikan perintah yang ada di list keywordblock.txt

misal seperti http://www.msexchange.com
otomatis, website tersebut tidak akan bisa masuk masuk karena mengandung msexchange.com

berarti kita harus buat sebuah keywordunblock.txt, list lengkapnya, liat di paling bawah aja ntar… D

kemudian masukin lagi ke squid.conf
acl keywordblok url_regex -i “/etc/squid/keywordblock.txt”
http_access deny keywordblok

ok, bentar lagi kelar…. tinggal beberapa command lagi selesai

masukin ke squid.conf
http_access hari_kerja big_boss (atau kalau ada hari_lembur, masukin juga)
perintah diatas berarti, lakukan rule “hari_kerja” pada user “big_boss”
jika ada 2 kategori user, dan 2 sistem hari kerja… berarti akan ada 4 perintah , silahkan latihan sendiri …. D

kemudian tambah lagi,
http_access deny all #semua rule yg tidak tersebut diatas, tidak boleh akses inet
http_reply_access allow all
icp_access allow all

udah, berarti udah kelar kerjaan squid.conf kita,silahkan save, kalo pake vi , berarti “:wq”

tinggal jalanin “#squid -z” yang berfungsi membuat direktori cache yang udah didefinisikan di awal tadi…

menjalankan squid
# /etc/init.d/squid restart

dan selalu cek error messages di

# tail -f /var/log/messages

trik ato tambahan laen,
kita bisa menambahkan perintah ini ke squid.conf

maximum_object_size 1024 KB
adalah cache maximum untuk ukuran yang akan disimpan ke server

minimum_object_size 4 KB
lawannya maximum, minimum size yang akan disimpan ke server

reference_age 1 month
jika cache berumur 1 bulan, akan diapus dari server

TIPS laen, biar performa si cumi2 bisa ngacir
cache_swap_high 100%
cache_swap_low 80%

ok, sekarang bagian trik, tadi kan ada masukin ke pornourl.txt… berikut list lengkap nya
Code:
.*.(praline|eroticworld|orion).de
.*.(theorgy|penthousemag|playboy|1stsex|lolita|sexpix|sexshop).*
.*.(smutland|hustler.onprod|hustler2.onprod|cybervixen|asiansex).*
ftp.netcom.com/pub/ac/acott
http://www.tvtoday.de:9600
.*.(carolcox|eroticbodies).*
.*.(cyberlustxxx|cyberporn|intersex).inter.net*
.*.(eroticxxx|sexy4you|dani|danni|hotsex|kinky|lesbos|porno|xpics).*
.*.(over21|regsex|sexnet|sextoy|smeggy|sordid).*
.*.(cybersex|hcabaret|livesex|sex4you|sexmall).*
.*.(lovesexy|nastysex|pantless|playware|showgirl).*
.*.(2xxxcite|dreamsex|futuresex|sover21sex|explaza).*
.*.(xxxparadise|playbabe|celebnude|greyhawks|sexfinder|xxx-video).*
.*.(sexaphone|beate-uhse|fantasysex|sexparlor|sexnetwork).*
.*.(cybervixen|internetsex|silverotica|erotica2000|ultimatexxx).*
.*.(xxx-rawsex-xxx|amateurs|amateursweb|erotica-toys|orion-erotic).*
.*.(sexy-jewelry|hollywoodxxx|cybererotica|sexfantasy).*
.*.(danisherotica|sexy-playmates|nastyhabits|sugarandspice|kathryn).*
.*.(persiankitty|adultplayground|supernudes|playsex).*
.*.(pinupmall|porn.byus|smutland|sizzle|heavyhangers).*
.*.(hardcorjunky|fetish|adultplayhouse|pornpics|asiansex).*
.*.(hustler|freepics|wetgirls|tropixxx|sex|pixxxcity).*
.*.(4adultsonly|peepshow|voulezvous|rated-x|69pornplace).*
.*.(shavedsluts|nudepalace|xxxguide|pics-xxx|naughty|thehotzone).*
.*.(nervemag|carolcox|snatches|freeporn|playgirlmag|cyberspice).*
.*.(erotica|afro-erotica).*
(teen|girls|xxxpic).*
(www.sex|*****.bahnhof).*
.*.(gay|sex).*
.*.fun.nl
http://www.playmen.it/
http://www.gisa.it/sex/
http://www.iol.it/sexol/
globall.com/j/xxx/
http://www.hh.nl/n-m/pic/
http://www.pi.net/~pauze/
http://www.oden.se/~hedback/
aau.diasoft.ru/~hotsex/
http://www.donsworld.com/xadultx/
http://www.well.com/user/sexymate/
ftp.zippo.com/pictures/erotica/
mm.iit.uni-miskolc.hu/Data/ladies/
drn.zippo.com/zippo-bin/wwwdecode/
pilot.msu.edu/user/rozwadow/pamela
#——manual——–
pageseeker.com
arsipceritaseru
freeones
vicidi
bedclip
indonona.com
exoticazza.com
dewasex.com
extrajos.com
bopekindo.com
sanggrahan.org
sanggrahan.com
grahan.com
vicidi.com
17tahun.com
ceritaseru.org
ceritapanas.com
celebdirectory.com
hiburan.web1000.com
seeasians.com
nyamuk.adultnations.com

Code:
#—— /etc/squid/keywordunblock.txt —–
.*.msexchange.*
.*.msexcel.*
.*freetown.*
.*geek-girls.*
.*scsext.*
missingheart
documen
button
wirelessexcite
msexchange
msexcel
aids.lv
freetown
geek-girls
scsext
steen
adulteducation
sekst
newshits
glass
georgia
peet
chicag
speech
speed
speedtest
liputan6.com
expedia.com

kemudian kita bisa membuat page redirection, jika si user/pengguna mengakses web2 yang kita blacklist tadi dan kita redirect/alihkan ke website tertentu.
script ini berada di /etc/squid/errors/ERR_ACCESS_DENIED , berikut scriptnya
Code:
#————— /etc/squid/errors/ERR_ACCESS_DENIED ———————–<HTML><HEAD>
<TITLE>ERROR: The requested URL could not be retrieved</TITLE><–
var howMany = 10; // jumlah situs pengganti
var page = new Array(howMany+1);

page[0]=”http://localhost”;
page[1]=”http://www.oprekpc.com”;
page[2]=”http://www.oprekpct.com/forum”;
page[3]=”http://www.kompas.net”;
page[4]=”http://www.detik.com”;
page[5]=”http://www.tomshardware.id”;
page[6]=”http://www.google.com”;
page[7]=”http://www.yahoo.com”;
page[8]=”http://www.linux.com”;
page[9]=”http://www.ubuntu.com”;
page[10]=”http://www.slashdot.com”;

function rndnumber(){
var randscript = -1;
while (randscript < 0 || randscript > howMany || isNaN(randscript)){
randscript = parseInt(Math.random()*(howMany+1));
}
return randscript;
}
quo = rndnumber();
quox = page[quo];
window.location=(quox);
</HEAD>

<BODY>
<H1>ERROR</H1>
<H2>The requested URL could not be retrieved</H2>

While trying to retrieve the URL:
%U

The following error was encountered:
Access Denied.

Access control configuration prevents your request from
being allowed at this time. Please contact your service provider if
you feel this is incorrect.

Your cache administrator is %w.

#————— /etc/squid/errors/ERR_ACCESS_DENIED ———————–

squid bisa diperkuat dengan “dansguardian” atau “squidguard”…

Sumber: OprekPC

6 thoughts on “Instalasi proxy server dengan linux

  1. doel says:

    squid ada guinya gak?

  2. imanhermawan says:

    nubi: bagaimana caranya untuk login sebagai root ?

    sudo su

  3. cukup says:

    mas benquick,
    coba http_access deny situs yang akan di block di letakkan di atas http_access allow

  4. benquick says:

    mas imam squidnya udah ok pas restart
    tapi kok kayakna nggak ngefek yaa
    pas saya tes situs porno, masih bisa buka, kenapa yaa?
    tengkyu

  5. nubi says:

    mas, saya sudah ketikkan dilangkah awal : apt-get install squid, tapi yg muncul seperti ini :

    E: Could not open lock file /var/lib/dpkg/lock – open (13 Permission denied)
    E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

    bagaimana caranya untuk login sebagai root ?

  6. jafair says:

    reference_age 1 month saya masukan di squid.conf tapi setelah direstart ada pesan “Stopping squid: 2007/11/22 04:04:01| parseConfigFile: line 69 unrecognized: ‘reference_age 1 month’ ”
    kenapa ya?
    mungkin bisa kasih masukan? terima kasih

Comments are closed.