Tahun III, Nomor 14, Juni 2001


Menyaring Pornografi dengan Squid dan Ipchains

Home
Halaman Muka
 

Konektivitas MySQL - Python

Penjadwalan Tugas dengan cron dan at

Tip StarWriter di StarOffice 5.2
 

 

Oleh Rusmanto

 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

GAMBAR

 Gambar-1 memperlihatkan tampilan Netscape ketika mengakses playboy.com. 

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

| Konektivitas MySQL - Python  |  Penjadwalan Tugas dengan cron dan at   |
| Tip StarWriter di StarOffice 5.2  |


Email : jakarta@jakarta.linux.or.id


| Home | Halaman Muka


 © 1999-2001  ELEKTRO Online
All Rights Reserved.
Last modified on :