Membangun Server Squid dan Squidguard

I. PERSIAPAN
1. PC dengan spec minimal P4 2 GHz - 512 MB
2. Harddisk dengan rpm min 7200
3. Distro Ubuntu 7.04 Server (paket server ringan dengan dukungan driver hardware lumayan bagus berbasis debian)
4. Mikrotik OS

II. INSTALASI
1. Siapkan instalasi Ubuntu Server dengan partisi sebagai berikut:
/boot 100 Mega
/swap 2 Giga
/ sisanya

atau bisa dikostumisasi terserah kalian, set lancard (ip,dns,gateway,subnet)

setelah instalasi selesai, login dengan username yg sudah dibuat pertama kali install ubuntu.

untuk memudahkan instalasi, bisa mengaktifkan user root dengan cara: 
(secara default ubuntu mendisable account root)
Code:
#sudo passwd root
password: --> diisi dengan password login user
#su
#passwd
password: --> diisi password root kalian, ingat jangan sampai lupa passwordnya
lalu logoff dari terminal, kemudian login lagi sebagai root

setelah sampai sini, update semua paket paket nya.
catatan, mirror indonesia kadang keluar errornya, maka disarankan mengganti ke mirror lain seperti di singapore atau australia dengan cara mengedit sourcelist aptnya, (atau jika mempunya repo ubuntu lengkap 4 dvd bisa menisable semua repo internetnya):

Code:
#nano /etc/apt/source.list

jika tidak mempunyai repo dvd disable baris berikut ini dengan memberikan tanda # didepan barisnya
#deb cdrom:[Ubuntu-Server 7.04 _Feisty Fawn_ - Release i386 (20070415)]/ feisty.....
jika tidak mempunyai repo dvd bisa mengedit repo dengan mengganti domain id menjadi sg (singapore) atau au (australia) tw (taiwan)

setelah selesai mengedit maka untuk menyimpannya dengan perintah Ctrl-O, sesudah itu tekan Enter lalu Ctrl-x untuk keluar.

Update paketnya dengan perintah:
Code:
#apt-get update
#apt-get upgrade
sampai sini bisa ditunggu beberapa menit sampai setengah jam tgt dari koneksi inet.


2. Instalasi paket apache2,squid,squidguard,openssh-server,ftpd, jika ingin membangun sebuah ftp proxy juga bisa diinstalasikan Frox ftp proxy.
squid + squidguard adalah http proxy dan web bloker
openssh-server adalah ssh daemon untuk mengakses server dari jaringan
ftpd adalah ftp daemon untuk ftp server
apache2 adalah web server yg nantinya bisa digunakan untuk meredirect website yg kena blok ke server lokal kita, atau bisa juga digunakan untuk login internet
instalasi paket openssh dengan cara:
Code:
#apt-get install openssh-server
nah kalo sampai sini udah selesai, kita bisa santai sedikit, karena kita bisa meremote server dari tempat lain (mungkin karena server berada di ruangan lain dan kita juga merangkap sebagai admin billing juga)
kalau ingin meremote dari jauh bisa download apikasi putty (win***) alamat web bisa dicari lewat google.

instalasikan paket lain:
Code:
#apt-get install squid squidguard ftpd apache2
instalasi server sampai sini sudah selesai,sekarang kita mengkonfigurasinya squid dan squidguardnya....


III. Mengkonfigurasi Server

1.SquidProxy
Untuk mengkonfigurasi squid, bisa dilihat di tuts sebelumnya yg gue buat

2.SquidGuard
a. Basic Configuration

Fungsi sqidguard ini adalah plugin squid untuk memblokir website website tertentu, seperti:

advertorial
pornsite
hackersite
dll

Setelah instalasi di atas sukses, kita buat dulu database alamat website yg akan diblok, database squidguard ada di /var/lib/squidguard/db
misal kita akan memblok website situs situs yg ada kaitannya dengan senjata

kita buat dulu folder weapons dan databasenya, database disini bisa berarti expressionlist, urllist atau domains, kita buat saja contoh untuk domains
Code:
#mkdir /var/lib/squidguard/db/weapons
#cd /var/lib/squidguard/db/weapons
#nano domains
isikan file tersebut, misal contoh alamatnya:
Code:
israeli-weapons.com
robarm.com
simpan dengan perntah Ctrl-O, enter, Ctrl-x

kemudian buat directory diatas dengan mode 777 memakai perintah chmod, agar squidguard bisa membaca file database tsb.
Code:
#chmod -R 777 /var/lib/squidguard/db
simpan konfigurasi squidguard.conf ke file lain dengan cara:
Code:
#rm /etc/squid/squidGuard.conf .confasli
kemudian buat squidguard.conf baru
Code:
#nano /etc/squid/squidGuard.conf
isi dengan acl berikut ini:
Code:
dest weapons {
domainlist weapons/domains
} acl {
default {
pass !weapons all
redirect http://yourip/block.html
} }
save lalu keluar dari nano

keterangan:
kita membuat definisi database weapons diatas dengan tipe domainlist.
untuk acl, kita buat konfigurasi paling sederhana dulu, yaitu default
redirect fungsinya untuk mengarahkan website yg ingin kita blok ke website lokal kita.

buat html sederhana di: /var/www/block.html, misal:
"Website yg anda tuju kami blok karena mengandung....." dlsb....

jika database bloklist sudah banyak, maka kita perlu mengubahnya ke format .db , sehingga squidguard kita lebih cepat untuk menscaning webnya,dengan cara:
Code:
#squidguard -C all
Nah sampai sini konfigurasi paling sederhana selesai. bisa dilanjutkan ke bagian nomer 3(bawah).

b. More Advanced configuration
Sebenarnya,.... squidGuard mempunyai banyak konfigurasi, seperti
- source ip untuk host
- waktu permission
- logging ke file untuk ip / ip block tertentu.


untuk mendefinisikan source ip dapat dengan menambahkan block berikut ini pada squidguard.conf
Code:
src <nama_block> {
ip < ip_range > atau < ip_client > atau < ip/subnet > atau iplist < list_ip_di_file_tertentu >
}
contoh:
Code:
src klienA {
ip 192.168.0.34-192.168.0.39
} src klienB {
ip 192.168.0.64-192.168.0.79 ip 10.5.3.1/28
}
atau juga bisa menggunakan konfigurasi terpisah untuk setiap ip di file tertentu, contoh:
Code:
src admins {
iplist adminlist
}
buat file dengan nama adminlist, diisikan dengan ip administratornya:
Code:
192.168.2.0-192.168.2.255
172.16.12.0/255.255.255.0
10.5.3.1/28
untuk contoh acl nya bisa diberikan konfigurasi sbb:
Code:
acl {
  admins {
      pass all
  }

  default {
      pass !weapons none
      redirect http://yourip/block.html  
  }
}
Untuk mendifinisikan waktu kapan boleh mengallow daftar block list atau mendisable rule, bisa gunakan konfigurasi sbb:
Code:
time < nama_block > {
  weekly <hari jam>
  date   <tanggal,(format: year.month.date)>
}
contoh:
Code:
time free_time {
 
weekly * 17:00-24:00 # sesudah jam kerja silahkan akses ke web aneh2 weekly saturdays 6:00-17:00 # Hari sabtu saatnya have fun ^_^ date *.01.01 # Buat ngerayain taon baru, pesta xxx boleh kok..... date *.10.24 12:00-24:00 # Jam Have fun nih........... date 2006.04.14-2006.04.17 # Soft Opening nih warnet gue....... boleh akses web xxx date 2006.05.01 # Hmmmm..... Testing internet selama 1 hari deh.....
}
untuk menggunakan definisi waktu ini, dibagian block acl sbb:
Code:
acl {
 < block_ip_source > within < block_time > {
  pass all
} else {
 pass !weapons all
}
default {
 pass none
 redirect  http://yourip/block.html 
}
}

untuk menggunakan logging, dibagian acl dibuat sbb:
Code:
log < nama_log >
contoh:
Code:
acl {
 admins within free_time {
  pass all
  log adminlog.log
} else {
pass !weapons all log clientlog.log
} default { pass none redirect http://yourip/block.html }
}
3.Moding squid.conf
squidguard adalah program plugin untuk squid, sehingga squidguard tidak bisa berdiri sendiri tanpa squid. maka kita harus memod squid.conf kita agar saat squid dijalankan, maka squidguard juga ikut aktif, dengan menambahkan baris berikut di squid.conf, penambahan bisa diletakkan dimana saja, tapi disarankan diletakkan sebelum definisi acl di squid.conf
Code:
redirect_program /usr/local/bin/squidGuard -c /usr/local/squidGuard/squidGuard.conf
untuk distro lainnya mohon menyesuaikan letak executable file squidGuard-nya.

Mod untuk squid.conf sudah selesai tinggal kita merestart squid kita dan lihat di ps apakah squidguard kita sudah jalan, cara mengechecknya dengan perintah:
Code:
ps -e | grep squid
harusnya ada beberapa baris squid/squidguard (kurang lebih 5 -6 buah)


IV. TESTING
untuk mengetest apakah squidGuard kita sudah berjalan semestinya dan proxy kita sudah terkonfigurasi dengan benar, coba browsing dulu ke daftar white, misalnya www.google.com jika website google sudah keluar berari squid kita sudah bekerja dan di redirect dengan benar oleh squid+mikrotik kita.

selanjutnya test daftar blacklist kita, masukkan ke browser daftar hitam, jika langsung di redirect ke website internal kita, maka semuanya berjalan dengan sempurna

V. DAFTAR BLOCKLIST
ada beberapa daftar block list yg lumayan besar databasenya, ada yg berupa commercial ada juga yg free.
untuk daftar blacklist yg free bisa diambil disini:
http://www.shallalist.de/Downloads/shallalist.tar.gz
http://squidguard.mesd.k12.or.us/blacklists.tgz

untuk daftar blocklist yg pertama diupdate setiap hari.
bawah ini adalah script untuk mendownload daftar blacklist secara otomatis:
http://www.maynidea.com/squidguard/getlists.sh
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description
  • description

Video Gallery

  • Linux
    sekedar informasi, sekarang zimbra sudah diakuisisi oleh VMWare. jadi nantinya logo webmail zimbra kita akan ada logo VMware-nya.
  • Foto
    kalo mau buat efek foto kembar yang penting pilih minimal 3 foto (mau lebih juga terserah anda aj..)yang setingan tempat dan letak kameranya
  • Network
    setelah anda membongkar dus, dan menyiapkan koneksi. yang perlu anda lakukan adalah:
  • Serba-Serbi
    16 Cara Mengikat Sepatu Ala Jepang share buat teman2 & cew ato cow yang senang menggunakan sepatu bertali. Selamat mencoba
  • Tips-Trik
    Jika agan pengguna komputer, pasti sudah tidak asing lagi dengan yang namanya mouse. Mouse adalah salah satu pendamping setia dari komputer. Hampir semua jenis mouse memiliki 3 buah tombol. Tombol kiri, tombol kanan dan tombol scroll yang ada di tengah
  • Windows
    Windows 7 merupakan versi yang jauh lebih baik daripada versi terbaru windows, yaitu windows Vista. Dan windows 7 dilengkapi dengan banyak fitur baru.