Selasa, 15 September 2009

Install Proxy Server di ubuntu 8.04


Kali ini saya sedikit menjelaskan tentang cara install proxy server di ubuntu 8.04.


PC Router di Ubuntu 8.04
Sebelum kita menginstall Proxy server, langkah pertama adalah kita harus mengaktifkan fungsi PC Router di mesin ubuntu, berikut langkahnya :
eth0 : 202.162.220.10/29 ( IP dari ISP/WAN )
eth1 : 192.168.2.1/24 ( IP LAN Office )
Rubah nilai /etc/sysctl.conf :
# vim /etc/sysctl.conf ———>> selanjutnya cari tulisan #net.ipv4.conf.default.forwarding=1 dan hilangkan tanda pagarnya sehingga menjadi net.ipv4.conf.default.forwarding=1
# echo “1″ > /proc/sys/net/ipv4/ip_forward
Kemudian kita buat aturan routingnya :
# /sbin/iptables -t nat -A POSTROUTING -s 192.168.2.0/255.255.255.0 -d 0/0 -j MASQUERADE
Amankan server dari serangan virus :
# /sbin/iptables -A FORWARD -p tcp –dport 135:139 -o eth0 -j DROP
# /sbin/iptables -A FORWARD -p udp –dport 135:139 -o eth0 -j DROP
# /sbin/iptables -A OUTPUT -p tcp –sport 135:139 -o eth0 -j DROP
# /sbin/iptables -A OUTPUT -p udp –sport 135:139 -o eth0 -j DROP

Masukkan aturan yang telah kita buat tadi di startup :
# vim /etc/rc.local
Delete exit=0 dan masukkan script berikut :
Masukkan script berikut dengan menekan huruf i :
echo “1″ > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -s 192.168.2.0/255.255.255.0 -d 0/0 -j MASQUERADE
/sbin/iptables -A FORWARD -p tcp –dport 135:139 -o eth0 -j DROP
/sbin/iptables -A FORWARD -p udp –dport 135:139 -o eth0 -j DROP
/sbin/iptables -A OUTPUT -p tcp –sport 135:139 -o eth0 -j DROP
/sbin/iptables -A OUTPUT -p udp –sport 135:139 -o eth0 -j DROP

Berakhir disini dan simpan script dengan menekan :wq dan enter .
Finally, PC Router sudah siap digunakan dan saatnya untuk memfungsikan PC Router tersebut sebagai Proxy Server.
Ok, berikut step-by-step untuk install SQUID di ubuntu 8.04

Install SQUID sebagai Proxy Server di Ubuntu 8.04 :

Langkah pertama untuk install squid sebagai proxy server adalah kita harus mengunduh paket squid dari internet, langkahnya sebagai berikut :
# apt-get install squid
Jika paket sudah kita unduh, maka selanjutnya kita harus mengedit konfigurasi di folder /etc/squid/squid.conf sesuai kebutuhan management network office kita. Sebelum kita mengedit /etc/squid/squid.conf sebaiknya kita backup dulu file konfigurasi originalnya, hal ini bertujuan agar sewaktu-waktu jika kita membutuhkan file originalnya, maka kita tinggal memanggil file tersebut. Berikut langkahnya :
# mv /etc/squid/squid.conf /etc/squid/squid.conf_original
Jika kita sudah membackup file /etc/squid/squid.conf, maka saatnya kita mengedit file /etc/squid/squid.conf sesuai kebutuhan management network office kita, berikut langkahnya dan silahkan sesuaikan dengan kebutuhan network anda semua :
# vim /etc/squid/squid.conf
—– Silahkan masukkan script berikut dengan menekan huruf i —–
# WELCOME TO SQUID 2.6 STABLE18
# Author by http://chmod09.blogspot.com
# ———————————

# OPTION NETWORK
# ————————
http_port 3128 transparent
icp_port 3130
udp_incoming_address 0.0.0.0
udp_outgoing_address 255.255.255.255

# OPTION CACHE SIZE
# ————————–
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

cache_mem 64 MB
cache_swap_low 90 %
cache_swap_high 95 %

connect_timeout 1 minutes
negative_ttl 5 minutes
read_timeout 15 minutes
request_timeout 5 minutes
persistent_request_timeout 1 minutes
client_lifetime 5 day
pconn_timeout 120 seconds
shutdown_lifetime 30 seconds

maximum_object_size 20480 KB
minimum_object_size 0 KB
maximum_object_size_in_memory 4096 KB

ipcache_size 1024
ipcache_low 90
ipcache_high 95

fqdncache_size 1024
cache_replacement_policy lru
memory_replacement_policy lru

# DIREKTORI LOG AND CACHE
# —————————————-
cache_dir ufs /var/spool/squid 15000 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
log_ip_on_direct on
debug_options ALL,1
client_netmask 255.255.255.255

ftp_user Squid@
ftp_list_width 32
ftp_passive on
ftp_sanitycheck on
ftp_telnet_protocol on
redirect_children 10

auth_param basic children 10
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

# TUNING CACHE PROXY
# ———————————-
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
quick_abort_min 16 KB
quick_abort_max 16 KB
quick_abort_pct 95

# ACCESS CONTROL LIST LAN OFFICE
# ————————-

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 dst 127.0.0.0/8
acl SSL_ports port 443 563 6667 7000
acl Safe_ports port 80
acl Safe_ports port 81
acl Safe_ports port 21
acl Safe_ports port 443 563
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777 110
acl Safe_ports port 4461
acl Safe_ports port 5050
acl CONNECT method CONNECT

# DAFTAR IP LAN OFFICE
http_access allow manager localhost
acl staff_internet src 192.168.2.220-192.168.2.230/255.255.255.255
acl staff_custom src 192.168.2.231-192.168.2.248/255.255.255.255
acl staff_email src 192.168.2.1-192.168.2.219/255.255.255.255
acl staff_email1 src 192.168.2.250-192.168.2.254/255.255.255.255

# DAFTAR BLACKLIST SITUS ( FILTER ) dan HAK AKSES INTERNET USER
acl noblacklist dstdomain “/etc/squid/blacklist/domain-noblacklist.txt”
http_access allow noblacklist staff_custom
http_access allow staff_internet
http_access deny staff_email
http_access deny staff_email1

http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all
http_reply_access allow all
icp_access allow all
miss_access allow all
cache_mgr chmod09
visible_hostname http://chmod09.blogspot.com
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

—- Berakhir disini dan silahkan simpan dengan menekan :wq dan Enter—–
Keterangan data acl di atas :
acl staff_internet : user yang boleh internet dan email secara bebas .
acl staff_custom : user yang bisa mengakses internet namun hanya alamat tertentu yang tercantum pada folder /etc/squid/blacklist/domain-noblacklist.txt .
acl staff_email : User yang hanya bisa menarik email saja
acl staff_email1 : User yang hanya bisa menarik email saja

Sebelum menjalankan Script SQUID di atas, maka kita harus membuat aturan main di folder /etc/squid/blacklist/domain-noblacklist.txt, langkahnya sebagai berikut :
# mkdir /etc/squid/blacklist
# cd /etc/squid/blacklist
# vim domain-noblacklist.txt
— Silahkan masukkan alamat web yang hanya boleh dikunjungi oleh acl staff_custom dengan menekan huruf i ( disini hanya contoh saja, silahkan sesuaikan dengan kebutuhan network anda dan perhatikan aturan penulisannya, yaitu dimulai dengan tanda titik) —
.yahoo.com
.detik.com
.lippobank.com
.pajak.go.id


— Berakhir disini dan silahkan simpan dengan menekan :wq dan Enter —
Langkah selanjutnya adalah kita harus membelokkan port 80 user ke port proxy yaitu 8080, langkahnya sebagai berikut :

# /sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j REDIRECT –to-ports 8080
# /sbin/iptables -t nat -A PREROUTING -i eth1 -p udp –dport 80 -j REDIRECT –to-ports 8080

Jangan lupa buka juga port 25 agar receive dan send email tdk problem :
#/sbin/iptables -A FORWARD -p tcp –dport 25 -o eth0 -j ACCEPT
#/sbin/iptables -A FORWARD -p udp –dport 25 -o eth0 -j ACCEPT

Jika port 80 user sudah kita arahkan ke port 8080, selanjutanya kita harus menyimpan script diatas di folder /etc/rc.local, berikut langkahnya :
#vim /etc/rc.local

— Dengan menekan huruf i tambahkan script berikut dibagian paling bawah —
/sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j REDIRECT –to-ports 8080
/sbin/iptables -t nat -A PREROUTING -i eth1 -p udp –dport 80 -j REDIRECT –to-ports 8080

/sbin/iptables -A FORWARD -p tcp –dport 25 -o eth0 -j ACCEPT
/sbin/iptables -A FORWARD -p udp –dport 25 -o eth0 -j ACCEPT

— Berakhir disini dan silahkan simpan dengan menekan :wq dan Enter —
Akhirnya selesai sudah Setup proxy servernya, silahkan reboot PC Server anda dan Proxy Server sudah siap untuk digunakan sebagaimana fungsinya. Untuk restart silahkan jalankan perintah berikut :
# reboot

Semoga bermanfaat... Terima kasih.

Tidak ada komentar:

Poskan Komentar