Anda di halaman 1dari 62

2012

BUKU PANDUAN PENGGUNAAN PROXY SERVER PERPADUAN SQUID, FEDORA, DAN WEBMIN
Proxy Server berbasis Squid memang bukan barang baru dalam dunia server, namun walaupun begitu hanya orang-orang tertentu saja yang dapat menginstall, mengkonfigurasi, dan mengoperasikan Proxy Server Squid. Dalam Buku Panduan ini terdapat cara-cara untuk mengoperasikan Proxy Server berbasis Squid baik via terminal Linux ataupun via GUI (Graphical User Interface) Berbasis Web dengan Webmin.
Dalam Buku Panduan ini juga terdapat cara untuk menganalisa kinerja Squid, Log Access Squid, dll menggunakan tool SARG (Squid Analisis Report Generator) yang dapat dilihat dengan bantuan modul SARG (Squid Analisis Report Generator) pada Webmin Interface.

Alter GajahMada UIN Syarif Hidayatullah Jakarta 2/27/2012

BUKU PANDUAN PENGGUNAAN PROXY SERVER PERPADUAN SQUID, FEDORA, DAN WEBMIN

Oleh: ALTER GAJAH MADA HASAN BASRI

UIN SYARIF HIDAYATULLAH JAKARTA 2012

1
BUKU PANDUAN PENGGUNAANPROXY SERVER

PENDAHULUAN
Proxy Server berbasis Squid memang bukan barang baru dalam dunia server, namun walaupun begitu hanya orang-orang tertentu saja yang dapat menginstall, mengkonfigurasi, dan mengoperasikan Proxy Server Squid. Dalam Buku Panduan ini terdapat cara-cara untuk mengoperasikan Proxy Server berbasis Squid baik via terminal Linux ataupun via GUI (Graphical User Interface) Berbasis Web dengan Webmin. Dalam Buku Panduan ini juga terdapat cara untuk menganalisa kinerja Squid, Log Access Squid, dll menggunakan tool SARG (Squid Analisis Report Generator) yang dapat dilihat dengan bantuan modul SARG (Squid Analisis Report Generator) pada Webmin Interface.

2
BUKU PANDUAN PENGGUNAANPROXY SERVER

DAFTAR ISI

Install Squid Pada Fedora Linux Konfigurasi Port Redirecting Squid dan Membuat squid.cfg secara manual Transparent Proxy Squid Sebagai Firewall Squid Sebagai Bandwidth Limiter Install Webmin Pada Fedora Linux Penggunaan Webmin Untuk Proxy Server Squid SARG (Squid Analisis Report Generator) Trouble Shooting SQUID Lampiran

3 7 13 16 22 35 52 58 62

3
BUKU PANDUAN PENGGUNAANPROXY SERVER

BAB I Installisasi Squid Pada Fedora Linux


Ada 2 cara install squid di fedora, yakni: 1. Download secara manual di situs resminya lalu compile manual 2. Via fasilitas yum di Fedora Untuk Download, anda dapat download disini, dan jangan lupa untuk download Language Pack untuk Squid, mungkin anda membutuhkan bahasa pengantar yang berbeda pada squid. Namun untuk mempermudah saya Install squid pada terminal via yum, berikut caranya:

Masuk terminal Ketik Perintah Berikut


[batan@batan ~]$ su Password: [root@batan batan]# yum -y install squid

Note: -y ialah command untuk Yes to all pada setiap window yang membutuhkan agreement. Berikut ialah Screenshoot dari proses diatas:

4
BUKU PANDUAN PENGGUNAANPROXY SERVER

5
BUKU PANDUAN PENGGUNAANPROXY SERVER

6
BUKU PANDUAN PENGGUNAANPROXY SERVER

7
BUKU PANDUAN PENGGUNAANPROXY SERVER

BAB II Konfigurasi Port Redirecting Squid


Sebelumnya apabila kalian install squid via yum, maka directory squid secara otomatis terdapat pada /etc/squid/ lalu file configurasi terdapat pada /etc/squid/squid.conf.

Sebelum edit squid.conf silahkan backup setting yang terdahulu, walaupun sudah terdapat squid.conf.default. Berikut ialah konfigurasi dasar squid.conf pada Proxy server saya
#squid-3.2.0.13-5.fc16.x86_64 #Author by: http://altertek.net

# OPTION JARINGAN http_port 3128 icp_port 0 cache_dir ufs /var/spool/squid 100 16 256 cache_mem 8 MB cache_log /var/log/squid/cache.log cache_access_log /var/log/squid/access.log cache_store_log /var/log/squid/store.log

8
BUKU PANDUAN PENGGUNAANPROXY SERVER

cache_mgr cs.bleketek@gmail.com

# Memblok situs terlarang (blacklist)secara manual # ------------------------------------acl noblacklist dstdomain "/etc/squid/blacklist/no-blacklist.txt" acl katablacklist url_regex -i "/etc/squid/blacklist/kata-blacklist.txt" acl domainblacklist dstdomain "/etc/squid/blacklist/domain-blacklist.txt" acl ipblacklist dst "/etc/squid/blacklist/ip-blacklist.txt" acl tdkbebasdownload time 08:00-13:00

acl all src 0.0.0.0/0.0.0.0 # ------------------------------------# Memblok situs terlarang secara manual # ------------------------------------http_access allow noblacklist http_access deny katablacklist http_access deny domainblacklist http_access deny ipblacklist # ------------------------------------visible_hostname batan.go.id cache_effective_group squid cache_effective_user squid

9
BUKU PANDUAN PENGGUNAANPROXY SERVER

Perhatikan pada source code squid.conf pada baris: http_port 3128 // Port 3128 merupakan Port default yang digunakan Squid, sebelum menggunakan squid harap diperhatikan untuk membuka port tersebut pada firewall fedora. =====================================================================

Add port tersebut pada firewall. Atau dengan command: -A RH-Firewall-l-INPUT -m state --state NEW -m tcp -p tcp --dport 3128 -j ACCEPT

10
BUKU PANDUAN PENGGUNAANPROXY SERVER

##Keterangan pada Squid.conf## icp_port 0 //port untuk internet cache protocol, protocol ini digunakan apabila ada proxy lain default =3128 , tapi jika tidak ada proxy lain =0 ===================================================================== cache_dir ufs /var/spool/squid 100 16 256 // Folder cache untuk squid dimana 100 = maksimum data yang ditampung sebesar 100MB 16 = Data ditampung masing-masing pada 16 Folder 256 = Masing masing 16 Folder tersebut mempunyai subfolder/directory sebanyak 256 buah ===================================================================== cache_mem 8 MB // Memory cache 8 MB max ===================================================================== cache_log /var/log/squid/cache.log cache_access_log /var/log/squid/access.log cache_store_log /var/log/squid/store.log //tempat menyimpan cache log, akses log, dan storing data log ===================================================================== cache_mgr cs.bleketek@gmail.com //Email admin proxy server, dapat diganti sesuai email admin anda ===================================================================== acl noblacklist dstdomain "/etc/squid/blacklist/no-blacklist.txt" acl katablacklist url_regex -i "/etc/squid/blacklist/kata-blacklist.txt" acl domainblacklist dstdomain "/etc/squid/blacklist/domain-blacklist.txt" acl ipblacklist dst "/etc/squid/blacklist/ip-blacklist.txt"

//Merupakan deklarasi Access List baik yang ingin di block maupun di Allow ===================================================================== Untuk membuat file-file tersebut dapat dilakukan dengan command touch, seperti su mkdir /etc/squid/blacklist/ touch /etc/squid/blacklist/no-blacklist.txt ===================================================================== acl tdkbebasdownload time 08:00-13:00 //Mengaktifkan Rule Proxy pada jam-jam tertentu =====================================================================
11
BUKU PANDUAN PENGGUNAANPROXY SERVER

Sebenarnya masih banyak acl type pada squid, untuk mengetahui lebih lanjut, silahkan download daftar acl type yang saya peroleh dari Buku Fedora kaya Iwan Sofana Download acl Type For Squid acl all src 0.0.0.0/0.0.0.0 //Kontrol Akses Sumber IP, jika diatas saya menggunakan 0.0.0.0, agar berlaku pada semua IP ===================================================================== http_access allow noblacklist http_access deny katablacklist http_access deny domainblacklist http_access deny ipblacklist //Config diatas untuk memanggil dari hasil deklarasi acl ===================================================================== visible_hostname batan.go.id //nama host yang dimunculkan dalam Page Error Squid ===================================================================== cache_effective_group squid cache_effective_user squid //Mendefiniskan User dan Group saat Cache diakses ===================================================================== Setelah Config Selesai, sekarang membuat directory Cache tersebut dengan command: su squid -z Jika ada pesan Error, mungkin directory /var/spool/squid/ atau mungkin ada masalah dengan ownership, lakukan command berikut untuk mengatasinya: mkdir /var/spool/squid/ chown -R squid.squid /var/spool/squid/

Lalu lakukan restart pada service squid : service squid restart

12
BUKU PANDUAN PENGGUNAANPROXY SERVER

BAB III Transparent Proxy

Jika dalam Proxy squid biasa kita diharuskan setting satu demi satu browser Client, namun dalam Praktik di lapangan hal ini mungkin terjadi apabila Computer Client sedikit, 20 Buah misalnya dalam sebuah warnet. Namun apabila jumlah computer Client berjumlah ratusan bagaimana cara konfigurasinya agar setiap client terhubung dengan proxy yang kita bangun, apalagi client mempunyai Favorit Browser yang berbeda-beda. Inilah penggunaan transparent Proxy sehingga secara otomatis Komputer client langsung terhubung ke Proxy yang kita bangun. Cara setting Transparent Proxy sangat mudah, cukup dengan syntax berikut ini pada squid.cfg : http_port 3128 transparent (Khusus untuk squid versi 2.6 keatas) Jika versi 2.6 kebawah, memakai syntax ini: httpd_accel_host virtual httpd_accel_port 80

httpd_accel_proxy on httpd_accel_uses_host_header on Untuk apa perintah tersebut dijalankan?, intinya ialah semua request client pada port 80 dibelokkan ke port 3128 (Port Default Squid)

13
BUKU PANDUAN PENGGUNAANPROXY SERVER

Lalu jalankan perintah iptables agar redirect dari port 80 ke 3128, pertama-tama kita harus mengetahui kartu jaringan mana yang terhubung ke internet, dengan command: Ifconfig

Lalu lakukan Grep Eth untuk mengetahui id kartu jaringan: dmesg | grep 'eth'

Dari gambar terlihat bahwa eth0 yang terhubung ke internet. Jika sudah diketahui, sekarang lakukan command berikut pada terminal Linux:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 iptables -A INPUT -j ACCEPT -m state --state NEW,ESTABLISHED,RELATED -i eth0 -p tcp --dport 3128

Jika tidak mengetahui device secara pasti lakukan perintah berikut:


iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128 iptables -A INPUT -j ACCEPT -m state --state NEW,ESTABLISHED,RELATED -p tcp --dport 3128

14
BUKU PANDUAN PENGGUNAANPROXY SERVER

Untuk menjalankan Squid secara otomatis ketika booting, lakukan konfigurasi seperti ini:

Save IPTables dan Enable IPTables Pada saat Booting

Akan tetapi, lihat pada highlight gambar diatas, Operasi Save dianggap tidak dikenal ( Khusus fedora 16 ), Untuk mengatasinya silahkan jalankan Command Berikut:

iptables-save > /etc/sysconfig/iptables

lalu jika ingin melihat IPtables yang sudah tersimpan, jalankan perintah berikut:
/sbin/iptables-save

Lalu jalankan perintah untuk enable IPtables tersebut pada saat startup
chkconfig iptables on

15
BUKU PANDUAN PENGGUNAANPROXY SERVER

Enable Squid Automatically Startup


Jalankan Perintah Berikut:

chkconfig squid on

atau
chckonfig --level 345 squid on

16
BUKU PANDUAN PENGGUNAANPROXY SERVER

BAB IV Squid Sebagai Firewall


Squid sebenarnya mampunyai 3 Fungsi, yakni untuk Caching, Filtering, dan Management Bandwidth. Pada Kesempatan kali ini saya akan membahas tentang Squid Sebagai Firewall (Site Filtering. Jika kalian lihat pada BAB II squid.conf ada pembuatan Akses List (acl) sekarang kita akan membuat rule (Peraturan) apakah akses list tersebut diizinkan atau tidak. A. Blocking Situs dengan Squid Sebagai contoh: Lakukan Modifikasi pada file yang dijadikan rule pada Access List, misal pada domain /etc/squid/blacklist/domain-blacklist.txt Tambahkan domain yang ingin di block misal www.facebook.com Perlu diperhatikan pada setiap pergantian konfigurasi, anda diharuskan restart Service squid. sudo service squid restart Maka Pada Browser client jika mengakses facebook, akan di block oleh squid.

17
BUKU PANDUAN PENGGUNAANPROXY SERVER

Sekarang kita mencoba edit kata terlarang, saya menambahkan kata porno dan binal, maka pada browser client bila mencari dengan kata-kata mengandung kata terlarang maka akan langsung di block. Perlu diperhatikan pada setiap konfigurasi, anda diharuskan restart Service squid via terminal. sudo service squid restart B. Block Suatu Situs Berdasarkan Waktu

Hal ini sering dilakukan oleh beberapa Kampus dan Perusahaan yang ingin menghemat Bandwidth dengan cara block domain-domain yang memakan bandwidth banyak, seperti youtube, metacafe, dll. Berikut caranya: Buat file txt Pada Folder /etc/squid/blacklist dengan nama waktu.txt Isi dengan nama domain tertentu, misal youtube.com Lalu lakukan konfigurasi pada squid.conf,sehingga menjadi seperti dibawah ini:
#squid-3.2.0.13-5.fc16.x86_64 #Author by: http://altertek.net # OPTION JARINGAN http_port 3128 transparent icp_port 0 cache_dir ufs /var/spool/squid 100 16 256 cache_mem 8 MB cache_log /var/log/squid/cache.log cache_access_log /var/log/squid/access.log

18
BUKU PANDUAN PENGGUNAANPROXY SERVER

cache_store_log /var/log/squid/store.log cache_mgr cs.bleketek@gmail.com

# Memblok situs terlarang (blacklist)secara manual # ------------------------------------acl noblacklist dstdomain "/etc/squid/blacklist/no-blacklist.txt" acl katablacklist url_regex -i "/etc/squid/blacklist/kata-blacklist.txt" acl domainblacklist dstdomain "/etc/squid/blacklist/domain-blacklist.txt" acl ipblacklist dst "/etc/squid/blacklist/ip-blacklist.txt" acl tdkbebasdownload time M T W F 08:00-12:00 acl tdkbebasdownload1 time M T W F 13:00-16:00 acl waktu dstdomain "/etc/squid/blacklist/waktu.txt" acl all src 0.0.0.0/0.0.0.0 # ------------------------------------# Memblok situs terlarang secara manual # ------------------------------------http_access allow noblacklist http_access deny katablacklist http_access deny domainblacklist http_access deny ipblacklist http_access deny tdkbebasdownload waktu http_access deny tdkbebasdownload1 waktu # ------------------------------------visible_hostname batan.go.id cache_effective_group squid cache_effective_user squid

19
BUKU PANDUAN PENGGUNAANPROXY SERVER

Intinya ialah config pada baris ini: acl tdkbebasdownload time M T W F 08:00-12:00 acl tdkbebasdownload1 time M T W F 13:00-16:00 acl waktu dstdomain "/etc/squid/blacklist/waktu.txt" lalu deklarasi pada http_access deny tdkbebasdownload waktu http_access deny tdkbebasdownload1 waktu Sekarang anda coba Browsing situs yang di block pada jam diatas, maka akan terblock secara otomatis. C. Membatasi Download File tertentu + Waktu

Yang pertama Buat file pada directory etc/squid/blacklist/ dengan nama download.txt. Karena saya memakai urlpath_regex, jadi penulisan di file tersebut seperti ini: \.[ Ee][ Xx][ Ee]$ Misal kita ingin block suatu file yang berextensi .exe, jadi kita harus menambahkan: Deklarasi acl download urlpath_regex "/etc/squid/blacklist/download.txt" Lalu dapat dipadukan dengan Block berdasarkan waktu menjadi: http_access deny tdkbebasdownload1 download Maka jika saya download file berekstensi .exe akan terblock secara otomatis, sesuai jam yang berlaku

20
BUKU PANDUAN PENGGUNAANPROXY SERVER

D.

Block Mac Address Pada Squid Pada bagian ini sangat bermanfaat bagi para admin yang kesal dengan user yang menggunakan bandwidth dengan jumlah melebihi batas, sehingga mengganggu user lain. Cara yang paling mudah ialah mengetahui mac client, dapat dilakukan dengan Tuxcut atau software lain, setelah diketahui silahkan ke squid.conf dan tambahkan config berikut: Install Tuxcut: yum install nmap iproute dsniff arptables_jf beesu arp-scan PyQt4 wget-c https://bitbucket.org/a_atalla/tuxcut/downloads/TuxCut-3.2-1.i586.rpm atau download manual di Situs Tuxcut Resmi Jalankan Tuxcut

Pada Acl List: acl macblok arp F4:6D:04:BB:F3:E7


macblock adalah nama list arp mewakilkan mac address F4:6D:04:BB:F3:E7 adalah alamat mac address

Lalu pada http access tambahkan config berikut:

http_access deny macblok atau dapat digabung dengan acl waktu http_access deny tdkbebasdownload macblok

21
BUKU PANDUAN PENGGUNAANPROXY SERVER

E.

Membatasi Jumlah maksimum Akses

Squid menyediakan maxconn yang berfungsi untuk membatasi jumlah maksimum akses web dari komputer client, sebagai contoh Komputer dengan IP 10.42.0.1 hingga 10.42.0.254 akan dibatasi aksesnya, dapat dituliskan sebagai berikut. Deklarasikan: client_db on acl jumlahclient src 10.42.0.0/24 acl limitkoneksi maxconn 15 Lalu beri rule: http_access deny jumlahclient limitkoneksi

Perintah diatas berfungsi memblock koneksi akses web bejumlah maksimum 15, jadi misalkan ada situs yang mempunyai external link yang banyak, mungkin web itu tidak terload secara sempurna.

22
BUKU PANDUAN PENGGUNAANPROXY SERVER

BAB V Squid Sebagai Bandwidth Limiter

Jadi Konfigurasi Squid.conf saya dimodifikasi lagi sehingga berbentuk seperti ini:
#squid-3.2.0.13-5.fc16.x86_64 #Author by: http://altertek.net/

# OPTION JARINGAN http_port 3128 transparent icp_port 0 cache_dir ufs /var/spool/squid 100 16 256 cache_mem 8 MB cache_log /var/log/squid/cache.log cache_access_log /var/log/squid/access.log cache_store_log /var/log/squid/store.log cache_mgr ppin@batan.go.id # ----------------------------------------#Minimum Konfigurasi untuk keamanan

acl all src 0.0.0.0/0.0.0.0 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl SSL_ports port 443 2083 563 # https, snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt

23
BUKU PANDUAN PENGGUNAANPROXY SERVER

acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT acl FTP proto FTP # ----------------------------------------------# Memblok situs terlarang (blacklist)secara manual # ------------------------------------acl noblacklist dstdomain "/etc/squid/blacklist/no-blacklist.txt" acl katablacklist url_regex -i "/etc/squid/blacklist/kata-blacklist.txt" acl domainblacklist dstdom_regex -i "/etc/squid/blacklist/domain-blacklist.txt" acl UltraSurf port 9666 acl ipblacklist dst "/etc/squid/blacklist/ip-blacklist.txt" acl tdkbebasdownload time M T W H F 08:00-12:00 acl tdkbebasdownload1 time M T W H F 13:00-16:00 acl waktu dstdomain "/etc/squid/blacklist/waktu.txt" acl macblok arp F4:6D:04:BB:F3:E7 acl download urlpath_regex "/etc/squid/blacklist/download.txt" acl httpsblok url_regex "/etc/squid/blacklist/blokhttps.txt" acl all src 0.0.0.0/0.0.0.0 # ------------------------------------# Memblok situs terlarang secara manual # ------------------------------------http_access deny UltraSurf http_access allow noblacklist http_access deny katablacklist http_access deny domainblacklist http_access deny ipblacklist

24
BUKU PANDUAN PENGGUNAANPROXY SERVER

http_access deny tdkbebasdownload waktu http_access deny tdkbebasdownload1 waktu http_access deny tdkbebasdownload1 download http_access deny tdkbebasdownload download http_access deny tdkbebasdownload httpsblok http_access deny tdkbebasdownload1 httpsblok http_access deny CONNECT !SSL_ports # ------------------------------------visible_hostname batan.go.id cache_effective_group squid cache_effective_user squid #-------------------------------------#bandwith Limiter #-------------------------------------acl server src 10.42.0.1 255.255.255.255 acl admin src 10.42.0.16 255.255.255.255 acl client src 10.42.0.15 255.255.255.255 delay_pools 3 #-----------------------------------#untuk pool 1 class 1 #-----------------------------------delay_class 1 1 delay_parameters 1 -1/-1 delay_access 1 allow server delay_access 1 deny all #-------------------------------#untuk pool no 2 dan class no 1 #--------------------------------

25
BUKU PANDUAN PENGGUNAANPROXY SERVER

delay_class 2 1 delay_parameters 2 16000/64000 delay_access 2 allow admin delay_access 2 deny all #-------------------------------#untuk pool no 3 dan class no 1 #-------------------------------delay_class 3 1 delay_parameters 3 20000/64000 delay_access 3 allow tdkbebasdownload client delay_access 3 allow tdkbebasdownload1 client delay_access 3 deny all

Perhatikan pada baris berikut:


#squid-3.2.0.13-5.fc16.x86_64 #Author by: http://altertek.net/

#-------------------------------------#bandwith Limiter #-------------------------------------acl server src 10.42.0.1 255.255.255.255 acl admin src 10.42.0.16 255.255.255.255 acl client src 10.42.0.15 255.255.255.255 delay_pools 3 #-----------------------------------#untuk pool 1 class 1 #-----------------------------------delay_class 1 1

26
BUKU PANDUAN PENGGUNAANPROXY SERVER

delay_parameters 1 -1/-1 delay_access 1 allow server delay_access 1 deny all #-------------------------------#untuk pool no 2 dan class no 1 #-------------------------------delay_class 2 1 delay_parameters 2 16000/64000 delay_access 2 allow admin delay_access 2 deny all #-------------------------------#untuk pool no 3 dan class no 1 #-------------------------------delay_class 3 1 delay_parameters 3 20000/64000 delay_access 3 allow tdkbebasdownload client delay_access 3 allow tdkbebasdownload1 client delay_access 3 deny all

Skenario yang ada di jaringan saya sebagai berikut: Kecepatan koneksi pada jaringan saya sebesar 128 Kbps ingat bit bukan Byte.

Sebuah Proxy Server dengan OS Fedora. 1 PC sebagai Komputer Administrator 1 PC sebagai komputer Client (Dengan catatan ini hanya sebagai percobaan saja, pada kenyatannya, komputer client yang ada di jaringan saya berjumlah 25 unit )

Ketahuilah IP-IP dari komputer admin dan client

27
BUKU PANDUAN PENGGUNAANPROXY SERVER

Lalu buat deklarasi dari akses List tersebut: acl server src 10.42.0.1 255.255.255.255 acl admin src 10.42.0.16 255.255.255.255 acl client src 10.42.0.15 255.255.255.255 Setelah di deklaraikan sekarang ialah enable delay pools, ada beberapa bug untuk squid bawaan Fedora, jadi untuk enabled delay pools, pasti ada pesan error ketika restart nautilus, solusinya sebagai berikut: Pada squid.conf ketik perintah berikut: delay_pool lalu restart squid, pasti ada pesan error, Lalu sekarang sempurnakan delay pool dengan perintah: delay_pools 3 restart Squid, maka tidak ada pesan error lagi, hal ini berlaku juga untuk delay_access dan delay_class

setelah itu masukan pool pool atau rules yang diinginkan, dengan cara mengetikan syntax:

delay_class 1 1 delay_parameters 1 -1/-1 delay_access 1 allow server delay_access 1 deny all

28
BUKU PANDUAN PENGGUNAANPROXY SERVER

Penjelasan: Pada aturan diatas dapat kita simpulkan bahwa pool 1 menggunakan tipe kelas 1 yang memiliki aturan seting bandwith hanya dibatasi oleh single bucket, artinya pada tipe satu ini kita tidak bisa mendefiniskan bandwith secara lebih mendetail, penjelasan yang lebih mendetailnya kita bisa dilihat di delay_parameters.

Pada delay parameter terdapat nilai 1 -1/-1 satu pertama menunjukan bahwa parameter tersebut berada pada pool pertama dan -1/-1 adalah aturan khusus yang menunjukan unlimited atau bandwith tidak diabatasi. Lalu delay_access 1 allow server dan delay acces_1 deny all menunjukan bahwa pada pool yang pertama ini hanya server yang dapat menggunakan aturan tersebut atau dengan kata lain memiliki bandwith unlimited / sesuai dengan kapasitas maksimal bandwith jalur tersebut, sedangkan yang lain adalah deny atau ditolak hanya server yang mempunyai rules tersebut.

Input Rule Pool kedua delay_class 2 1 delay_parameters 2 32000/64000 delay_access 2 allow admin delay_access 2 deny all

29
BUKU PANDUAN PENGGUNAANPROXY SERVER

Sama halnya dengan pool yang pertama pool no 2 ini juga menggunakan tipe kelas yang pertama,yang berbeda adalah parameternya pada pool yang kedua nilai restore sam dengan 32000 bytes per second atau 32 KB/s atau setara dengan 256 Kilobitpersecond (kb/s), lalu pada pool kedua ini user yang bernama admin lah yang hanya diizinkan atau admin yang memiliki besar bandwith tersebut.

Input Rule Pool 3 delay_class 3 1 delay_parameters 3 3000/64000 delay_access 3 allow client delay_access 3 deny all

Sama halnya dengan pool yang pertama pool no 3 ini juga menggunakan tipe kelas yang pertama,yang berbeda adalah parameternya pada pool yang kedua nilai restore sama dengan 3000 Bytes per second atau 3 KB/s atau setara dengan 24 Kilobitpersecond (kb/s), lalu pada pool kedua ini user yang bernama admin lah yang hanya diizinkan atau admin yang memiliki besar bandwith tersebut.

Maka apabila dilihat konfigurasi semunya untuk bandwith limiter ini adalah
# #bandwith Limiter #

acl src 0.0.0.0 0.0.0.0 acl server src 10.42.0.1 255.255.255.255

30
BUKU PANDUAN PENGGUNAANPROXY SERVER

acl admin src 10.42.0.16 255.255.255.255 acl client src 10.42.0.15 255.255.255.255

delay_pools 3 # #untuk pool 1 class 1 # delay_class 1 1 delay_parameters 1 -1/-1 delay_access 1 allow server delay_access 1 deny all # #untuk pool no 2 dan class no 1 # delay_class 2 1 delay_parameters 2 32000/64000 delay_access 2 allow admin delay_access 2 deny all # #untuk pool no 3 dan class no 1 # delay_class 3 1 delay_parameters 3 3000/64000 delay_access 3 allow client delay_access 3 deny all

Sebagai Catatan, untuk yang memiliki Client yang banyak tambahkan seperti ini:
acl client src 10.42.0.16-10.42.0.253 255.255.255.255

31
BUKU PANDUAN PENGGUNAANPROXY SERVER

Bandwidht Limiter dengan penjadwalan. Kita lihat pada Squid.conf saya yang paling atas, perhatikan pada snytax berikut: acl tdkbebasdownload time M T W H F 08:00-12:00 acl tdkbebasdownload1 time M T W H F 13:00-16:00 dan #-------------------------------#untuk pool no 3 dan class no 1 #-------------------------------delay_class 3 1 delay_parameters 3 16000/64000 delay_access 3 allow tdkbebasdownload client delay_access 3 allow tdkbebasdownload1 client delay_access 3 deny all

Maka disimpulkan bahwa client hanya mendapatkan kecepatan 16000 bytes per second atau 16 kBps pada hari senin hingga jumat pada pukul 08.00 -12.00 dan 13.00-16.00 Berikut ialah hasil screenshot pada PC Client

Terlihat pada gambar perhatikan bandwidth monitor, dimana client download dalam kecepatan konstan 16 KBps. Selain jam diatas , contoh pada jam instirahat jam 12:01 s.d 13:00

32
BUKU PANDUAN PENGGUNAANPROXY SERVER

Untuk implementasi yang lebih luas , saya menggunakan 24 Client, sehingga keseluruhan script squid.conf, seperti dibawah ini:
#squid-3.2.0.13-5.fc16.x86_64 #Author by: http://altertek.net/ # OPTION JARINGAN http_port 3128 transparent icp_port 0 cache_dir ufs /var/spool/squid 100 16 256 cache_mem 8 MB cache_log /var/log/squid/cache.log cache_access_log /var/log/squid/access.log cache_store_log /var/log/squid/store.log cache_mgr ppin@batan.go.id # ----------------------------------------#Minimum Konfigurasi untuk keamanan acl all src 0.0.0.0/0.0.0.0 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl SSL_ports port 443 2083 563 # https, snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl 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 acl FTP proto FTP # ----------------------------------------------# Memblok situs terlarang (blacklist)secara manual # ------------------------------------acl noblacklist dstdomain "/etc/squid/blacklist/no-blacklist.txt" acl katablacklist url_regex -i "/etc/squid/blacklist/kata-blacklist.txt" acl domainblacklist dstdom_regex -i "/etc/squid/blacklist/domain-blacklist.txt" acl UltraSurf port 9666 acl ipblacklist dst "/etc/squid/blacklist/ip-blacklist.txt" acl tdkbebasdownload time M T W H F 08:00-12:00

33
BUKU PANDUAN PENGGUNAANPROXY SERVER

acl tdkbebasdownload1 time M T W H F 13:00-16:00 acl waktu dstdomain "/etc/squid/blacklist/waktu.txt" acl macblok arp F4:6D:04:BB:F3:E7 acl download urlpath_regex "/etc/squid/blacklist/download.txt" acl httpsblok url_regex "/etc/squid/blacklist/blokhttps.txt" acl all src 0.0.0.0/0.0.0.0 # ------------------------------------# Memblok situs terlarang secara manual # ------------------------------------http_access deny UltraSurf http_access allow noblacklist http_access deny katablacklist http_access deny domainblacklist http_access deny ipblacklist http_access deny tdkbebasdownload waktu http_access deny tdkbebasdownload1 waktu http_access deny tdkbebasdownload1 download http_access deny tdkbebasdownload download http_access deny tdkbebasdownload httpsblok http_access deny tdkbebasdownload1 httpsblok http_access deny CONNECT !SSL_ports # ------------------------------------visible_hostname batan.go.id cache_effective_group squid cache_effective_user squid #-------------------------------------#bandwith Limiter #-------------------------------------acl server src 10.42.0.1 255.255.255.255 acl admin src 10.42.0.15 255.255.255.255 acl client src 10.42.0.16 255.255.255.255 delay_pools 3 #-----------------------------------#untuk pool 1 class 1 #-----------------------------------delay_class 1 1 delay_parameters 1 -1/-1 delay_access 1 allow server delay_access 1 deny all #-------------------------------#untuk pool no 2 dan class no 1 #-------------------------------delay_class 2 1 delay_parameters 2 32000/64000 delay_access 2 allow admin delay_access 2 deny all #-------------------------------#untuk pool no 3 dan class no 1 #-------------------------------delay_class 3 1 delay_parameters 3 23000/64000 delay_access 3 allow tdkbebasdownload client delay_access 3 allow tdkbebasdownload1 client delay_access 3 deny all

34
BUKU PANDUAN PENGGUNAANPROXY SERVER

BAB VI Install Webmin Pada Fedora Linux

Squid memang terlalu sulit bagi oarang awam yang baru belajar membangun proxy server, apalagi yang baru belajar dengan OS Linux, Namun ada Software yang bersifat Web Based bertujuan untuk konfigurasi Squid, Bernama Webmin. Webmin dapat didownload disini Untuk Fedora dan Ubuntu sudah ada Package .deb dan .rpm, jadi hanya download dan install. Setelah install disarankan untuk restart Komputer. Setelah itu jalankan browser kesukaan anda, disarankan Mozilla Firefox. Lalu ketik di address bar http://ipserveranda:1000 atau https://localhost.localdomain:10000/. Input Username dan password anda, default untuk webmin ialah username=root dan password=password administrator linux anda.

Setelah usename dan password di input, sukses, akhirnya masuk ke halaman utama webmin.
35
BUKU PANDUAN PENGGUNAANPROXY SERVER

Untuk pengaturan proxy squid, perhatikan pada tab Server, lalu Klik Squid Proxy Server. Penggunaan Webmin Untuk Proxy Server Squid Untuk masuk Webmin , silahkan ikuti langkah-langkah berikut:

1. Jalankan browser kesukaan anda, disarankan Mozilla Firefox. Lalu ketik di address bar http://ipserveranda:1000 atau https://localhost.localdomain:10000/. 2. Input Username dan password anda, default untuk webmin ialah username=root dan password=password administrator linux anda.

Setelah masuk, anda akan melihat tampilan utama webmin yang menampilkan:

System Hostname Sistem Operasi Versi Webmin Informasi Kernel dan Processor yang digunakan Uptime SistemJumlah Proses yang berjalan Penggunaan CPU
36

BUKU PANDUAN PENGGUNAANPROXY SERVER

Informasi Memory Fisik (RAM) Virtual Memory (SWAP) Kapasitas hardisk (Usage dan Free) Paket yang update -Nya tersedia

Pengaturan Squid Dengan Webmin kita dapat mengatur segala aktivitas yang ada di server kitam termasuk Proxy Server. Dengan catatan sebelum anda install webmin, terlebih dahulu anda install Squid, lalu modul akan di Enable secara otomatis. Untuk masuk Squid anda cukup ikuti langah - langkah berikut:

Klik Tab Server Pilih Squid Proxy Server

37
BUKU PANDUAN PENGGUNAANPROXY SERVER

Maka akan terbuka halaman admin untuk squid Proxy Server

Fitur-fitur Webmin Squid Ports and Networking

Berfungsi untuk mengarahkan port yang digunakan untuk browsing, yakni dari port 80 ke port dimana service squid berada yakni port 3128. Dapat juga memberi option pada port squid, dapat disetting normal ataupun Transparent

38
BUKU PANDUAN PENGGUNAANPROXY SERVER

Cache Option

Berfungsi mengatur directory untuk menyimpan memory cache Memberi Alokasi Memory pada setiap directory dan subdirectory Jika Pada squid.conf untuk mengatur syntax berikut:

cache_dir ufs /var/spool/squid 100 16 256

Authentication Program

39
BUKU PANDUAN PENGGUNAANPROXY SERVER

Berfungsi mengatur Authentification program yang berjalan pada proses Squid. Saya sendiripun jarang menggunakan fitur ini, dan saya mengaturnya dalam kondisi default.

Miscellaneous Option

Berfungsi untuk pengaturan Extra Squid. pada umumnya digunakan untuk setting DNS, Mengubah pesan Error. Untuk Konfigurasi saya sendiri, menggunakan setting default. Karena saya hanya mengubah gambar pesan error secara manual dengan mengedit /etc/squid/errorpage.css. Clear and Rebuild Cache

Berfungsi untuk menghapus Cache yang sudah disimpan dan membangun lagi directory squid cache kembali seperti semula.

Jika terminal dapat mengetikkan perintah: squid -z


40
BUKU PANDUAN PENGGUNAANPROXY SERVER

Other Caches

Fitur ini berfungsi untuk penyimpanan cache pada partisi lain, bahkan hardisk lain, atau bahkan cache di transfer ke Komputer lain. Untuk memnambahkan cache lain hanya klik add another cache. Lalu atur hostname, proxy port, dan segala konfigurasi yang anda inginkan, seperti gambar dibawah ini:

41
BUKU PANDUAN PENGGUNAANPROXY SERVER

Helper Programs

Berfungsi untuk pengaturan program-program add-on untuk squid. Pada umumnya squid memliki program yang sudah default untuk mendukung proses squid, namun tidak menutup kemungkinan user ingin mengganti program tersebut, dengan program favorit mereka sendiri.

Access Control

Fitur ini berguna, antara lain untuk: 1. Menambah dan remove Akses List 2. Edit jenis Access List
42
BUKU PANDUAN PENGGUNAANPROXY SERVER

3. Edit Matcing Access List

Menambah acl Untuk menambah acl , cukup klik Create New acl dan pilih type acl

Remove dan Edit acl Untuk remove acl, klik nama acl, dan cari pilihan save dan delete, seperti gambah dibawah ini:

43
BUKU PANDUAN PENGGUNAANPROXY SERVER

Delay Pools

Pada umumnya digunakan sebagai bandwidth Limiter pada squid Proxy, dan juga berfungsi untuk mengatur pool yang telah di deklarasikan pada akses list. Jadi anda harus terlebih dahulu membuat rule untuk access list, seperti pada gambar dibawah ini:

Sekarang anda ke Menu Delay pool, lalu deklarasikan pool tersebut

Jika pada setting manual via gedit dan terminal, yakni untuk setting script berikut:
#squid-3.2.0.13-5.fc16.x86_64 #Author by: http://altertek.net/

#-------------------------------------#bandwith Limiter #--------------------------------------

44
BUKU PANDUAN PENGGUNAANPROXY SERVER

acl server src 10.42.0.1 255.255.255.255 acl admin src 10.42.0.16 255.255.255.255 acl client src 10.42.0.15 255.255.255.255 delay_pools 3 #-----------------------------------#untuk pool 1 class 1 #-----------------------------------delay_class 1 1 delay_parameters 1 -1/-1 delay_access 1 allow server delay_access 1 deny all #-------------------------------#untuk pool no 2 dan class no 1 #-------------------------------delay_class 2 1 delay_parameters 2 16000/64000 delay_access 2 allow admin delay_access 2 deny all #-------------------------------#untuk pool no 3 dan class no 1 #-------------------------------delay_class 3 1 delay_parameters 3 20000/64000 delay_access 3 allow tdkbebasdownload client delay_access 3 allow tdkbebasdownload1 client delay_access 3 deny all

45
BUKU PANDUAN PENGGUNAANPROXY SERVER

Port Redirection Setup

Hal ini berguna untuk mengatur IPtables (Firewall pada Linux), yang dapat dikonfigurasi antara lain:

Port yang dibuka dan ditutup Setting redirecting port dan interface

Namun pada kenyataannya fitur ini sangat riskan, karena berhubungan dengan keamanan Linux dan konfigurasi jaringan pada sistem linux tersebut, karena IP tables merupakan inti konfigurasi jaringan dan firewall pada sistem Linux.

Memory Usage

46
BUKU PANDUAN PENGGUNAANPROXY SERVER

Berfungsi untuk mengatur batasan memory cache, dengan hanya setting jumlah memory dalam satuan MB (Mega Byte). Header Access Control

Untuk mengatur acl list apakah itu di izinkan (allow) atau ditolak (deny). Saya sendiri disable fitur ini, karena saya sudah deklasikan pada squid.conf. Pada umumnya untuk mengatur syntax berikut: http_access deny UltraSurf http_access allow noblacklist http_access deny katablacklist http_access deny domainblacklist http_access deny ipblacklist http_access deny tdkbebasdownload waktu http_access deny tdkbebasdownload1 waktu http_access deny tdkbebasdownload1 download http_access deny tdkbebasdownload download http_access deny tdkbebasdownload httpsblok http_access deny tdkbebasdownload1 httpsblok http_access deny CONNECT !SSL_ports

47
BUKU PANDUAN PENGGUNAANPROXY SERVER

Cache manager Statistic

Berfungsi untuk melihat statistic Cache Jika ingin melihat cache object, pada cache manager Menu klik All cache Object, maka akan terpampang cache object.

48
BUKU PANDUAN PENGGUNAANPROXY SERVER

Logging

Berfungsi untuk mengatur penyimpanan log dari squid, baik itu access.log maupun store.log Administrative Options

Untuk mengatur Konfigurasi pemberitahuan untuk administrator Server. Jika pada konfigurasi manual pada squid.conf untuk mengatur syntax berikut: visible_hostname cache_effective_group cache_effective_user squid batan.go.id squid

49
BUKU PANDUAN PENGGUNAANPROXY SERVER

Refresh Rules

Berfungsi untuk reload pengaturan yang diterapkan pada squid.conf

Cache Manager Password

Berfungsi untuk memberi password terhadap user yang ingin mengakses cache manager Menerapkan Konfigurasi:

50
BUKU PANDUAN PENGGUNAANPROXY SERVER

Untuk menyimpan konfigurasi pada webmin squid klik Apply Configuration. Start dan Stop Squid Services Klik Start atau Stop Squid, seperti gambar dibawah ini:

51
BUKU PANDUAN PENGGUNAANPROXY SERVER

BAB VII SARG (Squid Analysis Report Generator)

Webmin yang sudah terinstall saya gunakan untuk mempermudah melihat statistic squid dengan salah module bawaan Webmin yakni "SARG" (Squid Analysis Report Generator), akan tetapi anda harus install terlebih dahulu Package SARG untuk server anda yang dapat didownload disini. Setelah terinstall jalankan, amati bahwa squid berjalan, lalu ke terminal dan ketikan perintah berikut untuk generate Squid Report dengan SARG. /usr/bin/sarg -l /var/log/squid/access.log Lalu masuk Webmin, lihat Un-used Modul Lihat Squid Report Generator Klik Modul Config

52
BUKU PANDUAN PENGGUNAANPROXY SERVER

Input Directory sarg.conf berada, saya sendiri default sudah ada di /etc/sarg/sarg.conf

Jika sudah, logout kemudian relogin, maka sarg sudah berada di tab server. Sekarang anda dapat mengatur sarg.conf secara gui webased. Untuk melihat Log dari Squid, kita dapat menggunakan SARG, akan tetapi masih terdapat bug. Kebetulan SARG yang saya gunakan versi sarg-2.3.1-1.el6.rft.x86_64.rpm untuk Fedora/Redhat Linux. Bug tersebut ialah ketika Server Proxy di Restart atau di Shutdown, ketika di nyalakan kembali dan Generated Report SARG, SARG akan logging dari tahun 1970. Namun untuk mengatasinya kita cukup check logging seperti pada gambar dibawah ini:

53
BUKU PANDUAN PENGGUNAANPROXY SERVER

Menggunakan SARG Webmin

Perhatikan pada Tab Server, Pilih Squid Report Generator

Setelah terbuka terdapat 4 Menu dan 2 Link yang berhubungan dengan konfigurasi SARG

Link Modul Config Terdapat pada pojok kiri atas pada halaman SARG

Berguna untuk konfigurasi Modul SARG, pada umumnya digunakan untuk pengaturan directory dimana SARG.conf berada.

54
BUKU PANDUAN PENGGUNAANPROXY SERVER

Search Docs.. Terdapat pada pojok kanan atas pada halaman SARG

Berguna untuk melihat file Dokumentasi dari SARG pada situs resminya.

Menu Log Source and Report Destination

Digunakan untuk konfigurasi Directory dimana hasil generated Report tersimpan. Saya sendiri tidak menggunakan setting Default, akan tetapi saya tentukan sendiri Directory tempat penyimpanan generated Report.

55
BUKU PANDUAN PENGGUNAANPROXY SERVER

Report Option

Berguna untuk mengatur /etc/sarg/sarg.conf secara web based dengan menggunakan modul sarg yang terdapat pada Webmin. Report Style

56
BUKU PANDUAN PENGGUNAANPROXY SERVER

Berguna untuk pengaturan tampilan Report, baik itu jenis Font, warna font, gambar background, report title, dll Scheduled Report generation

Berguna untuk mengatur penjadwalan generated Report pada SARG, ada 5 Jenis penjadwalan, yakni:

1. 2. 3. 4. 5.

Per Menit Per jam Per hari Per Bulan Per Akhir Pekan

Akan tetapi sebelum menggunkan menu ini, kita harus sudah setting Log Source terlebih dahulu.

57
BUKU PANDUAN PENGGUNAANPROXY SERVER

BAB VIII Troubleshooting SQUID

Walaupun Squid sangat powerfull, namun tidak menutup kemungkinan SQUID Mempunyai kelemahan, antara lain:

1. Port https (http Secure)

Kebanyakan administrator, pasti lupa bahwa beberapa situs dapat dibuka melalui port yang berbeda ada yang menggunakan http biasa, https, dan ada juga yang menggunakan keduanya, sebagai contoh Facebook. Saya sendiri sampai sekarang belum mempunyai solusi yang pasti untuk menangani khasus ini untuk yang transparent Proxy, akan tetapi untuk yang manual Proxy ada beberapa cara yakni: Menggunakan acl biasa dikombinasikan dengan dstdom_regex misal kita deklarasikan acl pada squid.conf:

acl fbgeblek dstdom_regex "/etc/squid/blacklist/fb.txt di file txt tuliskan .facebook.com lalu kita jalankan Blocking site tersebut http_access deny CONNECT fbgeblek

Atau dengan IPTABLES su iptables -A FORWARD -p tcp --dport 443 -d www.facebook.com -j DROP Command diatas berfungsi untuk memblok port https=443 terhadap domain facebook.com
58
BUKU PANDUAN PENGGUNAANPROXY SERVER

Namun untuk transparent proxy saya belum menemukan jawabannya, saya sendiri memakai squid versi 3

2. Ultrasurf Menurut situsnya ialah suatu tool untuk browsing dengan aman karena proxy yang digunakan proxy mereka, Support Internet Explorer, namun sekarang sudah ada add on untuk firefox.

Saya sendiri sering menggunakan ultrasurf untuk membuka proxy berbasis squid, dimana saya padukan dengan Internet Download manager, sehingga beberapa ekstensi file yang sebenarnya sudah terblock oleh squid, dapat di bypass. Caranya: Jalankan Ultrasurf

59
BUKU PANDUAN PENGGUNAANPROXY SERVER

Jalankan IDM

Klik Download - Option - proxy

Checklist Proxy - Get From IE

60
BUKU PANDUAN PENGGUNAANPROXY SERVER

Sekarang anda coba download file yang yadi terblock squid, pasti bisa terdownload. Namun hal ini dapat menjadi masalah besar bagi seorang admistrator, ada cara untuk menanggulangginya dengan block port yang digunakan Ultrasurf Deklarasikan Akses List pada squid.conf misal namanya ultrasurf acl ultrasurf port 9666 lalu berikan rule Akses list http_access deny ultrasurf Atau mau yang lebih expert lagi, Contoh: acl ipacl url_regex http://[0-9]*\.[0-9]*\.[0-9]*\.[0-9]* http_access deny ipcalc acl numeric_IPs url_regex^[0.9]+.[0-9]+.[0.9]+.[0.9]+ https_access deny numeric_IPs

Namun tetap saja tidak berlaku untuk trasparent Squid. 3. Jika Cache Penuh Pengalaman saya ketika Cache memory mendekati limit. Performa Squid akan berkurang, seperti koneksi lambat. Karena Performa Squid bergantung pada:

Spesifikasi Hardware Server Proxy Konfigurasi squid.conf User Behavior dilihat dari sisi Client

Untuk mengatasinya kita dapat menambahkan syntax berikut pada squid.conf cache_swap_low 90 cache_swap_high 95 Keterangan: Jika batas swap_low tercapai maka squid akan mulai menghapus cache, jika batas swap_high tercapai maka squid akan lebih sering menghapus cache. Hal ini bergua untuk memberi ruang kosong pada Memory Cache.
61
BUKU PANDUAN PENGGUNAANPROXY SERVER

Anda mungkin juga menyukai