Ubuntu Linux 7.04 Feisty Fawn Server - Part 4

  • Uploaded by: Rido Astiwan
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Ubuntu Linux 7.04 Feisty Fawn Server - Part 4 as PDF for free.

More details

  • Words: 10,950
  • Pages: 81
BAB IV PELAKSANAAN DAN HASIL KERJA PRAKTEK

Kerja praktek dilaksanakan di ruang komputer Biomat LIPI Cibinong untuk mensimulasikan pengembangan jaringan komputer dan server internet berbasis linux. Tahap awal yang dilakukan adalah perancangan dan konfigurasi server. Perancangan server ini meliputi pemilihan PC yang sesuai dengan kebutuhan server, sistem operasi, perangkat keras jaringan dan konfigurasi terhadap server agar semua layanan dapat dipenuhi secara efektif. Selanjutnya akan dilakukan instalasi dan konfigurasi beberapa aplikasi server yang akan menyediakan layanan-layanan pada server. Simulasi ini menggunakan Ubuntu Linux 7.04 Feisty Fawn server sebagai sistem operasi untuk server internet bagi komputer lainnya (komputer client). Alasan penggunaan linux sebagai sistem operasi server adalah linux dapat diperoleh secara gratis dan boleh disebarluaskan dengan bebas. Selain itu juga, linux merupakan sistem operasi yang cukup handal untuk memenuhi kebutuhan dalam menyediakan layanan-layanan server. Dan dengan dukungan komunitas yang sangat besar di internet, memberikan kemudahan dalam hal penggunaannya sebagai sistem operasi yang memiliki banyak varian ini.

4.1. Persiapan Instalasi Perangkat yang digunakan : 1. PC dengan CPU Intel Pentium III 1 Ghz 2. Memori sebesar 512 MB

3. Hardisk berkapasitas 20 GB 4. Network Card (LAN Card) 2 buah 5. CD-ROM Drive 6. Switch/Hub 10/100 Mbps 7. CD Installer Ubuntu 7.04 Feisty Fawn server

4.2. Instalasi Ubuntu 7.04 Feisty Fawn Server Secara umum ada beberapa teknik instalasi yang dapat dilakukan. Cara termudah adalah dengan menginstalasi dari CD-ROM. CD instalasi Ubuntu Linux merupakan bootable CD, sehingga dapat langsung dijalankan tanpa harus membuat disket boot terlebih dahulu. Konfigurasi BIOS harus terlebih dahulu dilakukan dengan mengubah CDROM menjadi primary boot untuk dapat melakukan boot langsung dari CD. Setelah itu, komputer akan melakukan restart untuk menyimpan konfigurasi BIOS yang telah diubah. Jika proses booting berhasil, maka akan muncul boot menu default dari Ubuntu Linux.

29

Gambar 4.1. Boot menu default Ubuntu Linux 7.04 Feisty Fawn server

Setelah memilih menu “Install to the hard disk”, akan dilakukan pemilihan bahasa, lokasi dan jenis keyboard yang digunakan. Setelah itu sistem akan berlanjut dengan melakukan pengecekan terhadap paket-paket dan komponen pada CD instalasi, perangkat keras dan secara default akan mengkonfigurasi network dengan DHCP.

30

Gambar 4.2.a. Memilih bahasa instalasi

Gambar 4.2.b. Memilih lokasi

31

Gambar 4.2.c. Memilih jenis keyboard

Gambar 4.2.d. Sistem melakukan pengecekan terhadap paket-paket pada CD instalasi

32

Gambar 4.2.e. Sistem melakukan pengecekan terhadap komponen pada CD instalasi

Selanjutnya akan dilakukan konfigurasi penamaan host pada komputer server.

Gambar 4.3. Konfigurasi penamaan host

33

Kemudian akan dilakukan pembagian partisi hardisk sebagai media penyimpanan sistem operasi yang akan diinstal dan jenis file system yang akan digunakan. Ubuntu Linux 7.04 Feisty Fawn server merupakan salah satu varian linux sehingga konfigurasi pembagian partisinya pun sama dengan varian linux lainnya. Pada linux, secara umum dibutuhkan minimal dua partisi hardisk untuk melakukan instalasi. Partisi pertama adalah root yang akan digunakan untuk menyimpan semua file sistem dan konfigurasi sistem operasi linux. Dan yang kedua adalah partisi swap yang akan berfungsi sebagai virtual memory. Virtual memory dimaksudkan untuk efisiensi dari aktifitas proses yang menggunakan memori utama (RAM) dan akan menempatkan proses pada virtual memory tersebut. Biasanya besar partisi swap untuk instalasi standar pada linux adalah dua kali besar memori utama (RAM). Di linux terdapat beberapa jenis file system yang dapat digunakan, antara lain: ext2, ext3, dan swap. Pada umumnya, secara default linux akan menggunakan file system ext3 yang merupakan pengembangan dan perbaikan dari jenis file system ext2.

34

Gambar 4.4.a. Memilih metode pembagian partisi hardisk

Gambar 4.4.b. Memilih hardisk yang akan dipartisi

35

Gambar 4.4.c. Hardisk siap untuk diformat

Selanjutnya sistem akan memformat hardisk secara otomatis setelah pembagian partisi dan pemilihan file system telah selesai dilakukan.

Gambar 4.5. Sistem memformat hardisk

36

Konfigurasi waktu di sistem.

Gambar 4.6. Konfigurasi waktu

Konfigurasi nama user dan password yang dapat menggunakan sistem. Pada sistem operasi Ubuntu Linux 7.04 Feisty Fawn Server, tidak terdapat user root atau superuser seperti pada umunya linux. Namun, user dapat berada setingkat root yang dalam hal ini perintah-perintah yang hanya dapat dilakukan oleh root dapat dieksekusi dengan menggunakan perintah 'sudo'. Dengan sudo maka sistem akan menerjemahkan seolah-olah perintah tersebut dijalankan oleh root atau superuser.

37

Gambar 4.7. Konfigurasi nama user

Gambar 4.8. Password user

38

Selanjutnya sistem akan melakukan instalasi awal dengan konfigurasi yang telah dilakukan, lalu akan terdapat dialog untuk instalasi aplikasi server yang pertama yaitu HTTP (LAMP) server dan DNS server. Setelah itu sistem akan melanjutkan proses instalasi secara keseluruhan termasuk boot loader. Ubuntu Linux 7.04 Feisty Fawn Server secara default menggunakan GRUB sebagai boot loader.

Gambar 4.9.a. Instalasi awal

39

Gambar 4.9.b. Instalasi DNS dan LAMP server

Gambar 4.9.c. Instalasi Sistem

40

Gambar 4.9.d. Instalasi GRUB boot loader

Setelah semua proses dilakukan, maka sistem akan memunculkan dialog untuk melakukan restart secara otomatis.

Gambar 4.10. Sistem meminta untuk melakukan restart

41

Setelah melakukan restart, CD harus segera dikeluarkan dari CD-ROM drive untuk menghindari komputer boot melalui CD. Komputer akan kembali menyala dan selanjutnya sistem akan melakukan konfigurasi terhadap keseluruhan sistem secara default. Proses konfigurasi ini akan selesai dengan sendirinya dan bila telah selesai maka akan muncul tampilan terminal yang akan meminta nama user dan password yang akan masuk ke sistem.

4.3. Konfigurasi Server Untuk melakukan konfigurasi pada server, maka user harus memiliki akses penuh terhadap sistem. User yang memiliki hak penuh terhadap sistem adalah superuser. Untuk berpindah modus dari user biasa ke superuser dapat dilakukan dengan menggunakan perintah : $sudo su

Sistem akan meminta password user yang akan menjadi superuser. Lingkungan kerja pada Ubuntu 7.04 Feisty Fawn Server merupakan lingkungan kerja yang berbasis teks atau konsol terminal. Dan sebagian besar file konfigurasi yang berada pada sistem linux adalah berbasis plain text. Pengubahan konfigurasi pada file-file tersebut dilakukan dengan menggunakan teks editor nano. Nano merupakan aplikasi teks editor pada Ubuntu 7.04 Feisty Fawn Server pada terminal yang cukup nyaman digunakan. Untuk membuka sebuah file dapat dilakukan dengan perintah : #nano nama_file

42

Perintah-perintah yang berkaitan dengan penggunaan teks editor nano dapat dilihat di bagian bawah layar dan dapat diakses dengan menggunakan kombinasi keyboard ctrl+huruf. 4.3.1. Konfigurasi Jaringan (Network) Keseluruhan konfigurasi untuk kartu jaringan (ethernet card) terdapat pada satu file tunggal yang terletak di /etc/network/interfaces. Konfigurasi pengalamatan IP dapat dilakukan dengan menggunakan perintah: #nano /etc/network/interfaces

Dan isi dari file tersebut: # This file describes the network interfaces available on your # system and how to activate them. For more information, see # interfaces(5). # The loopback network interface auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.52.222 netmask 255.255.255.0 network 192.168.52.0 broadcast 192.168.52.255 gateway 192.168.52.1 dns-nameservers 192.168.0.2 192.168.0.10 192.168.52.222 dns-search biomat.lipi.go.id auto eth1 iface eth1 inet static address 172.18.212.20 netmask 255.255.255.0 network 172.18.212.0 broadcast 172.18.212.255 gateway 172.18.212.9

Komputer server dikonfigurasi untuk menggunakan alamat IP static untuk kedua ethernet card-nya. Untuk ethernet card yang pertama yaitu eth0, 43

dikonfigurasi dengan alamat IP 192.168.52.222/24, alamat gateway 192.168.52.1, alamat DNS server 192.168.0.2 192.168.0.10 192.168.52.222 dan DNS search biomat.lipi.go.id. Dan untuk ethernet card yang kedua yaitu eth1, dikonfigurasi dengan alamat IP 172.18.212.20/24 dan alamat gateway 172.18.212.9. Konfigurasi tersebut menunjukkan bahwa kedua ethernet card akan aktif secara otomatis saat komputer dihidupkan dan menggunakan sistem pengalamatan IP dengan Ipv4. Setelah selesai dan disimpan, konfigurasi IP tersebut dapat segera diaktifkan dengan me-restart service network pada sistem. Hal ini dapat dilakukan dengan memberikan perintah: #/etc/init.d/networking restart

Jika berhasil, maka di terminal akan menampilkan: * Reconfiguring network interfaces...

[ OK ]

Karena menggunakan alamat IP statis, maka DNS server harus didefinisikan secara manual. Konfigurasi ini dilakukan dengan mengubah file /etc/resolv.conf dengan menggunakan teks editor nano. #nano /etc/resolv.conf

search biomat.lipi.go.id nameserver 172.18.212.20 nameserver 192.168.52.222 nameserver 192.168.0.2 nameserver 192.168.0.10

44

Perintah search akan menambahkan biomat.lipi.go.id ke query hotsname untuk me-resolve alamat host pada jaringan. Sebagai contoh, bila salah satu komputer memberikan perintah ping kepada komputer lain yang mempunyai hostname “server” dalam satu domain, maka DNS query akan memodifikasinya menjadi “server.biomat.lipi.go.id”. Perintah nameserver menentukan DNS server yang akan me-resolve hostname menjadi alamat IP. 4.3.2. Konfigurasi Repository Ubuntu linux dilengkapi dengan sistem repositories untuk mendukung sistem manajemen paketnya. Repository Ubuntu menyediakan koleksi aplikasi yang cukup besar untuk membangun sebuah sistem berbasis Ubuntu Linux baik sebagai workstation maupun sebagai server. Konfigurasi repository dilakukan dengan mengarahkan sistem manajemen paket agar menggunakan repository yang berada di Indonesia sehingga proses download untuk instalasi paket dapat dilakukan lebih cepat. Repository yang digunakan sebagai sumber untuk instalasi paket yaitu repository yang berada di kambing

(www.kambing.vlsm.org).

Konfigurasi

dilakukan

dengan

mengubah entri file yang berada di /etc/apt/source.list

dengan

menggunakan nano. #nano /etc/apt/source.list

45

dapat

Isi dari file tersebut setelah dikonfigurasi untuk menggunakan repository kambing:

# See http://help.ubuntu.com/community/UpgradeNotes for how to # upgrade to newer versions of the distribution. ## ## ## ##

Uncomment the following two lines to add software from Canonical's 'partner' repository. This software is not part of Ubuntu, but is offered by Canonical and the respective vendors as a service to Ubuntu users.

# deb http://archive.canonical.com/ubuntu feisty partner # deb-src http://archive.canonical.com/ubuntu feisty partner ##Repo di Kambing deb http://kambing.vlsm.org/ubuntu feisty main restricted deb http://kambing.vlsm.org/ubuntu feisty universe multiverse deb-src http://kambing.vlsm.org/ubuntu/ feisty main restricted deb-src http://kambing.vlsm.org/ubuntu/ feisty universe deb-src http://kambing.vlsm.org/ubuntu/ feisty multiverse deb http://kambing.vlsm.org/ubuntu feisty-updates main deb http://kambing.vlsm.org/ubuntu feisty-updates restricted deb http://kambing.vlsm.org/ubuntu feisty-updates universe deb http://kambing.vlsm.org/ubuntu feisty-updates multiverse deb-src http://kambing.vlsm.org/ubuntu feisty-updates main deb-src http://kambing.vlsm.org/ubuntu feisty-updates restricted deb-src http://kambing.vlsm.org/ubuntu feisty-updates universe deb-src http://kambing.vlsm.org/ubuntu feisty-updates multiverse deb http://kambing.vlsm.org/ubuntu feisty-security main deb http://kambing.vlsm.org/ubuntu feisty-security restricted deb http://kambing.vlsm.org/ubuntu feisty-security universe deb http://kambing.vlsm.org/ubuntu feisty-security multiverse deb-src http://kambing.vlsm.org/ubuntu feisty-security main deb-src http://kambing.vlsm.org/ubuntu feisty-security restricted deb-src http://kambing.vlsm.org/ubuntu feisty-security universe deb-src http://kambing.vlsm.org/ubuntu feisty-security multiverse

Setelah file tersebut disimpan, maka akan dilakukan update terhadap indeks paket-paket yang tersedia di server repository. Hal ini dilakukan dengan mengetikkan perintah: #apt-get update 46

4.4. SSH Server 4.4.1. Pendahuluan Secure Shell (SSH) merupakan sebuah protokol TCP/IP yang menyediakan layanan pertukaran data melalui jalur yang aman (terenkripsi) antara dua atau lebih komputer yang tergabung dalam satu jaringan. Kapanpun data dikirim melalui jaringan oleh sebuah komputer, SSH secara otomatis akan meng-encrypt (mengacak) data tersebut. Lalu, ketika data sampai kepada penerimanya, SSH akan kembali men-decrypt (menyusun kembali) secara otomatis pula. Sehingga user dapat tetap bekerja dengan normal tanpa perlu mengetahui bagaiman data terenkripsi di jaringan. SSH menggunakan algoritma enkripsi yang aman, modern dan cukup efektif untuk beberapa aplikasi. Protokol SSH melingkupi autentifikasi, enkripsi dan integritas terhadap data yang dikirimkan melalui jaringan komputer. Autentifikasi akan menjamin keabsahan identitas user yang log in ke dalam sebuah sistem (server). Enkripsi akan mengacak data sehingga tak dapat dimengerti kecuali oleh penerima yang sah. Hal ini akan melindungi komunikasi data yang terjadi dalam jaringan komputer. Dan integritas akan menjamin bahwa data yang dikirim melalui jaringan komputer akan sampai tanpa perubahan karena SSH dapat mendeteksi apabila terjadi pencurian dan pemodifikasian data dalam jaringan. SSH bekerja berdasarkan arsitektur client-server. Aplikasi SSH server, akan menerima atau menolak koneksi yang datang ke komputer server. User, menggunakan aplikasi SSH client, akan mengirimkan request ke komputer server, seperti autentifikasi log in, meminta file dan/atau mengeksekusi perintah yang

47

ditujukan untuk server. 4.4.2. Instalasi dan Konfigurasi OpenSSH Server Aplikasi yang akan digunakan untuk membangun server SSH adalah OpenSSH. OpenSSH merupakan aplikasi berbasis protokol SSH yang berfungsi untuk me-remote sebuah komputer dan/atau melakukan transfer file antar komputer. OpenSSH menyediakan aplikasi client dan server untuk menjamin operasi remote dan/atau transfer file yang terenkripsi dengan baik untuk keamanannya. Komponen OpenSSH server, sshd, akan mendengarkan secara kontinu permintaan client dari beragam aplikasi SSH client. Ketika ada sebuah permintaan koneksi dari client, sshd akan melakukan set up koneksi berdasarkan tipe koneksi yang diminta oleh client. Contoh, apabila SSH client terhubung untuk melakukan remote terhadap komputer server, maka session untuk melakukan remote computing akan dibuka setelah proses autentifikasi selesai. Apabila remote user terkoneksi ke sebuah OpenSSH server dengan scp, daemon OpenSSH server akan memulai proses transfer file antara client dan server setelah proses autentifikasi. OpenSSH mendukung banyak metode autentifikasi seperti plain password, public key dan Kerberos tickets. Instalasi OpenSSH baik untuk aplikasi client dan server relatif mudah, hal ini dapat dilakukan dengan mengetikkan perintah berikut di terminal: #apt-get install openssh-client Untuk menginstal aplikasi client-nya, dan

48

#apt-get install openssh-server untuk menginstal aplikasi server. Konfigurasi OpenSSH server, sshd, dapat dilakukan dengan mengubah file /etc/ssh/sshd_config. Terdapat beberapa perintah yang digunakan untuk mengatur perilaku OpenSSH server yang dapat diketahui dengan melihat manual yang dapat diakses melalui terminal pula, yaitu dengan mengetikkan perintah: #man sshd_config

Beberapa contoh modifikasi perintah yang dapat dilakukan antara lain: ●

Untuk mengubah port TCP dari 22 ke port TCP 2222 yaitu dengan mengganti perintah Port seperti: Port 2222



Untuk membuat agar pesan sebelum log in dari file /etc/issue.net agar muncul sebagai pre-login banner yaitu dengan menambahkan baris berikut: Banner /etc/issue.net

Setelah melakukan perubahan dan menyimpan file tersebut, maka aplikasi server sshd harus di-restart untuk melihat perubahan yang telah dilakukan. Yaitu dengan mengetikkan perintah: #/etc/init.d/ssh restart

49

4.5. Firewall 4.5.1. Pendahuluan Firewall merupakan salah satu cara untuk melindungi sistem dari ancaman keamanan jaringan. Penerapan firewall dapat meningkatkan host security dari serangan cracker bahkan hacker melalui celah-celah yang terbuka, seperti pada protokol TCP/UDP. Dengan adanya firewall, setidaknya akan mempersempit lubang kelemahan suatu sistem. Firewall sendiri merujuk kepada istilah yang digunakan untuk menunjuk suatu komponen atau sekumpulan komponen jaringan yang berfungsi untuk membatasi akses antara dua jaringan, khususnya antara jaringan lokal (LAN) dan jaringan global (internet). Secara fundamental, firewall dapat melakukan hal-hal berikut: •

Mengatur dan mengontrol lalu lintas jaringan



Melakukan autentikasi terhadap akses



Melindungi sumber daya dalam jaringan privat



Mencatat semua kejadian, dan melaporkan kepada administrator

4.5.2. Arsitektur Firewall 4.5.2.1. Dual-Homed Host (Dual-Homed Gateway/DHG) Sistem DHG menggunakan sebuah komputer dengan minimal memiliki dua network interface. Interface pertama merupakan interface yang terhubung ke jaringan lokal (internal) dan lainnya merupakan interface yang terhubung ke internet (jaringan global). Dual-homed host-nya sendiri berfungsi sebagai bastion host (front terdepan, bagian terpenting dalam firewall)

50

Gambar 4.11. Arsitektur firewall dengan dual-homed host 4.5.2.2. Screened-Host (Screened-Host Gateway/SHG) Pada arsitektur SHG, fungsi firewall dilakukan oleh sebuah screeningrouter dan bastion host. Router ini dikonfigurasi sedemikian sehingga akan menolak semua trafik kecuali yang ditujukan ke bastion host, sedangkan untuk trafik internal tidak dilakukan pembatasan. Dengan cara ini setiap layanan client pada jaringan internal dapat menggunakan fasilitas komunikasi standar dengan internet tanpa harus melalui proxy.

Gambar 4.12. Arsitektur firewall dengan screened-host 4.5.2.3. Screened-Subnet (Screened-Subnet Gateway/SSG) Firewall dengan arsitektur screened-subnet menggunakan dua screening router dan sebuah perimeter network diantara kedua router tersebut, dimana ditempatkan bastion host. Kelebihan susunan ini akan terlihat ketika optimasi penempatan server. 51

Gambar 4.13. Arsitektur firewall dengan screened-subnet 4.5.3. Tipe-Tipe Firewall 4.5.3.1. Packet-Filter Firewall Pada bentuknya yang paling sederhana, sebuah firewall adalah sebuah router atau komputer yang dilengkapi dengan dua buah NIC (Network Interface Card, kartu jaringan) yang mampu melakukan penyaringan terhadap paket-paket yang masuk. Perangkat jenis ini umumnya disebut dengan packet-filtering router. Firewall jenis ini bekerja dengan cara membandingkan alamat sumber dari paket-paket tersebut dengan kebijakan pengontrolan akses yang terdaftar dalam Access Control List firewall, router tersebut akan mencoba memutuskan apakah hendak

meneruskan

paket

yang

masuk

tersebut

ke

tujuannya

atau

menghentikannya. Pada bentuk yang lebih sederhana lagi, firewall hanya melakukan pengujian terhadap alamat IP atau nama domain yang menjadi sumber paket dan akan menentukan apakah hendak meneruskan atau menolak paket tersebut. Meskipun demikian, packet-filtering router tidak dapat digunakan untuk memberikan akses (atau menolaknya) dengan menggunakan basis hak-hak yang dimiliki oleh pengguna. Packet-filtering router juga dapat dikonfigurasikan agar menghentikan beberapa jenis lalu lintas jaringan dan/atau mengizinkannya. Umumnya, hal ini 52

dilakukan dengan mengaktifkan/menonaktifkan beberapa port TCP/IP dalam sistem firewall tersebut. Sebagai contoh, port 25 yang digunakan oleh protokol SMTP (Simple Mail Transfer Protocol) umumnya dibiarkan terbuka oleh beberapa firewall untuk mengizinkan e-mail dari Internet masuk ke dalam jaringan privat, sementara port lainnya seperti port 23 yang digunakan oleh protokol telnet dapat dinonaktifkan untuk mencegah pengguna Internet untuk mengakses layanan yang terdapat dalam jaringan privat tersebut. Firewall juga dapat memberikan semacam pengecualian (exception) agar beberapa aplikasi dapat melewati firewall tersebut. Dengan menggunakan pendekatan ini, keamanan akan lebih kuat tapi memiliki kelemahan yang signifikan yakni kerumitan konfigurasi terhadap firewall: daftar Access Control List firewall akan membesar seiring dengan banyaknya alamat IP, nama domain, atau port yang dimasukkan ke dalamnya, selain tentunya juga exception yang diberlakukan. 4.5.3.2. Circuit Level Gateway Firewall jenis lainnya adalah Circuit-Level Gateway, yang umumnya berupa komponen dalam sebuah proxy server. Firewall jenis ini beroperasi pada level yang lebih tinggi dalam model layer OSI (bekerja pada session layer) daripada Packet Filter Firewall. Modifikasi ini membuat firewall jenis ini berguna untuk menyembunyikan informasi mengenai jaringan yang terproteksi, meskipun firewall ini tidak melakukan penyaringan terhadap paket-paket individual yang mengalir dalam koneksi. Pengguna akan dihadapkan secara langsung dengan firewall pada saat proses pembuatan koneksi dan firewall pun akan membentuk koneksi dengan sumber daya jaringan yang hendak diakses oleh pengguna setelah

53

mengubah alamat IP dari paket yang ditransmisikan oleh dua belah pihak. Hal ini mengakibatkan terjadinya sebuah sirkuit virtual (virtual circuit) antara pengguna dan sumber daya jaringan yang diakses. Firewall ini dianggap lebih aman dibandingkan dengan Packet-Filtering Firewall, karena pengguna eksternal tidak dapat melihat alamat IP jaringan internal dalam paket-paket yang diterima, melainkan alamat IP dari firewall. Protokol yang populer digunakan sebagai Circuit-Level Gateway adalah SOCKS v5. 4.5.3.3. Application Level Firewall Application Level Gateway (atau Application-Level Firewall atau sering juga disebut sebagai Proxy Firewall), umumnya juga merupakan komponen dari sebuah proxy server. Firewall ini tidak mengizinkan paket yang datang untuk melewati firewall secara langsung. Tetapi, aplikasi proxy yang berjalan dalam komputer yang menjalankan firewall akan meneruskan permintaan tersebut kepada layanan yang tersedia dalam jaringan privat dan kemudian meneruskan respons dari permintaan tersebut kepada komputer yang membuat permintaan pertama kali yang terletak dalam jaringan publik yang tidak aman. Umumnya, firewall jenis ini akan melakukan autentikasi terlebih dahulu terhadap pengguna sebelum mengizinkan pengguna tersebut untuk mengakses jaringan. Selain itu, firewall ini juga mengimplementasikan mekanisme auditing dan pencatatan (logging) sebagai bagian dari kebijakan keamanan yang diterapkannya. Application Level Firewall juga umumnya mengharuskan beberapa konfigurasi yang diberlakukan pada pengguna untuk mengizinkan mesin

54

client agar dapat berfungsi. Sebagai contoh, jika sebuah proxy FTP dikonfigurasikan di atas sebuah application layer gateway, proxy tersebut dapat dikonfigurasikan untuk mengizinkan beberapa perintah FTP, dan menolak beberapa perintah lainnya. Jenis ini paling sering diimplementasikan pada proxy SMTP sehingga mereka dapat menerima surat elektronik dari luar (tanpa menampakkan alamat e-mail internal), lalu meneruskan e-mail tersebut kepada email server dalam jaringan. Tetapi, karena adanya pemrosesan yang lebih rumit, firewall jenis ini mengharuskan komputer yang dikonfigurasikan sebagai application gateway memiliki spesifikasi yang tinggi, dan tentu saja jauh lebih lambat dibandingkan dengan packet-filter firewall. 4.5.3.4. NAT Firewall NAT

(Network

Address

Translation)

Firewall

secara

otomatis

menyediakan proteksi terhadap sistem yang berada di balik firewall karena NAT Firewall hanya mengizinkan koneksi yang datang dari komputer-komputer yang berada di balik firewall. Tujuan dari NAT adalah untuk melakukan multiplexing terhadap lalu lintas dari jaringan internal untuk kemudian menyampaikannya kepada jaringan yang lebih luas (MAN, WAN atau Internet) seolah-olah paket tersebut datang dari sebuah alamat IP atau beberapa alamat IP. NAT Firewall membuat tabel dalam memori yang mengandung informasi mengenai koneksi yang dilihat oleh firewall. Tabel ini akan memetakan alamat jaringan internal ke alamat eksternal. Kemampuan untuk menaruh keseluruhan jaringan di belakang sebuah alamat IP didasarkan terhadap pemetaan terhadap port-port dalam NAT firewall.

55

4.5.4. Jenis-jenis Firewall Firewall terbagi menjadi dua jenis, yakni sebagai berikut: 1. Personal Firewall: Personal Firewall didesain untuk melindungi sebuah komputer yang terhubung ke jaringan dari akses yang tidak dikehendaki. Firewall jenis ini berevolusi menjadi sebuah kumpulan program yang bertujuan untuk mengamankan komputer secara total, dengan ditambahkannya beberapa fitur pengaman tambahan semacam perangkat proteksi terhadap virus, anti-spyware, anti-spam, dan lainnya. Bahkan beberapa produk firewall lainnya dilengkapi dengan fungsi pendeteksian gangguan keamanan jaringan (Intrusion Detection System). Contoh dari firewall jenis ini adalah Microsoft Windows Firewall (yang telah terintegrasi dalam sistem operasi Windows XP Service Pack 2, Windows Vista dan Windows server 2003 Service Pack 1), Symantec Norton Personal Firewall, Kerio Personal Firewall, dan lain-lain. Personal Firewall secara umum hanya memiliki dua fitur utama, yakni Packet Filter Firewall dan Stateful Firewall. 2. Network Firewall: Network Firewall didesain untuk melindungi jaringan secara keseluruhan dari berbagai serangan. Umumnya dijumpai dalam dua bentuk, yakni sebuah perangkat terdedikasi atau sebagai sebuah perangkat lunak yang diinstalasikan dalam sebuah server. Network Firewall secara umum memiliki beberapa fitur utama, yakni apa yang dimiliki oleh personal firewall (packet filter firewall dan stateful firewall), Circuit Level Gateway, Application Level

56

Gateway, dan juga NAT Firewall. Network Firewall umumnya bersifat transparan (tidak terlihat) dari pengguna dan menggunakan teknologi routing untuk menentukan paket mana yang diizinkan, dan mana paket yang akan ditolak. Contoh dari firewall ini adalah Microsoft Internet Security and Acceleration server (ISA server), Cisco PIX, Cisco ASA, IPTables dalam sistem operasi GNU/Linux, pf dalam keluarga sistem operasi Unix BSD, serta SunScreen dari Sun Microsystems, Inc. yang dibundel dalam sistem operasi Solaris. 4.5.5. Membangun Firewall dengan iptables Pada simulasi membangun firewall dengan Ubuntu Linux 7.04 Feisty Fawn server akan dikhususkan untuk membangun firewall dengan arsitektur dualhomed gateway untuk jenis network firewall yang menggunakan metode NAT (Network Address Translation). Aplikasi yang digunakan adalah iptables, yang merupakan aplikasi firewall untuk mengkontrol packet filtering dan komponen NAT pada kernel. Ubuntu Linux 7.04 Feisty Fawn server memiliki sistem firewall yang disebut iptables, telah ter-built-in dan diaktifkan secara default. iptables merupakan tool user space yang dapat digunakan oleh administrator untuk membuat aturan-aturan packet filtering dan modul-modul NAT. Istilah iptables sendiri biasanya digunakan untuk menunjuk keseluruhan sistem firewall, termasuk netfilter, connection tracking dan NAT. iptables merupakan bagian standar dari semua jenis distribusi linux, terutama yang dikhususkan untuk server. Secara default, iptables tidak terkonfigurasi dengan baik. Sehingga belum

57

terbentuk suatu sistem firewall yang efektif untuk menangani keamanan jaringan. Untuk membangun sebuah sistem firewall dengan menggunakan iptables, maka perlu dibuat shell script yang akan menjalankan iptables berdasarkan fungsifungsi yang telah ditentukan. File yang berisi konfigurasi iptables akan dibuat pada direktori /etc/network, dengan mengetikkan perintah: #nano /etc/network/firewall.sh

Dan mengetikkan srcipt berikut: #!/bin/sh #variable IPT=/sbin/iptables INPUT="$IPT -A INPUT " FORWARD="$IPT -A FORWARD " MASQ="$IPT -t nat -A POSTROUTING -j MASQUERADE " # cleaning up $IPT -F $IPT -t nat -F $IPT -P INPUT ACCEPT $IPT -P FORWARD ACCEPT if [ "$1" = "stop" ]; then echo "firewall reset" exit 0 fi #default policy $IPT -P INPUT DROP $IPT -P FORWARD DROP $IPT -P OUTPUT ACCEPT # INPUT access $INPUT -j ACCEPT -p tcp -m state --state ESTABLISHED,RELATED $INPUT -j ACCEPT -s 127.0.0.0/8 -d 0/0 $INPUT -j ACCEPT -s 192.168.52.0/24 -d 0/0 $INPUT -j ACCEPT -s 172.18.212.0/24 -d 0/0 $INPUT -j ACCEPT -s 0/0 -p udp -m multiport --sport 13,37,53,123,631,3130 $INPUT -j ACCEPT -s 0/0 -p udp -m multiport --dport 13,37,53,123,631,3130

58

$INPUT -j ACCEPT -s 0/0 -p tcp -m multiport --sport 13,20,21,22,25,37,53,80,123,443,461,3128,3130,8080,10000 $INPUT -j ACCEPT -s 0/0 -p tcp -m multiport --dport 13,20,21,22,25,37,53,80,123,443,631,10000,3128,8080 $INPUT -j ACCEPT -s 0/0 -p icmp # FORWARD access $FORWARD -j ACCEPT -o eth0 -s 172.18.212.0/24 -d 0/0 -p tcp -m multiport --dport 80,443 $FORWARD -j ACCEPT -i eth1 -o eth0 -s 172.18.212.0/24 -d 0/0 #MASQUERADE access $MASQ -s 172.18.212.0/24 -d 0/0 -o eth0 -p tcp -m multiport --dport 80,443 $MASQ -s 172.18.212.0/24 -d 0/0 -o eth0

Setelah file disimpan, file tersebut harus diubah permission-nya menjadi executable dengan menggunakan perintah: #chmod u+x /etc/network/firewall.sh

Agar konfigurasi tersebut aktif pada saat komputer boot, maka akan dibuat konfigurasi agar firewall aktif bersamaan dengan aktifnya service networking. Hal tersebut dapat dilakukan dengan menambahkan entri pada file /etc/network/ interface menjadi: #nano /etc/network/interface # This file describes the network interfaces available on your # system and how to activate them. For more information, see # interfaces(5). # The loopback network interface auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.52.222 netmask 255.255.255.0 network 192.168.52.0 broadcast 192.168.52.255 gateway 192.168.52.1

59

dns-nameservers 192.168.0.2 192.168.0.10 192.168.52.222 dns-search biomat.lipi.go.id up /etc/network/firewall.sh start down /etc/network/firewall.sh stop auto eth1 iface eth1 inet static address 172.18.212.20 netmask 255.255.255.0 network 172.18.212.0 broadcast 172.18.212.255 gateway 172.18.212.9

Setelah mengubah dan menyimpan file tersebut, service networking perlu di-restart dengan menggunakan perintah: #/etc/init.d/networking restart

Dan jika berhasil, maka akan muncul di terminal: * Reconfiguring network interfaces...

[ OK ]

Untuk informasi konfigurasi lebih lanjut beserta perintah-perintah yang dapat digunakan oleh iptables dapat dilihat pada manual page-nya dengan menggunakan perintah: #man iptables

4.6. DNS Server 4.6.1. Pendahuluan DNS (Domain Name System) adalah sebuah sistem yang menyimpan informasi tentang nama host maupun nama domain dalam bentuk basis data tersebar (distributed database) di dalam jaringan komputer, misalkan: Internet. Fungsi utama dari sebuah sistem DNS adalah menerjemahkan nama-nama host

60

(hostnames) menjadi alamat IP ataupun sebaliknya, sehingga nama tersebut mudah diingat oleh pengguna internet. Fungsi lainnya adalah untuk memberikan suatu informasi tentang suatu host ke seluruh jaringan internet. Struktur dari database DNS bisa diibaratkan dengan dengan struktur file dari sebuah sistem operasi UNIX. Seluruh database digambarkan sebagai sebuah struktur terbalik dari sebuah pohon (tree) dimana pada puncaknya disebut dengan root node. Pada setiap node dalam tree tersebut mempunyai keterangan (label) misalnya, .org, .com, .edu, .net, .id dan lain-lainnya, yang relatif rerhadap puncaknya (parent). Ini bisa diibaratkan dengan relative pathname pada sistem file UNIX, seperti direktori bin, usr, var, etc dan lain sebagainya. Pada puncak root node dalam sebuah sistem DNS dinotasikan dengan ”.” atau ”/” pada sistem file UNIX. Pada setiap node juga merupakan root dari subtree, atau pada sistem file UNIX merupakan root direktori dari sebuah direktori. Hal ini pada sistem DNS disebut dengan nama domain. Pada tiap domain juga memungkinkan nama subtree dan bisa berbeda pula, hal ini disebut subdomain atau subdirektori pada sistem file UNIX. Pada bagian subdomainjuga memungkinkan adanya subtree lagi yang bisa dikelola oleh organisasi yang berbeda dengan domain utamanya. 4.6.2. Cara Kerja DNS Konsep dan hirarki DNS DNS adalah suatu bentuk database yang terdistribusi, dimana pengelolaan secara lokal terhadap suatu data akan segera diteruskan ke seluruh jaringan (internet) dengan menggunakan skema clientserver. Suatu program yang dinamakan name server, mengandung semua segmen

61

informasi dari database dan juga merupakan resolver bagi client-client yang berhubungan ataupun menggunakannya. Ketika melakukan query (bisa berupa ping, ssh, dig, host, nslookup, email, dan lain sebagainya) ke sebuah host misalnya biomat.lipi.go.id maka name server akan memeriksa terlebih dahulu apakah ada record host tersebut di cache name server lokal. Jika tidak ada, name server lokal akan melakukan query kepada root server dan mereferensikan name server untuk TLD .go.id, name server lokal kembali melakukan query kepada name server .go.id dengan jenis query yang sama dan mereferensikan lipi.go.id. Name server lokal kembali melakukan query ke name server lipi.go.id dan mereferensikan query selanjutnya ke name server lokal yaitu biomat.lipi.go.id. Kemudian name server

lokal

melakukan

biomat.lipi.go.id

query

kepada

name

server

lokal

yaitu

dan akhirnya mendapatkan jawaban address yang

diminta. 4.6.3. Komponen DNS Sistem DNS mempunyai beberapa komponen, yaitu: 4.6.3.1. Resolver Resolver merupakan bagian dari aplikasi client yang mengakses name server. Semua program atau aplikasi yang membutuhkan DNS, menggunakan resolver. Proses resolving, yaitu: ●

Mengajukan permintaan terhadap name server.



Menginterpretasikan permintaan (resolve), dan memberikan response.



Mengembalikan

informasi

kepada 62

program

atau

aplikasi

yang

memintanya. Resolver akan menjawab dengan dua cara, yaitu melihat isi dari cache yang pernah ditanyakan sebelumnya, serta menanyakan langsung kepada DNS server untuk mendapatkan hasilnya. Resolver yang biasa digunakan unutk mencari informsi tentang DNS adakah nslookup. 4.6.3.2. Resolution Untuk menjawab permintaan terhadap sebuah domain, name server akan mencari name server yang bertanggung jawab terhadap domain yang diminta. Selain mencari, name server juga memberikan informasi tentang server yang bersangkutan. Proses ini disebut name resolution, atau disingkat resolution. 4.6.3.3. Caching Setiap permintaan terhadap sebuah domain, memaksa name server untuk mengakses databasenya, dan mencari name server yang bertanggung jawab. Untuk itu name server melakukan caching terhadap domain-domain yang pernah diminta. Karena tidak bisa di-caching untuk selamanya, maka name server mendefinisikannya dengan Time to Live (TTL). 4.6.4. Instalasi dan Konfigurasi BIND Aplikasi yang akan digunakan sebagai DNS server pada Ubuntu Linux 7.04 Feisty Fawn server adalah BIND. BIND (Berkeley Internet Name Domain) merupakan aplikasi yang paling banyak digunakan untuk DNS server di internet, terutama pada sistem unix-like. Aplikasi BIND yang digunakan untuk membangun DNS server pada Ubuntu Linux 7.04 Feisty Fawn server ini adalah BIND9.

63

Instalasi BIND9 dapat dilakukan dengan menggunakan perintah diterminal: #apt-get install bind9

Setelah proses instalasi selesai, maka dilakukan pengubahan konfigurasi terhadap file /etc/resolv.conf : #nano /etc/resolv.conf domain biomat.lipi.go.id search biomat.lipi.go.id nameserver 172.18.212.20 nameserver 192.168.52.222 nameserver 192.168.0.2 nameserver 192.168.0.10

Isi file /etc/resolv.conf adalah informasi alamat domain dan/atau alamat IP dari name server. File ini diakses pertama kali oleh resolver pada saat mengajukan

permintaan

terhadap

sebuah

domain.

Konfigurasi

diatas

menunjukkan nama domain lokal yaitu biomat.lipi.go.id dan perintah search digunakan untuk melakukan hostname lookup pada domain lokal. Perintah name server berisi informasi alamat IP DNS server. Selanjutnya

dilakukan

pengubahan

terhadap

konfigurasi

file

/etc/bind/named.conf.options. File ini berisi konfigurasi untuk menambahkan forwarder sehingga alamat host yang tidak dapat di resolve oleh server DNS lokal akan diteruskan ke server DNS yang telah didefinisikan dalam fungsi forwarders. #nano /etc/bind/named.conf.options

64

options { # directory "/var/cache/bind"; directory "/etc/bind/zona-biomat"; // // // // //

If there is a firewall between you and nameservers you want to talk to, you might need to uncomment the query-source directive below. Previous versions of BIND always asked questions using port 53, but BIND 8.1 and later use an unprivileged port by default. query-source address * port 53;

// // // //

If your ISP provided one or more IP addresses for stable nameservers, you probably want to use them as forwarders. Uncomment the following block, and insert the addresses replacing the all-0's placeholder. forwarders { 192.168.0.2; 192.168.0.10; }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; };

// // // // // // //

By default, name servers should only perform recursive domain lookups for their direct clients. If recursion is left open to the entire Internet, your name server could be used to perform distributed denial of service attacks against other innocent computers. For more information on DDoS recursion: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-0987 allow-recursion { localnets; };

// // // //

};

If you have DNS clients on other subnets outside of your server's "localnets", you can explicitly add their networks without opening up your server to the Internet at large: allow-recursion { localnets; 192.168.0.0/24; };

// If your name server is only listening on 127.0.0.1, // consider: allow-recursion { 127.0.0.1; };

Selanjutnya dilakukan pengubahan terhadap konfigurasi file /etc/bind/named.conf.local. File ini menampung konfigurasi DNS lokal. Isi file tersebut : #nano /etc/bind/named.conf.local

65

// // Do any local configuration here // // Consider adding the 1918 zones here, if they are not used in // your organization //include "/etc/bind/zones.rfc1918"; include "/etc/bind/biomat.lipi.go.id";

Konfigurasi file /etc/bind/named.conf.local tersebut mengacu pada file /etc/bind/biomat.lipi.go.id yang berisi:

zone "biomat.lipi.go.id" { type master; file "/etc/bind/zona-biomat/biomat.lipi.go.id.data"; }; zone "52.168.192.in-addr.arpa" { type master; file "/etc/bind/zona-biomat/192.168.52.data"; };

Isi file tersebut mengkonfigurasikan bind agar melihat database forward zone pada file /etc/bind/zona-biomat/biomat.lipi.go.id.data dan

reverse

zone

pada

biomat/192.168.52.data.

66

file

/etc/bind/zona-

File /etc/bind/zona-biomat/biomat.lipi.go.id.data : ; ; ;

BIND data file for benk.org

$TTL 1440 @ IN SOA server.biomat.lipi.go.id. admin.biomat.lipi.go.id.( 2006120100 ; serial 3H ; refresh 1H ; retry 1D ; expire 6H ; negative cache TTL ) ; @ IN NS server.biomat.lipi.go.id. $ORIGIN gateway @ www server data proxy intra

biomat.lipi.go.id. IN IN IN IN IN IN IN

A A A A A A A

192.168.52.222 192.168.52.222 192.168.52.222 192.168.52.222 192.168.52.222 192.168.52.222 192.168.52.222

File /etc/bind/zona-biomat/192.168.52.data: $TTL 604800 @ IN SOA server.biomat.lipi.go.id. proxy.biomat.lipi.go.id.( 2007010303 ; serial 604800 ; refresh 86400 ; retry 2419200 ; expire 604800) ; negative cache TTL ; @

IN

NS

192.168.52.222

$ORIGIN 52.168.192.in-addr.arpa. 222 222

IN IN

PTR PTR

server.biomat.lipi.go.id. proxy.biomat.lipi.go.id.

67

4.6.5. Zone File Zone file mengandung informasi yang akan mendefinisikan mapping antara

nama

domain

dan

alamat

IP

(/etc/bind/zona-

biomat/biomat.lipi.go.id.data)dan juga berisi reverse mapping yang akan me-resolve alamat IP menjadi nama domain (/etc/bind/zonabiomat/192.168.52.data). Zone file memiliki format yang sama dan menggunakan tipe record yang sama untuk mendefinisikan informasi database domain. Tipe record yang digunakan disebut sebagai resource record (RR). Database DNS yang terdefinisi dalam zone file merupakan kumpulan dari beberapa resource record yang memberikan informasi tentang objek tertentu. Penjelasan mengenai komponen resource record yang digunakan pada file /etc/bind/zona-biomat/biomat.lipi.go.id.data

dan

/etc/bind/zona-biomat/192.168.52.data: Time to live, berisi 32 bit integer untuk mendefinisikan waktu TTL

(dalam detik) yang akan digunakan oleh resolver untuk melakukan cache terhadap RR sebelum diabaikan Address Mapping record, mendefinisikan alamat IP host.

A

Digunakan untuk me-resolve query dari alamat IP untuk nama domain tertentu. Name server record, mendefinisikan name server yang digunakan

NS dalam host yang bersangkutan Reverse-lookup Pointer record, digunakan untuk melakukan PTR pemetaan dari alamat IP ke nama domain. 68

file

Start of Authority record, mengindikasikan server yang authoritive untuk sebuah zone. Record SOA berisi informasi SOA umum tentang sebuah zone dan aturan-aturan untuk me-reload secondary server. IN

IN merupakan class dalam resource record yang berarti internet.

4.7. Proxy Server 4.7.1. Pendahuluan Proxy server adalah server (komputer atau program aplikasi) yang melayani request dari client-nya untuk meneruskan request ke server yang lain. client yang terkoneksi ke proxy server, me-request suatu service, seperti file, koneksi, halaman web, atau sumber daya yang lain, yang tersedia di server lain. Proxy server menyediakan sumber daya tersebut dengan mengkoneksikan ke server tertentu dan meminta service yang diminta oleh client-nya. Proxy server dimungkinkan untuk mengubah request client atau respon server, dan dapat melayani request tanpa berhubungan dengan server tertentu. Dalam hal ini, server melakukan "cache" pada request pertama sehingga akan menyimpan informasi yang dapat diakses kembali dengan lebih cepat. Proxy server yang melewatkan seluruh request dan me-reply-nya tanpa melakukan modifikasi disebut gateway atau tunneling proxy. Sebuah proxy server dapat diletakkan di komputer lokal (user) atau di titik tertentu antara user dan server atau internet.

69

Umumnya, sebuah proxy server erat kaitannya dengan 3 hal yaitu filtering, firewalling dan caching. Filtering digunakan untuk membatasi akses client ke alamat web atau IP tertentu. Dalam fungsinya sebagai firewall, proxy server dapat digunakan untuk mengatur jaringan lokal agar bila client ingin menggunakan koneksi internet, maka client harus melalui proxy. Pengaturan alamat IP juga dapat diatur hak aksesnya untuk menggunakan proxy. Sedangkan fungsi dasar proxy adalah caching. Sebagai caching proxy, penggunaan bandwith dapat dihemat karena pengaksesan terhadap suatu server yang sama dapat dihindari dengan adanya penyimpanan file-file tersebut dalam server proxy. Suatu proxy server berhubungan dengan proxy server lainnya dibedakan fungsinya sebagai parent dan sibling. Sebagai parent, sebuah proxy server menggunakan proxy server dari lain dalam menjalankan fungsinya sebagai proxy server. Jika ada request yang tidak dapat dilayani di cache proxy, maka akan diambilkan dari proxy yang berfungsi sebagai parent. Dan jika di proxy parent tidak terdapat request yang dibutuhkan, maka proxy parent akan mengambil langsung dari server yang diminta. Proxy sibling tidak akan melayani request apabila data yang diminta tidak terdapat dalam cache parent-nya. 4.7.2. Tipe dan Fungsi Proxy Server Proxy server dapat menerapkan salah satu atau beberapa fungsi berikut: Caching Proxy Server Sebuah proxy server dapat melayani request tanpa berhubungan langsung dengan server tertentu, yaitu dengan memberikan content yang telah disimpan dari request sebelumnya, diminta oleh client yang sama atau bahkan client yang lain.

70

Caching proxy menyimpan request terhadap sumber daya yang sama dan dilakukan berulang-ulang, sehingga memungkinkan sebuah lembaga atau ISP untuk mengurangi penggunaan upstream bandwidth dan dapat meningkatkan performa secara signifikan.

Web Proxy Web proxy merupakan sebuah proxy server yang mengkhususkan pada www traffic. Fungsi utama dari web proxy adalah sebagai web cache. Kebanyakan aplikasi proxy menyediakan fungsi untuk menolak akses terhadap beberapa URL tertentu yang telah didaftarkan, hal ini memenuhi fungsinya sebagai content filtering. Beberapa web proxy melakukan format ulang terhadap halaman web untuk tujuan tertentu, seperti pengaksesan halaman web dengan menggunakan handpone atau PDA. Dalam sebuah organisasi yang besar, terdapat access control yang mengharuskan user untuk log in terlebih dahulu sebelum dapat mengakses web sehingga dapat di monitor secara indvidual.

Anonymizing Proxy Server Anonymous proxy server umumnya bertujuan untuk menyamarkan identitas ketika melakukan pejelajahan web. Terdapat bermacam-macam tujuan dari penyamaran identitas tersebut.

Hostile Proxy

71

Proxy dapat juga dimanfaaatkan sebagai sarana online criminal, yaitu untuk memata-matai data yang dikomunikasikan antara client dan web atau server tertentu. Semua halaman yang telah diakses, beserta form yang telah dikirimkan, dapat di-capture dan dianalisa oleh operator proxy.

Intercepting Proxy Server Intercepting proxy (disebut juga "transparent proxy") menggabungkan antara proxy server dan gateway. Koneksi yang dibentuk oleh client melalui gateway akan dialihkan melalui proxy tanpa melakukan konfigurasi ulang di client. Keberadaan intercepting proxy dapat diketahui dengan membandingkan alamat IP eksternal dengan alamat IP yang diterima oleh eksternal web server, atau dengan memeriksa header HTTP pada server.

Transparent dan Non-Transparent Proxy Server Istilah "transparent proxy" sering disalah artikan sebagai "intercepting proxy" karena client tidak perlu mengkonfigurasi proxy dan tidak dapat mendeteksi secara langsung apakah request yang dikirim melalui proxy atau tidak. Namun, RFC 2616 (Hypertext Transfer Protocol -- HTTP/1.1) menjelaskan definisinya: “Transparent proxy merupakan proxy yang tidak memodifikasi request atau respon untuk keperluan autentifikasi dan identifikasi. Sedangkan Non-transparent proxy akan memodifikasi request atau respon untuk memberikan layanan tambahan untuk agen user, seperti reduksi protokol, transformasi media type, atau filter anonim.”

72

Forced Proxy Forced proxy mempunyai dua makna, yaitu sebagai intercepting proxy, karena traffic filtering hanya dilakukan pada gateway ke internet, dan sebagai non-intercepting proxy, karena user diharuskan mengkonfigurasi proxy untuk dapat mengakses internet. Operasi forced proxy kadang diperlukan karena adanya interception antara TCP connection dan HTTP. Interception dari HTTP request berpengaruh pada penggunaan cache proxy, dan juga pada mekanisme autentifikasi tertentu. Hal ini menjadi penting karena client beranggapan sedang berkomunikasi dengan server, dan header request yang diperlukan oleh proxy tidak dapat dibedakan dengan header yang mungkin diperlukan oleh upstream server, terutama authorization header. Protokol HTTP pun melarang adanya caching dari respon request yang berisi authorization header.

Split Proxy Server Split Proxy merupakan proxy yang diimplementasikan dari dua aplikasi proxy yang dibangun pada dua komputer yang berbeda. Penggunaan dua aplikasi proxy yang sama ini menjadikan komunikasi yang dilakukan antara kedua proxy tersebut lebih efisien dibanding komunikasi yang dilakukan antara proxy dan server. Implementasi ini ideal untuk melakukan kompresi data pada transmisi dengan kecepatan rendah, seperti wireless dan layanan aplikasi mobile, dan juga transmisi dengan tingkat delay yang tinggi yang membutuhkan waktu untuk melakukan stabilisasi koneksi TCP, seperti internet satelit. Sebagai contoh pada kegiatan web browsing, ketika aplikasi browser yang

73

digunakan oleh user diarahkan ke local proxy yang akan berkomunikasi dengan remote proxy pada lokasi tertentu. Remote server akan mengambil data yang diperlukan, membentuk paket-paket, dan mengirimkannya ke local proxy yang digunakan user yang kemudian membongkar paket-paket tersebut dan menampilkan pada browser seperti yang ada pada server sebenarnya. Beberapa aplikasi web accelerator merupakan proxy server. Sebagian mengurangi kualitas gambar JPEG untuk mempercepat transmisi, dan sebagian menggunakan split proxy untuk protokol tertentu, remote caching dan local caching.

Reverse Proxy Server Reverse proxy server merupakan aplikasi proxy server yang diinstal pada neighborhood dari satu atau beberapa web server. Keseluruhan trafik yang datang dari internet dan dengan tujuan salah satu dari web server tersebut akan melalui proxy server. Beberapa tujuan penggunaan reverse proxy server: ●

Keamanan. Proxy server berfungsi sebagai layer tambahan yang digunakan untuk pertahanan dan melindungi web server.



Enkripsi/SSL acceleration. Pada website yang aman, enkripsi SSL biasanya tidak dapat dilakukan oleh web server itu sendiri, namun dilakukan oleh reverse proxy yang dilengkapi dengan SSL acceleration.



Load balancing. Reverse proxy server dapat mendistribusikan beban kepada beberapa web server, masing-masing web server melayani berdasarkan aplikasi tertentu yang diminta. Dalam kasus ini, reverse proxy

74

server akan melakukan translasi dari eksternal URL yang diketahui ke lokasi internal. ●

Cache static content. Reverse proxy server dapat mengurangi beban web server dengan melakukan caching terhadap static content seperti gambar dan static content grafis lainnya.



Kompresi. Proxy server dapat mengoptimisasi dengan melakukan kompresi content untuk mempercepat load time.



Spoon feeding. Mengurangi penggunaan sumber daya web server oleh client dengan melakukan caching dari content yang telah dikirim oleh web server dan melakukan "spoon feed" ke client.



Extranet publishing. Reverse proxy server yang berhubungan langsung dengan internet dapat digunakan untuk berkomunikasi ke sebuah server internal yang ter-firewall dengan menyediakan akses extranet ke beberapa fungsi pada server tersebut.

Circumventor Circumventor adalah metode yang digunakan untuk menggagalkan kebijakan blocking pada proxy server yang juga dilakukan oleh proxy server lainnya. Circumvemtor merupakan halaman web yang akan mem-bypass situs yang di blok dengan menggunakan identitas dari situs lain yang tidak di blok sehingga dapat diakses oleh user. Salah satu contoh circumventor adalah https://210.18.104.227/cgi-bin/nph-120025.cgi.

75

4.7.3. Instalasi dan Konfigurasi Squid Aplikasi yang digunakan untuk membangun sebuah proxy server pada Ubuntu Linux 7.04 Feisty server adalah squid. Squid merupakan proxy caching server yang memiliki performa tinggi untuk web client, mendukung FTP, gopher dan HTTP data object. Squid menangani semua request I/O-driven process yang tidak di blok. Squid juga mendukung enkripsi SSL, extensive access control, dan full request logging. Dengan menggunakan protokol lightweight Internet Cache, cache dari squid dapat disusun secara hirarki atau mesh untuk penghematan bandwidth. Instalasi squid dapat dilakukan dengan menggunakan perintah: #apt-get install squid

Selanjutnya, konfigurasi squid dapat langsung dilakukan dengan melakukan pengubahan terhadap file /etc/squid/squid.conf: #nano /etc/squid/squid.conf

# #Default: # none #cache_peer 192.168.52.11 parent 3128 3130 no-query default login=biomaterial\biomaterial:Biomaterial cache_peer proxy.lipi.go.id parent 3128 3130 no-query default login=biomaterial:Biomaterial acl jakarta dstdomain biomat.lipi.go.id always_direct allow jakarta acl to_internet dst 0.0.0.0/0 acl lipi_intra dst 192.168.0.0/16 always_direct allow lipi_intra never_direct allow to_internet

76

# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR clientS acl dalam src 172.18.212.0/24 http_access allow dalam # Example rule allowing access from your local networks. Adapt # to list your (internal) IP networks from where browsing should # be allowed #acl our_networks src 192.168.1.0/24 192.168.2.0/24 #http_access allow our_networks http_access allow localhost # And finally deny all other access to this proxy http_access deny all # # # # # #

TAG: http_access2 Allowing or Denying access based on defined access lists Identical to http_access, but runs after redirectors. If not set then only http_access is used.

Script diatas merupakan potongan dari file /etc/squid/squid.conf karena saat membangun proxy server hanya bagian itu saja yang dilakukan pengubahan. Konfigurasi tersebut merupakan konfigurasi untuk membangun proxy

server

dengan

tipikal

transparent

proxy

server

dengan

proxy.lipi.go.id sebagai parent proxy. Setelah pengubahan konfigurasi selesai dilakukan, maka service squid perlu di restart. Hal ini dilakukan agar pengubahan konfigurasi yang telah dilakukan dapat segera diterapkan dan jika terjadi kesalahan akan muncul pesan kesalahan yang dapat digunakan untuk melakukan debug terhadap file konfigurasinya.

77

4.8. DHCP Server 4.8.1. Pendahuluan DHCP (Dynamic Host Configuration Protocol) adalah protokol yang berbasis arsitektur client-server yang dipakai untuk memudahkan pengalokasian alamat IP dalam satu jaringan. Sebuah jaringan lokal yang tidak menggunakan sistem DHCP harus memberikan alamat IP kepada semua komputer secara manual. Jika sistem DHCP dipasang di jaringan lokal, maka semua komputer yang terhubung dalam jaringan akan mendapatkan alamat IP secara otomatis dari server DHCP. Selain alamat IP, banyak parameter jaringan yang dapat diberikan oleh DHCP, seperti default gateway dan DNS server. DHCP merupakan ekstensi dari protokol Bootstrap Protocol (BOOTP). 4.8.2. Cara Kerja DHCP Karena DHCP merupakan sebuah protokol yang menggunakan arsitektur client-server, maka dalam DHCP terdapat dua pihak yang terlibat, yakni DHCP server dan DHCP client. ●

DHCP server merupakan sebuah mesin yang menjalankan layanan yang dapat memberikan ("menyewakan") alamat IP dan informasi TCP/IP lainnya kepada semua client yang memintanya.



DHCP client merupakan mesin client yang menjalankan perangkat lunak client DHCP yang memungkinkan mereka untuk dapat berkomunikasi dengan DHCP server.

78

DHCP server umumnya memiliki sekumpulan alamat yang diizinkan untuk didistribusikan kepada client, yang disebut sebagai DHCP Pool. Setiap client kemudian akan meminta/menyewa alamat IP dari DHCP Pool untuk waktu yang ditentukan oleh DHCP server. Ketika waktu penyewaan alamat IP tersebut habis masanya, client akan meminta kepada server untuk memberikan alamat IP yang baru atau memperpanjangnya. DHCP client akan mencoba untuk mendapatkan "penyewaan" alamat IP dari sebuah DHCP server dalam proses empat langkah berikut: 1. DHCPDISCOVER: DHCP client akan menyebarkan request secara broadcast untuk mencari DHCP server yang aktif. 2. DHCPOFFER: Setelah DHCP server mendengar broadcast dari DHCP client, DHCP server kemudian menawarkan sebuah alamat kepada DHCP client. 3. DHCPREQUEST: client meminta DCHP server untuk menyewakan alamat IP dari salah satu alamat yang tersedia dalam DHCP Pool pada DHCP server yang bersangkutan. 4. DHCPACK: DHCP server akan merespons permintaan dari client dengan mengirimkan paket acknowledgment. Kemudian, DHCP server akan menetapkan sebuah alamat (dan konfigurasi TCP/IP lainnya) kepada client, dan memperbarui database miliknya. client selanjutnya akan memulai proses binding dengan tumpukan protokol TCP/IP dan karena telah memiliki alamat IP, client pun dapat memulai komunikasi jaringan.

79

Empat tahap di atas hanya berlaku bagi client yang belum memiliki alamat. Untuk client yang sebelumnya pernah meminta alamat kepada DHCP server yang sama, hanya tahap 3 dan tahap 4 yang dilakukan, yakni tahap pembaruan alamat (address renewal), yang jelas lebih cepat prosesnya. Berbeda dengan sistem DNS yang terdistribusi, DHCP bersifat standalone, sehingga jika dalam sebuah jaringan terdapat beberapa DHCP server, database alamat IP dalam sebuah DHCP server tidak akan direplikasi ke DHCP server lainnya. Hal ini dapat menjadi masalah jika konfigurasi antara dua DHCP server tersebut berbenturan, karena protokol IP tidak mengizinkan dua host memiliki alamat yang sama. Selain dapat menyediakan alamat dinamis kepada client, DHCP server juga dapat menetapkan sebuah alamat statik kepada client, sehingga alamat client akan tetap dari waktu ke waktu. Catatan: DHCP server harus memiliki alamat IP yang statis.

DHCP Scope DHCP Scope adalah alamat-alamat IP yang dapat disewakan kepada DHCP client. Ini juga dapat dikonfigurasikan oleh seorang administrator dengan menggunakan peralatan konfigurasi DHCP server. Biasanya, sebuah alamat IP disewakan dalam jangka waktu tertentu, yang disebut sebagai DHCP Lease, yang umumnya bernilai tiga hari. Informasi mengenai DHCP Scope dan alamat IP yang telah disewakan kemudian disimpan di dalam database DHCP dalam DHCP server. Nilai alamat-alamat IP yang dapat disewakan harus diambil dari DHCP

80

Pool yang tersedia yang dialokasikan dalam jaringan. Kesalahan yang sering terjadi dalam konfigurasi DHCP server adalah kesalahan dalam konfigurasi DHCP Scope.

DHCP Lease DHCP Lease adalah batas waktu penyewaan alamat IP yang diberikan kepada DHCP client oleh DHCP server. Umumnya, hal ini dapat dikonfigurasikan sedemikian rupa oleh seorang administrator dengan menggunakan beberapa peralatan konfigurasi (dalam Windows NT server dapat menggunakan DHCP Manager atau dalam Windows 2000 ke atas dapat menggunakan Microsoft Management Console [MMC]). DHCP Lease juga sering disebut sebagai Reservation.

DHCP Options DHCP Options adalah tambahan pengaturan alamat IP yang diberikan oleh DHCP ke DHCP client. Ketika sebuah client meminta alamat IP kepada server, server akan memberikan paling tidak sebuah alamat IP dan alamat subnet jaringan. DHCP server juga dapat dikonfigurasikan sedemikian rupa agar memberikan tambahan informasi kepada client, yang tentunya dapat dilakukan oleh seorang administrator. DHCP Options ini dapat diaplikasikan kepada semua client, DHCP Scope tertentu, atau kepada sebuah host tertentu dalam jaringan.

81

4.8.3. Instalasi dan Konfigurasi dhcp3-server Aplikasi yang digunakan sebagai DHCP server pada Linux Ubuntu 7.04 Feisty Fawn server adalah dhcp3-server. Instalasi dapat dilakukan pada terminal dengan perintah: #apt-get install dhcp3-server

Setelah proses instalasi selesai, maka dilakukan pengubahan konfigurasi pada file /etc/dhcp3/dhcpd.conf: #nano /etc/dhcp3/dhcpd.conf

# This is a very basic subnet declaration. subnet 172.18.212.0 netmask 255.255.255.0 { range 172.18.212.30 172.18.212.99; option routers 172.18.212.20; option broadcast-address 172.18.212.255; option domain-name "biomat.lipi.go.id"; option domain-name-servers 172.18.212.20,192.168.0.2,192.168.0.10; default-lease-time 600; max-lease-time 7200; }

Script

tersebut

merupakan

sebagian

dari

isi

file

/etc/dhcp3/dhcpd.conf. Dengan konfigurasi yang telah dilakukan, maka client akan menerima pengalamatan IP dengan konfigurasi sebagai berikut: IP Address Netmask Gateway DNS

: : : :

172.18.212.30 - 172.18.212.99 255.255.255.0 172.18.212.20 172.18.212.20 192.168.0.2 192.168.0.10

82

Konfigurasi itu juga mengatur default lease time 600 dan maximum lease time 7200 dalam satuan detik. Setelah konfigurasi disimpan, maka service DHCP server harus di restart: #/etc/init.d/dhcpd restart

4.9. Web Server 4.9.1. Pendahuluan Web server bekerja melalui protolol HTTP. HTTP merupakan protokol komunikasi untuk mengirim dan menerima halaman dalam format hypertext melalui internet. HTTP adalah protokol standar request/response antara client dan server. client, dengan menggunakan web browser, memulai request koneksi TCP/IP ke server melalui port 80. Sebuah server HTTP akan mendengarkan request pada port tersebut, menunggu pesan request dari client dan memberikan response dengan mengirimkan pesan yang diminta, atau pesan kesalahan ke client. Antara client dan server dimungkinkan terdapat beberapa perantara, seperti proxy, gateway dan tunnel. HTTP dapat diimplementasikan diatas semua protokol di internet, atau jaringan. HTTP dapat berkerja pada semua protokol transport yang handal. Ketika user mengetikkan URL melalui client agent, seperti web browser, client akan mengirimkan request kepada server. URL (Universal Resource Locator), terdiri dari tiga bagian yaitu <method>, , dan . Skema dari ketiga bagian tersebut:

83

<method>:///

Pada URL http://biomat.lipi.go.id berarti menggunakan <method> http, yang memerintahkan web browser untuk menggunakan protokol HTTP; alamat biomat.lipi.go.id; dan adalah “/” yang berarti top directory dari host biomat.lipi.go.id. Dengan menggunakan HTTP/1.1, web browser akan mengirimkan request: GET / HTTP/1.1 Host: biomat.lipi.go.id

Request akan diterima di port 80 (default) pada host biomat.lipi.go.id dan dipisahkan lagi berdasarkan tiga bagian, yaitu method (HTTP method, bukan URL method) yang berisi pesan GET; URI (Universal Resource Identifier) “/”; dan versi protokol yang digunakan. Kemudian akan diserahkan kepada web server pada host biomat.lipi.go.id untuk memberikan response kepada client. 4.9.2. Instalasi dan Konfigurasi Apache2 Aplikasi yang paling umum digunakan sebagai web server adalah apache. Apache dapat berjalan pada banyak platform sistem operasi seperti Unix, BSD, Linux, Microsoft Windows, Novell Netware dan lainnya. Apache juga mendukung banyak fitur, yang diterapkan dalam modul-modul untuk memperluas fungsi utamanya. Fitur-fitur yang ada pun beragam mulai dari server-side programming language hingga skema autentifikasi.

84

Adanya fitur virtual hosting pada Apache memungkinkan untuk dibangun beberapa web server pada satu instalasi yang berada pada satu host. Virtual hosting sendiri merupakan metode yang diterapkan pada suatu server, seperti web server, untuk menggunakan beberapa nama domain pada komputer, atau alamat IP yang sama. Terdapat dua jenis metode yang digunakan untuk membangun virtual host, yaitu name-based dan IP-based.

Name-based Name-based virtual host digunakan untuk membangun beberapa host name pada satu alamat IP web server.

Dengan web browser yang telah

mendukung protokol HTTP/1.1, ketika melakukan koneksi ke web server, browser akan mengirimkan alamat yang diketikkan user (URL). server menggunakan informasi ini untuk menentukan website mana yang akan ditampilkan ke user. Browser menetukan alamat website dengan men-set Host header HTTP yang sama dengan host yang telah ditentukan oleh user. Sebagai contoh, sebuah server dapat menerima request untuk dua domain, www.server1.com dan www.server2.com, yang keduanya di resolve pada alamat IP yang sama. Namun, pada www.server1.com server akan mengirimkan file HTML dari direktori /www/server/server1/, dan www.server2.com adalah request untuk halaman web dari direktori /www/server/server2/. Permasalahan yang ada pada name-based virtual server yaitu apabila DNS tidak berfungsi dengan baik, maka akan sulit untuk mengakses website yang telah dikonfigurasi untuk menggunakan virtual server. Dalam hal ini, user dapat 85

mencoba kembali untuk mengaksesnya dengan menggunakan alamat IP. Namun, web browser tidak dapat mengetahui apa hostname yang dikirimkan, sehingga server akan merespon dengan website default.

IP-based Pada IP-based virtual hosting, tiap situs mengacu pada alamat IP yang berbeda. Webserver dikonfigurasi dengan menggunakan beberapa physical network interfaces, virtual network interfaces pada satu physical interface yang sama atau beberapa alamat IP dengan satu network interface. Instalasi Apache pada Ubuntu Linux 7.04 Feisty Fawn Server dapat dilakukan di terminal: #apt-get install apache2

Setelah proses instalasi selesai, akan muncul pesan ketika sistem mengaktifkan service apache2: apache2: Could not realibly determine the server's fully qualified domain name, using 127.0.1.1 for serverName

Pesan tersebut dapat dihilangkan dengan melakukan pengubahan nama server pada file /etc/apache2/apache2.conf: #nano /etc/apache2/apache2.conf

86

Lalu, dengan menambahkan baris berikut: serverName biomat.lipi.go.id

Setelah itu, file /etc/apache2/apache2.conf dapat disimpan kembali dan service apache2 harus di restart: #/etc/init.d/apache2 restart

Web server yang telah terinstal kini sudah dapat diakses melalui web browser dari komputer client dengan mengetikkan alamat IP server pada address bar browser. Tampilan default yang akan muncul adalah listing direktori dari /var/www/apache2-default/.

Gambar 4.14. Tampilan listing direktori /var/www/apache2-default/

Setelah direktori apache2-default

di klik, maka akan muncul

tampilan pesan yang menandakan bahwa web server telah berhasil diinstal.

87

Gambar 4.15. Server telah berhasil diinstal

Agar browser dapat langsung mengakses ke dalam direktori /var/www/ apache2-default/ tanpa perlu menampilkan listing direktori, maka dilakukan

pengubahan

terhadap

file

/etc/apache2/sites-

available/default: #nano /etc/apache2/sites-available/default

Dan menghilangkan tanda comment (#) pada baris: RedirectMatch ^/$/apache2-default/

Menyimpan kembali, dan me-restart service apache2: #/etc/init.d/apache2 restart

88

Apabila web server kembali dengan menggunakan browser, maka tampilan akan langsung membuka file /var/www/apache2-default/index.html dengan tampilan:

Gambar 4.16. Tampilan/var/www/apache2-default/index.html

Penjelasan mengenai beberapa variabel yang terdapat dalam file /etc/apache2/apache2.conf:

ServerRoot Default: serverRoot

“/etc/apache2”

Berisi informasi untuk path yang merupakan lokasi dari apache2.conf.

89

Timeout Default: Timeout

300

Timeout adalah variabel yang mengkonfigurasi waktu maksimum, dalam detik, untuk menunggu sebuah request, memprosesnya dan memberikan respon terhadap request tersebut.

KeepAlive Default: KeepAlive

On

Nilai 'On' pada konfigurasi KeepAlive akan memungkinkan client untuk melakukan persistent connection sehingga client hanya membutuhkan satu request untuk mengakses tiap file, gambar dan lainnya. Hal ini berkaitan dengan efisiensi.Konfigurasi yang berkaitan dengan KeepAlive didefinisikan pada variabel-variabel berikut:

MaxKeepAliveRequests Default: MaxKeepAliveRequests

100

Variabel tersebut berisi konfigurasi banyaknya request yang diizinkan untuk dilakukan pada tiap koneksi. Untuk memberikan nilai unlimited request maka nilai variabel tersebut adalah 0 (nol).

90

KeepAliveTimeout Default: KeepAliveTimeout

15

Variabel ini mengkonfigurasi waktu yang dibutuhkan untuk menunggu request selanjutnya dari client yang sama untuk koneksi yang sama pada persistent connection. Jika tidak ada request dalam jangka waktu tersebut, maka koneksi akan diputuskan.

HostnameLookups Default: HostnameLookups

Off

Jika variabel tersebut bernilai 'On', maka akan mengaktifkan fitur DNS lookup sehingga nama host yang mengakses akan tercatat pada file log (melakukan reverse DNS check). Nilai 'Double' akan meneruskan reverse DNS check hingga memberikan hostname. 4.9.3. Membangun Virtual Host Apache2 memiliki dukungan untuk membangun beberapa web server pada satu instalasi apache2 yang berada pada satu host atau virtual host. Jenis virtual host yang akan dibangun pada simulasi ini adalah virtual host yang dibedakan berdasarkan nama domain atau name-based virtual host. Domain yang pertama adalah data.biomat.lipi.go.id dengan root direktori pada /home/server/web/ data.biomat.lipi.go.id/ intra.biomat.lipi.go.id

dan

dengan

domain root

91

yang

kedua

direktori

adalah pada

/home/server/web/intra.biomat.lipi.go.id/. Hal pertama yang perlu dilakukan adalah membuat root direktori untuk kedua virtual host tersebut: $cd ~ $mkdir web $mkdir -p web/data $mkdir -p web/intra

Lalu

meng-copy-kan

file

/var/www/apache2-

default/index.html sebagai file yang akan dikirimkan ke web browser untuk menguji apakah virtual host server telah berjalan atau belum. Layout virtual host tersebut dapat digambarkan sebagai berikut:

92

Gambar 4.17. Layout virtual host

Selanjutnya adalah membuat konfigurasi untuk kedua virtual host tersebut dengan menggunakan teks editor nano. File konfigurasi akan disimpan pada direktori

/etc/apache2/sites-available/.

Konfigurasi

untuk

data.biomat.lipi.go.id adalah: #nano /etc/apache2/sites-available/data.biomat.lipi.go.id

93

Isi file data.biomat.lipi.go.id: NameVirtualHost * serverAdmin [email protected] serverName data.biomat.lipi.go.id DocumentRoot /home/server/web/data.biomat.lipi.go.id/ Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all # This directive allows us to have apache2's # default start page # in /apache2-default/, but still have / go to the # right place RedirectMatch ^/$ /apache2-default/ ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, # error, crit, alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined serverSignature On Alias /doc/ "/usr/share/doc/" Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128

94

Konfigurasi untuk intra.biomat.lipi.go.id: #nano /etc/apache2/sites-available/intra.biomat.lipi.go.id

Isi file intra.biomat.lipi.go.id: NameVirtualHost * serverAdmin [email protected] serverName intra.biomat.lipi.go.id DocumentRoot /home/server/web/intra.biomat.lipi.go.id/ Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all # This directive allows us to have apache2's # default start page # in /apache2-default/, but still have / go to the # right place RedirectMatch ^/$ /apache2-default/ ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, # error, crit, alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined serverSignature On Alias /doc/ "/usr/share/doc/" Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128

95



Lalu mengaktifkan kedua virtual host tersebut dengan perintah: #a2ensite data.biomat.lipi.go.id #a2ensite intra.biomat.lipi.go.id

Dari masing-masing eksekusi perintah tersebut akan muncul pesan sebagai berikut: Site data.biomat.lipi.go.id installed; run /etc/init.d/apache2 reload to enable.

Site intra.biomat.lipi.go.id installed; run /etc/init.d/apache2 reload to enable.

Maka selanjutnya service apache2 perlu di-restart: #/etc/init.d/apache2 restart

Untuk menguji apakah kedua virtual host server tersebut telah berjalan atau belum, cukup dengan mengetikkan alamat virtual host masing-masing di address bar web browser. http://data.biomat.lipi.go.id dan http://intra.biomat.lipi.go.id

96

Penjelasan mengenai beberapa variabel pada masing-masing file konfigurasi virtual host:

ServerAdmin serverAdmin merupakan variabel yang berisi alamat e-mail untuk administrator server yang akan ditampilkan apabila ada kesalahan pada website. Alamat e-mail ini juga akan ditampilkan jika variabel ServerSignature bernilai 'On'.

ServerName ServerName adalah variabel yang digunakan untuk memberikan nama domain pada virtual host.

DocumentRoot Berisi lokasi penyimpanan file-file public domain yang akan digunakan oleh virtual host. Lokasi ini harus didefinisikan dengan menggunakan path absolut (lengkap).

4.10. FTP Server 4.10.1. Pendahuluan FTP (File Transfer Protocol) digunakan untuk melakukan transfer data dari satu komputer ke komputer lainnya dalam satu jaringan komputer atau internet. FTP merupakan protokol untuk melakukan pertukaran file pada semua

97

jaringan komputer yang mendukung protokol TCP/IP. Terdapat dua komputer yang terlibat dalam sebuah FTP transfer: server dan client. FTP server, menjalankan aplikasi FTP server, akan mendengarkan request yang datang dari komputer lain dalam suatu jaringan komputer. FTP client, dengan menggunakan aplikasi FTP client, menginisiasikan koneksi ke server. Ketika terhubung, client dapat melakukan operasi manipulasi file seperti meng-upload file ke server, mendownload file dari server, mengubah nama file bahkan menghapus file yang terdapat di server. Secara default, FTP server akan mendengarkan permintaan koneksi dari client pada port 21. Koneksi yang datang melalui port ini merupakan control stream yang digunakan untuk mengirimkan perintah dari client ke server dan kadang dari server ke client. Untuk melakukan transfer file, dibutuhkan koneksi yang berbeda yang disebut sebagai data stream. Metode koneksi yang digunakan sebagai data stream antara client dan server yaitu: Active Mode Pada

active

mode,

client

akan

membuka

sembarang

port

(>1023),

mengirimkannya ke server melalui control stream dan menunggu koneksi dari FTP server. client mengirimkan perintah PORT ke server yang menginformasikan alamat IP dan nomor port yang akan didengarkan oleh client. memulai koneksi data ke client dengan menggunakan port 20.

98

server akan

Passive Mode Pada passive mode, FTP server akan membuka sembarang port (>1023), mengirimkan ke client alamat IP dan nomor port yang akan didengarkan melalui control stream dan menunggu koneksi dari client. Pada kasus ini, client pun akan menggunakan sembarang port (>1023) untuk melakukan koneksi. client menggunakan perintah PASV untuk meminta informasi alamat IP dan nomor port yang akan digunakan sebagai data stream pada server. 4.10.2. Instalasi dan Konfigurasi FTP Server Aplikasi yang digunakan untuk membangun sebuah FTP server pada Ubuntu Linux 7.04 Feisty Fawn server adalah ProFTPD. ProFTPD merupakan aplikasi FTP server yang awalnya dikhususkan untuk digunakan berbagai varian unix walapun saat ini telah ada ProFTPD yang dibuat untuk Windows. ProFTPD memiliki kemiripan desain dengan Apache dalam banyak hal, seperti format konfigurasi, desain modular dan lainnya. Instalasi ProFTD dapat dilakukan pada terminal: #apt-get install proftpd

99

Setelah proses instalasi selesai, akan muncul dialog:

Gambar 4.18. Dialog instalasi ProFTPD

Pada simulasi ini, option standalone yang akan dipilih dengan anggapan akan terdapat banyak koneksi ftp yang akan dilakukan oleh client. Konfigurasi tersebut dapat diubah dengan melakukan pengubaha pada file konfigurasi utama ProFTPD yang terdapat pada file /etc/proftpd/proftpd.conf. Server FTP yang akan dibangun adalah anonymous FTP. Berikut konfigurasi anonymous FTP pada file /etc/proftpd/proftpd.conf. Filefile yang dipublikasikan melalui anonymous FTP server akan disimpan pada direktori /home/Server/ftp/anonym/. Hal

pertama

yang

perlu

dilakukan

adalah

/home/Server/ftp/anonym/ dengan perintah: $mkdir /home/Server/ftp $mkdir /home/Server/ftp/anonym

100

membuat

direktori

Lalu mengkonfigurasikan file /etc/proftpd/proftpd.conf untuk anonymous server dengan path direktori yang telah dibuat: #nano /etc/proftpd/proftpd.conf

Berikut adalah konfigurasi untuk membangun sebuah anonymous FTP server: # A basic anonymous configuration, no upload directories. User ftp Group nogroup # We want clients to be able to login with "anonymous" as well # as "ftp" UserAlias anonymous ftp # Cosmetic changes, all files belongs to ftp user DirFakeUser on ftp DirFakeGroup on ftp RequireValidShell

off

# Limit the maximum number of anonymous logins Maxclients 10 # We want 'welcome.msg' displayed at login, and '.message' # displayed in each newly chdired directory. DisplayLogin welcome.msg DisplayFirstChdir .message # Limit WRITE everywhere in the anonymous chroot DenyAll # Uncomment this if you're brave. # # # DenyAll # # # # AllowAll # #


101

4.11. Samba dan Domain Controller (Windows Networking) 4.11.1. Pendahuluan Samba merupakan aplikasi yang mengimplementasikan protokol Server Message Blok (SMB) di lingkungan Unix/Linux. Fungsi utama dari protokol ini adalah untuk melakukan sharing file dan printer. Banyak sistem operasi, seperti Windows dan OS/2, menggunakan protokol ini untuk melakukan client-server networking.

Dengan

adanya

dukungan

terhadap

protokol

ini,

samba

memungkinkan server berbasis Unix untuk berkomunikasi pada protokol jaringan yang sama dengan produk-produk dari Microsoft Windows. Dengan adanya samba pada, mesin-mesin unix dapat bertindak sebagai server bagi jaringan yang berbasis Windows dan menyediakan beberapa layanan berikut: ●

Berbagi (share) file pada beberapa file system.



Berbagi (share) printer yang terinstal pada server maupun client.



Mendukung Network Neighborhood browsing yang akan memudahkan client untuk browsing pada komputer yang tergabung dalam jaringan.



Mengautentifikasi client yang log on ke Windows domain.



Mendukung WINS name server resolution.

4.11.2. Cara Kerja Protokol SMB Protokol SMB atau yang dikenal sebagi protokol NetBEUI merupakan non-routeable protocol yang bersifat broadcast based. Setidaknya ada dua proses yang berjalan untuk melakukan file dan printer sharing: ●

Mailslots Mailslot adalah proses undirectional communication yang memungkinkan

102

untuk setiap client dapat menggunakan fasilitas Network Neighborhood untuk melakukan browsing pada komputer yang sedang aktif. ●

Named Pipes Named pipes merupakan proses bidirectional communication yang terjadi ketika sebuah komputer diakses, kemudian akan terlihat resource apa saja yang bisa digunakan pada komputer tersebut. Saat berhasil masuk dan menggunakan resource tersebut, terjadilah proses named pipes. Dengan berkembangnya protokol TCP/IP, NT 4.0 menambahkan satu fitur

yaitu Windows Socket (winsock.dll) yang berfungsi agar protokol NetBEUI yang tidak bisa routing, bisa run-over protokol yang bisa routing pada protokol TCP/IP (IPX Encapsulated with TCP/IP). Pada proses ini, NetBEUI sedang berjalan pada protokol TCP/IP. Setiap proses RPC (Remote Procedure Call) membutuhkan satu protokol transport. Ketika protokol TCP/IP diinstal pada Microsoft Windows, dan alamat IP Samba dijadikan sebagai WINS server, maka Windows akan menganggap mesin linux tersebut sebagai Windows. WINS merupakan NetBIOS Name Service (NBNS) yang melakukan proses name resolution dan browsing. Kedua proses ini akan dijalankan oleh nmbd pada Samba. NBNS merupakan service dimana NetBIOS Name di-resolve ke alamat IP. 4.11.3. Instalasi dan Konfigurasi Samba Instalasi Samba pada Ubuntu Linux 7.04 Feisty Fawn Server cukup dengan mengetikkan perintah di terminal: #apt-get install samba smbfs

103

Perintah akan menginstal Samba sebagai aplikasi utama dan smbfs yang memuat modul-modul tambahan untuk dukungan protokol SMB/CIFS. Aplikasi lain yang dapat diinstal yaitu smbclient. Aplikasi ini berisi paket utilitas untuk mengakses Network Neighborhood Windows dari Unix/Linux pada modus Command-Line. Konfigurasi Samba terdapat pada satu file tunggal yaitu smb.conf yang terletak di /etc/samba/smb.conf. Konfigurasi pada file ini bisa sederhana, namun bisa juga menjadi sangat kompleks. Berikut ini adalah struktur file konfigurasi Samba yang secara umum digunakan: [global] . . . [homes] . . . [printers] . . . [test] . . .

Konfigurasi Server Untuk melakukan konfigurasi pada server Samba, secara umum terdapat tiga opsi yang dapat diubah pada seksi [global] pada file smb.conf, yaitu: [global] workgroup = BIOMAT netbios name = SERVER server string = Samba %v on (%L)

Konfigurasi tersebut merupakan konfigurasi server yang sangat sederhana, terdiri dari Workgroup BIOMAT, NetBIOS name SERVER dan menampilkan deskripsi kepada client versi Samba yang digunakan.

104

Konfigurasi Disk Share Berikut ini adalah konfigurasi untuk melakukan folder sharing pada Samba. Direktori yang akan di-share adalah /home/server/data yang diberi nama [data]. [global] workgroup = BIOMAT nerbios name = SERVER server string = Samba %v on (%L) [data] comment = Direktori Data path = /home/server/data public = yes writeable = yes guest ok = yes create mask = 0777 directory mask = 077 force user = nobody force group = nogroup

Direktori yang akan di-share perlu dibuat dengan menambahkan opsi agar direktori tersebut dapat diakses dengan permission read/write enabled. Perintah yang digunakan yaitu: #mkdir /home/server/data #chmod 777 /home/server/data

Kemungkinan kesalahan terutama pada penulisan sintaks dapat di tes dengan menggunakan perintah: #testparm

105

Jika tidak ada kesalahan pada konfigurasi yang telah dilakukan, maka perintah tersebut akan memberikan keterangan: Load smb config files from /etc/samba/smb.conf Processing section “[homes]” Processing section “[printers]” Processing section “[share]” Loaded service file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions ------------------------- (dipotong)---------------------------------------- berisi konfigurasi yang telah dibuat -------------

Setelah itu, Samba perlu di-restart agar konfigurasi yang telah dilakukan dapat segera diterapkan: #/etc/init.d/samba force-reload

Konfigurasi server Samba yang telah dibuat tersebut dikonfigurasikan untuk berfungsi sebagai server dengan tipe standalone server. Istilah standalone server berarti hanya menyediakan akses kontrol dan autentifikasi lokal untuk semua resource yang ada pada server tersebut. Hal yang perlu dilakukan oleh client untuk dapat mengakses resource yang disediakan server hanyalah memiliki user account pada server tersebut. Standalone server tidak menyediakan layanan domain logon.

106

Samba sebagai Domain Controller Konfigurasi pada file smb.conf untuk memfungsikan Samba sebagai Primary Domain Controller adalah sebagai berikut: [global]

workgroup = BIOMAT netbios name = SERVER1 server string = %h server (Samba, Ubuntu) passdb backend = tdbsam security = user username map = /etc/samba/smbusers name resolve order = wins bcast hosts domain logons = yes preferred master = yes wins support = yes # Set CUPS for printing printcap name = CUPS printing = CUPS # Default logon logon drive = H: logon script = scripts/logon.bat logon path = server1profile%U # Useradd scripts add user script = /usr/sbin/useradd -m %u delete user script = /usr/sbin/userdel -r %u add group script = /usr/sbin/groupadd %g delete group script = /usr/sbin/groupdel %g add user to group script = /usr/sbin/usermod -G %g %u add machine script = /usr/sbin/useradd -s /bin/false/ -d /var/lib/ nobody %u idmap uid = 15000-20000 idmap gid = 15000-20000 # sync smb passwords woth linux passwords passwd program = /usr/bin/passwd %u passwd chat = *EntersnewsUNIXspassword:* %nn *RetypesnewsUNIXspassword:* %nn . passwd chat debug = yes unix password sync = yes # set the loglevel log level = 3 [homes] comment = Home valid users = %S read only = no browsable = no

107

[printers] comment = All Printers path = /var/spool/samba printable = yes guest ok = yes browsable = no [netlogon] comment = Network Logon Service path = /home/samba/netlogon admin users = Administrator valid users = %U read only = no [profile] comment = User profiles path = /home/samba/profiles valid users = %U create mode = 0600 directory mode = 0700 writable = yes browsable = no

108

Related Documents


More Documents from ""