• RSS
  • Facebook
  • Twitter

Welcome To All New altertek.net

Rabu, 08 Februari 2012

Troubleshoot Terhadap Proxy Server Berbasis Squid


Squid memang cukup tangguh untuk proxy server apalagi dipadukan dengan Sistem Operasi Linux. Akan tetapi masih tetap ada beberapa ancaman yang menyerang squid baik itu berupa cara manual ataupun menggunakan tool-tool tertentu, berikut beberapa macam ancaman tersebut:


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

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


Jalankan IDM


Klik Download - Option - proxy


Checklist Proxy - Get From IE


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

Sumber

Namun tetap saja tidak berlaku untuk trasparent Squid. Mungkin baru itu saja yang saya ketahui, nanti saya update

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.


4. Squid Tidak Startup otomatis

Admin pasti akan merasa repot bila harus selelu menjalankan perintah dibawah ini ketika server di restart.


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

service squid start



Untuk mengatasinya khusus Fedora 16, mungkin dapat diterapkan di Distro lain, ikuti langkah-langkah berikut:

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

Enable Squid Automatically Startup


Jalankan Perintah Berikut:


chkconfig squid on

atau

chkconfig --level 345 squid on

Hari ke Delapan

Lanjut pada hari kedelapan saya mencoba share dengan beberapa client dengan menggunakan switch 5 Port, jadi saya bisa share ke 4 Client. Adapun Merk switch yang digunakan adalah Blue Link BL-S95


Hasilnya dengan transparent Proxy, Beberepa situs yang ada di akses list dapat terblock.

Akhirnya konfigurasi squid kami hingga seperti ini:



Ingat ketika Computer Restart maka harus masuk terminal untuk mengatur IPtables kembali dan konfigurasi squid.


Mempermudah konfigurasi Squid

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.

Untuk pengaturan proxy squid, perhatikan pada tab Server, lalu Klik Squid Proxy Server.


Setelah melakukan percobaan ada sedikit delay, ketika Stop dan Start Squid, lalu seringnya gagal merubah IPtables sehingga harus dikonfigurasi secara manual via Root Nautilus.


SARG


Sedangkan 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





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

Jika sudah, logout kemudian relogin, maka sarg sudaqh berada di tab server.
Sekarang anda dapat mengatur sarg.conf secara gui webased. Saya sendiri squid.conf seperti gambar diatas.




Penjadwalan pada SARG

sarg juga mempunyai fitur penjadwalan secara otomatis, jadi kita tidak harus ketik command secara manual, dapat dilihat di Menu Scheduled Report Generator,  Klik Enabled Schedule


Generated Report SARG
Sekarang anda dapat generated SARG dengan mudah ,hanya klik Generated Report


Melihat Hasil Generated Report

Untuk melihat anda hanya klik View Generated Report, maka akan terpampang IP yang ingin anda lihat, dan mengakses situs ap saja dan IP berapa saja.



Nb: Namun ada bug pada sarg jika melihat file disertakan tanda slash "/" jadi akan report error ketika membuka report file, namun dapat di tanggulanggi dengan copy paste address dan hilangkan tanda "/"

Akan tetapi ada notifikasi error kembali, namun jangan khawatir ada cara untuk membukanya:





Solusi 2 SARG


Karena saya masih penasaran dengan SARG, akhirnya saya berinisiatif untuk reinstall sarg, akan tetapi ketika saya jalankan perintah yum remove sarg, file tersebut tidak ada, akhirnya saya mencoba menghapus secara manual.

Folder-folder yang dihapus antara lain:
/etc/sarg
/usr/share/sarg/
/tmp/sarg/


Setelah berhasil terhapus saya install kembali, dan konfigurasi di webmin, lagi-lagi terdapat error, yakni untuk font, seperti gambar dibawah ini:




Untuk mengatasinya akhirnya saya copy-paste secara manual dari folder /etc/sarg/font/ ke /usr/share/sarg/font. Akhirnya saya dapat generated report tanpa error sedikit pun:





Ternyata install SARG di Fedora tidak semudah install di Ubuntu, untuk generated report anda juga dapat melalui terminal dengan perintah:

su


sarg

atau

su

sarg -l /var/log/squid/access.log


Remote Server Via Team Viewer

Berbeda dengan VNC Remote server bawaan Fedora, Remote server yang satu ini dapat dijalankan hampir di semua OS (Windows, Linux, Mac). Untuk versi windows ada versi portable jadi tidak harus diinstall. Team Viewer hampir mirip dengan PIN Black Berry, dimana satu device hanya mempunyai 1 ID, sedangkan password dapat berubah-ubah secara berkala.

Saya sendiri menggunakannya untuk Remote Proxy Server, dimana saya menggunaka OS Windows untuk remote Fedora.

Berikut cara penggunaanya installl Team Viewer yang ingin dijadikan Server dan Client


  • Jalankan Team Viewer
  • Lihat Username dan Password Komputer yang ingin di Remote
  • Masukkan Username dan Password yang ingin di Remote
  • Klik Connect to partner.

Kelebihan Team Viewer dibanding VNC ialah dia tidak perlu settingan khusus untuk Firewall. Hal ini dapat memudahkan saya membangun Proxy server, Hanya dengan mengoperasikan 1 Komputer.

0 komentar:

Posting Komentar