Cara mudah install squid proxy pada server Debian

Proxy server adalah sebuah server yang bertindak sebagai perantara antara komputer klien dengan server yang ditujunya.

Beberapa kelebihan terkoneksi ke Internet menggunakan proxy server adalah:

  • Untuk menyembunyikan alamat IP komputer klien
  • Untuk mempercepat koneksi Internet, karena proxy server mengunakan teknik caching.
  • Untuk menghemat bandwidth dan mencegah download file yang sama berulang-ulang.
  • Untuk mengaudit penggunaan Internet (berguna bagi perusahaan yang ingin memonitor kinerja karyawan)
  • Untuk melakukan memindai file yang diakses dari serangan malware/virus
  • Untuk melakukan memindai trafik keluar (menghindari pencurian data)
  • Untuk memblokir situs
  • Untuk mengakses situs yang diblokir oleh ISP/Kantor/Sekolah, dll.
  • Untuk membypass parental control
  • dan masih banyak lagi benefit penggunaan proxy server.

Buat apa membuat private proxy server jika kita bisa menggunakan free/open proxy server? Penggunaan free atau open proxy server bisa berbahaya bagi anda. Coba anda bayangkan jika open proxy server yang anda gunakan melakukan log semua aktifitas browsing anda? Pemilik open proxy server tersebut dengan mudah dapat mengetahui situs apa saja yang anda kunjungi, file apa yang anda download, bahkan yang ekstrem adalah pemilik proxy server dapat pula mengetahui username & password dari situs yang anda login.

Instalasi private proxy server menggunakan Squid hanya membutuhkan waktu 5 menit, dan tidak perlu menjadi Linux experts, bahkan bagi pemula pun bisa. Untuk hardware, VPS dengan 128 MB menggunakan OS Debian 32 bit sudah bisa dipakai. Baik VPS berbasis OpenVZ, Xen ataupun KVM bisa anda gunakan. Jika anda memiliki budget lebih, anda baiknya anda memilih VPS dengan RAM besar dan hardisk SSD.

 

Sebelum memulai instalasi, saya asumsikan anda sudah memiliki VPS dengan OS Debian 6 ataupun 7 (fresh installation, 32 bit/64 bit).

  1. Langkah pertama, kita akan update dulu package list & kemudian melakukan upgrade package. Ketikkan perintah:
    apt-get update && apt-get upgrade
  2. Kemudian kita akan install Squid, dengan perintah:
    apt-get install squid
  3. Karena kita akan menggunakan modul NCSA untuk sistem authentikasi (login), maka kita harus install apache2-utils agar kita bisa menggunakan perintah htpasswd untuk membuat username & password. ketikkan perintah:
    apt-get install apache2-utils
  4. Selanjutnya kita akan membuat username & password agar kita bisa menggunakan proxy server ini, masukkan perintah:
     htpasswd -c /etc/squid/passwd test123

    NOTE: ganti test123 dengan username yang anda inginkan.
    Kemudian akan diminta memasukkan password yang dikehendaki.

  5. Agar squid bisa membaca file passwd yang barusan anda buat, ketikkan perintah:
    chmod o+r /etc/squid/passwd
  6. Selanjutnya kita akan memeriksa lokasi ncsa_auth dengan perintah:
    dpkg -L squid | grep ncsa_auth

    Output perintah diatas akan muncul lokasi ncsa_auth yang biasanya adalah /usr/lib/squid/ncsa_auth

  7. Berikutnya kita akan melakukan konfigurasi file squid.conf sesuai dengan kebutuhan kita. Backup dulu default squid.conf dengan perintah:
    mv /etc/squid/squid.conf /etc/squid/squid.conf.old
  8. Kita buat file squid.conf baru dengan perintah:
    nano /etc/squid/squid.conf

    dan masukkan konfigurasi berikut:

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd

auth_param basic children 5

auth_param basic realm Squid proxy-caching web server

auth_param basic credentialsttl 2 hours

auth_param basic casesensitive off

 

acl all src all

acl manager proto cache_object

acl localhost src 127.0.0.1/32

acl to_localhost dst 127.0.0.0/8 0.0.0.0/32

acl ncsa_users proxy_auth REQUIRED

 

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         # http-mgmt

acl Safe_ports port 488         # gss-http

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

 

http_access allow manager localhost

http_access deny manager

http_access allow purge localhost

http_access deny purge

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

http_access allow localhost

http_access allow ncsa_users

http_access deny all

 

icp_access deny all

http_port 3128

hierarchy_stoplist cgi-bin ?

cache_dir ufs /var/spool/squid 1000 16 256

access_log /var/log/squid/access.log squid

refresh_pattern ^ftp:           1440    20%     10080

refresh_pattern ^gopher:        1440    0%      1440

refresh_pattern -i (/cgi-bin/|\?) 0     0%      0

refresh_pattern (Release|Packages(.gz)*)$       0       20%     2880

refresh_pattern .               0       20%     4320

acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]

upgrade_http0.9 deny shoutcast

acl apache rep_header Server ^Apache

broken_vary_encoding allow apache

extension_methods REPORT MERGE MKACTIVITY CHECKOUT

dns_nameservers 8.8.8.8 8.8.4.4

hosts_file /etc/hosts

coredump_dir /var/spool/squid

  1. Restart squid dengan perintah:
    /etc/init.d/squid restart
  2. Done! Private proxy server anda sudah siap digunakan.
  3. Untuk memeriksa apakah Squid sudah berjalan di server kita, ketikkan perintah:
    netstat -pln | grep squid

    Dan jika keluar output seperti dibawah ini, berarti Squid sudah berjalan dengan baik.

    tcp        0      0 0.0.0.0:3128            0.0.0.0:*               LISTEN      2594/(squid)
    udp        0      0 0.0.0.0:3130            0.0.0.0:*                           2594/(squid)
    udp        0      0 0.0.0.0:44716           0.0.0.0:*                           2594/(squid)