1 desain dan implementasi proteksi lan dari virus internet dengan

advertisement
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
Download