Implementasi
Kidsafe Proxy
Sebagai Pembatas Hak Akses
dan
Filtering
Menggunakan
Raspberry pi
Artikel Ilmiah
Juins Carlo Radjulan (672011063) Dian W. Chandra, S.Kom., M.Cs.
Radius Tanone, S.Kom., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Implementasi
Kidsafe Proxy
Sebagai Pembatas Hak Akses
dan
Filtering
Menggunakan
Raspberry pi
Artikel Ilmiah
Diajukan kepada Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer
Peneliti :
Juins Carlo Radjulan (672011063) Dian W. Chandra, S.Kom., M.Cs.
Radius Tanone, S.Kom., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Implementasi
Kidsafe Proxy
Sebagai Pembatas Hak Akses
dan
Filtering
Menggunakan
Raspberry pi
1) Juins Carlo Radjulan, 2)Dian W. Chandra, 3)Radius Tanone
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Jl. Diponegoro 52-60, Salatiga 50711, Indonesia
E-mail : 1) [email protected], 2) [email protected],
Abstract
Along with the development of information and communication technology, also have an impact on human lifestyles. Internet is a means to search for information on an institution, individual, or in family life. But there is no doubt many adverse effects of the internet such as forbidden sites that should not be accessed. One method that can be used to address these problems by using the Kidsafe proxy. Kidsafe is an application that is installed on the proxy server with a web-based interface that allows users to use and explore the Internet safely. This research was conducted with the stages of research methodology PPDIOO (Prepare, Plan, Design, Implement, Operate, Optimize). Results from this research in the form of tables and Figures which show that the system can narrow the access rights according to existing categories, in addition to the system is also able to save bandwidth.
Keywords: Kidsafe, Server Proxy, Raspberry pi
Abstrak
Seiring dengan perkembangan teknologi informasi dan komunikasi, berdampak juga pada gaya hidup manusia. Internet merupakan sarana untuk mencari informasi pada sebuah instansi, perorangan, maupun didalam kehidupan berkeluarga. Namun tidak dapat dipungkiri banyak dampak buruk dari internet seperti situs terlarang yang tidak boleh diakses. Salah satu metode yang dapat digunakan untuk menjawab masalah tersebut yakni dengan menggunakan kidsafe proxy.Kidsafe merupakan aplikasi yang diinstal pada server
proxy dengan antarmuka berbasis web yang memudahkan pengguna untuk menggunakan dan menjelajahi internet dengan aman. Penelitian ini dilakukan dengan tahapan metodologi penelitian PPDIOO (Prepare, Plan, Design, Implement, Operate, Optimize). Hasil dari penelitian ini berupa tabel dan Gambar yang menunjukan bahwa sistem dapat melakukan pembatasan hak akses sesuai dengan kategori yang ada, selain itu sistem juga
dapat melakukan penghematan bandwidth.
Kata Kunci : Kidsafe,Server Proxy, Raspberry pi
1) Mahasiswa Fakultas Teknologi Informasi Jurusan Teknik Informatika, Universitas Kristen Satya
Wacana Salatiga.
1. Pendahuluan
Banyak dampak buruk dari internet untuk kita terutama pada kalangan anak-anak yang tidak boleh diakses seperti situs pornografi, perjudian, dan situs-situs terlarang yang mengandung virus serta file-file berbahaya lainnya. Fakta menunjukan dengan studi yang dilakukan oleh kominfo dan UNICEF pada februari tahun 2014 silam dengan hasil menemukan bahwa setidaknya ada 30 juta anak-anak dan remaja di indonesia merupakan pengguna internet, studi ini menemukan juga bahwa banyak anak-anak yang tidak terlindungi dari konten negatif yang ada di internet. Tentu sebagai pengguna menginginkan agar internet yang sehat dan aman terkhususnya di dalam lingkungan keluarga. Oleh sebab itu diperlukan batasan hak akses internet untuk mengatasi hal-hal tersebut, solusi dapat dilakukan dengan berbagai macam metode, salah satunya yakni dengan menggunakan kidsafeproxy.
Kidsafe merupakan program yang dirancang untuk diinstal pada proxysquid yang menyediakan kontrol dengan antarmuka web untuk membatasi hak akses internet berdasarkan rule yang diterapkan dalam jaringan lokal. Kidsafe bukan firewall, meskipun beberapa fungsi firewall turut disertakan [1]. Kidsafe bekerja didalam
proxy, cara kerjanya yaitu sebelum permintaan data dari client disampaikan ketujuannya (web server lain) di internet data tersebut terlebih dahulu akan diarahkan ke serverproxy. Serverproxy akan menjalankan beberapa fungsi yakni
sharing, dalam praktiknya semua client bisa bersama-sama saling terhubung ke
serverproxy dan dapat melakukan akses internet secara bersamaan melalui server proxy, kemudian fungsi caching yakni membuat salinan data konten didalam cache proxy, sehingga apabila klien ingin mengakses situs atau konten yang sama, server proxy tidak perlu lagi menghubungi alamat yang menyediakan konten tersebut. Proses filtering, kidsafe proxy dapat diatur untuk melakukan penyaringan terhadap alamat website, kidsafe dalam praktiknya ACL (Access Control List) akan mengizinkan rule yang ditambahkan kedalam rule list, sehingga sistem akan memblokir alamat-alamat yang tidak ditambahkan ke dalam rule. Hal ini dikarenakan dalam pembentukkan rule tidak murni pada suatu alamat saja, sebab konten dan isi suatu website terkait dengan website lainya.
Berdasarkan latar belakang masalah, maka dilakukan penelitian dengan tujuan mengimplementasi dan menganalisa kidsafe serta pembuatan rule, yang berfungsi sebagai filtering dan melakukan pembatasan hak akses, menggunakan
raspberry pi yang dimanfaatkan sebagai serverproxy.
2. Kajian Pustaka
Adapun penelitian yang menjadi acuan dalam penelitian yang dilakukan adalah penelitian dengan judul “Analysis Limiting Internet Sites with the Method Using Squid Proxy Server at SMKN 1 South Rawajitu” membahas bagaimana membatasi penggunaan situs di internet dalam jaringan LAB karena penyalahgunaan internet pada saat jam pelajaran. Dengan menggunakan squid pada
Penelitian lain yang juga menjadi acuan dalam penelitian yang dilakukan adalah penelitian dengan judul “Perancangan Dan Implementasi Proxy Server
Untuk Filtering Berdasarkan Alamat Situs Dan Alamat IP” membahas filtering
pada alamat situs serta alamat IP berhasil dilakukan pada alamat situs yang sudah didaftarkan pada ACL (Access Control List). Sedangkan untuk alamat situs yang belum didaftarkan pada ACL tidak akan disaring oleh proxy server masih bisa diakses klien, dan untuk menambahkan alamat situs yang baru di daftarkan pada
ACL yang sudah di buat sebelumnya, klienakan dialihkan ke sebuah halaman teks
error maka klien tidak dapat mengakses alamat situs tersebut [3].
Adapun perbandingan dari dua penelitian diatas dengan penelitian ini adalah pada penelitian pertama dimana squid proxy digunakan untuk membatasi penggunaan internet pada jam pelajaran dengan waktu yang ditentukan. Pada penelitian kedua dimana melakukan filtering berdasarkan alamat situs dan IP, serta menggunakan sistem operasi freeBSD yang berbasis UNIX sebagai server proxy.
Sedangkan pada penelitian ini juga menggunakan squid proxy untuk filtering
namun hanya untuk alamat situs, sistem operasi yang digunakan untuk penelitian ini yakni raspbian wheezy yang berbasis LINUX, menggunakan autentikasi dan kategori-kategori yang sudah ditentukan untuk pembatasan hak akses serta waktu penggunaan internet juga dapat disesuaikan.
Squid adalah program proxyserver yang tersedia secara open source yang sangat banyak kegunaannya, salah satunya adalah melakukan cache terhadap konten dari sebuah situs. Squid adalah program yang saat ini paling banyak digunakan oleh administrator jaringan sebagai program proxy server. Hal ini disebabkan karena banyak kelebihan yang ditawarkan oleh squid [4].
ACL merupakan elemen dasar dari kontrol akses yang biasanya bentuk kombinasi perintahnya seperti: http_access (perintah untuk memberikan hak akses ke HTTP), icp_access (perintah untuk mengontrol akses query menggunakan ICP), dan sebagainya, untuk mengontrol akses ke berbagai komponen squid. ACL
mengidentifikasikan perintah seperti http_access, kemudian memutuskan apakah perintah harus diizinkan atau tidak. Definisi setiap ACL harus memiliki nama, jenis, dan diikuti oleh nilai-nilai tertentu seperti berikut:
ACL nama_ACL jenis_ACL nilai
ACL nama_ACL jenis_ACL“/path/sebuah/file”
Contoh membuat ACL untuk filtering alamat situs seperti berikut:
ACL bad_dns dstdomain .xnxx.com .situsjudi.net 109.123.78.51 184.106.72.56 http_access deny bad_dns
Interpretasi dari ACL tersebut adalah ACL dengan nama bad_dns yang memiliki jenis dstdomain (domain tujuan) dengan nilai .xnxx.com .situsjudi.net 109.123.78.51 184.106.72.56 (alamat situs dan alamat IP yang akan di filter), akan di blokir pengaksesannya dengan perintah deny [3].
Kidsafe adalah program yang dirancang oleh Stewart Watkiss untuk diinstal pada server proxy squid yang menyediakan kontrol dalam antarmuka web. Sebuah
dan merubah rule untuk mengizinkan request data dari client. Sedangkan client
hanya dapat request data dan mengubah password.
Raspbian wheezy adalah sistem operasi open source berbasis debian GNU / linux dan dioptimalkan untuk perangkat keras raspberry pi (arsitektur prosesor armhf). Raspbian dilengkapi dengan lebih dari 35.000 paket, atau perangkat lunak pre-compiled paket dalam format yang bagus untuk kemudahan instalasi pada
raspberry pi. Awal di rilis sejak juni 2012 [5].
SARG atau Squid Analysis Report Generator merupakan sebuah aplikasi yang dibuat oleh Pedro Lineu Orso yang bertujuan untuk melihat dan merekam aktivitas user selama menggunakan internet. Aplikasi ini sangat lengkap sehingga memungkinkan admin dapat melihat situs-situs apa yang dikunjungi oleh user, berapa bandwidth yang terpakai, dan sebagainya. SARG menghasilkan laporan berupa antarmuka HTML yang berasal dari file log serverproxy itu sendiri, dengan informasi tentang pengguna menggunakan identitas perwakilan berupa IP address
[6].
3. Metode Penelitian
Dalam penelitian ini metodologi yang digunakan yakni metodologi penelitian PPDIOO (Prepare, Design, Implement, Operate, Optimize).
Gambar 1 Skema Metodologi PPDIOO [7].
Fase prepare dimana rencana kerja disusun agar penelitian dapat terorganisir dengan baik untuk penerapan kidsafe proxy serta membuat rule yang digunakan sebagai filtering dan juga sebagai pembatas hak akses berdasarkan dengan kategori-kategori yang ada pada Kidsafeproxy, sebagai pemecahan masalah pada penelitian ini.
karena dengan melihat spesifikasi pada raspberry pi model b+ yang mampu bekerja sebagai serverproxy. Tabel 1 menjelaskan kebutuhan perangkat keras.
Tabel 1 Kebutuhan Perangkat Keras
Hardware Spesifikasi Detail
RaspberryPi model B+ Chip Broadcom BCM2835
CPU 700 MHz ARM1176JZF-S core (ARM6
family)
Memory (SDRAM) 512 MB (shared with GPU)
Disk MicroSD Class 10, 16GB Onboard network 10/100 Ethernet (RJ45)
Power ratings 600 mA (3.5 W) via MicroUSB or GPIO
header
Size & Weight 85.60 mm x 56 mm & 45 g
Router Tenda Connection DSL/cable Internet connection, and
1USB Port for WCDMA & CDMA 3G
mobile broadband connection
Ethernet Speed Up 150Mbps 11n speed, backward compatible with Wireless b/g device Ports 1* WAN port and 4* LAN ports Security WEP, WPA/WPA2 encryptions Antenna Detachable 5dBi
Kebel UTP Straight 1 Meter
Penelitian yang dilakukan menggunakan 1 unit laptop yang difungsikan sebagai PC Admin, 1 buah raspberry pi model b+ yang dimanfaatkan sebagai
server-proxy, 1 buah wireless router yang dikoneksikan ke internet dan digunakan sebagai access point. Disamping kebutuhan terhadap hardware, terdapat pula
software yang tentu diperlukan dalam mendukung untuk pembangunan kidsafe
serta pembuatan rule dalam penelitian ini. Pada tabel 2 menunjukkan perangkat lunak yang dibutuhkan.
Tabel 2 Kebutuhan Perangkat Lunak
Kebutuhan Details
Sistem operasi Raspbian wheezy
Web server Lighttpd
Bahasa pemrograman PHP Versi 5, python
Database Mysql-server Database GUI Phpmyadmin
Proxy Squid3 dengan Aplikasi Kidsafe Versi 0.2.1
Remot sever Bitvise SSH Client
Capturing Wireshark
Gambar 2 Skema Topologi Fisik Dan Arsitektur Sitem
Design dimana terdapat gambaran tentang pengguna pada Gambar 5 menunjukkan desain fisik topologi dan arsitektur sistem dari sistem yang akan dibangun dan akan diimplementasikan sesuai dengan alokasi penggunaan IP address yang terlihat pada Tabel 3.
Tabel 3 Alokasi Penggunaan IP Address
Perangkat Keterangan
Modem IPpublic: 180.246.73.52
Wireless Accsess Point Local network : 192.168.63.0/28 Netmask: 255.255.255.240 Gateway: 192.168.63.1 Komputer server-proxy IP address: 192.168.63.2
Netmask: 255.255.255. 240 Gateway: 192.168.63.1
Admin & Client DHCP: 192.168.63.4 - 192.168.63.14 Netmask: 255.255.255.240
Gateway: 192.168.63.1
Implement merupakan fase mengimplementasi sebuah perancangan logic
ke dalam hasil nyata, dimana diterapkan dengan melakukan proses konfigurasi, pembuatan rule sesuai dengan kategori-kategori yang sudah ada dan semua yang telah direncanakan. Tahapan ini juga akan menjadi penentu berhasil atau gagalnya sistem yang akan dibangun. Operate merupakan fase yang melakukan uji coba dengan melakukan serangkaian kegiatan. Secara garis besar dilakukan pengujian sebagai pembatas hak akses dan filtering. Faseini juga dapat memecahkan masalah yang timbul selama proses berlangsung, serta melakukan monitoring pada sistem tersebut apakah ada kekurangan dari sistem yang membuat kurang efisien. Apabila ada kekurangan dalam sistem maka dilakukan maintenance sistem tersebut. Diharapkan dari hasil maintenance kinerja sistem menjadi lebih optimal dari sebelumnya.
4. Implementasi dan Pembahasan
Pada fase ini dijelaskan tentang implementasi kidsafe proxy dan pembuatan
rule sebagai pembatas hak akses dan filtering, serta analisa sistem juga rule yang dibuat. Langkah-langkah installasi dan konfigurasi dilakukan pada raspberry pi
sebagai serverproxy. Pada bagian ini juga akan dibahas mengenai hasil penerapan dan pembahasan yang menjadi fokus adalah pembuatan serta analisa rule dan proses filtering. Dengan menggunakan sistem operasi (raspbian wheezy) yang telah diinstal dan berjalan dengan baik pada raspberry pi serta dapat diremot, digunakan aplikasi bitvise SSH Client untuk meremot server. Konfigurasi lebih lanjut dapat dilihat pada Tabel 4.
Tabel 4 Instalasi Aplikasi Dan Perintah Pada Server.
Langkah-langkah Perintah
1. Masuk sebagai user tertinggi
sudo su
2. Update sistem apt-get update
3. Instalasi squid3 apt-get install squid3
4. Instalasi Lighttpd apt-get install Lighttpd
5. Instalasi Mysql Server apt-get install mysql-server
dengan password root : 672011063
6. Instalasi PHP apt-get install php5-common php5-cgi php5
php5-mysql 7. Mengaktifkan script php
modul FastCGI-php
lighty-enable-mod fastcgi-php
8. Memuat ulang server service lighttpd force-reload
9. Merubah owner direktori dan grup
chown www-data:www-data /var/www
10. Memungkinkan grup untuk write direktori
chmod 775 /var/www
11. Menambahkan pi user ke www-data group
usermod -a -G www-data pi
12. Download paket-paket kidsafe
27.# ... 28.#
29.# include /path/to/included/file/squid.acl.config 30.#
31.# Includes can be nested up to a hard-coded depth of 16 levels.
32.# This arbitrary restriction is to prevent recursive include references 33.# from causing Squid entering an infinite loop whilst trying to load 34.# configuration files.
35.include /opt/kidsafe/kidsafe.squid3.inc 36.# TAG: dns_testnames
37.#...
Kode program 1 Kidsafe.squid3.inc [1].
9. ...
10.# LOCAL NETWORK
11.# ---
12.# change to your own local network here if doesn't begin 192.168 13.# access to any addresses listed here will be allowed and will not be
verified using Kidsafe and so won't be included in the Kidsafe log 14.ACL local_ACL dst 192.168.63.0/28
15.# enter the local IP address of this proxy server below 16.ACL localhost_ACL src 127.0.0.1/32 ::1
17..
18.# ACCESS RULES
19.# ---
20.# localhost can bypass the proxy anyway so we can allow them anywhere 21.http_access allow localhost_ACL
22.# allow local access (eg. to error page), although client is normally configured to bypass anyway
23.http_access allow local_ACL 24.# validate all other requests 25.http_access allow Kidsafe_ACL
26.# block all sites that have a deny 27.http_access deny all
28..
29.# REDIRECT TO WEB LOGIN / CONFIG PAGE
30.# --- 31.# set this address to the address of the proxy server
32.# squid 3.1 only supports %s option - &s=%i (client address) could be used for 3.2
33.# otherwise let php get client address (needs bypass proxy for local in
client config)
34.deny_info http://192.168.63.2/Kidsafe/blocked.php?URL=%s all
Kode Program 1 merupakan pengkodean untuk pengaturan sesi dan rules dalam kidsafe. Perintah pada baris 14 dapat dilihat bahwa ACL mengizinkan akses ke alamat network dengan tujuan 192.168.63.0/28, dan baris ke 16 untuk local network. Sedangkan pada baris ke 27 dilihat perintah dimana ACL dikonfigurasi untuk memblok semua akses. Pada baris 34 dapat dilihat, dimana sistem akan mengalihkan tujuan dan menampilkan informasi pemblokiran pada suatu website
atau URL.
Kode program 2 Squid.conf[1].
Tabel 5 Perintah Untuk Pengaturan Hak Akses
Perintah Arti
cd /opt/kidsafe Membuka direktori /opt/kidsafe
chown :www-data . Perintah untuk mengganti kepemilikan dari suatu file dalam data pada direktori /var/www
chown :proxy kidsafe.py
Perintah untuk mengganti kepemilikan dari file kidsafe.py chmod 770 kidsafe.py Perintah untuk mengubah hak akses file kidsafe.py, dengan
nilai 770 (rwx-rwx----) dimaksudkan hanya owner dan user yang memiliki hak akses baca, tulis dan mengeksekusi, sedangkan other tidak memiliki hak akses.
chown :www-data kidsafe.rules kidsafe.session
Perintah untuk mengganti kepemilikan dari file kidsafe.rules dan kidsafe.session
chmod 664 kidsafe.rules kidsafe.session
Perintah untuk mengubah hak akses file kidsafe.rules dan kidsafe.session, dengan nilai 664 (rw--rw--r--) dimaksudkan owner dan user hanya dapat membaca dan tulis sedangkan other hanya memiliki hak akses untuk membaca.
Karena antarmuka dan kinerja dari sistem bergantung pada database
dipastikan database sudah terhubung, hal ini juga dikarenakan rule yang akan ditambahkan dari sistem akan disimpan pada database.
Gambar 3 Penambahan Rule Kategori Anak
Gambar 4 Penambahan Rule Kategori Remaja
kategori dewasa (adult) tidak dilakukan penambahan rule, karena secara default
sistem telah mengizinkan semua akses alamat untuk kategori ini. Rule yang telah terbentuk dapat dilihat pada Kode Program 3.
Kode program 3 Rule Pertama Kidsafe.rules
Gambar 5 Komponen Rule
Tabel 6 Deskripsi Komponen Rule
No. Arti Keterangan
1 Wild card Karakter khusus yang mewakili satu atau lebih karakter lain. Dalam hal ini mewakili domain website.
2 Rule ID Menunjukkan identitas urutan antrian pada rule dalam sistem ini. 3 Permission Tingkat izin yang diberikan. Dalam sistem ini terdapat dua perizinan
diantaranya: 0 = deny dan 9 = allow.
4 Wild card Karakter yang mewakili user levels dalam sistem ini umumnya diberi nilai antaranya: ('0' = Guest, '1+'= Child, '5+' = Teen, '9+' = Adult, '10'= Owner). 5 Template Dalam sistem ini template secara default diberikan nilai 0.
6 Log Log dalam sistem ini terdiri dari: 0 = no logging, 1 = critical only, 2 = ditambahkan kedalam rule list yang tersimpan dalam filekidsafe.rules dan didalam
database sistem. Secara garis besar kidsafe menggunakan tingkatan nilai user level
untuk pembatas hak akses dan sebagai permintaan izin yang tercatat didalam
database, untuk website diantaranya nilai 1+ untuk “Child”, 5+ untuk “Teen”, dan 9+ untuk “Adult”. Sebagai contoh “.e-learningforkids.org”
3. ...
4. * 2 9 9+ 0 0
menunjukkan alamat atau domain name “3” merupakan rule id yang merupakan urutan rule yang ditambahkan ke dalam rule list. “9” adalah nilai izin yang diberikan. “1+” menyatakan tingkat pengguna, “0” menyatakan nilai template
yang diberikan secara default, dan “1” merupakan log. Pada konsep komponen
rule, rule list yang sudah ditambahkan oleh admin dapat diubah, ditambah, dan dihapus secara manual melaui terminal maupun dari database sistem, namun hal ini akan mengganggu kinerja sistem serta tidak singkronnya database dengan rule list yang berada didalam filekidsafe.rules. Hal ini berdampak yakni pada antarmuka atau tampilan dari sistem ini.
Pengujian yang dilakukan yakni untuk melihat apakah sistem mampu membatasi hak akses terhadap suatu website atau URL sesuai dengan kategori khususnya pada akun anak dan remaja serta rule yang sudah ditambahkan maupun pengujian dengan melihat presentase hasil antarmuka dari rule baru yang berbeda dengan rule pertama. Hasil pengujian untuk pemblokiran dapat dilihat pada Tabel 5.
Tabel 7 Hasil Pengujian Pembatasan Hak Akses
Alamat Website
Kategori
Anak Remaja Dewasa
Diizinkan Diblok Diizinkan Diblok Diizinkan Diblok
www.e-learningforkids.org √ √ √
www.gameclassroom.com √ √ √
www.funbrain.com √ √ √
www.starfall.com √ √ √
www.nickjr.com √ √ √
www.meegenius.com √ √ √
www.coolmath-games.com √ √ √
www.kidshealth.org √ √ √
www.kidsknowit.com √ √ √
www.ixl.com √ √ √
www.facebook.com √ √ √
www.twitter.com √ √ √
www.instagram.com √ √ √
www.google.co.id √ √ √
www.ask.fm √ √ √
www.soundcloud.com √ √ √
www.kompas.com √ √ √
www.wikipedia.org √ √ √
www.ftiuksw.org √ √ √
Pada Tabel 7 dapat dilihat bahwa dengan menggunakan 30 website sebagai data tes, sistem mampu melakukan pembatasan hak akses sesuai dengan kategori dan rule yang dibuat. Berdasarkan hasil pengujian pembatasan hak akses untuk akun anak hanya dapat mengakses 10 dari website yang telah ditambahkan kedalam
rule, begitu juga akun remaja yang berbeda adalah akun dewasa dimana user dapat mengakses website dari dalam rule maupun website yang tidak di tambahkan dalam
rule. 10 website untuk kategori anak diambil berdasarkan hasil review dari kidsites.com dengan penentuan baik buruk, aman atau tidaknya suatu website
dilihat dari kriteria, didalam website ini dijelaskan website yang baik untuk anak dimana dilihat dari isi konten, presentasi dari website tersebut dan yang terpenting adalah materi pembelajaran yang terkandung didalamnya dimana aman untuk ditayangkan untuk kategori ini. Sedangkan untuk website-website kategori remaja dan dewasa diambil berdasarkan hasil kuisoner terbuka yang dilakukan secara
online pada kalangan remaja dan orang dewasa, dengan sasaran website yang sering dikunjungi dan dianggap aman dan baik untuk diakses oleh responden, selain itu
website-website ini juga bukan merupakan website backlist. Acuan untuk website
yang balcklist dilihat berdasarkan oleh daftar database blascklist yang dimuat pada urlblacklist.com.
Gambar 6 Capture Dari Wireshark
Pada Gambar 6 menunjukkan hasil capture yang dilakukan menggunakan
Gambar 7 Halaman Website Diblokir
Gambar 7 menunjukkan antarmuka suatu website diblokir oleh sistem, hal ini dikarenakan user masuk sebagai kategori child dimana website dalam kategori tersebut tidak di izinkan untuk mengakses website tersebut. User dapat melanjutkan permintaan akses apabila user login dengan username dan password yang sesuai dengan kategorinya, form login juga tersedia pada alamat 192.168.63.2/kidsafe.
Kode program 4 File Kidsafe.py Perintah Untuk Proses Filtering
140. # check if the user level matches this rule
141. if (checkUserLevel(authlevel, ruleentry[3]) == False) : 142. if (loglevel >= 10) :
143. logEntry (10, "User level not matched on rule "+str(ruleentry[1]))
144. continue
145. if (loglevel >= 10) :
146. logEntry (10, "User level match on rule "+str(ruleentry[1])) 147. .
148. # check if the destination matches 149. if checkDst(dst, ruleentry[0]) : 150. rulematch = ruleentry[1] 151. if (loglevel >= 10) :
152. logEntry (10, "Destination match on rule "+str(rulematch)) 153. logentry = ruleentry[5]
154. # is this an accept or a deny rule 155. # allow if not 0
156. if (int(ruleentry[2]) != 0) : 157. if (loglevel >= 10) :
158. logEntry (10, "Rule "+str(rulematch)+" is allow "+str(ruleentry[2]))
164. logEntry (10, "Rule "+str(rulematch)+" is deny "+str(ruleentry[2]))
Start level serta komponen rule oleh server proxy Ya
Browser menginformasikan bahwa web server tidak
tersedia
Tidak
Kode Program 4 ditunjukkan proses filtering terjadi didalam sistem ini pada baris 140 sampai dengan baris 166 dimana fungsi tersebut terlebih dahulu akan menyeleksi dengan mengecek komponen-komponen website tujuan apakah alamat,
permission, dan user level sesuai dan cocok dengan rule maupun tujuan permintaan dari user, kemudian fungsi tersebut dikembalikan sistem untuk menentukan apakah permintaan user tersebut diizinkan atau ditolak. Analisa filtering juga dilakukan dan digambarkan dalam bentuk flowchart seperti terlihat pada Gambar 8.
Gambar 8 Proses kerja kidsafe dan filtering.
menggunakan session. Pengenalan pada alamat website yang diinputkan oleh klien dilakukan dengan pengecekkan web server dari website tujuan diinternet, dengan kondisi apakah web server tersebut tersedia atau tidak, jika kondisi ya maka selanjutnya filtering didalam sistem dilakukan seperti yang sudah dijelaskan sebelumnya diatas pada Kode Program 4. Namun jika kondisi tidak browser klien akan menginformasikan bahwa web server dariwebsitetersebut tidak tersedia.
Tabel 8 Report Untuk Website E-learningforkids.org
Alamat yang diakses PermissionStatus
www.e-learningforkids.org Allow
lessons.e-learningforkids.org Allow
netdna.bootstrapcdn.com Denied
ajax.googleapis.com Denied
cdnjs.cloudflare.com Denied
themes.googleusercontent.com Denied
www.google-analytics.com Denied
www.youtube.com Denied
tiles.services.mozilla.com Denied
safebrowsing.google.com Denied
www.paypal.com Denied
Sebagai contoh hasil dari pengujian filtering sistem dengan rule pertama laporan untuk website www.e-learningforkids.org dengan menggunakan aplikasi
SARG (Squid Analysis Report Generator) hasil pada Tabel 8 menunjukkan bahwa, sistem hanya mengizinkan alamat yang ditambahkan yakni .e-learningforkids.org. Sedangkan alamat-alamat yang berjalan bersamaan dengan permintaan yang dilakukan didenied, seperti terlihat pada Gambar 9.
Gambar 9 menunjukkan antarmuka atau tampilan website e-learningforkids.org. Terlihat kekurangan dari sistem ini dimana memberikan izin hanya untuk alamat yang ditambahkan kedalam rule list dan mempengaruhi antarmuka website tersebut, sehingga dapat mengakibatkan kurangnya kenyamanan serta ketertarikan user dalam mengakses suatu website. Untuk meminimalisir kekurangan dan mengoptimalkan sistem ini dilakukan pembaharuan dengan mengubah rule dan menambahkan alamat-alamat background yang relevan atau berhubungan dengan website tersebut kedalam rule list. Adapun kelemahan lain yakni sistem tidak memutus koneksi dari session yang terbentuk sebelumnya, sehingga pada saat session yang baru terbentuk koneksi yang tadi akan tetap terhubung, koneksi akan berakhir sesuai dengan lama waktu pneggunaan internet yang dipilih pada saat user login. Kelemahan lainnya yakni desain anatarmuka web
kidsafe tidak terlalu menarik, adanya komponen iklan dengan tipe hidden yang tidak dapat difilter. Sedangkan yang menjadi keunggulan dari sistem ini dimana tidak perlu memperbaharui databse untuk blacklist, karena sistem berjalan dengan
default blok. Keunggulan lainnya sistem dapat berjalan pada server dengan spesifikasi yang cukup rendah dengan melihat spesifikasi dari raspberry pi model b+.
Tabel 9 Alamat-alamatBackground Yang Ditambahkan
.e-learningforkids.org
Tabel 9 merupakan alamat-alamat background berupa domain name yang ditambahkan pada rule list dan merupakan bagian dari website-website pada rule
sebelumnya. Pada Tabel 10 dan Tabel 11 dapat dilihat analisa dengan hasil mapping
Tabel 10 Hasil Mapping Komponen Konten Dan Embed
Konten dan Embed Website yang
Menggunakan
Alamat Tipe
googleapis.com Script 13
.gstatic.com Font, script, image 11
.facebook.com XML, frame, image 8
.akamaihd.net Stylesheet, image, script 8
.cloudfront.net Script, image 7
scorecardresearch.com Image, script 8
.twitter.com Frame, XML, image 6
googletagmanager.com Font, script, stylesheet 5
googleusercontent.com Font, image, script 5
.google.com Stylesheet, image, frame, script,
XML
4
adobe.com XML, script, frame 3
.optimizely.com Script 3
. google.co.id Frame, XML, image, script 3
.youtube.com Image, XML, audio, video 3
cloudflare.com Script 2
.typekit.net Stylesheet, script 2
.omtrdc.net Script 2
.twimg.com Stylesheet, image, script, font 2
.bootstrapcdn.com Stylesheet 2
Tabel 11 Hasil Mapping KomponenIklan
Iklan Website yang
Menggunakan
Alamat Tipe
.google-analytics.com Sript, image 20
.doubleclick.net Script 13
.googlesyndication.com frame 7
.quantserve.com Image, script 5
.criteo.com Script 2
.imrworldwide.com Image 1
.servedbyopenx.com Script 1
.pubmatic.com Script 1
.adrol.com Script 1
.kompasads.com Script, image 1
.effectivemeasure.net Script 1
.2mdn.net Script 1
##.ad-label Hidden 1
##.adtxt Hidden 1
##div[id^="div-gpt-ad-"] Hidden 1
##div[class="ego_column pagelet _y92 _5qrt _1snm"]
Hidden 1
##div[id^="topnews_main_stream_"] div[data-ft*="\"ei\":\""]
Hidden 1
##.promoted-tweet Hidden 1
##.ads-right Hidden 1
pada isi konten dan embed googleapis.com merupakan yang paling sering berjalan pada background website didalam rule list dengan total 13 website yang menggunakan, sedangkan disisi iklan yakni google-analytics.com dengan total
website yang menggunakan masing-masing adalah 20.
Tabel 12 Perbandingan Penggunaan Bandwidth
Alamat Website Total
connect
http://www.merdeka.com/ 726 5.78M 950 4.93M
Diambil contoh penggunaan bandwidth oleh salah satu website, seperti terlihat pada Tabel 12 menunjukkan bahwa perbedaan penggunaan bandwidth tanpa menggunakan kidsafe terlihat pada total paket data yang diterima adalah 5.78MB dengan total connect 726 dibandingkan dengan menggunakan kidsafe adalah sebesar 4.93MB dengan total connect 950. Dengan kata lain saat menggunakan
kidsafe penggunaan bandwidth dapat lebih hemat sekitar 10%. Selain pengujian dan perbandingan yang telah dijelaskan sebelumnya dilakukan juga pengujian dengan menambahkan alamat website yang berbeda dari rule sebelumnya. Hasil pengujian
rule kedua dapat dilihat pada Tabel 13.
Tabel 13 Hasil Pengujian Rule Kedua
Alamat Website Output yang diharapkan Hasil Pengujian
www.bethany.com Antarmuka website normal Valid
www.aqua.com Antarmuka website normal Valid
www.gemscool.com Antarmuka website normal Valid
www.coursera.org Antarmuka website normal Valid
www.mobli.com Antarmuka website normal Valid
www.zoho.com Antarmuka website normal Valid
www.king.com Antarmuka website normal Valid
www.tp-link.co.id Antarmuka website normal Valid
www.metrotvnews.com Antarmuka website normal Valid
www.fotokita.net Antarmuka website normal Valid
Pada Tabel 13 dapat dilihat bahwa output yang diharapkan dariantarmuka atau tampilan pada website tambahan telah sesuai dengan hasil normal, karena pada
rule list hanya ditambahkan alamat website. Hal ini disebabkan alamat background
Tabel 14 Report Untuk Website Bethany.com
Alamat yang diakses PermissionStatus
bethany.com Allow
www.bethany.com Allow
www.google-analytics.com Denied
media.bethany.com Allow
tiles.services.mozilla.com Denied
clients1.google.com Allow
ajax.googleapis.com Allow
Sebagai contoh website www.bethany.com Tabel 14 menunjukkan hasil laporan dari SARG. Terlihat pada background domain konten yang berjalan pada kolom alamat yang diakses yakni googleapis.com, google.com, dimanasebelumnya telah ditambahkan pada rule pertama, sehingga pada saat user mengakses website
tersebut antarmuka yang ditampilkan tidak rusak atau korup, sehingga seperti terlihat pada Gambar 10.
5. Simpulan
Berdasarkan hasil penelitian dan pengujian yang telah dilakukan, maka dapat diambil kesimpulan sebagai yakni, berdasarkan hasil pengujian sistem,
kidsafe proxy yang dibangun dapat membatasi hak akses internet dengan melakukan pemblokiran sesuai dengan kategori yang ada didalam sistem. Berdasarkan hasil analisa dan mapping komponen dengan melihat background
proses didapat, pada saat user melakukan permintaan data, sistem hanya akan mengizinkan alamat-alamat didalam rule list sesuai dengan rule yang ditambahkan. Berdasarkan hasil perbandingan penggunaan bandwidth, sistem dapat melakukan penghematan bandwidth. Pengembangan yang dapat diberikan untuk penelitian lebih lanjut dan menjadi solusi dari kelemahan sistem yakni, raspberry pi dapat dikembangkan dengan menambahkan fungsi anti Advertisement (Adblock) untuk menangani iklan, popup serta javascript yang mengganggu pada suatu halaman
website. Perlu adanya modifikasi sistem dibagian dashboard antarmuka sistem untuk admin dapat menghapus rule pada bagian rule list dan user dibagian manajemen users.
6. Daftar pustaka
[1] Watkiss, Stewart, 2013, Installing Kidsafe family friendly web proxy on the
Raspberry pi , tersedia pada :
http://www.penguintutor.com/linux/raspberrypi-Kidsafe. Diakses tanggal 15 Oktober 2014.
[2] Tri Astuti, Reni, 2014, Analysis Limiting Internet Sites With The Method Using Squid Proxy Server At SMKN 1 South Rawajitu, Jurnal International, Lampung : Bandar Lampung University.
[3] Lurio, Indriani L, Susmini, 2013, Perancangan Dan Implementasi Proxy Server Untuk Filtering Berdasarkan Alamat Situs Dan Alamat Ip, Jurnal, Bandung : Universitas Komputer Indonesia.
[4] Saini, Kulbir, 2011, Squid Proxy Server 3.1. Beginner’s Guide.
Birmingham: Packt Publishing Ltd.
[5] Bytemark, 2015, Welcome to Raspbian. Tersedia pada : https://www.raspbian.org/. Diakses tanggal 5 Mei 2015.
[6] Viliarder, Irgaryan, 2014, SARG (Squid Analysis Report Generator).
Tersedia pada : http://net.itmaranatha.org/2014/08/sarg-squid-analysis-report-generator. Diakses tanggal 5 Mei 2015.
Lampiran 1
Tabel 1 Hasil Mapping Komponen Konten dan Embed
Konten dan Embed Website yang
Menggunakan
Alamat Tipe
.e-learningforkids.org Frame, script Stylesheet, image,
XML
1
googletagmanager.com Font, script, stylesheet
5
googleusercontent.com Font, image, script 5
statcounter.com Script 1
cloudflare.com Script 2
googleapis.com Script 13
.gameclassroom.com Script, stylesheet, image
1
scorecardresearch.com Image, script 8
chartbeat.com Image, script 1
.kidsafeseal.com Image, script 2
.funbrain.com Object, stylesheet, image, script
1
.starfall.com Stylesheet, font, image, object
1
.nickjr.com Script, image, other, stylesheet, XML
1
.mtvnservices.com Script 1
adobe.com XML, script, frame 3
.typekit.net Stylesheet, script 2
.112.2o7.net Image 1
.omtrdc.net Script 2
.nick.com Script 1
.lphbs.com Object 1
.conviva.com Object 1
.meegenius.com Script, image, stylesheet, font, XML
1
.zendesk.com Stylesheet, script 1
.optimizely.com Script 3
.typekit.com Stylesheet, script 1
.coolmath-games.com Script, image, stylesheet, font
1
.adobedtm.com Script 1
.kidshealth.org Script, image, stylesheet, object,
XML
1
.luckyorange.com Script, object 1 .google.com Stylesheet, image,
frame, script, XML
4
.gstatic.com Font, script, image 12 .ixl.com Stylesheet, image,
script
1
.cloudfront.net Script, image 8
.facebook.com XML, frame, image 8
.akamaihd.net Stylesheet, image, script
8
.fbcdn.net Image 1
.midasplayer.com Script, XML, frame, image
2
.king.com Frame, XML, object 2
.twitter.com Frame, XML, image 6
.twimg.com Stylesheet, image, script, font
2
.instagram.com XML, image, script 2 . google.co.id Frame, XML, image,
script
3
.youtube.com Image, XML, audio, video
3
ask.fm Image, script,
stylesheet
1
.bootstrapcdn.com Stylesheet 2
.adtechjp.com Image 1
.hwcdn.net Image 1
.bidswitch.net Image 1
.lijit.com Image 1
.soundcloud.com XML, image 1
.sndcdn.com Script, image, stylesheet, XML
1
.kompas.com Image, stylesheet, script
1
.chipscount.com XML 1
.wikipedia.org Script, image, stylesheet
1
.ftiuksw.org Script, image, stylesheet
1
.googlevideo.com XML 1
.ytimg.com Script, image, stylesheet
2
.ggpht.com Image 1
.merdeka.com Script, image, stylesheet
.klimg.com Font, script, image, stylesheet
1
.kapanlagi.com Font, script 1
.kapanlaginetwork.com Frame, image 1 .cxense.com Script, frame, image 1
Tabel 2 Hasil Mapping Komponen Iklan
Iklan Website yang
Menggunakan
Alamat Tipe
.google-analytics.com Sript, image 20
.quantserve.com Image, script 5
.doubleclick.net Script 13
.imrworldwide.com Image 1
.servedbyopenx.com Script 1
.googlesyndication.com frame 7
.pubmatic.com Script 1
.criteo.com Script 2
.adrol.com Script 1
.kompasads.com Script, image 1
.effectivemeasure.net Script 1
.2mdn.net Script 1
##.ad-label Hidden 1
##.adtxt Hidden 1
##div[id^="div-gpt-ad-"] Hidden 1 ##div[class="ego_column
pagelet _y92 _5qrt _1snm"] Hidden
1
##div[id^="topnews_main_strea
m_"] div[data-ft*="\"ei\":\""] Hidden
1
##.promoted-tweet Hidden 1
##.ads-right Hidden 1
##.ads-top Hidden 1
Lampiran 2
Hasil Kuisoner
Tabel 3 Kategori Remaja
No. Website yang sering dikunjungi
Jumlah responden yang setuju bila website aman dan baik untuk di akses
1 facebook.com 32
2 youtube.com 28
3 twitter.com 19
4 instagram.com 18
5 google.co.id 15
6 Kompas.com 10
7 ftiuksw.org 8
8 ask.fm 7
9 soundcloud.com 6
10 wikipedia.org 1
Tabel 4 Kategori Dewasa
No. Website yang sering dikunjungi
Jumlah responden yang setuju bila website aman dan baik untuk di akses
1 youtube.com 14
2 uksw.edu 8
3 yahoo.com 5
4 lazada.com 3
5 merdeka.com 1
6 hipwee.com 1
7 detik.com 2
8 kaskus.com 2