PENGGUNAAN CONTENT FILTERING DAN DYNAMIC HOST CONFIGURATION PROTOCOL DALAM PROXY SERVER SQUID DI PT BANK INA PERDANA Achmad Fadillah Jurusan Teknik Informatika, School of Computer Science, Binus University Jl. Kebon Jeruk Raya No. 27, Kebon Jeruk, Jakarta Barat 11530 Telp. +62-21-53696969
[email protected]
Raziv Herman Diputra Jurusan Teknik Informatika, School of Computer Science, Binus University Jl. Kebon Jeruk Raya No. 27, Kebon Jeruk, Jakarta Barat 11530 Telp. +62-21-53696969
[email protected]
ABSTRAK
Tujuan penelitian ialah menganalisis dan merancang sebuah sistem yang secara otomatis akan membatasi hak pengguna dalam mengakses website dan jumlah perangkat yang digunakan untuk mengakses jaringan internet di PT Bank Ina Perdana. Hal ini bertujuan agar bandwidth akan lebih efisien dan network administrator di perusahaan akan lebih mudah melakukan monitoring jaringan. Metode penelitian yang digunakan meliputi studi kepustakaan mengenai topik yang dibahas dalam penelitian dan pengumpulan data menggunakan teknik wawancara dan teknik observasi. Hasil yang dicapai ialah simulasi rancangan content filtering dengan metode Access Control List yang dapat melakukan filtering terhadap website yang ingin dikunjungi dan Dynamic Host Configuration Protocol (DHCP) dengan metode static allocation yang dapat membatasi jumlah perangkat yang digunakan untuk mengakses jaringan internet dalam proxy server squid. Simpulan dari penelitian ini adalah dengan digunakannya sistem content filtering dan DHCP maka karyawan di perusahaan tersebut hanya dapat mengakses website yang diizinkan oleh perusahaan dan menggunakan perangkat yang telah didaftarkan terlebih dahulu kepada network administrator. Kata kunci: Content Filtering, DHCP, Proxy Server, Squid
PENDAHULUAN Teknologi informasi dan komunikasi saat ini telah menjadi satu hal yang sangat penting bagi kehidupan manusia. Di antara teknologi ini yang banyak digunakan saat ini adalah internet. Berdasarkan data pada tahun 2012, pengguna internet di Indonesia mencapai 55 juta jiwa atau sekitar 22.1 persen dari jumlah penduduk Indonesia (www.internetworldstats.com/stats3.htm, 3 Oktober 2013). Jumlah ini diperkirakan akan terus meningkat seiring dengan peningkatan jumlah pengguna smartphone yang operasinya melibatkan pemakaian internet. Peningkatan penjualan smartphone pada kuarter kedua tahun 2013 mencapai 225 juta unit, atau naik 46,5 persen dari kuarter kedua pada tahun 20012 (www.gartner.com/newsroom/id/2573415, 3 Oktober 2013). Di sebuah organisasi atau perusahaan, internet merupakan sebuah sarana yang umum digunakan sebagai referensi atau sumber informasi untuk menunjang pekerjaan tiap individu. Tetapi penggunaan internet yang tidak dibatasi dapat membuat kinerja di organisasi atau perusahaan menurun yang disebabkan oleh tidak tepatnya penggunaan internet disaat waktu kerja berlangsung. Untuk itu, perlu adanya sebuah sistem yang dapat mengawasi penggunaan jaringan internet agar tetap sesuai dengan aturan dan norma yang telah ditetapkan. Seperti penggunaan internet di sebuah perusahaan dilarang untuk mengakses situs-situs yang memiliki konten pornografi atau kebijakan di perusahaan tersebut melarang karyawannya untuk mengakses social media pada saat jam operasional kantor melalui fasilitas internet di perusahaan tersebut maka sistem yang diterapkan harus dapat membatasi dan mengontrol penggunaannya. Rumusan masalah yang terjadi adalah bagaimana membangun sebuah sistem yang dapaet megnontrol website yang diakses oleh pengguna internet di PT Bank Ina Perdana. Dengan adanya sistem ini diharapkan mampu meningkatkan kinerja karyawan dan menghemat pemakaian bandwidth di perusahaan tersebut. Ruang lingkup penelitian ini meliputi perancangan topologi baru yang dilengkapi dengan perangkat proxy server dan melakukan konfigurasi content filtering dan DHCP sebagai fitur dari proxy server. Untuk membantu penelitian ini, maka digunakan beberapa teori yang terkait, yaitu:
Proxy Server Server merupakan sebuah komputer yang menyediakan layanan untuk komputer lain. Salah satu server yang sering digunakan adalah proxy server. Menurut Cartealy (2013:143), proxy server merupakan sebuah server yang berfungsi sebagai perantara antara komputer klien dengan server lain. Hal ini menyebabkan semua request yang datang dari LAN atau komputer klien akan akan masuk ke dalam proxy server kemudian proxy server akan meneruskan request tersebut ke target server. Proses tersebut juga terjadi ketika adanya reply dari target server ke komputer klien. Tugas dari proxy server ini yaitu untuk memilih request yang dilakukan berdasarkan aturan-aturan yang dibuat dan mengizinkan proses komunikasi terjadi apabila request tersebut tidak melanggar aturan tersebut. Aturan-aturan ini biasanya berdasarkan alamat IP klien atau pun target server, protokol, dan web content.
Access Control List Access Control List (ACL) adalah sebuah metode yang dapat digunakan seorang network administrator untuk melakukan packet filtering. Dengan menerapkan ACL ini maka network administrator dapat menentukan paket-paket yang dapat dilalui melalui proxy server. Dalam squid, ACL akan dikombinasikan penggunaannya menggunakan perintah http_access untuk menentukan paket-paket tersebut. Dalam penulisannya, ACL dalam squid harus memiliki nama dan tipe yang diikuti dengan value (Saini, 2011:39). Untuk setiap value dalam ACL dapat dituliskan langsung setelah penulisan tipe ACL atau squid dapat membacanya dalam sebuah file. Perlu diingat bahwa dalam file tersebut tiap satu baris mendefinisikan satu buah value. Berikut adalah beberapa tipe dari ACL yang digunakan dalam penelitian ini:
Tabel 1 – Tipe ACL dalam Squid (sumber: http://wiki.squid-cache.org/SquidFaq/SquidAcl) Tipe ACL Keterangan Src
Mendefinisikan sumber alamat IP
Dst
Mendefinisikan alamat IP yang dituju
Dstdomain
Mendefinisikan domain yang dituju
Time
Mendefinisikan waktu dan hari
Url_regex
Mendefinisikan regular expression
Setelah mendeklarasikan nama, tipe, dan value dari ACL, maka selanjutnya adalah mengombinasikan nama ACL tersebut dengan perintah atau directive yang menentukan apakah paket tersebut memiliki akses terhadap resource lainnya atau tidak. Salah satu directive dalam ACL dan yang digunakan dalam penelitian ini adalah HTTP access control atau dalam penulisannya menjadi http_access. Directive ini digunakan untuk memberikan akses pada HTTP transaction melalui proxy server squid (Saini, 2011:40). Penulisan directive ini diikuti dengan pilihan allow|deny kemudian nama ACL yang telah dideklarasikan sebelumnya.
Dynamic Host Configuration Protocol DHCP merupakan salah satu protokol yang termasuk dalam internet layer pada jaringan TCP/IP. Protokol ini umum digunakan oleh network administrator untuk memberikan IP address pada komputer klien secara otomatis. Informasi yang diberikan tidak hanya terbatas pada IP address saja, DNS server, default gateway, subnet mask merupakan contoh lain dari informasi yang dapat dikonfigurasi menggunakan DHCP. DHCP menggunakan model client-server, DHCP server bertugas sebagai penyedia informasi yang dibutuhkan, sedangkan DHCP client meminta informasi yang dibutuhkan. Ada 4 cara mengenai pengalokasian alamat ini, yaitu static allocation, dynamic allocation, automatic allocation, dan hybrid allocation (Droms dan Lemon, 2003:15). Dengan static allocation, DHCP server menyimpan informasi yang identik (misalkan MAC address) dengan komputer klien dan network administrator akan mengalokasikan alamat yang statis berdasarkan informasi yang dimiliki tersebut. Sedangkan Dynamic allocation merupakan pengalokasian alamat kepada komputer klien secara otomatis berdasarkan alamat yang ada dalam pool (berisikan alamat-alamat yang dapat diberikan kepada klien) dalam jangka waktu tertentu. Pada Automatic allocation memiliki metode yang hampir sama dengan dynamic allocation, perbedaannya adalah dalam metode automatic allocation alamat diberikan secara permanen. Untuk hybrid allocation, network administrator akan membuat daftar klien-klien yang diperbolehkan untuk mendapatkan alamat dari DHCP server tanpa mengalokasikan alamatnya secara statis.
METODE PENELITIAN Metode yang dilakukan dalam penelitian ini terdiri dari: 1. Studi Kepustakaan Studi kepustakaan ini terkait dengan pencarian literatur ataupun referensi yang berhubungan dengan topik yang dibahas dalam penelitian ini, sehingga penelitian yang dilakukan sesuai dengan teori yang ada. 2. Pencarian Fakta Dalam mencari data dan fakta yang dibutuhkan, penelitian ini menggunakan beberapa teknik, yaitu: a. Teknik Wawancara Wawancara merupakan teknik umum yang biasa dilakukan untuk mendapatkan informasi yang dibutuhkan. Wawancara adalah teknik mengumpulkan informasi dari individu yang bersangkutan dengan melakukan tatap muka secara langsung kepada narasumber. Penelitian ini melakukan wawancara kepada manager IT di PT Bank Ina Perdana.
b.
Teknik Observasi Observasi adalah teknik pencarian fakta atau informasi dengan melakukan studi, mengamati, dan menganalisis objek secara langsung. Teknik ini digunakan dalam penelitian untuk menganalisis jaringan yang sedang berjalan dan merancang topologi baru yang dibahas dalam penelitian ini.
HASIL DAN BAHASAN Konfigurasi Ethernet Dalam membuat rancangan dan konfigurasi untuk content filtering dan DHCP, hal pertama kali yang akan dilakukan adalah melakukan konfigurasi pada ethernet card yang terdapat dalam proxy server. ethernet card yang terhubung ke jaringan LAN adalah ethernet 0 (eth0) dan ethernet card yang terhubung ke modem speedy adalah ethernet 1 (eth1). Berikut ini adalah hasil konfigurasi yang dilakukan pada kedua ethernet tersebut: Tabel 2 – Konfigurasi Ethernet Konfigurasi Ethernet 0 Konfigurasi Ethernet 1 DEVICE=eth0 DEVICE=eth1 NETWORK=192.168.100.0 NETWORK=10.1.103.0 IPADDR=192.168.100.1 IPADDR=10.1.103.99 BROADCAST=192.168.100.255 BROADCAST=10.1.103.255 NETMASK=255.255.255.0 NETMASK=255.255.255.0 HWADDR=A0:F3:C1:04:3F:E5 GATEWAY=10.1.103.1 ONBOOT=yes HWADDR=00:30:67:8D:2B:F5 ONBOOT=yes
Konfigurasi ethernet ini dilakukan /etc/sysconfig/network-scripts/.
dalam
file
ifcfg-eth0
dan
ifcfg-eth1
dalam
folder
Konfigurasi DHCP Setelah melakukan konfigurasi pada ethernet, maka tahapan selanjutnya adalah melakukan konfigurasi DHCP. Konfigurasi DHCP ini dilakukan untuk membatasi penggunaan perangkat yang digunakan untuk mengakses jaringan internet dan memudahkan kinerja network admin untuk mengalokasikan alamat IP ke komputer klien. Konfigurasi DHCP ini akan menggunakan metode static allocation, artinya komputer klien akan mendapatkan alamat IP yang sama tiap terhubung ke jaringan internet setelah mendaftarkan MAC Address mereka kepada network admin. Konfigurasi ini dilakukan dalam file dhcpd.conf di folder /etc/. Jika di dalam proxy server belum terdapat file dhcpd.conf, maka artinya fitur DHCP belum terinstall di dalam proxy server. Untuk melakukan instalasi DHCP diperlukan untuk memasukkan directive: yum install dhcp. Hasil konfigurasi yang dilakukan adalah sebagai berikut:
Gambar x – Konfigurasi DHCP
Untuk menguji apakah konfigurasi DHCP telah berhasil dilakukan perlu untuk memeriksa alamat IP pada komputer klien yang telah didaftarkan sebelumnya pada gambar x. Hasilnya adalah berikut:
Gambar x – Hasil Konfigurasi DHCP di Komputer Klien
Konfigurasi Content Filtering Berikutnya yang akan dilakuakn adalah melakukan konfigurasi content filtering dengan metode ACL. Konfigurasi ini dilakukan di dalam aplikasi squid. Squid merupakan sebuah aplikasi atau layanan gratis yang bersifat proxy caching. Sebagai proxy, squid menjadi perantara antara klien dengan web server. Sedangkan sebagai cache, squid akan menyimpan webpage atau web content yang diakses untuk digunakan apabila klien meminta web content yang sama pada sesi berikutnya. Sebelum melakukan konfigurasi, maka squid perlu diinstall dengan menggunakan directive: yum install squid. Setelah instalasi berhasil, maka akan terlihat folder squid dalam folder /etc/. Di dalam folder squid tersebut terdapat file squid.conf tempat dilakukannya konfigurasi ACL untuk content filtering. Beberapa tahapan yang dilakukan untuk melakukan konfigrasi terhadap aplikasi squid adalah sebagai berikut: 1. Penentuan port squid Directive yang digunakan untuk menentukan port dalam squid adalah dengan: http_port 192.168.100.1:3128 transparent. Directive ini menunjukkan port yang akan digunakan dalam aplikasi squid adalah port 3128. Sedangkan transparent merupakan bentuk dari implementasi proxy yang diterapkan dalam penelitian ini. Transparent proxy akan memudahkan kinerja divisi IT karena jika transparent proxy diterapkan maka tidak dibutuhkan konfigurasi pada browser klien satu per satu. 2. Penentuan DNS squid Directive yang digunakan untuk menentukan DNS dalam squid adalah: dns_nameservers 8.8.8.8 3. Penentuan user dan group squid Penentuan user dan group squid menggunakan directive cache_effective_user dan cache_effective_group adalah untuk mengganti User ID (UID) dan Group ID (GID) menjadi UID dan GID yang diinginkan. Penelitian ini menggunakan proxy sebagai user dan group squid. Hasil konfigurasinya menjadi: cache_effective_user proxy cache_effective_group proxy 4. Penentuan log location Log location ini ditentukan dengan menggunakan directive di bawah ini diikuti dengan letak file log tersebut: - Access log: cache_access_log var/log/squid/access.log. Access log ini digunakan untuk mencatat seluruh informasi yang mengakses jaringan internet melewati proxy. Di dalamnya akan tercatat alamat IP dan tujuan webpage yang dikunjungi. - Cache log: cache_log /var/log/squid/cache.log. Cache log ini digunakan untuk mencatat semua kejadian yang terjadi pada aplikasi squid. Dalam log ini akan tercatat apabila adanya error yang terjadi dalam proses debug. 5. Setelah konfigurasi di atas, selanjutnya perlu ditambahkan directive visible_hostname proxyserver untuk menampilkan hostname dalam pesan error.
Hasil akhir dari konfigurasi di atas menjadi: http_port 192.168.100.1:3128 transparent dns_nameservers 8.8.8.8 8.8.4.4 cache_effective_user squid cache_effective_group squid cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log visible_hostname local.proxyserver Selesai dengan konfigurasi squid, baru ditambahkan konfigurasi ACL di bawahnya. Penelitian ini menggunakan metode whitelist, artinya secara default sistem akan memblok seluruh akses ke website yang dituju dan hanya mengizinkan beberapa website saja yang terdapat dalam daftar whitelist. Untuk itu perlu ditetapkan terlebih dahulu daftar whitelist yang digunakan dalam penelitian ini. Tabel 3 – Daftar Whitelist Daftar Whitelist .viva.co.id .detik.com .bankina.co.id .bi.go.id .idx.co.id Setelah menentukan daftar whitelist yang diizinkan untuk diakses, selanjutnya akan dilakukan konfigurasi ACL, berikut ini adalah tahapan dan hasil akhir dari konfigurasi yang dilakukan: 1. acl all src 0.0.0.0/0.0.0.0 Directive ini mendeklarasikan nama all yang mewakili alamat IP yang bersumber dari mana pun (0.0.0.0/0.0.0.0) 2. acl lan src 192.168.100.1-192.168.100.254/255.255.255.255 Directive ini mendeklarasikan nama lan yang mendefinisikan bahwa all mewakili seluruh sumber alamat IP dari 192.168.100.1 sampai dengan 192.168.100.254. 3. acl allweb dst 0.0.0.0/0.0.0.0 Directive ini mendeklarasikan nama allweb yang mewakili seluruh alamat IP yang dituju. 4. acl whitelist dstdomain “/etc/squid/whitelist.txt” Directive ini mendeklarasikan nama whitelist yang mewakili daftar tujuan domain web yang terletak dalam file whitelist.txt di folder /etc/squid. File whitelist.txt berisikan daftar domaindomain website yang diizinkan untuk diakses di PT Bank Ina Perdana. 5. acl working_hours time MTWHF 08:00-17:00 Directive ini mendeklarasikan nama working_hours yang mendefinisikan waktu operasional PT Bank Ina Perdana, yaitu pada hari Senin – Jumat pukul 08.00 – 17.00 WIB. 6. acl social_media dstdomain “/etc/squid/social_media.txt” Directive ini mendeklarasikan nama social_media yang mewakili daftar tujuan domain web yang terletak dalam file social_media di folder /etc/squid. File social media ini berisikan domain website yang mengandung konten media sosial yang hanya diakses di PT Bank Ina Perdana di luar jam operasional berlangsung. 7. http_access allow whitelist Directive ini mendeklarasikan bahwa ACL akan mengizinkan whitelist untuk dapat diakses oleh user. 8. http_access deny working_hours Directive ini mendeklarasikan bahwa ACL akan melarang penggunaan user untuk mengakses internet pada saat jam operasional berlangsung 9. http_access deny social_media Directive ini mendeklarasikan bahwa ACL hanya akan mengizinkan social_media untuk dapat diakses di luar jam operasional kantor. 10. http_access deny allweb Directive ini mendeklarasikan bahwa ACL akan melarang allweb untuk diakses. Dengan directive ini maka ACL akan melarang seluruh domain website yang akan diakses oleh user kecuali yang terdapat di dalam daftar whitelist dan social_media.
11. http_access allow lan Directive ini mendeklarasikan bahwa ACL akan mengizinkan semua alamat IP yang masuk dalam nama lan untuk mengakses jaringan internet. 12. http_access deny all Directive ini mendeklarasikan bahwa ACL akan melarang seluruh alamat IP yang akan mengakses ke jaringan internet kecuali jaringan yang ada dalam lan.
Gambar x – Hasil Konfigurasi ACL
SIMPULAN DAN SARAN Rancangan dan konfigurasi proxy serevr squid telah berhasil dilakukan beserta dua fiturnya, yaitu content filtering dan Dynamic Host Configuration Protocol (DHCP) di PT Bank Ina Perdana. Rancangan dan konfigurasi content filtering dilakukan dengan metode Access Control List (ACL) dan whitelist, artinya secara default sistem akan memblok akses ke seluruh website kecuali websitewesbite yang berada dalam daftar whitelist. Selain itu fitur pembatasan user terhadap website yang akan diakses juga dilakukan berdasarkan waktu dan perangkat yang digunakan. Untuk membatasi jumlah perangkat yang digunakan penelitian ini menggunakan fitur DHCP dengan menggunakan metode static allocation. Untuk perkembangan metode selanjutnya, diharapkan pada fitur content filtering dapat ditambahkan untuk membatasi akses terhadap website yang memiliki port HTTPS serta penggunaan username dan password untuk mengakses ke jaringan internet.
REFERENSI Bruno, A., Jordan, S. (2011). CCDA 640-864 Official Cert Guide. Indianapolis: Cisco Press Droms, R., Lemon,T. (2003). The DHCP Handbook. Second Edition. Indianapolis: Sams Jeffries, Amos. 2013. SquidFaq/SquidAcl – Squid Web Proxy Wiki. Retrieved (01-28-2014) from http://wiki.squid-cache.org/SquidFaq/SquidAcl Johansson, P., Kapoor, R., Kazantzidis, M., & Gerla, M. (2002). Personal Area Networks: Bluetooth Or IEEE 802.11. International Journal of Wireless Information Networks, 9 (2), 89-103. Laudon, Kenneth C., Laudon, Jane P. (2012). Management Information Systems Managing The Digital Firm. New Jersey: Pearson Education. Odom, W. (2004). Computer Networking first-step. Indianapolis: Cisco Press. Odom, W. (2008). CCENT/CCNA ICND1 Official Exam Cert Guide. Second Edition. Indianapolis: Cisco Press. Pavani, V., Chandrika, I. L. V., & Krishna, A. R. (2012). Local Area Network (LAN) Technologies. International Journal of Innovative Technology and Exploring Engineering, 1 (6), 70-73. Saini, K. (2011). Squid Proxy Server 3.1 Beginner’s Guide. Birmingham: Packt Publishing.
Saxena, S. (2013). Content Filtering Using Internet Proxy Servers. International Journal of Computer & Organization Trends, 3 (2), 10-15. Tanenbaum, A., Wetherall, D. J. (2011). Computer Networks. Fifth Edition. Boston: Pearson Education. Wessels, D. (2004). Squid: The Definitive Guide. California: O’Reilly Media
RIWAYAT PENULIS Achmad Fadillah lahir di Palembang pada 9 April 1992. Dia menamatkan pendidikan S1 di Binus University dalam bidang Teknik Informatika peminatan jaringan komputer. Sebelumnya dia berhasil lulus dalam mengambil sertifikasi CCNA (Cisco Certified Network Associate) pada bulan September 2013. Raziv Herman Diputra lahir di Tangerang pada 23 Januari 1993. Dia menamatkan pendidikan S1 di Binus University dalam bidang Teknik Informatika peminatan jaringan komputer. Sebelumnya dia berhasil lulus dalam mengambil sertifikasi CCENT (Cisco Certified Entry Networking Technician) pada bulan Agustus 2013.