DESAIN DAN IMPLEMENTASI PROTEKSI LAN DARI VIRUS INTERNET DENGAN SQUID DAN C-ICAP SERVER PADA PT.PANCA AGRO NIAGA LESTARI PALEMBANG Sri Susanto Jurusan Teknik Informatika STMIK PalComTech Palembang Abstrak ICAP (Internet Content Adaptation Protocol) merupakan protokol RPC (Remote Procedure Call) berbasis HTTP yang didesain untuk memfilter konten spesifik. ICAP biasa berintegrasi dengan software lain semisal antivirus dan filter URL. ICAP memungkinkan client, dalam hal ini proxy, untuk melewatkan konten berbasis HTTP , seperti teks HTML, ke ICAP server untuk proses adaptasi konten sebelum diteruskan ke user. Proses filtering dan adaptasi dilakukan sesuai dengan script yang diberikan. Squid merupakan proxy server, mempunyai fungsi utama sebagai jembatan untuk request dari suatu jaringan ke jaringan luar. Bisa dipastikan semua request yang mengarah ke luar jaringan akan melalui proxy squid terlebih dahulu, sehingga memungkinkan untuk melakukan filtering terhadap konten-konten yang direquest oleh user. Dengan membuat interface ke proxy squid, halaman web yang berisi gambar berukuran besar dan berpotensi membebani bandwidth bisa diadaptasi sebelum sampai ke user. Hasil adaptasi tersebut berupa halaman web yang hanya berisi gambar berukuran kecil. User tetap diberi pilihan untuk menampilkan gambar yang terfilter jika menghendakinya. Diharapkan system ini bisa mengurangi beban pada proxy. Kata Kunci : ICAP, content filtering, adaptasi konten, proxy server PENDAHULUAN Apabila bicara masalah keamanan sebuah jaringan, amat sangat rentan terhadap serangan dari berbagai pihak.Salah satu cara efektif untuk dapat melindungi jaringan komputer dari serangan virus yang berasal dari internet atau jaringan adalah dengan melakukan scanning virus saat user mendownload suatu file dari internet, dan juga tentunya saat user mengupload file ke jaringan atau internet. Umumnya user melakukan download file melalui layanan http/web, begitu juga saat mengupload suatu file ke sebuah web site. Akses web(http) dapat Anda sediakan untuk user user dalam jaringan LAN Anda dengan memasang sebuah http proxy server yang umumnya berfungsi sebagai web cache guna meningkatkan respon time akses web, dan juga sebagai filtering akses web. Sehingga akses web yang dilakukan user tidak secara langsung namun melalui sebuah service proxy. Dengan proxy ini Anda tentunya dapat melakukan adaptasi content web seperti filtering content web dan scanning virus. Aplikasi http proxy yang dapat digunakan untuk maksud tersebut diantaranya adalah squid. Squid menjadi standar aplikasi proxy server yang disertakan dalam berbagai distro Linux. Sebenarnya squid tidak serta merta dapat langsung melakukan adapatsi content web. Untuk dapat memfungsikan squid seperti demikian dibutuhkan mekanisme adaptasi content web seperti ICAP, ClientStreams, eCAP, Squid ACL, dan penggunaan program Redirector. 1 LANDASAN TEORI Jaringan Komputer Menurut Kustanto dan Saputro (2008:2), jaringan komputer adalah kumpulan dua atau lebih komputer yang saling berhubungan satu sama lain untuk melakukan komunikasi data dengan menggunakan protokol komunikasi melalui media komunikasi (kabel atau nirkabel), sehingga komputer-komputer tersebut dapat saling berbagi informasi, data, program-program, dan penggunaan perangkat keras secara bersama. Topologi Jaringan Komputer Menurut Sukmaaji dan Rianto (2008:4), cara untuk menguraikan bagaimana komputer terhubung dalam suatu jaringan komputer dikenal dengan istilah topologi. Topologi fisik menguraikan layout aktual dari perangkat keras jaringan, sedangkan topologi logika menguraikan perilaku komputer dalam jaringan dari sudut pandang operator. Model OSI Menurut Sukmaaji dan Rianto (2008:13), bahwa OSI adalah sebuah model arsitektural jaringan yang dikembangkan oleh badan ISO (International Organization for Standardization) untuk menjembatani pengembang piranti jaringan agar tetap bisa digunakan atau berkomunikasi walaupun dikembangkan oleh beberapa pengembang. Ip Address Menurut Kustanto dan Saputro (2008:42), IP atau Internet Protocol adalah sederetan angka biner 32 bit yang terbagi menjadi 4 kelompok, masing-masing kelompok terdiri atas biner 8 bit yang dipisahkan dengan tanda titik (dot). Sistem Operasi Menurut Kusnadi dkk (2008:1), sistem operasi merupakan perangkat lunak yang dibuat untuk mempermudah pengguna atau program aplikasi dalam mengakses sumber daya komputer atau mobile device. Dari sisi pengguna sistem operasi adalah seorang pelayan yang siap melayani permintaan pengguna. Linux Menurut Handaya dkk (2010:2), nama Linux sendiri diturunkan dari pencipta awalnya, Linus Torvalds, dari Universitas Helsinki, Finlandia yang sebetulnya mengacu pada kernel dari suatu sistem operasi, suatu penamaan yang bisa digunakan untuk mengacu kepada suatu kumpulan lengkap perangkat lunak yang bersama-sama dengan kenel menyusun suatu sistem operasi yang lengkap. Squiq dan C-Icap Server Menurut Wahana Komputer (2009:217), Squid adalah high-performance proxy caching server untuk web klien, yang sudah mendukung FTP, ghoper, dan HTTP data object. Berbeda dengan software caching yang lama, Squid menangani semua permintaan tunggal (single), nonblocking, I/O-driven proses. Squid menyimpan meta data dan terutama hot-object yang di simpan di RAM, menyimpan DNS lookups, mendukung non-blocking DNS lookups, dan implementasi negative-caching jika permintaan gagal. 2 Menurut Henry Saptono(2011:37), ICAP (Internet Content Adaptation Protocol) merupakan protokol RPC (Remote Procedure Call) berbasis HTTP yang didesain untuk memfilter konten spesifik. ICAP biasa berintegrasi dengan software lain semisal antivirus dan filter URL. Desain Jaringan Komputer Menurut Sofana (2011:4), Jaringan komputer (computer network) adalah himpunan interkoneksi sejumlah komputer autonomus. Kata autonoumus mengandung pengertin bahwa komputer tersebut memiliki kendali atas dirinya sendiri, bukan bagian komputer lain seperti sistem yang bisa digunakan pada komputer main frame. Cara Kerja Squid Cara kerja Squid dilakukan oleh proxy dan cache. Sebagai proxy, Squid merupakan perantara dalam transaksi web. Squid ini menerima request dari klien, kemudian menerima request tersebut sebagai request oleh Squid, lalu request akan di forward ke server. Request ini mungkin akan di logged, di reject dan bahkan akan dimodifikasi terlebih dahulu sebelum di forward. Sedangkan sebagai cache, penyimpanan Squid baru baru ini akan membangkitkan content website untuk mengatasi adanya kemungkinan pengguna untuk penggunaan kembali (reuse) di masa mendatang. Jika ada request untuk isi website yang sama kemungkinan akan dilayani dari cache, hal ini akan lebih efisien daripada harus menghubungi dahulu origin sever lagi. Kita juga dapat menon-aktifkan bagian dari cache dari Squid sesuai dengan kebutuhan dan keinginan kita, akan tetapi bagian dari proxy ini bersifat esensial. Gambar berikut akan menjelaskan proses ketika Squid menerima request HTTP (dan HTTPS) dari klien dan akan mengirimkan sejumlah protokol ke server. Gambar 1. Squid diantara client dan server Squid merupakan aplikasi yang open source sehingga aplikasi ini dapat diperoleh secara gratis (free software) dan merupakan kolaboratif projek, jika pembaca merasa sangat terbantu dengan adanya Squid ini dan ingin mngembangkan Squid, penulis mengajak pembaca untuk memberikan kontribusi terhadap pengembangan Squid di masa mendatang. Squid diterbitkan sebagai free software dibawah naungan GNU General Public License. Hal ini berarti siapapun dapat menggunakan secara bebas dan siapapun dapat mendistribusikan source code-nya secara bebas. Untuk mendapatkan informasi lebih lanjut mengenai GNU General Public License dapat dilihat di http://www.gnu.org/licenses/gpl-faq.html. HASIL DAN PEMBAHASAN 3 Proses Adaptasi content (scanning virus) Proses adaptasi content web dengan mekanisme ICAP terdiri dari dua mode , yaitu request mode (reqmod, gambar-2) dan respond mode (respmod, gambar-3) Gambar 2. Ilustrasi proses adaptasi content - request mode Dari gambar-1, tampak bahwa seluruh request http dari klien ditujukan/menuju komputer proxy server, dimana pada proxy server juga terinstal icap server dan clamav antivirus. Pesan permintaan atau request dari klien diterima oleh squid proxy server kemudian, proxy mengirimkan/meneruskan pesan permintaan dari klien tersebut kepada C-ICAP server untuk diproses oleh service yang tersedia pada CICAP server dalam hal ini service scanning virus (disediakan oleh modul C-ICAP yaitu srv_clamav). Selanjutnya srv_clamav melakukan scanning virus terhadap pesan http dari klien, kemudian hasil pesan hasil scanning dikirimkan kembali ke C-ICAP server yang kemudian di kirimkan kembali kepada squid. 4 Gambar 3. Ilustrasi proses adaptasi content – respond mode Dalam respond mode (gambar-2), pesan permintaan atau request dari klien diterima oleh squid proxy server yang kemudian, proxy mengirimkan/meneruskan permintaan ke original server, dan selanjutnya menerima pesan dari original server yang dikirimkan ke ICAP server untuk diadaptasi oleh service yang tersedia pada C-ICAP server dalam hal ini service scanning virus (disediakan oleh modul C-ICAP yaitu srv_clamav). Selanjutnya srv_clamav melakukan scanning virus terhadap pesan http dari klien, kemudian hasil pesan hasil scanning dikirimkan kembali ke C-ICAP server yang kemudian di kirimkan kembali kepada squid. Install Squid untuk Proxy Server Gambar 4. Install Squid3 Berikutnya konfigurasi squid untuk proxy server dilanjutkan pengkopian konfigurasi squid asli dan pembuatan directori swap(# squid3 –z ). 5 Gambar 5. Copy squid dan pembuatan direktori swap Install Calamav Antivirus Gambar 6. Install Clamav Antivirus Instalasi C-Icap dan C-Icap-module Jika c-icap server dan modulenya telah kita download dari : http://sourceforge.net/projects/cicap/files/c-icap/0.2.x/c_icap 0.2.4.tar.gz/download, maka lakukan langkah berikutnya yaitu instalasi. Berikut ini adalah proses instalasi c-icap server: Gambar 7. Download C-icap Server home/pt-panl:~$ sudo su home/pt-panl:~# tar xzvf c_icap-0.1.4.tar.gz root@master:~# cd c_icap-0.1.4 root@ home/pt-panl/c_icap-0.1.4#./configure prefix=/opt/cicap --enablelarge-files root@ home/pt-panl/c_icap-0.1.4# make root@ home/pt-panl/c_icap-0.1.4# make install 6 Gambar 8. Install C-icap Server Selanjutnya download c-icap module dari : http://sourceforge.net/projects/c-icap/files/cicapmodules/0.2.x/c_icap_modules0.2.4.tar.gz/download kemudian instal dengan langkah langkah sebagai berikut: Gambar 9. Download C-icap_Modules home/pt-panl:~$ sudo su home/pt-panl:~# tar xzvf c_icap_modules-0.1.3.tar.gz root@master:~# cd c_icap_modules-0.1.3 root@ home/pt-panl/ c_icap_modules-0.1.3#./configure –with-c-icap/opt/cicap root@ home/pt-panl/ c_icap_modules-0.1.3# make root@ home/pt-panl/ c_icap_modules-0.1.3# make install Gambar 10. Install C-icap_Modules Konfigurasi C-Icap Agar icap server berfungsi sebagaimana yang diharapkan maka lakukanlah konfigurasi icap server, dengan mengatur konfigurasi yang tersimpan dalam file /opt/c-icap/etc/c-icap.conf, atur agar entri konfigurasi c-icap server, Diasumsikan bahwa LAN Anda memiliki network address 192.168.200.0/24 seperti berikut ini: 7 PidFile /var/run/c-icap/c-icap.pid CommandsSocket /var/run/c-icap/c-icap.ctl Timeout 300 MaxKeepAliveRequests 100 KeepAliveTimeout 600 StartServers 3 MaxServers 10 MinSpareThreads 10 MaxSpareThreads 20 ThreadsPerChild 10 MaxRequestsPerChild 0 Port 1344 User proxy Group proxy ServerAdmin [email protected] ServerName icap.overflow.web.id TmpDir /var/tmp MaxMemObject 131072 DebugLevel 1 ModulesDir /opt/c-icap/lib/c_icap ServicesDir /opt/c-icap/lib/c_icap TemplateDir /opt/c-icap/share/c_icap/templates/ TemplateDefaultLanguage en LoadMagicFile /opt/c-icap/etc/c-icap.magic RemoteProxyUsers off RemoteProxyUserHeader XAuthenticatedUser RemoteProxyUserHeaderEncoded on acl localnet src 192.168.200.0/255.255.255.0 acl localhost src 127.0.0.1/255.255.255.255 acl all src 0.0.0.0/0.0.0.0 icap_access allow localnet icap_access allow localhost icap_access deny all ServerLog /opt/cicap/var/log/server.log AccessLog /opt/cicap/var/log/access.log Service echo srv_echo.so Module logger sys_logger.so Logger sys_logger sys_logger.Prefix "CICAP:" Include srv_clamav.conf Include srv_url_check.conf Diasumsikan bahwa LAN Anda memiliki network address 192.168.200.0/24. Selanjutnya konfigurasi service srv_clamav, dengan mangatur konfigurasi pada file /opt/cicap/etc/srv_clamav.conf, dan entri konfigurasinya seperti berikut ini: 8 Service antivirus_module srv_clamav.so ServiceAlias avscan srv_clamav?allow204=on&sizelimit=off&mode=simple srv_clamav.ScanFileTypes TEXT DATA EXECUTABLE ARCHIVE GIF JPEG MSOFFICE srv_clamav.SendPercentData 5 srv_clamav.StartSendPercentDataAfter 2M srv_clamav.MaxObjectSize 5M srv_clamav.ClamAvTmpDir /var/tmp srv_clamav.ClamAvMaxFilesInArchive 0 srv_clamav.ClamAvMaxFileSizeInArchive 100M srv_clamav.ClamAvMaxRecLevel 5 Selanjutnya konfigurasi service srv_url_check, dengan mangatur konfigurasi pada file /opt/cicap/etc/srv_url_check.conf, dan entri konfigurasinya minimal seperti berikut ini: Service url_check_module srv_url_check.so Gambar 11. Pembuatan direktori /var/run/c-icap dan /var/run/c-icap/c-icap.ctl Mengaktifkan C-ICAP server Untuk mengaktifkan atau menjalankan c-icap server Anda dapat menggunakan perintah berikut ini: # /opt/c-icap/bin/c-icap –f /opt/c-icap/etc/c-icap.conf -N -D -d 2 atau jika ingin menjalankan c-icap server sebagai daemon , maka perintahnya seperti berikut ini: # /opt/c-icap/bin/c-icap –f /opt/c-icap/etc/c-icap.conf -D -d 2 Untuk merestart c-icap server sebagai berikut: # echo n "reconfigure" > /var/run/c-icap/c-icap.ctl Untuk mematikan service c-icap server sebagai berikut: # echo n "stop" > /var/run/cicap/c-icap.ctl Setelah mematikan c-icap server untuk dapat mengaktifkan kembali c-icap server maka harus menjalankan perintah berikut: # echo n "" > /var/run/c-icap/c-icap.ctl 9 Menguji C-Icap Server Jika c-icap server sudah berjalan coba Anda uji dengan menjalankan perintah berikut: # /opt/c-icap/bin/c-icapclient Jika berhasil maka kita akan mendapatkan output seperti berikut ini: Gambar 12. Hasil Uji C-icap Server Konfigurasi Squid Untuk mengatur konfigurasi squid versi 3 Anda dapat mengedir file /etc/squid3/squid.conf, konfigurasi pertama adalah mendefinisikan access control list , untuk itu tambahkan entri konfigurasi berikut ini pada file /etc/squid/squid.conf (dibawah baris komentar yang bertuliskan “#INSERT YOUR OWN RULE......”) : acl localnet src 192.168.1.0/24 http_access allow localnet Selanjutnya cari bais komentar yang bertuliskan #ICAP OPTIONS, kemudian tambahkan entri berikut ini dibawahnya: icap_enable on icap_service service_req reqmod_precache 1 icap://127.0.0.1:1344/avscan icap_class class_req service_req icap_access class_req allow all icap_service service_resp respmod_precache 0 icap://127.0.0.1:1344/avscan icap_class class_resp service_resp icap_access class_resp allow all 10 Mengaktifkan squid Untuk mengaktifkan service squid gunakan perintah berikut ini: ~#/etc/init.d/squid3 start Dan untuk merestart service squid, gunakan perintah berikut: ~#/etc/init.d/squid3 restart Atau ~#squid3 –k reconfigure Dan untuk mematikan service squid, sebagai berikut: ~#/etc/init.d/squid3 stop Ujicoba Mendownload file virus Untuk uji coba gunakan aplikasi firefox web browser namun sebelumnya pastikan agar web browser selalu terhubung ke proxy server setiap kali mengakses web, untuk itu setting dahulu koneksinya melalui proxy server dengan memilih menu Edit | Preferences | Advanced | Network | Settings. kemudian pada window settings pilih “Manual Proxy Configuration” selanjutnya isi bagian HTTP Proxy dengan alamat IP proxy server Anda dan portnya (3128) dengan benar. Gambar 13. Setting Proxy 11 Selanjtnya coba kita download sebuah file sample virus dari url berikut : 1) http://www.eicar.org/download/eicarcom2.zip 2) http://www.eicar.org/download/eicar_com.zip 3) http://www.eicar.org/download/eicar.com 4) http://www.eicar.org/download/eicar.com.txt Kemudian amati seharusnya jika squid dan c-icap server bekerja maka Akan didapat pesan seperti tampak pada gambar dibawah ini. Kondisi sebelum Filtering : Gambar 14. Kondisi sebelum filtering 12 Gambar 15. Kondisi setelah filtering 13 Kita dapat juga melakukan verifikasi setiap aksi download ataupun upload file bervirus dengan mengamati file log, yang dapat Anda lihat melalui file : /var/log/daemon.log atau /var/log/syslog pada server proxy. PENUTUP Berdasarkan hasil pengamatan yang telah dilakukan dan telah diuraikan dalam laporan skripsi pada PT Panca Agro Niaga Lestari Palembang, maka penulis dapat menarik kesimpulan bahwa Salah satu cara untuk memungkinkan squid melakukan adaptasi content web, content filtering dan scanning virus adalah dengan menerapkan mekanisme ICAP (Internet Content Adaptation Protocol) . Mulai squid versi 3.0 keatas, dukungan akan mekanisme ICAP telah tersedia. Untuk itulah penulis membahas bagaimana menerapkan mekanisme ICAP pada squid untuk memungkinkan melakukan scanning virus terhadap file-file yang didownload oleh user via http (dari web site di internet) dan file file yang diupload oleh user ke web tertentu dalam jaringan atau internet. DAFTAR PUSTAKA Andriani, Kiki. (2012). Pembahasan Tentang Open Source. Diunduh pada tanggal 7 Juli 2012, pukul 11.10 dari http://kikiopensource.blogspot.com/ Eka. (2010). Pengertian Server. Diunduh pada tanggal 24 April 2012, pukul 11.34 dari http://3ka-09.digimon.tv/t8-pengertian-server Iswandi, Arie. (2011). Topologi Jaringan Komputer. Diunduh pada tanggal 3 Juni 2012, pukul 15.00 dari http://ariesense.com/topologi-jaringan-komputer.html Kurniawan, Wiharsono. (2007). Jaringan Komputer. Yogyakarta : Andi. Nugraha, Dhimas. (2010). Pengertian dan Cara Kerja VPN. Diunduh pada tanggal 5 Juni 2012, pukul 11.00 dari http://dhimasnugraha.wordpress.com/2010/10/23/pengertian-dan-carakerja-vpn/ Nugroho, Adi (2007). Analisis dan Perancangan Sistem Informasi Dengan Metodologi Berorientasi Objek. Bandung: Informatika. Ridwana, Vicky. (2012). Pembahasan Tentang Open Source. Diunduh pada tanggal 7 Juli 2012, pukul 12.10 dari http://belajar-komputer-mu.com/pengertian-jaringan-komputer/ Setiawan, Deris. (2009). Fundamental Internetworking Development and Design Life Cycle. Diunduh pada tanggal 20 Februari 2012, pukul 11.05 dari http://deris.unsri.ac.id/materi/jarkom/network_development_cycles.pdf Sofana, Iwan. (2011). Cisco CCNA dan Jaringan Komputer. Bandung: Informatika. Sukmaaji, Anjik dan Rianto. (2008). Jaringan Komputer. Yogyakarta: Andi. 14 Supriyanto, Aji. (2007). Pengantar Teknologi Informasi. Jakarta: Salemba Infotek Susrini, Ni Ketut. (2010). Linux Untuk Pemula. Jakarta: PT. Grasindo. Syafrizal, Melwin. (2007). Pengantar Jaringan Komputer. Yogyakarta: Andi Offset. Saptono, Hendri. (2011) Proteksi LAN dari Virus Internet dengan Squid dan C-ICAP Server Bagian 1 dari 2 Artikel . INFOLINUX 02/2011. Saptono, Hendri. (2011) Proteksi LAN dari Virus Internet dengan Squid dan C-ICAP Server Bagian 2 dari 2 Artikel . INFOLINUX 02/2011. 15