Apr 17

Blocking Negative Contents Using Squid and OpenDNS

Category: Linux, inet

Sebenarnya konten negatif bukan hanya pornografi, tapi juga adware, malware yang justru lebih membahayakan dari sisi security. Untuk lebih mudahnya, saya kategorikan saja konten yang berpotensi merusak sebagai konten negatif.

Blokade konten negatif dari internet yang berbasis site dan url bisa dilakukan dengan squid atau OpenDNS ataupun keduanya. Di sini yang saya lakukan adalah, membuat blokade di Squid proxy dengan acl pada konfigurasinya dan memberikan dns forwarder pada bind9 ke OpenDNS. Kedua service tersebut berjalan pada satu mesin yaitu Ubuntu 7.10 server. Fungsi blocker bisa berjalan, hanya jika server ini diposisikan sebagai gateway ataupun bridge.

Pada konfigurasi squid ada fasilitas access control atau acl yang dideklarasikan pada berkas /etc/squid/squid.conf untuk kemudian diatur aksesnya melalui http_access di berkas konfigurasi yang sama. Untuk membuat blokade situs, pertama harus dibuat list keyword dan disimpan dalam bentuk text file, misalnya blocked.txt. Kemudian pada daftar acl di squid.conf ditambahkan acl dengan cara sebagai berikut.

Mengedit file /etc/squid.conf dengan nano.

user@server:~$ sudo nano /etc/squid/squid.conf

Menambahkan acl sebagai berikut.

acl blocked url_regex -i “/etc/squid/blocked.txt” # dalam tanda petik adalah full path ke keyword list

Menambahkan kendali akses.

http_access deny blocked

Jika diperlukan dapat menambahkan alasan pemblokiran dengan function berikut.

deny_info blocked http://localhost/block-info.html # jika akses ke situs terblokir, akan diredirect ke http://localhost/block-info.html, bisa diganti url lain.

Kemudian simpan perubahan pada file squid.conf dan restart squid.

user@server:~$ sudo /etc/init.d/squid restart

Kemudian blocking dengan OpenDNS, pertama harus mendaftar account terlebih dahulu ke opendns.com. Setelah terdaftar, kemudian login ke account. Masuk ke Dashboard, pilih Networks. Disinilah jaringan yang akan menggunakan layanan OpenDNS harus dimasukkan terlebih dahulu. Caranya mudah, hanya dengan memasukkan IP publik yang sudah terbaca oleh OpenDNS.

Setelah itu, masuk ke Settings. Di menu ini bisa diatur kategori kontent yang akan diblokir. Sistem blokadenya menggunakan teknik DNS resolve, jadi situs yang sudah diblokir tidak akan diresolve IP addressnya, melainkan sebuah halaman dari OpenDNS yang menerangkan bahwa halaman yang dibuka terlarang.

Konfigurasi filtering di OpenDNS ini sangat mudah, disamping cukup memilih kategori kontent tertentu, kita juga bisa memblok situs secara manual dengan memilih Block Individual Domains, ataupun meng-unblok situs yang terblok namun sebenarnya boleh diakses.

Setelah konfigurasi di OpenDNS.com, saatnya konfigurasi di bind9. Cukup dengan menambahkan forwarders di file /etc/bind/named.conf.options dengan cara sebagai berikut.

user@server:~$ sudo nano /etc/bind/named.conf.options

Pada tulisan forwarders tambahkan IP address DNS server OpenDNS sebagai berikut.

forwarders {
208.67.222.222;
208.67.220.220;

}

Akan tetapi, secara default bind9 akan meresolve domain ke root server. Jika ini terjadi, maka block DNS tidak bisa dilakukan. Untuk itu, fitur ini perlu di disable, sehingga bind9 hanya berfungsi sebagai dns forwarder.

Kemudian simpan perubahan dan restart service bind9.

user@server:~$ sudo /etc/init.d/bind9 restart

Selesai, siap diujicoba. Dengan ini, maka jaringan yang bersangkutan memiliki blokade berlapis, dimana lapisan pertama adalah squid dengan keyword filternya. Jika lolos, maka ada barisan kedua yaitu OpenDNS yang tidak akan meresolve IP dari situs2 yang memiliki konten berbahaya. Ada baiknya ditambah keyword proxy, proxies dan spy di file keyword list untuk mencegah client mencari proxy lain untuk membaypass blokade ini, :D peace… :P Salam.

No Comments

Leave a comment