Step by step konfigurasi squid server dari berbagai kasus

11,228 views
11,108 views

Published on

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
11,228
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
737
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Step by step konfigurasi squid server dari berbagai kasus

  1. 1. TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | TutorialSquid Proxy ServerStep By StepKonfigurasi Squid Proxy Serverdengan Berbagai Studi KasusBagian 1 dari 2 ArtikelProxy Server adalah server yang berguna sebagai perantara antara client dengan servergateway sebelum berhubungan ke Internet. Dengan adanya proxy server ini, maka url /situs yang sering di-browsing akan semakin terasa semakin cepat terakses oleh user,karena telah disimpan di dalam cache proxy. Selain itu, proxy server juga memiliki fungsilainnya, di antaranya autentifikasi user, memblok situs, memblok banner, dan lain-lain.B agi para administrator warnet 4. Memblok banner menggunakan redirec- Check dengan mengetikkan perintah di atau kantor, pasti pernah berpikir tor adzap. bawah ini dari konsole : bagaimana caranya agar loading 5. Membatasi ukuran file (kuota) yang # rpm -qa | grep squidsitus yang dibuka oleh user terasa lebih bisa di-download oleh user pada intervalcepat, dapat memblok situs-situs porno waktu tertentu. Jika sudah ada, lanjut ke bagian konfi-yang sering membawa spyware, membatasi 6. Autentifikasi user. gurasi, jika belum ada, ikuti langkah in-ukuran download file user, autentifikasi user 7. Transparant Proxy. stallasi squid di bawah ini.mana saja yang diperbolehkan browsing, Masuk ke Menu Utama, System Settings,me-redirect suatu situs porno ke situs yang Adapun distro yang dipakai penulis Add/Remove Application. Masukkanlain, dan sebagainya. dalam menyusun penulisan ini adalah Fe- password root Anda. Jika itu permasalahannya, maka jawaban- dora Core 3, dan seharusnya dapat di terap- Setelah tampil menu Add or Removenya adalah si administrator dapat membuat kan juga pada pengguna distro lainnya. Packages, lihat dibagian Servers, lalu kliksebuah mesin proxy server untuk menjem- Untuk mempersingkat waktu, silakan baca bagian Web Server, klik Details, lalu checkbatani hubungan dari Internet ke user. Me- langkah-langkahnya di bawah ini: di bagian software squid.sin proxy ini akan bertindak sebagai pemfil- Klik tombol Update. Masukkan CD se-ter paket yang datang dari Internet, baik itu Instalasi Squid Proxy Server suai dengan permintaan installer.melalui port http atau ftp, sebelum sampai Instalasi software Squid Proxy Serverke user. Salah satu software proxy terbaik dapat dilakukan dari source ataupun Konfigurasi squid proxy serveryang ada di GNU/Linux adalah Squid. Squid yang sudah berbentuk binary. Untuk pe- Selanjutnya kita akan mulai mengonfigurasiadalah software proxy server open source tunjuk instalasi Squid dari source dapat squid, pertama, buat direktori cache.dengan banyak fitur. Anda lihat pada file INSTALL yang ter- (Catatan : tanda # berarti perintah dijalan- Pada artikel kali ini, penulis akan dapat pada tarball squid. kan oleh root user).menjelaskan cara konfigurasi Squid untuk: Diasumsikan Anda sudah menginstalla- # cd /1. Memberi hak akses Internet agar hanya sikan Fedora Core 3 di komputer Anda. # mkdir /cache dapat digunakan oleh komputer dengan Dan bagi pengguna distro lain, Anda # chown squid.squid /cache -Rf nomor IP tertentu. tinggal menyesuaikan langkah-lang-2. Memblok situs terlarang secara manual. kahnya saja. Setelah membuat direktori /cache, se-3. Memblok situs terlarang dengan meng- Selanjutnya adalah lihat di Sistem Linux lanjutnya kita mulai mengonfigurasikan gunakan program redirector Squid- anda, apakah Squid sudah terinstalasi di squid. Guard. Sistem Linux Anda. # cd /etc/squid68 INFOLINUX 08/2005 www.infolinux.web.id
  2. 2. Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial TUTORIAL Squid Proxy Server# mv squid.conf squid.conf.bak cache_peer ini sesuai dengan ISP # acl definisi (bagian ini# touch squid.conf yg anda gunakan. berisikan batasan-batasan yang# chmod 640 squid.conf cache_peer proxies.telkom.net.id akan dilakukan oleh server parent 8080 3130 default squid). Berikutnya, penulis akan menjelaskan cache_peer proxy-sby.telkom.net. # Dan bagian ini adalah intikonfigurasi squid sesuai dengan kriteria id sibling 8080 3130 round-robin dari penerapan kebijakan yangyang telah penulis jelaskan. ada di proxy server # memory (bagian ini berisikan acl all src 0.0.0.0/0.0.0.01. Konfigurasi Squid untuk membatasi besarnya memori yang akan acl manager proto cache_object hak akses Internet agar hanya dapat digunakan oleh squid acl localhost src 127.0.0.1/255. digunakan oleh komputer dengan nomor # untuk menyimpan in transit 255.255.255 IP tertentu. object dan hot object). acl SSL_ports port 443 563Studi Kasus : # Besar angka yang aman dipakai acl Safe_ports port 80 21 443Misalkan di suatu PT XYZ terdapat tiga buah adalah ¼ dari jumlah memori yang 563 70 210 1025-65535divisi. Sebut saja divisi perusahaan tersebut ada. acl Safe_ports port 280dengan DivisiA, DivisiB, dan DivisiC. cache_mem 32 MB # http-mgmt DivisiA memiliki IP range antara acl Safe_ports port 488 192.168.0.20 – 192.168.0.60 # direktori (bagian ini # gss-http DivisiB memiliki IP range antara berisikan tentang direktori yang acl Safe_ports port 591 192.168.0.61 – 192.168.0.100 akan digunakan sebagai tempat # filemaker DivisiC memiliki IP range antara penyimpanan cache/ objek website acl Safe_ports port 777 192.168.0.101 – 192.168.0.140 squid). # multiling http # Maksud perintah dibawah ini acl CONNECT method CONNECTPersyaratannya : adalah : pertama jenis file acl divisia src 192.168.0.20-1. PT XYZ ingin agar DivisiA dan DivisiB system yang dipakai adalah ufs, 192.168.0.60/255.255.255.255 memiliki hak akses ke Internet. lalu /cache adalah nama acl divisib src 192.168.0.61-2. PT XYZ ingin agar DivisiC tidak memi- direktorinya. Ukuran cache 192.168.0.100/255.255.255.255 liki hak akses ke Internet. sebesar 1000 MB, lalu 16 dan 256 acl divisic src 192.168.0.101-3. Komputer salah seorang staf yang ada di adalah jumlah direktori yang 192.168.0.140/255.255.255.255 divisi C, yang memiliki IP 192.168.0.130 terdapat di dalam /cache pada acl udinc src 192.168.0.130/255. dibolehkan memiliki hak akses ke Inter- level 1 dan 2. 255.255.255 net. cache_dir ufs /cache 1000 16 256 # rule (bagian ini berisikan Untuk memenuhi persyaratan tersebut, # log (bagian ini berisikan keterangan untuk membiarkan ataucobalah untuk mengedit file squid.conf, tentang lokasi file log yang menolak bagian aclseperti di bawah ini : akan digunakan squid). # yang telah dibuat).# vi squid.conf cache_access_log /var/log/squid/ http_access allow manager access.log http_access allow localhost# port (bagian ini berisikan cache_log /var/log/squid/cache. http access allow udincport yang akan digunakan oleh log http_access allow divisiasquid) cache_store_log /var/log/squid/ http_access allow divisibhttp_port 3128 store.log http_access deny divisicicp_port 3130 client_netmask 255.255.255.0 http_access deny !Safe_portstcp_outgoing_address 0.0.0.0 unlinkd_program /usr/lib/squid/ http_access deny CONNECT !SSL_udp_incoming_address 0.0.0.0 unlinkd portsudp_outgoing_address 0.0.0.0 http_access deny all #refresh pattern# cache_peer (bagian ini refresh_pattern ^ftp: 1440berisikan hubungan proxy server 20% 10080 #http_reply_accessyang ada dilokal ke server # refresh_pattern ^gopher: 1440 http_reply_access allow allproxy lainnya. Hubungan ini 0% 1440terdiri atas dua jenis yaitu refresh_pattern . 0 # icp accessparent dan sibling). 20% 4320 icp_access allow all# Sesuaikan atau tanyakan alamat www.infolinux.web.id INFOLINUX 08/2005 69
  3. 3. TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | TutorialSquid Proxy Server # display message membuka situs-situs porno pada waktu acl myNet src 192.168.0.0/255. cache_mgr supriyanto@infolinux. jam kerja. Hal ini tentunya membuat risih 255.255.255 co.id beberapa pegawai lainnya dan dapat menu- acl all src 0.0.0.0/0.0.0.0 cache_effective_user squid runkan image perusahaan. Maka dari itu, acl manager proto cache_object cache_effective_group squid PT XYZ ingin membuat suatu aturan untuk acl localhost src 127.0.0.1/255. visible_hostname infolinux.co.id pemfilterannya yang datang dari Internet 255.255.255 sebelum sampai ke user. acl SSL_ports port 443 563 Setelah itu Save, dan restart service squid acl Safe_ports port 80 21 443untuk melihat perubahan yang telah dilaku- Persyaratannya: 563 70 210 1025-65535kan. 1. PT XYZ ingin agar semua komputer Di- acl Safe_ports port 280 # service squid restart visi A dan Divisi B yang terhubung ke In- # http-mgmt ternet tidak dapat mengakses situs-situs acl Safe_ports port 488 Sekarang coba tes, apakah setting-an terlarang yang telah didefinisikan oleh # gss-httpyang telah anda simpan telah berhasil. administrator. acl Safe_ports port 591Caranya, masukkan dahulu setting HTTP 2. PT XYZ ingin agar beberapa komputer # filemakerproxy dan portnya di web browser user Di- yang ada diDivisi A yang memiliki range acl Safe_ports port 777visi C. Di Mozilla Firefox Anda bisa men- IP dari 192.168.0.20 – 192.168.0.30 dapat # multiling httpsetting-nya dari menu Edit, Preferences. Di mengakses ke situs apa saja yang ada di acl CONNECT method CONNECTTab General, klik Connection Settings. Isi- Internet (tidak termasuk ke dalam per- acl divisia src 192.168.0.20-kan HTTP Proxy dan Port-nya, sesuai de- syaratan 1). 192.168.0.60/255.255.255.255ngan IP server proxy Anda dan port proxy 3. PT XYZ menginginkan juga IP situs por- acl divisib src 192.168.0.61-yang digunakan. no tersebut juga diblok. Karena biasanya 192.168.0.100/255.255.255.255 Jika komputer dengan IP divisi C kecu- jika si user sudah ahli, maka hanya de- acl divisic src 192.168.0.101-ali komputer yang memiliki IP 192.168.0.30 ngan mengetikkan alamat IP-nya lang- 192.168.0.140/255.255.255.255tidak bisa membuka halaman situs, berarti sung di kolom alamat Url yang ada di acl bebasbuka src 192.168.0.20-langkah-langkah yang anda lakukan sudah web browser, situs porno tersebut tetap 192.168.0.30/255.255.255.255benar. Coba juga di salah satu user yang ada dapat diakses. acl udinc src 192.168.0.130/255.di DivisiA atau DivisiB, jika user ini bisa 4. PT XYZ menginginkan juga agar kali- 255.255.255membuka halaman situs berarti tidak ada mat-kalimat yang berbau porno, yangmasalah pada konfigurasi squid yang telah dimasukkan oleh user melalui search # rule (bagian ini berisikandibuat, atau dengan kata lain Anda telah engine atau alamat situs, dapat langsung keterangan untuk membiarkan atauberhasil men-setting squid untuk kasus terblok oleh proxy server. menolak bagian aclpertama. # yang telah dibuat). Untuk memenuhi persyaratan tersebut, http_access deny domainterlarang2. Memblok situs terlarang secara manual. cobalah untuk mengedit file squid.conf, !bebasbukaStudi kasus: seperti di bawah ini : http_access deny kataterlarangPT XYZ memiliki suatu problem di mana # vi squid.conf !bebasbukabanyak karyawannya yang “dewasa” suka http_access deny ipterlarang ................. !bebasbuka ................. http_access allow manager ................. http_access allow localhost # acl definisi (bagian ini http access allow udinc berisikan batasan-batasan yang http_access allow divisia akan dilakukan oleh server http_access allow divisib # squid). http_access deny divisic # Dan bagian ini adalah inti http_access deny !Safe_ports dari penerapan kebijakan yang http_access deny CONNECT !SSL_ ada di proxy server ports acl domainterlarang dstdomain “/ http_access deny all etc/squid/domain-terlarang.txt” acl kataterlarang url_regex -i #http_reply_access “/etc/squid/kata-terlarang.txt” http_reply_access allow all acl ipterlarang dst “/etc/squid/ .................Sesuaikan dengan settingan IP proxy server anda. ip-terlarang.txt” .................70 INFOLINUX 08/2005 www.infolinux.web.id
  4. 4. Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial TUTORIAL Squid Proxy Server Setelah itu Save, dan buat tiga buah fileyang bernama domain-terlarang.txt, kata-terlarang.txt, dan ip-terlarang.txt di direc-tori /etc/squid.# cd /etc/squid# touch domain-terlarang.txt# touch kata-terlarang.txt# touch ip-terlarang.txt# vi domain-terlarang.txt17tahun.comwww.playboy.comwww.nude.comwww.sex.comwww.porn.comwww.hardcore.com dan seterusnya, yang menurut Anda adalah domain situs porno.# vi kata-terlarang.txt Tampilan Access Denied Dari Squid.sexlesbian dasarkan kata yang telah anda definisi- 192.168.0.34 TCP_DENIED/403 1393lolita kan di file kata-terlarang.txt GET http://www.17tahun.com/ -homo 2. Ketikkan di alamat url alamat IP suatu NONE/- text/htmlxxx situs, misal : 70.84.171.179. Jika hasil- 1119498365.737 369hot nya adalah tulisan ERROR, berarti squid 192.168.0.34 TCP_DENIED/403 141517tahun telah berhasil memblok situs berdasar- GET http://www.17tahun.com/porn kan ip yang telah Anda definisikan di file favicon.ico - NONE/- text/html dan seterusnya, yang menurut Anda adalah ip-terlarang.txt kata-kata yang menunjuk ke situs porno. 3. Ketikkan di alamat url nama suatu situs, 3. Memblok situs terlarang menggunakan misal : www.17tahun.com. Jika hasilnya program redirector SquidGuard# vi ip-terlarang.txt adalah tulisan ERROR, berarti squid Pada studi kasus kedua, Anda telah mem- telah berhasil memblok situs berdasar- pelajari bagaimana cara memblok suatu70.84.171.179 kan nama situs yang telah Anda definisi- situs secara manual. Yaitu dengan menam-216.163.137.3 kan di file domain-terlarang.txt bahkan daftar nama situs, daftar IP situs,64.74.96.243 4. Test sekali lagi dengan mengetikkan url maupun kalimat secara manual. Mungkin209.81.7.23 situs yang tidak termasuk ke dalam salah kalau jumlah situs yang ingin kita blok ma-213.193.215.179 satu situs yang diblok. Jika situs terse- sih berjumlah puluhan, hal tersebut tidak216.130.180.165 but dapat diakses berarti settingan squid menjadi masalah buat administrator. Tapi dan seterusnya, yang menurut Anda adalah tersebut sudah memenuhi semua per- perlu diingat bahwa jumlah situs jenis ini di ip-ip yang menunjuk ke situs porno. syaratan yang diajukan. Internet sangat banyak jumlahnya. Apalagi 5. Test di salah satu komputer yang ber-IP user biasanya masih saja ada yang dapat Restart service squid untuk melihat per- 192.168.0.20-192.168.0.30, jika kompu- membuka situs porno, entah itu dari linkubahan yang telah dilakukan. ter tersebut dapat membuka salah satu yang dia dapat saat surfing maupun dari# service squid restart situs yang di-blok, berarti semua per- situs-situs hacking yang banyak bertebaran syaratan sudah terpenuhi. di Internet. Test setting-an squid yang telah kita Pertanyaannya, apakah ada programbuat, misal dari browser mozilla firefox Untuk lebih pastinya, Anda dapat men- yang menyediakan database situs terla-yang telah Anda setting dahulu http proxy check log squid Anda, untuk memastikan rang yang dapat diintegrasikan ke Squid?dan port-nya. apakah situs yang dimaksud telah terblok Jawabannya ada. Anda dapat menggunakan1. Ketikkan di url, www.google.com, lalu atau belum. salah satu program redirector Squid yang test dengan mengisikan kalimat sex. Jika # tail -f /var/log/squid/store. bernama SquidGuard. hasilnya adalah tulisan ERROR, berarti log SquidGuard berguna untuk mengindeks squid telah berhasil memblok situs ber- 1119498364.368 510 url-url porno, hacking, drugs, dan lain-lain. www.infolinux.web.id INFOLINUX 08/2005 71
  5. 5. TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | TutorialSquid Proxy ServerDengan SquidGuard ini, kita tidak perlu 6. Berikutnya konfigurasikan squidGuard. acl {bersusah payah lagi mencari dan menulis- Diasumsikan situs-situs yang termasuk default {kan domain-domain porno ke dalam suatu dalam database squidguard akan di re- pass !adult !drugs allfile, karena database squidguard sudah me- direct ke situs http://www.eramuslim. redirect 302:http://www.nyediakan puluhan ribu situs porno dan com/. Anda dapat merubah alamat url eramuslim.comyang lainnya, yang didapat melalui scripts tersebut sesuai dengan keinginan anda. }robots yang dibuat dengan bahasa PERL. # vi /etc/squid/squidguard. } Untuk lebih jelasnya, penulis akan confmenjelaskan step-by-step pemakaian Squid- Setelah kita konfigurasikan file /etc/Guard. squidguard.conf, berikutnya check apakah1. Diharapkan Anda telah sukses men- # Konfigurasi ini didapat konfigurasi tersebut masih terdapat kesala- jalankan studi kasus pertama dan kedua. dari http://squidguard.mesd. han atau tidak.2. Pada studi kasus kali ini berbeda dengan k12.or.us/ # /usr/bin/squidguard -v kasus sebelumnya. Studi kasus kali ini # Author By : SquidGuard: 1.2.0 Sleepycat dimisalkan semua komputer yang ada di supriyanto@infolinux.co.id Software: Berkeley DB 4.2.52: semua divisi PT XYZ termasuk ke dalam (March 2, 2004) jaringan yang terkena content filtering dbhome /var/lib/squidguard yang dilakukan oleh SquidGuard. logdir /var/log/squidguard Kalau masih terdapat pesan kesalahan,3. Download terlebih dahulu paket RPM betulkan konfigurasi squidguard.conf terse- SquidGuard untuk Fedora Core 3 pada dest adult { but sampai benar. url berikut: log adult 1. Berikutnya edit file squid.conf pada ba- http://dag.wieers.com/packages/squid- domainlist adult/ gian redirect program sehingga seperti di guard/ domains bawah ini : Atau Anda dapat mencarinya pada CD urllist adult/urls # vi /etc/squid/squid.conf Majalah InfoLinux edisi ini. }4. Install paket tersebut dari konsole. .. # rpm -ivh squidguard-1.2.0- dest drugs { # log (bagian ini berisikan 2.1.fc3.rf.i386.rpm log drugs tentang lokasi file log yang domainlist drugs/ akan digunakan squid).5. Berikutnya ubah hak akses directory log domains cache_access_log /var/log/ squidGuard menjadi milik user Squid. urllist drugs/urls squid/access.log # chown squid.squid /var/log/ } cache_log /var/log/squid/ squidguard -Rf cache.log cache_store_log /var/log/ squid/store.log client_netmask 255.255.255.0 unlinkd_program /usr/lib/ squid/unlinkd # redirect program (bagian ini berisikan program tambahan yang akan digunakan # untuk meningkatkan kinerja squid). redirect_program /usr/bin/ squidguard redirect_children 5 #refresh pattern refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440Amati file access.log squid untuk melihat status yang terjadi. refresh_pattern . 0 20% 432072 INFOLINUX 08/2005 www.infolinux.web.id
  6. 6. Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial TUTORIAL Squid Proxy Server # acl definisi (bagian ini berisikan batasan-batasan yang akan dilakukan oleh server # squid). # Dan bagian ini adalah inti dari penerapan kebijakan yang ada di proxy server acl myNet src 192.168.0.0/255 .255.255.0 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 SSL_ports port 443 563 acl Safe_ports port 80 21 443 563 70 210 1025-65535 acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 Squid me-redirect situs porno ke Eramuslim.com. # gss-http acl Safe_ports port 591 3. Lihat di daftar proses, apakah kedua pro- ada dalam kategori database situs # filemaker gram redirector squid ini, sudah berjalan squidguard. Sebagai contoh, saya akan acl Safe_ports port 777 dengan baik. melihat daftar situs porno yang terma- # multiling http # ps ax | grep squid suk sebagai kategori adult pada squid- acl CONNECT method CONNECT guard. 7542 ? Ss 0:00 squid -D # cd /var/lib/squidguard # rule (bagian ini berisikan 7544 ? S 0:01 (squid) -D keterangan untuk membiarkan 7546 ? Ss 0:00 (squidguard) masuk ke directory kategori adult atau menolak bagian acl 7547 ? Ss 0:00 (squidguard) # cd adult # yang telah dibuat). 7548 ? Ss 0:00 (squidguard) # vi domains http_access allow manager 7549 ? Ss 0:00 (squidguard) http_access allow localhost 7550 ? Ss 0:00 (squidguard) Coba Anda lihat salah satu situs yang ada http_access deny !Safe_ports di file domains, lalu test dibuka dari browser http_access deny CONNECT Dapat dilihat pada daftar proses di atas, salah satu user. !SSL_ports bahwa program redirector squidguard Sebagai contoh, ada situs http://20-asian- http_access deny all sudah berjalan. pics.com dalam file domains tersebut. Kita Cek juga daftar log squidguard, apakah akan test apakah squidguard sudah berjalan #http_reply_access benar-benar sudah berjalan dengan baik dengan baik atau belum. Caranya: http_reply_access allow all atau belum. Ketik http://20-asian-pics.com di brow- # tail -f /var/log/squidguard/ ser anda. Lalu perhatikan hasil situs yang # icp access squidGuard.log terbuka. icp_access allow all Jika yang terbuka adalah situs www.era- 2005-06-23 10:54:47 [4072] muslim.com, berarti squidguard sudah ber- # display message squidGuard 1.2.0 started jalan dengan baik di sistem anda. Atau de- cache_mgr (1119498886.074) ngan kata lain sudah berhasil untuk meredi- supriyanto@infolinux.co.id 2005-06-23 10:54:47 [4072] rect situs http://20-asian-pics.com menjadi cache_effective_user squid squidGuard ready for requests situs www.eramuslim.com. cache_effective_group squid (1119498887.600) Sampai di sini dahulu pembahasan menge- visible_hostname infolinux. nai konfigurasi Squid. Bulan depan penulis co.id 4. Selanjutnya, lihatlah daftar situs-situs akan melanjutkannya dengan studi kasus yang ada dalam database squidguard. berikutnya, yaitu studi kasus keempat sampai2. Restart service squid Anda: Biasanya daftar situs tersebut di squid- studi kasus ketujuh. Sampai jumpa. # service squid restart guard bernama domains dan letaknya Supriyanto (supriyanto@infolinux.co.id) www.infolinux.web.id INFOLINUX 08/2005 73
  7. 7. TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | TutorialSquidStep By StepKonfigurasi Squid Proxy Serverdengan Berbagai Studi KasusBagian 2 dari 2 ArtikelProxy server adalah server yang berguna sebagai perantara antara client dengan servergateway sebelum berhubungan ke Internet. Dengan adanya proxy server ini, maka url /situs yang sering di-browsing akan semakin terasa semakin cepat terakses oleh user,karena telah disimpan di dalam cache proxy. Selain itu, proxy server juga memiliki fungsilainnya, di antaranya autentifikasi user, memblok situs, memblok banner, dan lain-lain.P roxy server adalah server yang ber- 4. Memblok banner situs menggunakan terinstalasi dengan baik di sistem Anda. guna sebagai perantara antara cli- redirector adzap. # perl -v ent dengan server gateway sebelum Pernahkah Anda membuka situs terkenalberhubungan ke Internet. Dengan adanya seperti yahoo mail, detik.com, ataupun situs 3. Berikutnya, extract source adzap yangproxy server ini, maka url / situs yang sering terkenal yang lainnya? Kalau Anda pernah telah Anda download tersebut, ke direc-di-browse akan semakin terasa semakin cepat membuka situs tersebut, pasti akan meli- tory /usr/local.terakses oleh user, karena telah disimpan di hat banyaknya banner yang menempel di # tar -xzvf adzap-20050605.dalam squid cache. Selain itu, proxy server situs tersebut. Dengan terbukanya banner, tar.gz -C /usr/localjuga memiliki fungsi lainnya, di antaranya sebetulnya kita telah membuang bandwidth # cd /usr/local/adzapautentifikasi user, memblok situs, memblok dengan sia-sia hanya untuk menampilkanbanner, dan lain-lain. banner itu. Copy file-file berikut ke Document Root Pada edisi sebelumnya, saya sudah Lalu, adakah program redirector squid Apache anda, misal di Fedora Core 3 ter-menjelaskan tentang cara pengonfigurasian yang dapat digunakan untuk memblok letak di /var/www/htmlSquid dengan membahas studi kasus per- banner? Tentu ada, untuk melakukan hal # cd /var/www/htmltama sampai dengan ketiga. Sesuai dengan tersebut Anda dapat menggunakan salah # mkdir adzapjanji penulis sebelumnya, sekarang akan satu program redirector squid yang ber- # cd adzapmelanjutkannya dengan studi kasus keem- nama adzap. Dengan adzap gambar ban- # cp /usr/local/adzap/zaps/*.pat sampai dengan ketujuh. Dan studi kasus ner yang ada akan diubah menjadi tulisan gif /var/www/html/adzapyang akan dibahas kali ini, yaitu: adzap. # cp /usr/local/adzap/zaps/*.4. Memblok banner menggunakan redirec- Untuk pembahasan lebih lanjut html /var/www/html/adzap tor adzap. bagaimana setting redirector adzap dan # cp /usr/local/adzap/zaps/*.5. Membatasi ukuran file (kuota) yang squidguard dapat berjalan bersamaan atau js /var/www/html/adzap bisa di-download oleh user pada interval dengan kata lain bagaimana menggunakan waktu tertentu. multiple redirector, ikuti langkah-langkah 4. Edit file wrapzap yang ada di /usr/local/6. Autentifikasi user. di bawah ini: adzap/scripts, pada bagian:7. Transparant Proxy. 1. Download program adzap dari internet. zapper=/usr/local/adzap/ http://adzapper.sourceforge.net/adzap- scripts/squid_redirect Untuk mempersingkat waktu, Anda 20050605.tar.gz ZAB_BASE=http://localhost/dapat dapat langsung membaca tutorial di 2. Pastikan perl, apache dan segala yang adzapbawah ini: berkenaan dengan program ini sudah .............................70 INFOLINUX 09/2005 www.infolinux.web.id
  8. 8. Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial TUTORIAL Squid ............................. 0% 1440 9. Test ke browser, dengan mengetikkan si- #exec “$zapper” refresh_pattern . 0 20% 4320 tus yang terdapat banyak banner, misal: # exec /path/to/zapchain ............................. www.detik.com, jika Anda melihat banner “$zapper” /path/to/another/ ............................. yang terdapat pada situs detik.com telah eg/squirm berubah menjadi tulisan This AdZaped, exec /usr/local/adzap/scripts/ 6. Setelah selesai, restart service squid Anda berarti Anda telah berhasil mengonfi- zapchain “$zapper” /usr/bin/ # service squid restart gurasikan squid untuk memblok banner squidguard iklan. 7. Jalankan juga service apache Anda. 10. Test juga dengan mengetikkan salah5. Edit squid.conf, tambahkan baris berikut: # service httpd start satu situs yang termasuk ke dalam daf- ............................. tar blacklist squidguard (ex:// http://20- ............................. 8. Check apakah redirector adzap dan re- asian-pics.com). Jika situs tersebut te- director squid guard sudah berjalan de- redirect ke situs http://www.eramuslim. #---------------------------- ngan baik. com, artinya Anda telah dapat men- # redirect program (bagian ini # ps ax | grep squid_re jalankan multiple redirector squid secara berisikan program tambahan ............................. bersamaan. yang akan digunakan ............................. Bahkan jika ingin menambahkan pro- # untuk meningkatkan kinerja 9153 ? Ss 0:00 /usr/ gram redirector squid yang lain, Anda squid). bin/perl /usr/local/adzap/ hanya perlu menambahkan path pro- #Disini squid memanggil scripts/zapchain /usr/local/ gramnya di file wrapzap. program wrapzap yang akan adzap/scripts/squid_redirect 11. Untuk melihat log file, url yang berhasil menjalankan dua buah #program /usr/bin/squidguard di blok banner-nya, Anda dapat menge- redirector yang dipanggil 9156 ? Ss 0:00 tikkan perintah berikut : oleh wrapzap yaitu redirector /usr/bin/perl /usr/local/ # tail -f /var/log/httpd/ squid_re dan #redirector adzap/scripts/zapchain /usr/ access_log squidguard local/adzap/scripts/squid_ redirect /usr/bin/squidguard 5. Membatasi ukuran file (kuota) yang bisa redirect_program /usr/local/ /usr/bin/perl -w /usr/local/ di-download oleh user pada interval adzap/scripts/wrapzap adzap/scripts/squid_redirect waktu tertentu. redirect_children 5 9164 ? S 0:00 Setelah melihat beberapa studi kasus di atas, #---------------------------- /usr/bin/squidguard mungkin ada peningkatan kecepatan pada 9168 ? S 0:01 waktu akses suatu sites yang dibuka oleh #refresh pattern /usr/bin/perl -w /usr/local/ user. Apalagi kalau situs tersebut sudah ter- refresh_pattern ^ftp: 1440 adzap/scripts/squid_redirect daftar kedalam cache squid. 20% 10080 ............................. Selain itu, kecepatan akses juga bergan- refresh_pattern ^gopher: 1440 ............................. tung pada jalur bandwidth yang anda sewaBanner situs yang belum diblok sebelum menggunakan adzap. Banner situs yang telah diblok setelah menggunakan adzap. www.infolinux.web.id INFOLINUX 09/2005 71
  9. 9. TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | TutorialSquiddari ISP. Lalu ada juga faktor yang paling beberapa setting-an di file squid.conf. Baca atau menolak bagian acl #penting yang paling berpengaruh pada langkah-langkah di bawah ini: yang telah dibuat).waktu akses suatu situs, yaitu kebiasaan 1. Buka file squid.conf http_access allow lanbeberapa user yang suka men-download di # vi /etc/squid.conf http_access deny managerInternet. Mengambil suatu file (download) http_access allow localhostdari Internet memang menyenangkan bagi 2. Lalu edit pada bagian berikut: http_access deny !Safe_portsbeberapa user, akan tetapi kalau tidak disia- ............................. http_access deny CONNECTsati dengan baik hal ini justru menimbulkan ............................. !SSL_portsmasalah bagi user lainnya. Saat men-down- # Note : Untuk Settingan http_access deny allload suatu file yang besar (ex:/ file iso cd Lengkapnya, dapat anda temukanlinux), biasanya bandwidth yang ada akan di CD InfoLINUX kali ini. acl magic_words2 url_regexberkurang secara drastis, sehingga user biasa -i ftp .exe .mp3 .vqf .tar.gzyang ingin sekadar browsing merasa begitu # acl definisi (bagian ini .gz .tar.bz2 .bz2 .rpm .ziplambat waktu akses Internetnya. Dan kalau berisikan batasan-batasan .rar .avi .mpeg .mpe .mpg .qtsudah begini, hal ini tentunya akan menu- yang akan dilakukan oleh .ram .rm .raw .wav .isorunkan produktivitas kerja. # server squid). Agar tidak terjadi hal yang demikian, acl lan src 192.168.0.0/255. # Cancel download if file ismaka seorang administrator harus dapat me- 255.255.0 bigger than 2MB = 2000 X 1024nentukan kebijakan yang berlaku pada saat acl all src 0.0.0.0/0.0.0.0 byte = 2048000 byteuser men-download suatu file dari Internet. acl manager proto cache_ reply_body_max_size Sebagai contoh, penulis akan menjelas- object 2048000 allow magic_words2kan dengan studi kasus agar dapat lebih acl localhost src 127.0.0.1/ tdkbebasdownloadmudah dipahami. 255.255.255.255Persyaratannya : acl SSL_ports port 443 563 # icp access1. PT XYZ ingin agar semua komputer yang acl Safe_ports port 80 21 icp_access allow lan terhubung ke Internet dibatasi jumlah 443 563 70 210 1025-65535 download-nya, yaitu ukuran file yang dapat acl Safe_ports port 280 ............................. ter-download maksimal hanya 2 MB. acl Safe_ports port 488 .............................2. Ketentuan No. 1, hanya berlaku selama acl Safe_ports port 591 jam kerja, yaitu dari jam 08.00–17.30, acl Safe_ports port 777 3. Restart service squid Anda, untuk meli- setelah lewat dari jam tersebut, user be- acl CONNECT method CONNECT hat perubahan: bas men-download file dengan ukuran acl tdkbebasdownload time # service squid restart file tak terbatas. 08:00-17:30 4. Pada saat jam kerja, coba Anda test Untuk menerapkan hal di atas, yang per- # rule (bagian ini berisikan download suatu file dari Internet yanglu Anda lakukan hanyalah menambahkan keterangan untuk membiarkan besar filenya lebih dari 2 MB. Jika hasil-Peringatan file yang tidak bisa didownload karena melebihi kuota. Metode authentifikasi Squid dengan menggunakan mysql-auth.72 INFOLINUX 09/2005 www.infolinux.web.id
  10. 10. Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial TUTORIAL Squid nya adalah peringatan ERROR, maka untuk menjalankan service mysql. menjadi settingan yang Anda lakukan sudah ber- # rpm -qa | grep mysql-devel $(INSTALL) -o squid -g hasil. Test juga men-download suatu file mysql-devel-3.23.58-13 squid -m 600 $(CONF) /etc/ dengan ukuran kurang dari 2MB, jika mysql_auth.conf dapat ter-download berarti sudah tidak # service mysqld start ada masalah untuk pembatasan ukuran e. dan beri tanda remark (#) pada file download ini. 4. Cari dan catat lokasi file mysql.h dan lib- $(INSTALL) -o nobody -g5. Ketika waktu jam kerja telah lewat, Test mysqlclient.a nogroup -m 600 $(CONF) juga men-download file dengan ukuran $ locate mysql.h /usr/local/squid/etc/mysql_ file lebih dari 2 MB, jika hasilnya file /usr/include/mysql/mysql.h auth.conf.default tersebut dapat ter-download, berarti ke- bijakan yang telah ditentukan telah ber- $ locate libmysqlclient.a menjadi jalan dengan baik. /usr/lib/mysql/ #$(INSTALL) -o nobody -g libmysqlclient.a nogroup -m 600 $(CONF)6. Autentifikasi user menggunakan /usr/local/squid/etc/mysql_ mysql_auth 5. Berikutnya adalah Anda harus mengedit auth.conf.defaultPada studi kasus kali ini, tidak ada hubu- terlebih dahulu file Makefile programngannya dengan studi kasus sebelumnya. mysql_auth. 6. Pindah ke directory src, dan edit file de-Kali ini penulis akan menjelaskan metode $ cd mysql_auth-0.8/ fine.hautentifikasi user dengan menggunakan $ cd src/username dan password yang terdaftar diserver. $ vi Makefile $ vi define.h Program autentifikasi yang akan penu-lis jelaskan bernama mysql_auth. Dengan Edit pada bagian-bagian berikut : Edit pada bagian-bagian berikut:mysql_auth ini, Anda akan lebih mudah a. CFLAGS = -I/usr/local/ #define CONFIG_FILE “/usr/memanajemen username dan password, include -L/usr/local/lib local/squid/etc/mysql_auth.karena dapat dihubungkan dengan interface conf”yang dibuat dengan PHP maupun bahasa menjadilainnya. CFLAGS = -I/usr/include/ menjadi Logika program ini berjalan sebagai mysql -L/usr/lib/mysql #define CONFIG_FILE “/etc/berikut, jika username dan password yang mysql_auth.conf”dimasukkan sesuai, maka program akan b. $(INSTALL) -o nobody -gmenghasilkan output OK, dan autentifi- nogroup -m 755 mysql_auth 7. Edit juga file mysql_auth.confkasi berhasil. Dan bila username maupun /usr/local/squid/libexec/ $ vi mysql_auth.confpassword tidak sesuai, maka program akan mysql_authmenghasilkan output ERR, dan autentifikasi Ubah pada bagian berikut :akan gagal. menjadi a. mysqld_socket /tmp/ Kalau autentifikasi berhasil, maka user $(INSTALL) -o squid -g mysqld.sockakan dapat browsing ke Internet. Tetapi jika squid -m 755 mysql_authautentifikasi gagal, user tersebut tidak dapat /usr/bin/mysql_auth menjadibrowsing ke Internet. mysqld_socket /var/lib/ Untuk mempersingkat waktu, coba Anda c. $(INSTALL) -o root -g root mysql/mysql.sockikuti penjelasan di bawah ini: -m 700 mypasswd /usr/local/1. Download dahulu program mysql_auth- bin/mypasswd b. encrypt_password_form NO 0.8.tar.gz dari situs http://people.arxnet. hu/airween/mysql_auth/, atau Anda menjadi menjadi dapat mencarinya pada CD majalah In- $(INSTALL) -o squid -g encrypt_password_form YES foLINUX edisi ini. squid -m 755 mypasswd /usr/2. Setelah itu extract, file tersebut : bin/mypasswd 8. Selanjutnya compile dan instal $ tar -xzvf mysql_auth-0.8. $ cd mysql_auth-0.8/ tar.gz d. $(INSTALL) -o nobody -g nogroup -m 600 $(CONF) $ make3. Pastikan program mysql-devel sudah /usr/local/squid/etc/mysql_ terinstal di sistem Anda, dan jangan lupa auth.conf $ su –c “make install” www.infolinux.web.id INFOLINUX 09/2005 73
  11. 11. TUTORIAL Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | TutorialSquid9. Tambahkan database untuk autentifikasi /usr/bin/mysql_auth masukkan username dan password yang user auth_param basic realm Squid telah dibuat, sebagai contoh : username # cd scripts/ proxy-caching web server : supri, password: sup234. auth_param basic children 5 Jika masuk dan tidak mengalami ma- # mysql -u root -p < create_ auth_param basic salah, berarti metode autentifikasinya scripts credentialsttl 2 hours sudah berjalan dengan baik. .............................10. Sekarang coba Anda tes dengan menam- ............................. 7. Transparant proxy bahkan user ke tabel data yang ada di # acl definisi (bagian ini Setelah menjelaskan keenam cara di atas, database mysql_auth dengan menggu- berisikan batasan-batasan yang akhirnya sampai juga pada cara terakhir yang nakan program mypasswd. akan dilakukan oleh server akan penulis jelaskan. Pada semua kasus se- # mypasswd supri sup234 # squid). belumnya, Anda harus men-setting secara Password record ADDED # Dan bagian ini adalah inti manual setting-an proxy di web browser cli- succesfully. dari penerapan kebijakan yang ent agar dapat ber-Internet. Mungkin kalau ada di proxy server hanya sepuluh client, hal itu tidak menjadi Anda dapat mengeceknya ke dalam tabel ............................. masalah. Tetapi bagaimana jika komputer data yang ada di database mysql_auth, ............................. yang harus disetting berjumlah ratusan, apakah record yang baru dimasukkan acl butuhpasswd proxy_auth tentu hal ini akan merepotkan Anda sebagai oleh program nypasswd, sudah ada. REQUIRED administrator. Belum lagi jika suatu saat, # mysql -u root -p mysql_auth acl myNet src 192.168.0.0/255 terdapat lagi perubahan IP dan port proxy mysql> select *from data; .255.255.0 server yang digunakan. +-------+------------------+ acl all src 0.0.0.0/0.0.0.0 Untuk menyiasati hal tersebut, diperlu- | user | password | acl manager proto cache_object kan suatu cara agar Anda tidak perlu me- +-------+------------------+ acl localhost src 127.0.0. masukkan secara manual setting-an proxy | supri | 79d544277322393c | 1/255.255.255.255 server yang berlaku. Caranya adalah Anda +-------+------------------+ ............................. dapat menggunakan transparant proxy. 1 rows in set (0.21 sec) ............................. Prinsip kerja transparant proxy adalah se- buah firewall atau redirector lainnya akan Dapat Anda lihat hasilnya di atas, kalau # rule (bagian ini berisikan menangkap koneksi TCP yang ditujukan password yang kita masukkan untuk user keterangan untuk membiarkan ke port tertentu pada remote host, dan supri sudah langsung terenkripsi. Hal ini atau menolak bagian acl kemudian akan mengarahkan koneksi karena setting-an yang terdapat di file # yang telah dibuat). TCP tersebut ke proxy server lokal. Proxy mysql_auth.conf, di mana nilai variabel ............................. server menggunakan header HTTP untuk encrypt_password_form di set menjadi ............................. menentukan ke mana proxy akan melaku- YES. # Baris ini juga kan koneksi dan request dari mana yang11. Tes validasi user dan password yang telah http_access allow butuhpasswd akan di-proxy. Untuk mengaplikasikan anda buat dengan menggunakan pro- http_access allow myNet transparant proxy, Anda dapat memerlu- gram mysql_auth http_access allow manager kan aplikasi Iptables. Dengan Iptables, an- ERR http_access allow localhost da cukup membuat rule untuk menangkap # mysql_auth http_access deny !Safe_ports trafik yang ditujukan untuk port 80, dan supri coba http_access deny CONNECT mengarahkan trafik ini ke port dari proxy supri sup234 !SSL_ports server (biasanya 3128 atau 8080). OK Untuk lebih jelasnya, Anda dapat mengi- # Baris ini juga kuti petunjuk yang diberikan ada di bawah12. Setelah hasil validasi sudah benar, lang- authenticate_ip_ttl 2 hours ini: kah berikutnya adalah menghubungkan http_access deny all 1. Dimisalkan kali ini Anda sudah dapat program mysql_auth dengan squid. Un- menjalankan proxy server secara manual tuk itu Anda dapat mengedit file squid. ............................. dengan baik, sekarang tinggal bagaima- conf. ............................. na caranya agar dapat berjalan secara # vi /etc/squid.conf transparant proxy. ............................. 13. Test di browser, dengan mengetikkan ala- 2. Pastikan paket dan service iptables sudah ............................. mat suatu situs, kemudian tekan Enter. terinstal dengan baik di sistem Anda. # Tambahan untuk authentifikasi Jika muncul layar autentifikasi setelah 3. Squid terkonfigurasi dengan menggu- auth_param basic program anda menekan tombol Enter, coba Anda nakan port 3128.74 INFOLINUX 09/2005 www.infolinux.web.id
  12. 12. Berita | Ulasan | Adu Software | Utama | Bisnis | Apa Sih Sebenarnya... | Tutorial TUTORIAL Squid4. Alamat network yang digunakan adalah Misal Squid berada pada komputer Setelah itu, coba amati file access.log di 192.168.0.0/24. yang ber-IP 192.168.0.4 dan port yang mesin proxy Anda. Jika semuanya sudah digunakan adalah 3128 atau kita sebut benar, seharusnya jika ada user yang se- Cara mengatur konfigurasi transparant saja komputer ini dengan nama squid- dang mengakses web, Anda sudah dapatproxy: box. Dan satunya lagi komputer yang mengamati prosesnya dari mesin proxy1. Pastikan kalau sistem telah mendukung terhubung ke Internet langsung sebagai tersebut. IP Forwarding. Caranya ubah parameter firewall mempunyai IP 192.168.0.1 kita yang ada di /etc/sysctl.conf pada bagian sebut saja komputer ini dengan nama Demikian artikel tentang step by step ip_forward. iptables-box. Dari komputer iptables- konfigurasi Squid. Sebenarnya masih ba- net.ipv4.ip_forward = 0 box, coba Anda ketikkan perintah beri- nyak lagi fungsi Squid lainnya yang dapat kut untuk mengaktifkan transparant anda telusuri lebih lanjut di file konfigurasi menjadi: proxy di mesin squid-box. Squid.conf. Pada artikel ini, penulis sudah net.ipv4.ip_forward = 1 iptables -t nat -A PREROUTING menjelaskan secara garis besar konfigurasi -i eth0 -s ! 192.168.0.4 -p Squid yang sering digunakan oleh sebagian Setelah itu, restart service network Anda: tcp --dport 80 -j DNAT besar administrator. # service network restart --to 192.168.0.4:3128 Namun pada intinya, sesuaikan saja dengan kebijakan yang benar-benar dibu-2. Berikutnya edit file squid.conf Anda, ke- iptables -t nat -A POSTROUTING tuhkan oleh Anda. Terkadang tidak semua mudian tambahkan baris di bawah ini -o eth0 -s 192.168.0.0/24 fungsi yang ada benar-benar dibutuhkan di pada bagian paling bawah dari file itu. -d 192.168.0.4 -j SNAT dalam suatu jaringan. # transparent proxy –to 192.168.0.1 Akhir kata, semoga dengan artikel sing- httpd_accel_host virtual kat ini, Anda dapat membuat proxy server httpd_accel_port 80 iptables -A FORWARD -s yang andal tanpa terbentur masalah harga httpd_accel_with_proxy on 192.168.0.0/24 -d 192.168.0.4 lisensi software proxy komersial yang ma- httpd_accel_uses_host_ -i eth0 -o eth0 -p tcp -- hal. Indahnya dunia open source! header on dport 3128 -j ACCEPT Supriyanto (supriyanto@infolinux.co.id)3. Lakukan masquerading dengan menggu- nakan iptables. IP masquerading berguna untuk menghubungkan beberapa kom- puter yang terkoneksi ke sebuah kom- puter yang sudah terkoneksi ke Internet agar dapat mengakses ke Internet, atau istilahnya Internet Connection Sharing. iptables -A POSTROUTING -j MASQUERADE -t nat -s 192.168.0.0/24 -o eth0 Option -o tersebut tolong anda sesuai- kan dengan interface yang terdekat de- ngan jaringan luar.4. Selanjutnya arahkan semua permintaan web pada port 80 ke port squid. Untuk kondisi ini, terdapat dua buah opsi. Jika squid dan firewall yang mengarah- kan berada pada satu komputer, guna- kan perintah ini: iptables -t nat -p tcp -A PREROUTING -s 192.168.0.0/24 -d 0/0 –dport 80 -j REDIRECT –to-ports 3128 Jika Squid dan firewall yang mengarah- kan tidak berada pada satu komputer. www.infolinux.web.id INFOLINUX 09/2005 75

×