Bagaimana Memfilter di Linux ?

Apa yang Anda ketahui tentang Squid? Squid sering diartikan secara pendek sebagai proxy. Lalu apa itu proxy? Squid sebagai proxy dapat dimanfaatkan untuk berbagai kebutuhan, antara lain 3 hal berikut. Pertama, komputer yang menjalankan Squid dapat bertindak sebagai gateway (gerbang atau jalur khusus) ke Internet bagi komputer lain dalam jaringan lokal. Kedua, Squid sebagai cache, artinya dapat berfungsi untuk menampung informasi (web) yang pernah diakses sebuah komputer, sehingga mempercepat akses komputer lainnya ke isi web tersebut. Ketiga, Squid sebagai filter atau penyaring terhadap pengaksesan web-web yang tidak diinginkan, misalnya web berisi pornografi.

Bagaimana agar setiap pengguna dipastikan mengakses Internet melalui Squid? Untuk ini kita dapat menerapkan transparent proxy. Transparent proxy dapat menggunakan gabungan antara Squid dengan Ipchains. Dengan transparent proxy, setiap Browser pada komputer yang menggunakan gateway ini secara otomatis melewati proxy.


Fokus tulisan singkat ini adalah web filtering, khusunya pornografi. Namun, secara singkat saya akan menjelaskan juga cara mengaktifkan Squid dan Ipchains. Tulisan ini hanya merupakan hasil dari pengalaman, dengan pengujian menggunakan Linux distribusi RedHat 6.2 dan Mandrake 7.2. Anda bebas untuk mencoba atau meniru, namun resiko ditanggung sendiri, misalnya dimaki-maki orang lain karena Anda telah membatasi haknya :-)

Konfigurasi Squid Sederhana 

Untuk mengaktifkan Squid sebagai gateway dan cache-proxy tanpa filtering, Anda hanya perlu mengedit sebuah baris pada file /etc/squid/squid.conf. (Tentu saja setelah Anda memastikan bahwa Squid sudah terinstall).  

http_access deny all

diubah menjadi:

http_access allow all

Catatan: all ini adalah semua alamat IP (Internet Protocol) yang didefinisikan oleh perintah berikut ini (telah ada pada bebarapa baris sebelumnya):

acl all src 0.0.0.0/0.0.0.0

Setelah menyimpan perubahan tersebut, sebagai root jalankan Squid dengan perintah ini:

# squid -z

(Ini hanya untuk pertama kali Squid di-start) 

# squid

Atau menggunakan script yang telah tersedia, misalnya:

# /etc/rc.d/init.d/squid restart

Konfigurasi Ipchains

Squid tidak dapat melewatkan permintaan untuk mengakses email (SMTP dan POP3), RealAudio, irc (chatting). quake (game) dan VideoLive. Ipchains dapat melewatkan (forwarding) semuanya, misalnya dengan tipe masquerading (MASQ), yaitu mewakili komputer beralamat IP lokal dalam mengakses Internet. Perintah berikut ini untuk mengaktifkan forwarding dan module-module yang diperlukan.

# echo 1 > /proc/sys/net/ipv4/ip_forward # depmod -a # modprobe ip_masq_ftp # modprobe ip_masq_irc # modprobe ip_masq_raudio

Perintah ipchains berikut berfungsi untuk mengizinkan semua komputer dengan alamat IP (jaringan) 10.2.0.0 mengakses internet dengan alamat IP bebas (any/0 atau 0/0). 

# ipchains -A forward -j MASQ -s 10.2.0.0/24 -d any/0

Catatan: Jika alamat IP jaringan Anda berbeda (misalnya 192.168.0.0), ganti 10.2.0.0 dengan 192.168.0.0. Anda juga dapat mengatur untuk alamat IP tertentu, misalnya 10.2.0.13/32. 

/etc/rc.d/rc.local

Transparent Proxy

Fungsi transparent proxy di sini adalah membelokkan (REDIRECT) permintaan web atau port 80 ke proxy atau port 3128 (nilai default untuk Squid). 

Perintah Ipchains diubah menjadi seperti ini:

 

# ipchains -F

# ipchains -A input -p tcp -d 10.2.0.0/24 www -j ACCEPT

# ipchains -A input -p tcp -d any/0 www -j REDIRECT 3128

# ipchains -A forward -d any/0 -j MASQ

 

Catatan: Baris pertama di atas untuk menghapus konfigurasi sebelumnya. Baris kedua untuk mengakses web internal tanpa lewat proxy. Baris ketiga untuk membelokkan permintaan web yang lain ke proxy dengan port 3128. Baris keempat untuk mengakses bebas semua informasi di Internet selain web.

Konfigurasi Squid (squid.conf) perlu ditambah dengan 4 baris ini:

 httpd_accel_host virtual  httpd_accel_port 80  httpd_accel_with_proxy on  httpd_accel_uses_host_header on

Konfigurasi Squid untuk Filter Situs Porno

Dalam contoh ini saya menggunakan 3 cara untuk memfilter situs porno. Pertama, saya menyaring berdasarkan nama domain atau URL lengkap. Misalnya, untuk melarang akses ke www.playboy.com, saya menambahkan 2 baris ini pada file squid.conf (sebelum baris http_access allow localhost dan http_access allow all):

 acl cara-1 dstdomain www.playboy.com  http_access deny cara-1

Catatan: Kelemahan cara pertama ini, saya masih dapat mengakses playboy.com, sehingga perlu membuat beberapa baris acl atau mengganti www.playboy.com dengan nama file (dalam tanda petik 2). Misalnya, saya membuat file domain-terlarang, yang berisi daftar nama domain yang tidak ingin diakses (dalam satu kolom). Lalu, saya mengubah baris pertama menjadi acl cara-1 dstdomain “/etc/squid/domain-terlarang”.

Contoh isi file “domain-terlarang”:
www.playboy.com
playboy.com 
penthouse.com 
asiangirls.com 
nudecelebs.com

Cara kedua, saya menggunakan penyaringan berdasar kata atau huruf yang terkandung pada nama domain. Misalnya, untuk menyaring domain yang mengandung kata porno, saya menambahkan 2 baris ini:

acl cara-2 url_regex -i porno http_access deny cara-2

Anda dapat mengganti kata porno dengan nama file, misalnya “kata-terlarang” dengan isi antara lain sebagai berikut:

porno phorno nude lesbi xxx homo sex

Kedua cara di atas masih dapat ditembus bila kita tahu alamat IP homepage playboy.com atau yang mengandung unsur porno. Kalau ingin lebih aman, kita dapat menyaring berdasarkan alamat IP tersebut. Misalnya, dengan perintah nslookup playboy.com, saya dapat menemukan alamat IP playboy.com, yaitu 209.247.228.203, 209.247.228.201, 206.251.29.35 (ada 3 buah). Untuk itu saya menambahkan 2 baris berikut (dan membuat file bernama ip-terlarang yang berisi 4 baris IP playboy.com):

acl cara-3 dst "/etc/squid/ip_terlarang" http_access deny cara-3

Contoh isi file “ip-terlarang” (ini hanya untuk domain playboy.com):

209.247.228.203 209.247.228.201 206.251.29.35

Dengan cara sederhana ini, saya dapat sedikit membantu menyelamatkan generasi muda dari salah satu efek negatif Internet, yaitu pornografi. Konfigurasi semacam ini berhasil saya pasang di Sekolah Dasar Islam Terpadu Nurul Fikri. Selamat mencoba dan kalau ada saran atau pengalaman yang lain silakan kirim ke saya rusmanto@elektroindonesia.com atau redaksi@jakarta.linux.or.id

(Rusmanto – www.elektroindonesia.com)

 

 

Untuk mendapatkan informasi lebih lanjut tentang teknik memfilter PC yang berbasis Linux menggunakan Squid, silakan kunjungi situs http://www.squidguard.org dan http://squidguard.mesd.k12.or.us.

.

……….

.

 

Tinggalkan Balasan

Fill in your details below or click an icon to log in:

WordPress.com Logo

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

Twitter picture

You are commenting using your Twitter account. Log Out / Ubah )

Facebook photo

You are commenting using your Facebook account. Log Out / Ubah )

Connecting to %s

Ikuti

Get every new post delivered to your Inbox.