I. Skenario
Agar memudahkan penjelasan maka penulis membuat skenario jaringan LAN seperti tampak pada gambar-1.

Gambar-1. Diagram LAN
Penjelasan sesuai dengan gambar-1, adalah sebagai berikut:
LAN memiliki nomor jaringan 192.168.1.0/24
Komputer yang akan menghubungkan LAN dengan Internet adalah komputer PC-Gateway yang berperan juga sebagai HTTP Proxy
PC-Gateway memiliki dua buah network interface yaitu eth0 dan eth1, eth0 terhubung dengan Modem/Router ADSL, sedangkan eth1 terhubung dengan LAN. eth0 memiliki nomor IP address 192.168.10.2/30 dan eth1 192.168.1.1/24
Skenario Filtering sebagai berikut:
Komputer PC-Gateway-HTTP-Proxy mengijinkan koneksi dari LAN ke Internet, dengan ketentuan hanya pada hari Senin s.d Sabtu pada jam 07.00 s.d 21.00
Akses ke situs dengan nama domain berikut tidak diijinkan : playboy.com, 17tahun2.com, dan sex.com
Akses ke situs dengan URL mengandung kata berikut ini tidak diijinkan: cabul, bugil, sextoy, dan erotica
Download file-file dengan extensi berikut ini tidak diijinkan: .mpg, .mpeg, .wmv, .avi , dan .iso, kecuali jika yang mendownload dari komputer dengan nomor IP 192.168.1.10 s.d 192.168.1.20
Akses ke situs dengan nomor IP berikut ini tidak dijinkan: 216.163.137.3, 69.16.137.252, 82.98.86.176
Squid dikonfigurasi dalam mode Transparent proxy
II. Konfigurasi PC Gateway
Langkah konfigurasi pertama adalah setup komputer bakal proxy server sebagai gateway, yaitu sebagai berikut:
Enbale IP Forwarding
# echo 1 > /proc/sys/net/ipv4/ip_forward
Enable IP Masquerade
Diasumsikan default policy firewall pada komputer PC Gateway adalah ACCEPT, dan tidak ada rule spesifik apapun sebelumnya.
# service iptables stop
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
Rule iptables untuk mendukung Transparent proxy
# iptables -t nat -A PREROUTING -p tcp -s 192.168.1.0/24 –dport 80 -j REDIRECT –to-ports 3128
Rule firewall tersebut akan menyebabkan setiap koneksi dari LAN dengan port tujuan 80 akan diarahkan ke local process pada komputer gateway yaitu ke process squid (port 3128).
Simpan rule firewall dan pastikan agar firewall diaktifkan saat boot dengan perintah berikut ini:
# service iptables save
# chkconfig iptables on
III. Konfigurasi squid HTTP Proxy
Langkah selanjutnya adalah konfigurasi squid, secara default konfigurasi squid akan memblok semua koneksi dari jaringan LAN ke internet. Untuk itu kita harus melakukan konfigurasi ulang dengan mengedit file /etc/squid/squid.conf. Beberapa parameter konfigurasi squid yang perlu Anda setup diantaranya sebagai berikut:
visible_hostname : parameter ini mendefinisikan nama komputer proxy server Anda , nilai default parameter ini tidak diset. Parameter ini dapat diisi dengan nama komputer yang dilengkapi dengan nama domain. Misalnya sebagai berikut:
visible_hostname proxy.mydomain.com
http_port: parameter ini menunjukkan nomor port service squid. Nilai defaultnya dalah 3128. Untuk menerapkan transparent proxy maka nilai parameter ini harus diset sebagai berikut:
http_port 3128 transparent
acl: parameter ini digunakan untuk mendefinisikan access control list atau untuk filtering format penulisannya sebagai berikut:
acl nama-acl tipe-acl string-pattern ....
acl nama-acl tipe-acl "file" ....
Agar sesuai dengan skenario maka, Anda harus mendefinisikan beberapa acl , sebaiknya pendefinisian acl ini Anda tulis pada file konfigurasi squid yaitu dibawah baris yang bertuliskan “#INSERT YOUR OWN RULE HERE(S) ...”, seperti berikut ini:
acl lan src 192.168.1.0/24
acl waktu_boleh time MTWHFA 07:00-21:00
acl domain_dilarang dstdomain “/etc/squid/daftar-domain_dilarang”
acl url_dilarang url_regex -i “/etc/squid/daftar-url_dilarang”
acl file_dilarang url_regex -i “/etc/squid/daftar-file_dilarang”
acl ip_vip src 192.168.1.10-192.168.1.20/32
acl ip_dilarang dst “/etc/squid/daftar-ip_dilarang”
Pada konfigurasi acl waktu_boleh time MTWHFA 07:00-21:00, pola MTWHFA merupakan singkatan dari M=Monday, T=Tuesday, W=Wednesday, H=Thursday, F=Friday, A=Saturday. Sedangkan untuk Sunday adalah S. Penggunaan opsi “-i” pada jenis acl “url_regex” menyatakan opsi “case insensitive”. Dalam konfigurasi acl domain_dilarang, url_dilarang, file_dilarang dan ip_dilarang, pola dari masing-masing acl terdaftar atau ditulis pada sebuah file ASCII teks, yang terletak dalam direktori /etc/squid. Isi dari masing-masing file tersebut adalah sebagai berikut:
Isi file /etc/squid/daftar-domain_dilarang :
playboy.com
17tahun2.com
sex.com
Isi file /etc/squid/daftar-url_dilarang :
cabul
bugil
sextoy
erotica
Isi file /etc/squid/daftar-file_dilarang :
\.mpg$
\.mpeg$
\.wmv$
\.avi$
\.iso$
Isi file /etc/squid/daftar-ip_dilarang :
216.163.137.3
69.16.137.252
82.98.86.176
http_access: parameter ini menunjukkan rule yang akan diterapkan pada suatu access control list. Agar sesuai dengan skenario kita maka Anda harus mendefinisikan rule, tulislah rule tersebut dibagian bawah atau setelah seluruh pendefinisian acl sehingga konfigurasi rule tampak sebagai berikut:
# baris berikut ini adalah daftar rule akses http
http_access deny !waktu_boleh
http_access deny domain_dilarang
http_access deny url_dilarang
http_access deny ip_dilarang
http_access allow ip_vip
http_access deny file_dilarang
http_access allow lan
Pada konfigurasi rule tersebut tampak sebuah rule dengan acl yang diikuti dengan tanda ! , tanda “ ! “ memiliki makna yaitu selain atau bukan, jadi maksud dari rule tersebut adalah jika traffic web ke proxy server terjadi pada waktu selain yang ditentukan dalam ACL waktu_boleh maka traffic tersebut ditolak. Berbeda dengan acl, urutan pendefinisian rule http pada konfigurasi squid sangat menentukan, kesalahan meletakkan urutan pendefinisian rule tersebut berakibat tidak berjalannya skenario filtering yang diharapkan karena squid akan mengevaluasi rule dari baris atas kemudian ke bawah, jika suatu traffic sesuai atau matching dengan suatu acl dan acl tersebut diijinkan maka traffic tersebut akan diterima squid, dan squid tidak akan mengevaluasi lagi rule dibawahnya. Setelah konfigurasi squid Anda lakukan cobalah Anda aktifkan service squid dan pastikan service squid diaktifkan saat boot dengan cara berikut ini:
# service squid start
# chkconfig squid on
Kemudian cobalah Anda uji pengaksesan web untuk menguji filtering.

0 komentar:
Poskan Komentar