Redirect Squid Proxy Server Linux dengan SquidGuard
Saya baru teringat tulisan pertama saya tentang proxy server Linux menggunakan Squid. Kali ini saya ingin melanjutkannya dengan menuliskan pengalaman saya membuat proxy server yang berfungsi untuk: membatasi akses internet ke alamat tertentu menggunakan program redirect squidguard dan database-nya yang menampung jutaan situs dalam berbagai kategori. Sampai tulisan ini saya buat, datatabase-nya memiliki puluhan kategori. yang sangat bagus jika diterapkan di tempat saya, yang merupakan lembaga pendidikan. Panduan instalasi dan konfigurasinya secara lengkap dapat ditemukan di situs resmi squidGuard. Kenapa saya membuat hal ini? Permasalahan bahwa situs yang terdaftar dalam blacklist manual sangatlah terbatas, dan saya melihat ada program open source yang sangat bagus dan biasanya disandingkan dengan squid, so saya mencobanya… Dan ternyata setelah berhasil, rasanya terasa nyaman dan menyenangkan. squidGuard sudah membantu pekerjaan saya. hehe…Langkah-langkah yang saya lakukan adalah:
- Download dan instalasikan squidGuard pada sistem
- Download database squidGuard
- Membuat file konfigurasi untuk squidGuard di /etc/squid/squidGuard.conf
- Instal database squidGuard
- Menambahkan redirect squidGuard dalam konfigurasi proxy di /etc/squid/squid.conf
- Membuat script untuk memudahkan saya menjalankan squid dan squidGuard
- Jalankan proxy server
# # CONFIG FILE FOR SQUIDGUARD # # Author By: fxekobudi@gmail.com # dbhome /var/squidGuard/blacklists logdir /var/log/squidGuard dest adv { log adv domainlist adv/domains urllist adv/urls } dest aggressive { log aggressive domainlist aggressive/domains urllist aggressive/urls } dest automobile { log automobile domainlist automobile/domains urllist automobile/urls } dest chat { log chat domainlist chat/domains urllist chat/urls } dest dating { log dating domainlist dating/domains urllist dating/urls } dest drugs { log drugs domainlist drugs/domains urllist drugs/urls } dest gamble { log gamble domainlist gamble/domains urllist gamble/urls } dest hacking { log hacking domainlist hacking/domains urllist hacking/urls } dest movies { log movies domainlist movies/domains urllist movies/urls } dest music { log music domainlist music/domains urllist music/urls } dest porn { log porn domainlist porn/domains urllist porn/urls } dest redirector { log redirector domainlist redirector/domains urllist redirector/urls } dest shopping { log shopping domainlist shopping/domains urllist shopping/urls } dest spyware { log spyware domainlist spyware/domains urllist spyware/urls } dest tracker { log tracker domainlist tracker/domains urllist tracker/urls } dest violence { log violence domainlist violence/domains urllist violence/urls } dest warez { log warez domainlist warez/domains urllist warez/urls } dest webradio { log webradio domainlist webradio/domains urllist webradio/urls } dest webtv { log webtv domainlist webtv/domains urllist webtv/urls } acl { default { pass !adv !aggressive !automobile !chat !dating !drugs !gamble !hacking !movies !music !porn !redirector !shopping !spyware !tracker !violence !warez !webradio !webtv all redirect 302:http://localhost.localdomain/blacklist.html } }
Setelah membuat file konfigurasinya, selanjutnya saya menambahkan direktive berikut ini agar squid membaca perintah untuk redirect squidGuard. Saya meminta squid untuk menjalankan anak proses squidGuard sebanyak 10, sesuai dengan kemampuan memory yang digunakan proxy. Maksud saya agar request terhadap situs tertentu yang masuk dalam database squidGuard segera dapat tertangani oleh anak-anak proses tersebut, selain karena jumlah client yang lumayan besar.
# unlinkd_program /usr/lib/squid/unlinkd unlinkd_program /usr/lib/squid/unlinkd # --------------------------------- # Redirect program untuk squidGuard # --------------------------------- redirect_program /usr/bin/squidGuard redirect_children 10
1. File shallalist.tar.gz yang sudah saya download saya letakkan di direktory /tmp
2. Selanjutnya saya masuk direktory tersebut dan ekstrak file:
cd /tmp tar -zxf shallalist.tar.gz
#!/bin/sh # # squidGuard blacklists - install script # author by: fxekobudi@gmail.com cd /tmp # extract blacklists tar -zxf shallalist.tar.gz # hapus databases lama # copy blacklists ke db home rm -Rf /var/squidGuard/blacklists/* cp -R /tmp/BL/* /var/squidGuard/blacklists # hapus direktory kategori blacklists yang tidak digunakan rm -Rf /var/squidGuard/blacklists/automobile rm -Rf /var/squidGuard/blacklists/dynamic rm -Rf /var/squidGuard/blacklists/finance rm -Rf /var/squidGuard/blacklists/forum rm -Rf /var/squidGuard/blacklists/hobby/cooking rm -Rf /var/squidGuard/blacklists/hobby/pets rm -Rf /var/squidGuard/blacklists/isp rm -Rf /var/squidGuard/blacklists/jobsearch rm -Rf /var/squidGuard/blacklists/news rm -Rf /var/squidGuard/blacklists/recreation rm -Rf /var/squidGuard/blacklists/science rm -Rf /var/squidGuard/blacklists/shopping rm -Rf /var/squidGuard/blacklists/webmail # buat direktory log squidGuard #mkdir /var/log/squid/squidGuard #chown squid.squid /var/log/squid/squidGuard/ chown squid.squid /var/log/squid/squidGuard/* chown squid.squid /var/log/squid/squidGuard.log # buat domains + urls db, kemudian rubah kepemilikan ke squid user /usr/bin/squidGuard -C all chown squid.squid /var/squidGuard/blacklists/*/*.db chown squid.squid /var/squidGuard/blacklists/*/*/*.db /sbin/service squid restart rm -Rf /tmp/BL
No comments