• Tidak ada hasil yang ditemukan

Instalasi Proxy Server : Squid

N/A
N/A
Protected

Academic year: 2021

Membagikan "Instalasi Proxy Server : Squid"

Copied!
5
0
0

Teks penuh

(1)

Instalasi Proxy Server : Squid

Squid adalah aplikasi web proxy server untuk keperluan 3A (authentication,

authorization, accounting), traffic shaper, dan web caching, dimana dengan

menggunakan proxy, semua user dapat mengakses Internet hanya melalui 1

public IP Address (IP Address dari user akan tersembunyi di belakang web proxy).

Instalasi Squid dilakukan dengan cara :

# cd /usr/ports/www/squid # make install clean

……… <tunggu sampai selesai, jika ada pertanyaan gunakan default saja> ………

# cat /etc/rc.conf | grep squid squid_enable="YES"

Edit file konfigurasi squid di

/usr/local/etc/squid/squid.conf # cat /usr/local/etc/squid/squid.conf

……… (hanya entry yg perlu di-edit) http_port 172.16.1.1 8080

cache_peer 10.1.1.4 parent 8080 3130 no-query maximum_object_size 16384 KB

minimum_object_size 0 KB

maximum_object_size_in_memory 8 KB cache_dir ufs /webcache 73728 256 256

acl local-servers dstdomain .imtelkom.ac.id acl porn url_regex "/usr/local/etc/squid/porn"

acl notporn url_regex "/usr/local/etc/squid/notporn" acl user_vpn src 172.16.0.0/255.255.0.0

acl dosen src 172.16.1.0/255.255.255.0 acl karyawan src 172.16.2.0/255.255.255.0 acl kaunit src 172.16.3.0/255.255.255.0 acl sisfo src 172.16.4.0/255.255.255.0

(2)

http_access allow notporn http_access deny porn http_access allow user_vpn http_access allow dosen http_access allow karyawan http_access allow kaunit http_access allow sisfo http_access deny all always_direct deny dosen always_direct deny karyawan always_direct deny kaunit always_direct deny sisfo always_direct allow all

always_direct allow local-servers never_direct allow dosen

never_direct allow karyawan never_direct allow kaunit never_direct allow sisfo never_direct deny all

reply_body_max_size 100000000 allow dosen reply_body_max_size 100000000 allow karyawan reply_body_max_size 0 allow kaunit

reply_body_max_size 10000000 allow all

Karena webcache dari squid akan disimpan di folder /webcache sebaiknya folder

tersebut adalah suatu hard disk dedicated, hal ini untuk memudahkan instalasi

ulang proxy server (object yg di-cache tetap ada).

Untuk membuat transparent proxy dimana user tidak perlu melakukan setting

proxy di client (di level platform OS atau web browser), maka edit firewall :

# Forwarding all traffic to Squid (transparent proxy).

${fwcmd} add fwd 127.0.0.1,3128 tcp from 172.16.0.0/16 to any 80 ${fwcmd} add fwd 127.0.0.1,3128 tcp from 172.16.0.0/16 to any 443 ${fwcmd} add allow tcp from 172.16.0.0/16 to any setup keep-state

Dan squid.conf :

http_port 172.16.1.1 8080 transparent

Langkah selanjutnya setelah membuat file konfigurasi adalah membuat web cache

# /usr/local/sbin/squid –f /usr/local/etc/squid/squid.conf –z 2006/06/28 13:55:43| Creating Swap Directories

FATAL: Failed to make swap directory /webcache/00: (13) Permission denied Squid Cache (Version 2.5.STABLE12): Terminated abnormally.

CPU Usage: 0.001 seconds = 0.000 user + 0.001 sys Maximum Resident Size: 0 KB

Page faults with physical i/o: 0

Error disebabkan karena squid tidak boleh menulis di folder webcache

# chown squid:squid /webcache

# /usr/local/sbin/squid –f /usr/local/etc/squid/squid.conf –z 2006/06/28 13:57:51| Creating Swap Directories

(3)

Saat beroperasi, squid akan membuat 3 buah file :

# ls -l /usr/local/squid/logs total 360340

-rw-r--r-- 1 squid squid 103106164 Jun 28 14:00 access.log -rw-r--r-- 1 squid squid 4771743 Jun 28 14:00 cache.log -rw-r--r-- 1 root squid 6 Jun 28 11:08 squid.pid -rw-r--r-- 1 squid squid 121467833 Jun 28 14:00 store.log

Ketiga file tersebut akan bertambah besar dengan cepat sekitar 400Mbyte setiap

harinya. Untuk keperluan maintenance log file tersebut, perlu dibuat shell script

untuk memproses file access.log :

# cat /root/process_squid_log.sh #!/bin/sh

######################################################################### # shell script ini melakukan 5 fungsi dgn urutan sbb : # # # # 1. membackup squid's access.log menjadi access.log.0 # # (dgn fasilitas rotate dari Squid) # # 2. memproses access.log.0 dgn webalizer untuk mendapatkan statistik # # 3. memproses access.log.0 dgn PHP script untuk akunting Internet # # (berdasarkan login VPN) # # 4. mengkompresi access.lo.0 dan memberi nama sesuai timestamp-nya # # 5. memblok login VPN yg sudah over quota dgn menggunakan firewall # # shell script ini membutuhkan : # # - /usr/bin/grep & /usr/bin/awk (bawaan dari FreeBSD) # # - update_usage_n_block.php (PHP script untuk perhitungan (akunting) # # penggunaan Internet # # - update_situs.php (PHP script untuk melakukan rekap situs yg diakses # # - update_hitmiss.php (PHP script untuk melakukan rekap jumlah HIT # # dan MISS dr webcache # # shell script ini harus dijalankan setidaknya setiap 1 jam # ######################################################################### ############################# S E T T I N G ############################# WEBALIZER="/usr/local/bin/webalizer"

WEBALIZER_OPTION="-Q -F squid -c /usr/local/etc/webalizer-proxy.conf" TODAY=`date "+%Y%m%d%H%M"`

SQUID="/usr/local/sbin/squid"

SQUID_OPTION="-f /usr/local/etc/squid/squid.conf -k rotate" TEMP_FOLDER="/data/log"

################# FUNGSI 1 : backup squid's access.log ################## # memindahkan log aktif /usr/local/squid/logs/access.log ke

/usr/local/squid/logs/access.log.0 ${SQUID} ${SQUID_OPTION}

sleep 30

############# FUNGSI 2 : proses access.log.0 dgn webalizer ############## # menganalisa access.log.0 menggunakan aplikasi webalizer

${WEBALIZER} ${WEBALIZER_OPTION} /usr/local/squid/logs/access.log.0

######## FUNGSI 3 : proses access.log.0 untuk akunting Internet ######### # access.log.0 akan diparsing menggunakan grep dan di-reformat

menggunakan awk

# untuk menghasilkan 5 file tambahan dgn format informasi yg lebih sederhana

# untuk mempercepat pemrosesan dgn PHP script. Ke-lima file tsb : # 1. ${TEMP_FOLDER}/usage.txt (format : IP_ADDRESS OBJECT_SIZE) # 2. ${TEMP_FOLDER}/situs.txt (format : TIMESTAMP IP_ADDRESS ACCESSED_SITE)

(4)

# 3. ${TEMP_FOLDER}/hit.txt (jumlah HIT pada webcache) # 4. ${TEMP_FOLDER}/miss.txt (jumlah MISS pada webcache)

# 5. ${TEMP_FOLDER}/other.txt (jumlah non-HIT dan non-MISS pada webcache : ex. DENIED)

# FUNGSI 3a : menghapus 4 file hasil dari proses sebelumnya /bin/rm ${TEMP_FOLDER}/usage.txt

/bin/rm ${TEMP_FOLDER}/situs.txt /bin/rm ${TEMP_FOLDER}/hit.txt /bin/rm ${TEMP_FOLDER}/miss.txt /bin/rm ${TEMP_FOLDER}/other.txt # FUNGSI 3b : membuat 4 file yg baru

# membuat usage.txt untuk keperluan akunting penggunaan Internet

# dimana hanya akses yg tidak menggunakan webcache (TCP_MISS) yg dihitung penggunaannya

# krn jk HIT berarti akses tsb tidak akan membebani link Internet (hanya mengakses webcache)

/bin/cat /usr/local/squid/logs/access.log.0 | /usr/bin/grep 'MISS' | /usr/bin/awk '{print $3 "\t" $5}' > ${TEMP_FOLDER}/usage.txt

# membuat situs.txt untuk keperluan menganalisa situs apa saja yg dikunjungi oleh user

# dimana semua akses kecuali yg DENIED yg akan direkam

/bin/cat /usr/local/squid/logs/access.log.0 | /usr/bin/grep -v 'TCP_DENIED' | /usr/bin/awk '{print $1 "\t" $3 "\t" $7}' > ${TEMP_FOLDER}/situs.txt

# membuat hit.txt dan miss.txt untuk keperluan menganalisa performansi webcache

# yaitu apakah jumlah HIT > jumlah MISS

#/bin/cat /usr/local/squid/logs/access.log.0 | /usr/bin/grep -c 'MISS' > ${TEMP_FOLDER}/miss.txt

HIT=`/bin/cat /usr/local/squid/logs/access.log.0 | /usr/bin/grep -c 'HIT'`

MISS=`/bin/cat /usr/local/squid/logs/access.log.0 | /usr/bin/grep -c 'MISS'`

OTHER=`/bin/cat /usr/local/squid/logs/access.log.0 | /usr/bin/grep -v 'HIT' | /usr/bin/grep -v 'MISS' | /usr/bin/grep -c ''`

/usr/local/bin/mysql -u manager -pmanager -Dstatus --execute="insert into hitmiss set time=${TODAY},hit=${HIT},miss=${MISS},other=${OTHER}"

# FUNGSI 3c : memproses usage.txt untuk akunting dan membuat /root/block.sh untuk blocking user

/usr/local/bin/php /root/update_usage_n_block.php

# FUNGSI 3d : memproses situs.txt untuk analisa dan croscek via email ke user

/usr/local/bin/php /root/update_situs.php sleep 300

########## FUNGSI 4 : simpan access.log.0 sesuai timestamp-nya ########## # simpan access.log.0 ke folder /data/log

/bin/mv /usr/local/squid/logs/access.log.0 /data/log/squid-access/access.log.${TODAY}

/bin/rm /usr/local/squid/logs/cache.log.0

/usr/bin/gzip /data/log/squid-access/access.log.${TODAY}

# FUNGSI 5 : bloking akun VPN over quota (hasil kalkulasi di fungsi 3) # #/bin/chmod 700 /root/block.sh

#/root/block.sh

(5)

Sementara untuk reverse proxy (proxy untuk akses dari luar/internet ke

dalam/intranet) dapat menggunakan aplikasi squid yg sama hanya dengan file

konfigurasi yang berbeda. Squid yg dipekerjakan sbg reverse proxy sering disebut

dengan Squid-Accellerator. Disarankan untuk

tidak

menjalankan

squid-accellerator pada server yg sama dimana squid juga berjalan (berdasarkan

pengalaman, salah satu squid akan di-shutdown)

Referensi

Dokumen terkait

chitosan adalah salah satu bahan yang bisa digunakan untuk pelapisan buah, yang. merupakan polisakarida berasal dari limbah kulit udang, kepiting, dan

Sdang teori yang baru cenderung menyatakan waktu penyebarannya terjadi pada abad ke-7, asal ajarannya terdapat dua perbedaan pendapat yaitu berasal dari Gujarat dan Timur

Bahan-bahan utama yang diperlukan dalam pembuatan es krim antara lain lemak, susu, gula, atau bahan pemanis, bahan padat bukan lemak, zat penstabil dari kuning

Dalam kaitan dengan kecepatan, jaringan nirkabel tidaklah tepat diterapkan dalam distributor atau sebagai inti dalam jaringan.Tentu saja, dalam jaringan kecil, mungkin tidak

Hasil penelitian bahwa Kompetensi Guru dalam Mengelola Pembelajaran Qur’an Hadis kelas X di Madrasah Aliyah Wathoniyah Islamiyah Kebarongan Kemranjen Banyumas terhadap

berpengaruh secara signifikan terhadap variabel dependen (Y). Atau untuk mengetahui apakah model regresi dapat digunakan untuk memprediksi variabel dependen atau tidak.

Sementara jumlah penduduk miskin tahun sebelumnya berpengaruh nyata dalam meningkatkan angka kemiskinan, sementara belanja sosial berpengaruh positif namun tidak

Senyawa alelokimia pada ekstrak daun sembung rambat sudah mampu memberikan pengaruh menghambat berat basah maman ungu pada konsentrasi yang rendah (Tabel 5.),