Proxy Server

Assalamualaikum Warohmatullahi Wabarokatuh …

Pagi.. pagi langsung ngeblog πŸ˜€
Setelah sebelumnya ngebuat PC Router, nampaknya kurang lengkap klo nda nyertain proxy server didalamnya. Masalahnya klo nda disertain dengan proxy server, brarti sama aja dengan PC Router lama yang ada disini. Lagipula dengan adanya proxy server, masalah “kekurangan bandwidth” semakin berkurang. Karenaaaaaa ….

Proxy merupakan server yang bertugas menyimpan cache. Cache adalah suatu cara penyimpanan sementara yang berguna untuk mempercepat transmisi data oleh server.

    Proxy Server berfungsi untuk :

  • Melakukan cache website yang di akses oleh client
  • Melakukan ACL (Access Control List) IP mana saja yang boleh melakukan akses internet
  • Memblokir situs-situs tertentu supaya tidak dapat diakses client
  • Melakukan pembatasan download terhadap file berekstension tertentu

Software yang kita pakai untuk menjalankan proses Proxy Server adalah squid. Untuk data pada proses installasi dan konfigurasinya harap disesuaikan ajah .. yah .. yah .. yah … πŸ™‚

Installasi
Untuk proses installasi kita akan menggunakan squid yang telah register oleh ubuntu. Package yang telah diregister atau telah ada versi ubuntunya ditandai oleh tanda simbol ubuntu atau pada nama package terdapat tulisan ubuntu.

Klik pada panel System->Administration->Synaptic Package Manager; Pada jendela Synaptic Package Manager pilih menu “Edit” lalu “Search…“. Muncul jendela Find, pada bagian “Search:” masukan tulisan “squid” lalu klik tombol “Search” atau tekan enter. Setelah muncul semua package yang “Description or Name” nya terdapat tulisan squid, maka check pada package “squid” sehingga muncul pilihan “Mark for installation“. Klik “Mark for installation” setelah itu muncul “Mark additional required changes?“, lalu klik tombol “Mark” atau tekan enter.

Jendela “Mark additional required changes?“, berfungsi untuk menginstall package yang diperlukan oleh package “squid“. Sehingga setelah itu, tercentang package “squid” dan “squid-common“.

Proses selanjutnya yaitu pada jendela Synaptic Package Manager, pilih menu “Edit” lalu klik “Apply Marked Changes“. Muncul jendela “Summary“, uncheck “Download package files only” lalu tekan tombol “Apply” atau tekan enter. Selanjutnya ubuntu akan melakukan proses download dan installing package secara otomatis. Lanjutttt ..

Konfigurasi

  1. Konfigurasi Squid.conf
    File squid.conf berfungsi sebagai pusat konfigurasi squid. File ini terletak pada /etc/squid/squid.conf. Usahakan backup file squid.conf yang lama terlebih dahulu, karena pada file tersebut terdapat pengertian atau arti dari tiap-tiap baris konfigurasi yang akan dipakai. Untuk konfigurasi squid.conf, kita menggunakan contoh yang ada ditabel dibawah. Contoh konfigurasi squid.conf yang ada dibawah ini sudah support snmp dan diperuntukan untuk transparent proxy. SNMP squid digunakan untuk mengcapture aktifitas squid, dan dapat dimunculkan dalam bentuk grapik menggunakan aplikasi MRTG.
    Sebelumnya kita buka terminal terlebih dahulu, lalu gunakan account root yang telah kita ganti password pada sebelumnya. Klik panel Applications->Accecories->Terminal Setelah muncul terminalnya, ketik perintah :

    • su –
    • Password : password_root

    Maka kita sudah masuk ke mode root, dengan ditandai oleh tanda “#” (tanda pagar). Lalu dilanjutkan dengan perintah berikut :

    • cp /etc/squid/squid.conf /etc/squid/squid.conf.orig
    • cat > /etc/squid/squid.conf
      Isikan file tersebut dengan entry-an berikut :

      http_port 3128 transparent
      hierarchy_stoplist cgi-bin ?
      acl QUERY urlpath_regex cgi-bin \?
      cache deny QUERY

      cache_mem 32 MB
      cache_swap_low 90
      cache_swap_high 95
      maximum_object_size 8192 KB
      minimum_object_size 0 KB

      cache_dir ufs /var/spool/squid 5120 16 256
      access_log /var/log/squid/access.log squid
      cache_log /var/log/squid/cache.log
      cache_store_log /var/log/squid/store.log
      mime_table /usr/share/squid/mime.conf
      pid_filename /var/run/squid.pid
      ftp_user proxy@perusahaan.com
      auth_param basic children 5
      auth_param basic realm Squid proxy-caching web server
      auth_param basic credentialsttl 2 hours
      refresh_pattern ^ftp: 1440 20% 10080
      refresh_pattern ^gopher: 1440 0% 1440
      refresh_pattern . 0 20% 4320

      connect_timeout 1 minute
      peer_connect_timeout 30 seconds
      read_timeout 15 minutes
      request_timeout 5 minutes
      persistent_request_timeout 1 minute
      pconn_timeout 120 seconds
      shutdown_lifetime 30 seconds

      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 # 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 deny to_localhost

      ############################
      ## List ACLs #
      ############################
      # List Website and Download
      acl website_boleh url_regex -i “/etc/squid/boleh_squid.lst”
      acl website_blok url_regex -i “/etc/squid/blok_squid.lst”
      acl download url_regex -i \.mp3$
      # List IP
      acl bagian_1 src 10.0.0.11 10.0.0.12 10.0.0.13
      acl bagian_2 src 10.0.0.21 10.0.0.22 10.0.0.23
      acl bagian_3 src 10.0.0.31 10.0.0.32 10.0.0.33
      # List Global IP
      acl global_ip src 10.0.0.0/16
      ############################

      ############################
      ## Allow ACLs – Website #
      ############################
      # Allow Website
      http_access allow website_boleh all
      ############################

      ############################
      ## Deny ACLs – Website #
      ############################
      # Deny Website
      http_access deny website_blok all
      ############################

      ############################
      ## Allow ACLs – Download #
      ############################
      # Allow Download
      http_access allow download bagian_1
      http_access allow download bagian_2
      ############################

      ############################
      ## Deny ACLs – Download #
      ############################
      # Deny Download
      http_access deny download bagian_3
      ############################

      ############################
      ## Allow ACLs – Internet #
      ############################
      # Allow IP
      http_access allow bagian_1
      http_access allow bagian_2
      http_access allow bagian_3
      ############################

      ############################
      ## Deny ACLs – Internet #
      ############################
      # Deny IP
      http_access deny global_ip
      ############################

      http_access allow localhost
      http_access deny all

      http_reply_access allow all
      icp_access allow all
      reply_body_max_size 0 allow all

      cache_mgr proxy@perusahaan.com
      #mail_from admin@perusahaan.com
      #mail_program mail
      cache_effective_user proxy
      cache_effective_group proxy
      visible_hostname router.perusahaan.com

      append_domain .perusahaan.com
      dns_nameservers 127.0.0.1

      logfile_rotate 0
      forwarded_for on
      store_avg_object_size 26 KB
      icon_directory /usr/share/squid/icons
      error_directory /usr/share/squid/errors/English
      coredump_dir /var/spool/squid
      ie_refresh on
      half_closed_clients off

      # MRTG
      snmp_port 3401
      acl SNMPGlobal src 10.0.0.0/16
      acl snmppublic snmp_community public
      snmp_access allow snmppublic SNMPGlobal

      Lalu tekan tombol “ctrl+d” untuk menyimpan.

    Selanjutnya, kita buat file yang berisi dari list website yang bisa diakses. Nama file ini harus sama dengan baris konfigurasi pada squid.conf (“acl website_boleh url_regex -i “/etc/squid/boleh_squid.lst”“). List ini dapat ditambahkan sesuai dengan keinginan dari admin. Harap list ini tidak untuk disalah gunakan.
    Masih pada mode root, dengan ditandai oleh tanda “#” (tanda pagar). Lalu dilanjutkan dengan perintah berikut :

    • pico /etc/squid/boleh_squid.lst
      Isikan file tersebut dengan entry-an berikut :

      #——— web sex keyword ———————
      .*.(fcs04|praline|eroticworld|orion|metasploit|h4ntu|rst.void.ru|mirc|install|download).de
      .*.(theorgy|penthousemag|playboy|1stsex|lolita|sexpix|sexshop|hentai|milf|nudes|mc-nudes|stabbin).*
      .*.(smutland|hustler.onprod|hustler2.onprod|cybervixen|asiansex|homo|h4cky0u|hentai-drawings).*
      ftp.netcom.com/pub/ac/acott
      http://www.tvtoday.de:9600
      #-last update 230605——-new blocked string——–#
      .*.(carolcox|eroticbodies|xxx|myasianmassage|adult).*
      #———–end of new blocked string —————#
      .*.(carolcox|eroticbodies|xxx|myasianmassage|adult|stream|crack|uh-oh).*
      .*.(cyberlustxxx|cyberporn|intersex).inter.net*
      .*.(eroticxxx|sexy4you|dani|danni|hotsex|kinky|lesbos|porno|xpics).*
      .*.(over21|regsex|sexnet|sextoy|smeggy|sordid).*
      .*.(cybersex|hcabaret|livesex|sex4you|sexmall).*
      .*.(lovesexy|nastysex|pantless|playware|showgirl).*
      .*.(2xxxcite|dreamsex|futuresex|sover21sex|explaza|lesbi|h4ntu|rst.void.ru).*
      .*.(xxxparadise|playbabe|celebnude|greyhawks|sexfinder|xxx-video).*
      .*.(sexaphone|beate-uhse|fantasysex|sexparlor|sexnetwork).*
      .*.(cybervixen|internetsex|silverotica|erotica2000|ultimatexxx).*
      .*.(xxx-rawsex-xxx|amateurs|amateursweb|erotica-toys|orion-erotic).*
      .*.(sexy-jewelry|hollywoodxxx|cybererotica|sexfantasy).*
      .*.(danisherotica|sexy-playmates|nastyhabits|sugarandspice|kathryn).*
      .*.(persiankitty|adultplayground|supernudes|playsex).*
      .*.(pinupmall|porn.byus|smutland|sizzle|heavyhangers).*
      .*.(hardcorjunky|fetish|adultplayhouse|pornpics|asiansex).*
      .*.(hustler|freepics|wetgirls|tropixxx|sex|pixxxcity).*
      .*.(4adultsonly|peepshow|voulezvous|rated-x|69pornplace).*
      .*.(shavedsluts|nudepalace|xxxguide|pics-xxx|naughty|thehotzone).*
      .*.(nervemag|carolcox|snatches|freeporn|playgirlmag|cyberspice|babygotboobs).*
      .*.(erotica|afro-erotica|fuck|rotten|bugil).*
      (teen|girls|xxxpic).*
      (www.sex|pussy.bahnhof).*
      .*.(gay|sex).*
      .*.fun.nl
      .*.(hentaiclubs).*
      http://www.allinternal.com
      http://www.myasianmassage.com
      http://www.playmen.it/
      http://www.gisa.it/sex/
      http://www.iol.it/sexol/
      http://www.juggcash.com/
      http://www.bigtitsatwork.com/
      globall.com/j/xxx/
      http://www.japanese-idols.info/
      http://www.hh.nl/n-m/pic/
      http://www.pi.net/~www.japanese-idols.info
      http://www.oden.se/~hedback/
      aau.diasoft.ru/~hotsex/
      http://www.donsworld.com/xadultx/
      http://www.well.com/user/sexymate/
      tour.babygotboobs.com/t3/
      ftp.zippo.com/pictures/erotica/
      mm.iit.uni-miskolc.hu/Data/ladies/
      drn.zippo.com/zippo-bin/wwwdecode/
      pilot.msu.edu/user/rozwadow/pamela
      whatfungirls.com/

    Lanjutttttttt, kita buat file yang berisi dari list website yang diblok. Nama file ini harus sama dengan baris konfigurasi pada squid.conf (“acl website_blok url_regex -i “/etc/squid/blok_squid.lst”“). Hirarki dari konfigurasi pembacaan website yaitu lebih mengutamakan boleh_squid.lst daripada blok_squid.lst.
    Masih pada mode root, dengan ditandai oleh tanda “#” (tanda pagar). Lalu dilanjutkan dengan perintah berikut :

    • pico /etc/squid/blok_squid.lst
      Isikan file tersebut dengan entry-an berikut :

      .*.(gmail|inbox|yahoo|mail).*

      .*.msexchange.*
      .*.msexcel.*
      .*freetown.*
      .*geek-girls.*
      .*scsext.*
      missingheart
      documen
      button
      wirelessexcite
      msexchange
      msexcel
      aids.lv
      freetown
      geek-girls
      scsext
      steen
      adulteducation
      sekst
      newshits
      glass
      georgia
      peet
      chicag
      speech

    Setelah membuat squid.conf, boleh_squid.lst, blok_squid.lst; Saatnya untuk mencoba semua konfigurasi. Jalankan perintah berikut

    • squid -k parse

    Apabila tidak muncul pesan “error“, maka dapat melanjutkan ke proses selanjutnya. Apabila muncul pesan “error“, maka dicek kembali file konfigurasi sesuai dengan pesan yang muncul.

  2. Konfigurasi Aplikasi
    Secara default, squid akan berada distartup service. Klik panel System->Administration->Services Lalu scroll down hingga menemukan “Proxy cache service (squid)“. Pastikan bahwa service tersebut dalam keadaan aktif atau dicheck (centang).
    Setelah itu, kita akan membuat hirarki cache. Hirarki cache ini sesuai dengan konfigurasi squid.conf (“cache_dir ufs /var/spool/squid 5120 16 256“). Sebelumnya kita buka terminal terlebih dahulu, lalu gunakan account root yang telah kita ganti password pada sebelumnya. Klik panel Applications->Accecories->Terminal Setelah muncul terminalnya, ketik perintah :

    • su –
    • Password : password_root

    Maka kita sudah masuk ke mode root, dengan ditandai oleh tanda “#” (tanda pagar). Lalu dilanjutkan dengan perintah berikut :

    • squid -z

Aplikasi
Pada bagian ini, kita akan menjalankan service squid (start, stop, restart, reload) agar dapat beroperasi dengan baik dan sesuai dengan keinginan. Buka terminal terlebih dahulu, lalu gunakan account root yang telah kita ganti password pada sebelumnya. Klik panel Applications->Accecories->Terminal Setelah muncul terminalnya, ketik perintah :

  • su –
  • Password : password_root

Maka kita sudah masuk ke mode root, dengan ditandai oleh tanda “#” (tanda pagar). Lalu dilanjutkan dengan perintah berikut :

  • /etc/init.d/squid restart

Squid sudah siap untuk dipakai. Untuk “access_log” nya dapat dilihat pada (“access_log /var/log/squid/access.log squid“) file /var/log/squid/access.log. Masih pada mode root, dengan ditandai oleh tanda “#” (tanda pagar). Lalu dilanjutkan dengan perintah berikut :

  • tail -f /var/log/squid/access.log
  • Untuk keluar dari perintah “tail -f“, dapat menggunakan tombol “ctrl+c“.

Alhamdulillah, kelar juga…. Selamat berjuaaannngggggg πŸ™‚

squid

Iklan
Ditulis dalam Tutorial. 6 Comments »

6 Tanggapan to “Proxy Server”

  1. patub30 Says:

    Bagus bro trus dilanjut,

  2. Netster Says:

    Setelah membaca artikel tentang squid ini, saya ingin lgsg mempraktekkannya. Namun saya tidak terlalu paham dengan Linux. saya putuskan untuk memakai squid buat windows. Apakah sama konfigurasi file squid.conf yang jalan di linux dengan file squid.conf yang jalan di windows?
    Terima kasih.

  3. hanadi Says:

    Konfigurasi untuk squidnya, sama aja kok. Tinggal disesuaikan dengan kebutuhan (Cth: Ubah letak filenya, IP nya, dst). Nah, kecuali untuk NAT nya. Konfigurasi diwindows berbeda dengan yang di linux untuk mengaktifkan NAT nya. Tapi yang bagus sih, baca manual dari squid dulu trus baru diimplementasikan. BTW, konfigurasi diatas adalah untuk squid yang OS nya menerapkan NAT (Cth. PC Router).

  4. yogi Says:

    halo mas hanadi…
    kalau konfigurasi untuk squid cachenya aja dari baris berapa sampai baris yang keberapa mas??
    maklum mas,,masih newbie bgt… ^_^

    terima kasih..

  5. hanadi Says:

    Mendingan di pelajarin dulu konfigurasi default yang ada di squid.conf deh. Karena di konfigurasi default nya ada banyak pengertian dari tiap masing-masing baris konfigurasi. Setelah di pelajari, ntar juga ketahuan deh konfigurasi squid cachenya ajah. πŸ˜€


Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: