Squit Dan Installasi - Squid
adalah
salah satu aplikasi proxy server yang memiliki fitur lengkap. Dengan
menggunakan squid dapat dicapai beberapa tujuan pembangunan proxy server ini
yaitu :
1. Akses
ke halaman website/situs
Yang
sering dibuka user/client menjadi lebih cepat, karena telah disimpan di dalam
cache proxy.
2. Blok
akses ke situs/halaman
Website
tertentu yang dianggap mengganggu kinerja pegawai.
3. Bandwith
management
Memberikan
kemudahan dalam pengalokasian pemakaian bandwith untuk jaringan di kantor.
4. Pembatasan
penggunaan internet
Sehingga
hanya user/client tertentu dan pada waktu tertentu yang dapat mengakses
internet.
5. Monitoring
traffic jaringan
Aktivitas client
yang mengakses internet di dalam jaringan dapat dilihat.
Proxy server adalah
salah satu solusi yang dapat digunakan untuk mengimplementasikan sistem
pengamanan dalam jaringan komputer local, sistem keamanan yang kuat agar
keamanan dan kenyamanan dalam lalu lintas paket data dan informasi menjadi
lebih terjamin.
Dengan adanya
proxy server yang menjembatani proses komunikasi dan akses antara jaringan
lokal dengan jaringan internet maka tidak perlu ada kekhawatiran di kalangan user
Kementerian Kelautan dan Perikanan yang melakukan proses pengaksesan data
dan informasi.
Tujuan
Dari Pembangunan Proxy Server Ini Adalah :
1. Keamanan dalam pengaksesan data dan informasi melalui jaringan
internet
2. Akses internet menjadi lebih cepat dan efisien
3. Dapat membatasi akses ke halaman web tertentu yang dianggap
mengganggu kinerja pegawai dan tidak sesuai dengan kebutuhan kantor
4. Penggunaan bandwith internet dapat dikendalikan, sehingga
memberikan kenyamanan dan efisiensi saat mengakses internet
5. Dapat mengurangi beban di web server
6. Membatasi pengguna internet, karena hanya pengguna yang legal dan
sudah memiliki izin yang dapat mengakses internet dan informasi di dalam area
jaringan tertentu.
Konsep Proxy Secara
umum Proxy dapat dipahami sebagai pihak ketiga yang berdiri ditengah-tengah
antara kedua pihak yang saling berhubungan. Proxy berperan sebagai perantara, sedemikian
sehingga pihak pertama dan pihak kedua tidak secara langsung berhubungan, akan
tetapi masing-masing berhubungan melalui perantara, yaitu Proxy. Dalam jaringan komputer Proxy memiliki 3 fungsi utama :
1. Connection Sharing
2. Filtering
3. Caching
Dengan adanya
Proxy Server ini, maka dapat diperoleh beberapa keuntungan :
1. Cache Proxy.
Akses ke halaman website/situs yang sering kita buka menjadi lebih
cepat, karena telah disimpan di dalam cache proxy
2. Autentifikasi pengguna/client
3. Blok akses ke situs/halaman website tertentu
4. Bandwith management
5. Memberikan kemudahan dalam pengalokasian pemakaian bandwith untuk
jaringan
6. Pembatasan penggunaan internet
Misal hanya user/client tertentu dan pada waktu tertentu yang
dapat mengakses internet
7. Monitoring traffic jaringan
Aktivitas client yang mengakses internet di dalam jaringan
dapat dilihat.
# ========================#
# PORT KONEKSI
# ========================#
http_port 3128 transparent icp_port 0
#
========================================================= #
# OPTIONS WHICH AFFECT THE CACHE SIZE
#
========================================================= #
# Ukuran memori (RAM) yang digunakan untuk
meng-cache obyek.
#==========================================================
#
cache_mem 64 MB
# Ukuran maksimum obyek yg di-cache ke
Harddisk & Memory
maximum_object_size 50 MB
maximum_object_size_in_memory
128 KB
# Untuk mengatur agar squid selalu berusaha
menyimpan obyek
# dalam memory
# Jika cache_mem sudah penuh, data akan
di-swap ke harddisk
cache_swap_low 98%
cache_swap_high 99%
# Metode swapping data dari memory ke cache
harddisk
# LFUDA = squid akan men-cache obyek2
berukuran besar
# GDSF = men-cache obyek2 kecil secara
progressif
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF
# ==========================================#
# DIREKTORI LOG DAN CACHE
# ==========================================#
cache_dir aufs /var/spool/squid 10000 16 256
access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log squid
cache_store_log none
# Daftar mime squid. Agar proses filtering
obyek lebih cepat
mime_table /usr/share/squid/mime.conf
#
========================================================== #
# HIERARCHY STOPLIST
# Daftar kata2 yg jika ditemukan dalam sebuah
URL, menyebabkan
# obyek akan ditangani langsung oleh squid.
#
========================================================== #
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
# ==============================================
#
# DAFTAR AKSES KONTROL
# ==============================================
#
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl lan src 192.168.17.0/255.255.255.0
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
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 # httpmgmt
acl Safe_ports port 488 # gsshttp
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
#
============================================== #
# PEMBATASAN AKSES
#
============================================== #
acl waktu_boleh time MTWHFA 08:00-19:00
acl domain_dilarang dstdomain
"/etc/squid/daftar_domain_dilarang"
acl url_dilarang url_regex -i "/etc/squid/daftar_url_dilarang"
acl dilarang_download time MTWHFA 08:00-12:00
acl x_file url_regex -i ftp .mp3 .mp4 .mpg
.mpeg .avi .wmv
.mkv .wav .3gp .dat .iso .exe .zip .rar
acl bebas_download time MTWHFA 15:00-19:00
# ===========================================
#
delay_pools 2
delay_class 1 2
delay_parameters 1 -1/-1 64000/80000
delay_access 1 allow !bebas_download
delay_access 1 deny all
delay_class 2 2
delay_parameters 2 -1/-1 2048000/3072000
delay_access 2 allow bebas_download
delay_access 2 deny all
#
============================================== #
# AKSES INTERNET
# ==============================================
#
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny !waktu_boleh
http_access deny domain_dilarang
http_access deny url_dilarang
http_access allow lan
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access allow localhost
http_reply_access allow all
icp_access allow all
# ========================= #
# Membatasi Download File
# ========================= #
#Tolak download jika file lebih besar dari
5MB=5000x1024 byte
# = 5120000 byte
reply_body_max_size 5120000 allow x_file
!dilarang_download
#======================================================$
# Transparent proxy setting
#======================================================$
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
#httpd_accel_no_pmtu_disc on
httpd_accel_single_host off
half_closed_clients off
forwarded_for off
header_access From deny all
extension_methods SEARCH
##########
client_db off
strip_query_terms off
icon_directory /usr/share/squid/icons
error_directory /usr/share/squid/errors/English
snmp_incoming_address 0.0.0.0
snmp_outgoing_address 255.255.255.255
# Transparent proxy setting
#======================================================$
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
#httpd_accel_no_pmtu_disc on
httpd_accel_single_host off
half_closed_clients off
forwarded_for off
header_access From deny all
extension_methods SEARCH
##########
client_db off
strip_query_terms off
icon_directory /usr/share/squid/icons
error_directory /usr/share/squid/errors/English
snmp_incoming_address 0.0.0.0
snmp_outgoing_address 255.255.255.255
# ========================= #
# Monitoring cachemgr.cgi
# ========================= #
cachemgr_passwd yusrizal all
#
=============================================== #
# TUNING CACHE PROXY
# ===============================================
#
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
#
============================================= #
# ADMINISTRATIVE PARAMETERS
# =============================================
#
cache_mgr admin@dkp.co.id
cache_effective_user squid
cache_effective_group squid
visible_hostname proxy7.dkp.go.id
#==============================#
# PESAN ERROR BAHASA INDONESIA
#==============================#
error_directory /usr/share/squid/errors/id
Membuat Struktur Direktori Cache
root@ihya-desktop:/# squid -z
2010/06/14 07:56:37| Squid is already
running! Process ID 1255
Menjalankan Squid
root@ihya-desktop:/# /etc/init.d/squid
restart
* Restarting Squid HTTP proxy squid [OK]
Karena yang akan
dibuat adalah transparent proxy maka perlu dilakukan beberapa konfigurasi
tambahan :
Mengaktifkan
ip_forwarding
root@ihya-desktop:/# echo 1 >
/proc/sys/net/ipv4/ip_forward
atau dengan meng-edit file /etc/sysctl.conf
root@ihya-desktop:/# nano /etc/sysctl.conf
kemudian hilangkan
tanda “#” yang ada di depan parameter “net.ipv4.ip_forward=1”.
Menjalankan Iptables Masquerade Untuk Menjadikan Proxy Server
Berperan Sebagai PC Router
root@ihya-desktop:/# iptables –t nat –A
POSTROUTING –o
eth0 –j MASQUERADE
Diasumsikan bahwa
“eth0” adalah ethernet card yang terhubung ke jaringan Internet. Dan IP
diperoleh secara DHCP. Kemudian
melakukan pengalihan port 80 ke port 3128 agar menjadi transparent proxy.
Login
super user:
sudo
su >> passwor root
Dependency:
sudo
apt-get update
sudo
apt-get install squid squidclient squid-cgi
sudo
apt-get install gcc
sudo
apt-get install build-essential
sudo
apt-get install sharutils
sudo
apt-get install ccze
sudo
apt-get install libzip-dev
instal squid3:
sudo
apt-get install squid3
buat directory /cache:
mkdir /cache
set permision pada direktory /cache:
chown proxy:proxy /cache
chmod 777 /cache
chmod 777 /cache
Pembuatan file
akses list.
touch /etc/squid3/porn
touch /etc/squid3/noporn
touch /etc/squid3/blockeddomains
Isi file akses
list.
Gedit /etc/squid3/porn
Gedit /etc/squid3/noporn
Gedit /etc/squid3/blockeddomains
stop squid:
sudo /etc/init.d/squid3 stop
backup file squid.conf:
cp /etc/squid3/squid.conf squid.conf.bak
edit konfigurasi :
gedit /etc/squid3/squid.conf
Konfigurasi Squid
#Hostname yang
bias dihubungi.
visible_hostname
google.com
# Proxy Port dan
transparansi port.
http_port
3128 transparent
# Akses Kontrol.
acl
all src 0.0.0.0/0.0.0.0
acl
manager proto cache_object
acl
localhost src 127.0.0.1/255.255.255.255
#acl
to_localhost src 127.0.0.0/8
# LAN
acl
lan src 192.168.1.1-192.168.1.20/255.255.255.255
#List Port yang
digunakan
acl
SSL_ports port 443 # https
acl
SSL_ports port 563 2083 2087 2096 4081 6667 7000 # snews
acl
Safe_ports port 80 # http
acl
Safe_ports port 81
acl
Safe_ports port 21 # ftp
acl
Safe_ports port 443 #
https
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 110 #
multiling http
acl
Safe_ports port 631 # cups
acl
Safe_ports port 873 # rsync
acl
Safe_ports port 901 # SWAT
acl
Safe_ports port 4461
acl
Safe_ports port 5050
acl
CONNECT method CONNECT
# Izin Koneksi.
http_access
allow lan
http_access
allow localhost
http_reply_access
allow all
http_access
deny all
# Untuk safe
port.
http_access
deny !Safe_ports
http_access
deny CONNECT !SSL_ports
# Izin request
untuk LAN yg sudah di definisikan.
http_reply_access
allow lan
http_reply_access
allow localhost
http_reply_access
deny all
# Izin dari port
ICP.
icp_access
allow lan
icp_access
allow localhost
#miss_access
allow all
icp_access
deny all
# Setting Cache.
cache_mem
32 MB
maximum_object_size_in_memory
32 KB
cache_replacement_policy
heap LFUDA
cache_dir
aufs /var/spool/squid 5000 16 256
maximum_object_size
128 MB
cache_swap_low
97
cache_swap_high
99
# Blocking situs
dan lain-lain.
acl
porn urlpath_regex -i "/etc/squid3/porn"
acl
noporn urlpath_regex -i "/etc/squid3/noporn"
http_access
deny porn !noporn
acl
blockeddomain dstdomain "/etc/squid3/blockeddomains "
http_access
deny blockeddomain
#Larangan semua
blocked extension.
deny_info
ERR_BLOCKED_FILES porn
deny_info
ERR_BLOCKED_FILES blockeddomain
http_access
deny porn
# SNMP
logfile_rotate
10
buffered_logs
off
snmp_port
3401
snmp_access
allow localhost
snmp_access
deny all
snmp_access
deny all
coredump_dir
/var/spool/squid
ie_refresh
on
#Log dari squid.
cache_access_log
/var/log/squid/access.log
cache_log
/var/log/squid/cache.log
cache_store_log
/var/log/squid/store.log
#squid
cache_log none
cache_store_log
none
pid_filename
/var/run/squid.pid
debug_options
ALL,1
log_fqdn
off
quick_abort_min
0 KB
quick_abort_max
0 KB
quick_abort_pct
95
range_offset_limit
0 KB
client_lifetime
7 day
half_closed_clients
off
shutdown_lifetime
10 second
cache_mgr
denyhostscheck@gmail.com
cache_effective_user
proxy
query_icmp
on
hosts_file
/etc/hosts
ipcache_size
2048
ipcache_low
97
ipcache_high
99
memory_pools
off
forwarded_for
on
reload_into_ims
on
coredump_dir
/var/spool/squid
pipeline_prefetch
on
##Waktu yang di
batasi untuk download.
acl
FOO src 192.168.1.1-192.168.1.20/255.255.255.255
acl
WORKING time SMTWHFA 07:00-17:00
http_access
allow FOO WORKING
http_access
deny FOO
#
Daftar file yang di batasi bandwithnya pada waktu download.
acl
download url_regex -i ftp \.exe$ \.mp3$ \.mp4$ \.tar.gz$ \.gz$ \.tar.bz2$
\.rpm$ \.zip$ \.rar$
acl
download url_regex -i \.avi$ \.mpg$ \.mpeg$ \.rm$ \.iso$ \.wav$ \.mov$ \.dat$
\.mpe$ \.mid$
acl
download url_regex -i \.midi$ \.rmi$ \.wma$ \.wmv$ \.ogg$ \.ogm$ \.m1v$ \.mp2$
\.mpa$ \.wax$
acl
download url_regex -i \.m3u$ \.asx$ \.wpl$ \.wmx$ \.dvr-ms$ \.snd$ \.au$ \.aif$
\.asf$ \.m2v$
acl
download url_regex -i \.m2p$ \.ts$ \.tp$ \.trp$ \.div$ \.divx$ \.mod$ \.vob$ \.aob$
\.dts$
acl
download url_regex -i \.ac3$ \.cda$ \.vro$ \.deb$
##### Tune-up
for bandwith managing #####
redirect_rewrites_host_header
off
cache_replacement_policy
GDSF
log_icp_queries
off
buffered_logs
on
delay_pools
1
delay_class
1 2
delay_access
1 allow lan
#delay_access
1 allow download time
delay_parameters
1 -1/-1 10000/30000
delay_access
1 deny all
Check
terlebih dahulu apakah benar-tidaknya konfigurasi di squid :
sudo squid3 -k parse
Menerapkan
direktori cache :
squid3 -z
Restart squid3 :
sudo /etc/init.d/squid3 restart
Menerapkan aturan iptables:
iptables -t nat -A PREROUTING -i eth0 -p
tcp --dport 80 -j REDIRECT --to-port 3128
Copykan juga ke /etc/rc.local hingga terlihat seperti berikut supaya tidak hilang
sekalipun komputer server di reboot :
sudo gedit /etc/rc.lokal
>>>
ptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port
3128
>>>exit 0
>>>exit 0
Restart
Pengaturan Network
Sudo /etc/init.d/networking restart.