19 BAB III PERANCANGAN SQUID PROXY
3.1 Proses Sistem Squid Proxy Squid adalah sebuah daemon yang digunakan sebagai proxy server dan web cache. Squid memiliki banyak jenis penggunaan, mulai dari mempercepat server web dengan melakukan caching permintaan yang berulang- ulang, cahcing DNS, caching situs web, dan caching pencarian komputer didalam jaringan untuk kelompok komputer yang menggunakan sumber daya jaringan yang sama hingga membantu keamanan dengan cara melakukan penyaringan (filter) lalu lintas alur data di jaringan. Meskipun sering digunakan untuk protokol HTTP dan FTP, squid juga menawarkan dukungan terbatas untuk beberapa protokol lainnya termasuk transport layer Security (TLS), Secure Socket Layer (SSL), Internet Gopher dan HTTPS. Berikut Proses System Squid Proxy pada server yang akan dibangun :
20
Request paket data melalui port 80
Iptables rule merubah alur port tujuan ke port 3128 (proxy )
Mac address filtering
No
Yes
Otentikasi username & password
No Halaman Penolakan
Yes
Content Filtering
No
Yes
Website / Internet Browsing
Gambar 3.1 Proses System Squid Proxy
1. Request / permintaan dari sebuah browser baik sebuah pencarian kata, gambar maupun alamat website secara default di teruskan / forward melalui port 80 2. Iptables Firewall merubah / redirect permintaan / request yang datang menuju port 80 ke port 3128 (proxy proses port) 3. Squid akan memfilter setiap sumber permintaan / request apakah dapat diteruskan / forward atau tidak, apabila tidak akan di teruskan / redirect pada halaman penolakan akses
21 4. Filter pertama dilakuan berdasarkan id PC klien yaitu mac address NIC PC tersebut apakah terdaftar atau tidak 5. Filter kedua dilakukan berdasarkan otentikasi username beserta password yang sudah di daftarkan 6. Filter ketiga ialah melakukan filtering content, phrase apakah memenuhi kepatutan dalam berinternet sehat ( tidak mengandung pornografi), untuk filtering ini akan terus berjalan setiap ada permintaan / request
3.2 Perancangan Infrastruktur Jaringan Berdasarkan analisis kebutuhan untuk merancang / mengembangkan jaringan proxy yang paling sesuai dengan kondisi minimum yang bisa penulis sediakan, maka berikut perancangan jaringan yang dibutuhkan pada pembuatan proxy jaringan lokal sederhana berdasarkan rancangan infrastruktur berikut
Gambar 3.2 Perancangan Infrastruktur jaringan proxy
Untuk merancang suatu jaringan maka perlu memperhatikan tahapan-tahapan minimal yang harus dilakukan.
22
3.3 Identifikasi Kebutuhan Tahapan yang sangat krusial dalam perancangan sebuah jaringan adalah identifikasi kebutuhan suatu organisasi atau perusahaan. Biasanya sebuah organisasi atau perusahaan besar sebelum membangun jaringan melakukan audit terlebih dahulu, misalnya dengan COBIT1. Saat ini sudah menjadi suatu keharusan atau wajib hukumnya, suatu organisasi/perusahaan besar yang akan menggunakan suatu teknologi informasi baik sebagai support atau decision melakukan tahapan audit sebelum menerapkan teknologi informasi. Beberapa faktor yang penting diperhatikan dalam identifikasi kebutuhan, adalah : a. Jenis layanan yang akan diberikan jaringan b. Skalabilitas, yaitu seberapa besar jaringan yang akan dibuat? c. Expandable, apakah jaringan dapat di-expand? open-ended? d. Kondisi ruangan dan gedung e. Medium transmisi yang akan digunakan, apakah menggunakan kabel atau nirkabel(wireless)? f. Berapa bandwith yang diberikan atau akan digunakan? g. Topologi yang digunakan? Protokol yang akan dipakai? h. Ketersediaan perangkat keras, pemilihan server atau perangkat lain hub, switch, dan router. i. Perangkat lunak jaringan sebagai platform j. Managebility dan monitoring sistem k. Keamanan/Security
seperti
23 l. Alokasi biaya pengadaan peralatan m. Sumberdaya Manusia sebagai pengelola
1 COBIT :’Control Objectives for Information and related Technology’, merupakan tools, framework and IT Audit; www.isaca.org/cobit/.
3.4 Perangkat Keras Yang dibutuhkan 1. Server Proxy dengan spesifikasi berikut • Sistem Operasi : Linux Ubuntu 9.10 • Prosecor : Core Duo 2.2 Ghz • Memory : 1 GB • Harddisk : 80 GB • DVD room • NIC Card : 2 buah
2. Modem ADSL 3. ISP : Telkom Speedy 4. Hub / Switch : Dlink 8 port 5. Kabel UTP & RJ45 : Secukupnya
Platform atau sistem operasi/Operating System (OS) server untuk perancangan ini menggunakan Linux distro ubuntu 910, sedangkan untuk client menggunakan Windows Xp, namun pada dasarnya untuk client dapat menggunakan system
24 operasi apapun Jaringan computer pada perancangan ini memerlukan pengamanan yang sangat baik. Untuk DMZ, disarankan firewall yang digunakan adalah IPTABLES dari linux Ubuntunya.
3.5 Sistem Otentikasi klien Sistem otentikasi klien berfungsi untuk menentukan klien berhak atau tidak melakukan akses internet. Sebelum akses internet, klien harus mengunjungi alamat web server untuk login dengan cara memasukkan user ID dan password. Sistem akan mengecek kesesuaian antara user ID dan password. Apabila semua persyaratan diatas terpenuhi, maka klien berhak melakukan akses internet, sebaliknya jika tidak terpenuhi maka sistem akan menolak pemberian hak akses internet. Pemberian akses internet dilakukan dengan cara mendaftarkan mac address dari komputer yang digunakan oleh klien ke server proxy yang merupakan acuan dari squid untuk menentukan komputer yang berhak akses internet dan tidak. 3.5.1
Membatasi Akses dengan Mac Address Walaupun squid bekerja pada level aplikasi namun dapat memfilter akses yang berasal dari nertwork card tertentu. Squid dapat melihat alamat hardware atau MAC address ethernet card, dengan syarat sebagai berikut: o Komputer yang hendak di filter harus berada pada netwo rk yang sama dengan server proxy o Squid telah dikompilasi dengan mengaktifkan option –enable arp-acl Untuk memblok MAC Adress menggunakan konfigurasi berikut
25 Acl all src 129.168.0.0/24 Acl mac arp 00:0c:29:cf:fa:53 http_access deny mac http_access allow all 3.5.2
Membatasi Akses dengan Username Squid dapat dikonfigurasi sedemikian rupa memunculkan kotak login dan password ketika user mengakses server web. Dengan cara seperti ini maka hanya user tertentu saja yang berhak menggunakan internet. Inilah yang disebut autentikasi Squid memerlukan program eksternal dan mendukung beberapa metode authentication seperti NCSA, LDAP, PAM, YP, SMB, dan lainnya. Masingmasing metode memerlukan penjelasan lebih lanjut. Pada penulisan ini penulis hanya akan dijelaskan metode authentication menggunakan NCSA. Inilah metode yang paling umum sekaligus paling mudah dikonfigurasi. NCSA dapat membaca file password (lazim disebut flat file). Tapi NCSA tidak dapat membaca file /ect/passwd. NCSA hanya dapat membaca file password yang dibuat menggunakan utilitas Apache (httpd). Jadi, username / password login linux tidak ada sangkut pautnya dengan username / password squid.
3.5.3
Membatasi akses situs Pornografi menjadi salah satu persoalan bagi penbgguna internet cukup banyak situs internet yang memaasang gambar- gambar, film, dan materi pornografi. Squid dapat digunakan untuk memfilter situs-situs semacam ini.
26 Ada beberapa tehnik yang bisa diterapkan agar squid dapat memblok situs tertentu, antara lain : •
Penyaringan berdasarka URL yang sudah diketahui domainnya. Ada beberapa situs porno yang sudah terkenal, seperti playboy.com, penthouse.com, asiangirls.com, nudecelebs.com, dan masih banyak lagi. Kita dapat menggunakan acltype dstdomain, sebagai berikut : acl porn_domain dstdomain www.playboy.com penthouse.com http_access deny porn_domain Apabila daftar domain cukup banyak, sebaiknya gunakan file eksternal. Misalkan saja daftar domain disimpan dalam file bernama / ect/squid/porn_domain.txt yang isinya sebagai berikut : Playboy.com Penthouse.com Asiangirls.com Nudecelebs.com Kemudian lakukan modifikasi pada squid.conf. Acl
porn_domain
dstdomain
“/ect/squid/porn_domain.txt”
http_access deny porn_domain Setiap kali ada situs porno baru, kita cukup menambahkannya pada file porn_domain.txt saja •
Cara maka dia bisa mengetikkan IP address- nya pada browser. Dengan demikian, kita perlu melakukan blokade IP address selain domainname. Menemukan IP address dari suatu situs dapat
27 dilakukan dengan beberapa utilitas, seperti ping, nslookup, dan utilitas lain. Sebaiknya gunakan file teks yang berisi daftar sekumpulan
IP
address.
Misalkan
nama
file-nya
adalah
/ect/squid/porn_ip.txt dengan isi sebagai berikut : 209.247.228.203 209.247.228.201 206.251.29.35 Pada squid.conf tambahkan argumen berikut : Acl porn_domain dstdomain “/ect/squid/porn_domain.txt” Acl porn_ip dst “/ect/squid/porn_ip.txt” http_access deny porn_domain http_access deny porn_ip •
Adakalanya sulit bagi kita menemukan daftar IP address atau domain name semua situs porno yang ada di dunia. Sehingga kita perlu melakukan penyaringan berdasarkan “isi” atau kata-kata tertentu. Misalkan saja kita bisa memblok semua situs yang dicurigai mengandung kata sex, nude, porno, telanjang, bugil, dan kata-kata lainnya. Buatlah sebuah file yang berisi daftar kata-kata tertentu, misalkan diberi nama /ect/squid/kata_terlarang.txt isinya sebagai berikut : Porno Bugil Wts
28 Pelacur Phorno Nude Lesbi Xxx Homo Sex Telanjang Rape Pada squid.conf tambahkan argumen berikut : acl porn_domain dstdomain “/ect/squid/porn_domain.txt” acl porn_ip dst “/ect/squid/porn_ip.txt” acl kata_terlarang url_regex – i “/ect/squid/kata_terlarang.txt” http_access deny porn_domain http_access deny porn_ip http_access deny kata_terlarang
3.6 Gateway Jaringan internet kini lazim digunakan didalam komputer Linux termasuk salah satu OS yang cocok digunakan sebagai internet gateway yang baik. Internet gateway adalah gerbang yang digunkan oleh jaringan komputer untuk berhubungan dengan internet. Dengan menggunakan internet gateway, komputer-
29 komputer ya ng terdapat di jaringan komputer dapat terhubung ke internet menggunkan satu koneksi saja.
Gambar 3.3 Alur Linux Internet Gateway
3.7 Firewall Iptables IPTables merupakan sebuah fasilitas tambahan yang tersedia pada setiap perangkat komputer yang diinstall dengan sistem operasi Linux dan memiliki tugas untuk menjaga keamanan perangkat komputer dalam jaringan. Atau dengan kata lain, IPTables merupakan sebuah firewall atau program IP filter build- in yang disediakan oleh kernel Linux untuk tetap menjaga agar perangkat aman dalam berkomunikasi. Rule atau aturan yang akan di terapkan ialah •
Menutup semua incoming traffic kecuali beberapa port yang diperlukan
•
Script firewall ini disimpan pada directory /etc/init.d/, lalu ubah runlevel- nya agar setiap PC router restart script ini tetap berjalan.
30
Gambar 3.4 Ilustrasi Firewall
3.8 Webmin Webmin adalah software yang memudahkan kita untuk mengkonfigurasi Server Linux menggunakan tampilan Grafis, Source Code Webmin dapat di ambil di alamat http://www.webmin.com/download.html Webmin dapat di jalankan menggunakan HTTPS, kita perlu menginstall SSLEAY. Untuk mengelola konfigurasi squid selanjutnya dilakukan pada webmin via webbase
31
Gambar 3.5 Tampilan Webmin 3.9 MRTG MRTG (the Multi Router Traffic Grapher) Adalah aplikasi yang digunakan untuk memantau beban trafik pada link jaringan. MRTG akan membuat halaman HTML yang berisi gambarGIF yang mengambarkan trafik melalui jaringan secara harian, mingguan, bulanan dan tahunan. MRTG dibuat oleh Tobias
Oetiker menggunakan Perl dan C dan
operasi UNIX dan Windows NT.
tersedia
untuk
sistim
32
Gambar 3.6 Tampilan MRTG 1.
Parameter Konfigurasi
Work Dir : Direktori File *.html yang akan dibaca oleh user. RunAsDaemon : Menjalankan MRTG pada mode background, nilai ‘Yes’ atau ‘No’. Interval : Interval waktu MRTG update data dari snmp agent, minimal 5 menit sekali. Refresh : Waktu refresh web browser untuk memeriksa update terbaru, nilai dalam detik, minimal 300 detik atau 5 menit. LoadMIBs : Lokasi file MIB tertentu jika ingin memantau managed device secara lebih spesifik, misalkan kita memantau squid proxy server. LoadMIBs : usr/local/squid/share/mib.txt