Proxy serer dengan squid

1,521 views

Published on

  • Be the first to comment

Proxy serer dengan squid

  1. 1. PROXY SERER DENGAN SQUIDBagi sebagian rekan-rekan yang mau membuat proxy server dengan Linux, atau bagi adik-adikIlmu Komputer USD yang mau coba-coba belajar bikin proxy, saya ingin membagikanpengalaman kecil saya dalam membuat proxy menggunakan Linux. Meski banyak softwareuntuk membuat proxy server, saya memilih squid karena paketnya sudah ter-include dalam distroyang saya gunakan (Fedora Core) dan hampir sebagian proxy server Linux menggunakan squid.Untuk spesifikasi hardware yang saya gunakan, dapat dilihat di artikel Proxy Server di tempatkerja saya. Proxy server tersebut menggunakan squid versi 2.6-12 pada distro Fedora Core 6yang saya fungsikan sebagai: 1. Menyimpan halaman web di proxy untuk mempercepat akses Internet. 2. Akses kontrol Internet berdasarkan IP Address. Menggunakan 2 network yang berbeda (saya fungsikan juga sebagai router – dengan IP Forwarding), untuk ini, saya menggunakan 3 NIC pada 1 server. 3. Blacklist daftar situs terlarang secara manual. 4. Membatasi ukuran download File dengan ekstension tertentu dan hanya berlaku pada jam tertentu. 5. Pesan Error dalam format Bahasa Indonesia. 6. Rule untuk memperbolehkan akses Internet hanya protokol tertentu saja.Langkah-langkah yang saya lakukan: 1. Instal aplikasi squid 2. Edit file konfigurasi squid 3. Buat direktori dan file blacklist untuk blacklist secara manual 4. Buat direktori dan file untuk pesan error dalam bahasa indonesia 5. Check konfigurasi firewall yang diterapkan di proxy 6. Jalankan servicenya 7. Test konfigurasi di proxy dan clientFile konfigurasi squid: /etc/squid/squid.conf (versi saya)#SQUID 2.6.STABLE12#Author by: http://fxekobudi.net# OPTION JARINGAN#-----------------------------------------------------------------------------http_port 3128icp_port 0
  2. 2. # OPTION UKURAN CACHE# -------------------------------------------------------------------cache_mem 256 MBcache_swap_low 94cache_swap_high 96maximum_object_size 16384 KBminimum_object_size 4 KBmaximum_object_size_in_memory 2048 KBfqdncache_size 1024cache_replacement_policy heap GDSFmemory_replacement_policy heap GDSF# DIREKTORI LOG DAN CACHE# ------------------------------------------------------------------cache_dir aufs /var/spool/squid 9000 16 256access_log /var/log/squid/access.log squidcache_log /var/log/squid/cache.logcache_store_log none# TUNING CACHE PROXY# ------------------------------------------------------------------refresh_pattern ^ftp: 1440 20% 10080refresh_pattern ^gopher: 1440 0% 1440refresh_pattern . 0 20% 4320negative_ttl 1 minutes# TIMEOUT# -----------------------------------------------------------------half_closed_clients off# -------------------------------------# Memblok situs terlarang (blacklist)secara manual# -------------------------------------acl noblacklist dstdomain "/etc/squid/blacklist/no-blacklist.txt"acl katablacklist url_regex -i "/etc/squid/blacklist/kata-blacklist.txt"acl domainblacklist dstdomain "/etc/squid/blacklist/domain-blacklist.txt"acl ipblacklist dst "/etc/squid/blacklist/ip-blacklist.txt"acl tdkbebasdownload time 08:00-13:00# AKSES KONTROL# ------------------------------------------------------------------acl all src 0.0.0.0/0.0.0.0acl manager proto cache_objectacl localhost src 127.0.0.1/255.255.255.255acl to_localhost dst 127.0.0.0/8acl SSL_ports port 443acl Safe_ports port 80 # httpacl Safe_ports port 21 # ftpacl Safe_ports port 443 # httpsacl Safe_ports port 70 # gopheracl Safe_ports port 210 # waisacl Safe_ports port 1025-65535 # unregistered portsacl Safe_ports port 280 # http-mgmtacl Safe_ports port 488 # gss-httpacl Safe_ports port 591 # filemakeracl Safe_ports port 777 # multiling httpacl CONNECT method CONNECT
  3. 3. # -------------------------------------# Daftar IP address# -------------------------------------acl lab1 src 192.168.254.1-192.168.254.40/255.255.255.255acl staf-it src 192.168.254.41-192.168.254.42/255.255.255.255acl lab2 src 192.168.254.43-192.168.254.44/255.255.255.255acl ruang1 src 192.168.1.1-192.168.1.8/255.255.255.255acl ruang2 src 192.168.1.11-192.168.1.17/255.255.255.255# -------------------------------------# Memblok situs terlarang secara manual# -------------------------------------http_access allow noblacklisthttp_access deny katablacklisthttp_access deny domainblacklisthttp_access deny ipblacklisthttp_access allow manager localhosthttp_access deny manager# -------------------------------------# Rule yang saya terapkan# -------------------------------------http_access allow lab1http_access allow staf-ithttp_access allow lab2http_access allow ruang1http_access allow ruang2acl magic_words2 url_regex -iftp.exe.mp3.vqf.tar.gz.gz.tar.bz2 .bz2 .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .raw .wav .iso# Cancel download if file is bigger than 2 MB = 2000x1024 byte = 2048000 bytereply_body_max_size 2048000 allow magic_words2 tdkbebasdownloadhttp_access deny !Safe_portshttp_access deny CONNECT !SSL_portshttp_access allow localhosthttp_access deny allhttp_reply_access allow allicp_access allow all# PARAMETER ADMINISTRATOR# -----------------------------------------------------------------cache_mgr fxekobudi@gmail.comcache_effective_user squidcache_effective_group squidvisible_hostname proxy.fxekobudi.local# PESAN ERROR DALAM BAHASA INDONESIA# --------------------------------------------------------------------error_directory /usr/share/squid/errors/Indonesian
  4. 4. Agar fungsi blacklist manual itu dapat digunakan, buat direktori berisi file-file disebutkan dalamblacklist manual:# mkdir /etc/squid/blacklist# cd /etc/squid/blacklist/# vim no-blacklist.txt# vim kata-blacklist.txt# vim domain-blacklist.txt# vim ip-blacklist.txtMinimal dimasukkan satu item untuk masing-masing file tersebut, karena jika tidak, maka saatkita melihat error log squid sesaat setelah service dijalankan, akan ada pesan error tidakmenemukan item pada file tersebut…Selain itu, saya juga menyertakan konfigurasi untuk pesan Error dari Proxy squid dalam bentukbahasa indonesia, agar user di tempat kerja saya lebih mudah memahami maksudnya… Ide pesanerror ini kemudian menjadi inspirasi saya saat mengkonfigurasi redirect SquidGuard untukmengarah kepada file yang sengaja saya buat di root direktori web server proxy.Untuk melakukannya, tinggal copykan saja pesan Error dalam bahasa Inggris ke direktori lokasipesan error berbahasa Indonesia.# cp /usr/share/squid/errors/English /usr/share/squid/errors/Indonesiantrus terjemahkan file-filenya…Untuk menjalankan servicenya, gunakan saja perintah:# /sbin/service squid startOh ya, Anda juga perlu menambahkan di konfigurasi Firewall menggunakan Iptable agar clientdiperbolehkan mengakses Internet ini melalui proxy, request client ke proxy dengan IP addressyang terdaftar diperbolehkan melalui port 3128 (atau 8080) tergantung konfigurasi yang Andagunakan… Saya jadi ingat waktu pertama kali mencoba, koneksi internet di server pake proxyudah jalan, tapi kok clientnya ngga bisa akses, eh ternyata emang client belum diperbolehkanakses ke IP address dan portnya proxy… Hehe. Agar bisa akses ke proxy, rule iptable-nya untukfile /etc/sysconfig/iptables harus memuat rule ini: (saya pakai konfigurasi firewall bawaanFedora Core)-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3128 -jACCEPTUntuk menerapkan IP forwarding, saya edit file /etc/sysctl.conf dan memberi nilai 1 (enable)untuk direktive:net.ipv4.ip_forward = 0 menjadi net.ipv4.ip_forward = 1
  5. 5. Konfigurasi proxy ini saya gunakan sebagian ditempat kerja saya (YBHK dan persekolahanTarsisius 1, Damai, Tarsisius 2, Vianney, dan Tarsisius Vireta) dengan beberapa tambahan fituryang tidak dapat saya sebutkan disini… Dengan alasan keamanan. Hehe…Sedangkan konfigurasi squid untuk menggunakan blacklist dari redirect SquidGuard danfirewall-nya akan saya tulis beberapa minggu ke depan… Setelah saya pulang berlibur ke rumahorang tua saya sekaligus tanah kelahiran saya di

×