View
195
Download
0
Category
Preview:
DESCRIPTION
Petunjuk tentang Repository & keamanan jaringan
Citation preview
i
KATAPENGANTAR
Puji syukur ke hadirat Tuhan Yang Maha Kuasa, yang telah memberikan
rahmat-Nya sehingga Modul Sistem Repository dan Keamanan Jaringan Berbasis
Open Source untuk para karyawan/karyawati SKPD di lingkungan Pemerintah
Kota Surabaya pada khususnya dan masyarakat pada umumnya dapat
terselesaikan dengan sebaik-baiknya.
Modul sistem repository dan keamanan jaringan berbasis open source ini
dibuat sebagai pedoman dalam mempelajari tentang mengenalkan sistem
repository local serta cara pembuatannya dan hal-hal yang berhubungan dengan
keamanan jaringan berbasis open source yang sangat diperlukan untuk
keamananan data dan koneksi internet. Modul sistem repository dan keamanan
jaringan ini diharapkan dapat membantu masyarakat untuk lebih mengenal dan
dapat lebih menekankan keamanan jaringan pada internet di perusahaan / di
lingkungan sekolah dengan lebih baik. Penyusun menyakini bahwa dalam
pembuatan Modul sistem repository dan keamanan jaringan berbasis open source
ini masih jauh dari sempurna. Oleh karena itu penyusun mengharapkan kritik dan
saran yang membangun guna penyempurnaan modul-modul lain dimasa yang
akan datang.
Akhir kata, penyusun mengucapkan banyak terima kasih kepada semua
pihak yang telah membantu baik secara langsung maupun tidak langsung.
Surabaya, Juli 2013
Tim Penyusun
Dinas Komunikasi dan Informatika
Kota Surabaya
ii
DAFTAR ISI
Repository Ubuntu................................................................................................... 1Mendaftarkan repository Baru di Ubuntu................................................................ 2Mengapa Harus repository Lokal ?.......................................................................... 4Membuat Repository Ubuntu Lokal menggunakan debmirror................................ 5Sharing koneksi internet dengan Ubuntu melalui Lan .........................................13Berbagi Koneksi Internet di Ubuntu dengan Wifi ................................................21Pengantar Firewall................................................................................................. 23Jenis-jenis Firewall.................................................................................................26
Fungsi Firewall............................................................................................. 28Mengatur dan Mengontrol Lalu lintas jaringan............................................ 29Proses inspeksi Paket....................................................................................30Koneksi dan Keadaan Koneksi.....................................................................31Stateful Packet Inspection.............................................................................32Melakukan autentikasi terhadap akses..........................................................34Melindungi sumber daya dalam jaringan privat........................................... 36Cara Kerja Firewall.......................................................................................37Packet-Filter Firewall................................................................................... 38Circuit Level Gateway..................................................................................40Application Level Firewall........................................................................... 43NAT Firewall................................................................................................ 44Stateful Firewall............................................................................................46Virtual Firewall.............................................................................................47Transparent Firewall..................................................................................... 47
Firestarter, firewall di Ubuntu................................................................................ 49Membangun Router dengan Ubuntu .................................................................... 59
Instalasi Komponen Utama...........................................................................60Konfigurasi Router....................................................................................... 61TIPS: Bonus Firewall................................................................................... 62Menghadang Serangan dari Luar..................................................................62Membatasi Akses URL Klien....................................................................... 63
Sharing Koneksi Internet melalui terminal............................................................ 65Pembatasan akses internet menggunakan Transparent Proxy................................67
Memblokir alamat situs................................................................................ 69Memblokir kata kunci...................................................................................70
Membatasi waktu akses internet menggunakan squid........................................... 71Instalasi LAMP di Ubuntu 12.04 (Precise Pangolin) versi Desktop......................73Instalasi DNS Server dengan Bind9.......................................................................75Membuat Virtual Host (multiple domain dalam 1 server)..................................... 82
ii
Jenis Virtual Host..........................................................................................84Konfigurasi Bind9 untuk mendukung virtual host.................................................94Install Webmin....................................................................................................... 98Berbagi Data dalam Jaringan dengan Berbagai Izin Akses....................................99
Instalasi....................................................................................................... 100Izin Akses Folder Tanpa Password............................................................. 101Izin Akses Folder Read Only......................................................................104Otentifikasi User Samba............................................................................. 105
Instalasi Dhcp3-Server Pada Ubuntu 12.04 Server ............................................ 113FTP dengan VSFTPD di Ubuntu 12.04................................................................116
Cara Membangun FTP Server dengan VSFTPD........................................ 119
1
Repository Ubuntu
Bagi pengguna ubuntu, kata repository merupakan kata yang sangat akrab
ditelinga. Repository merupakan database atau kumpulan paket Ubuntu yang
nantinya dapat diinstall kedalam sistem, repository sangat dibutuhkan karena
tanpa adanya repository, tidak akan ada paket yang bisa diinstall dalam sistem.
Ada empat komponen dasar pada repository, berdasarkan tingkat dukungan yang
diberikan oleh Ubuntu dan Ubuntu's free Software Philosophy, yaitu :
1. Main, software yang didukung resmi oleh Ubuntu
2. Restricted, yaitu software yang didukung oleh Ubuntu tetapi tidak
dimasukkan ke dalam lisensi bebas secara penuh
3. Universe, yaitu software yang sama sekali tidak didukung secara resmi
oleh Ubuntu
4. Multiverse, yaitu software yang tidak bebas, arti tidak bebas disini adalah
software yang memiliki sejumlah persyaratan tertentu pada saat instalasi
2
Mendaftarkan repository Baru di
Ubuntu
Distribusi Linux Ubuntu yang juga merupakan salah satu distribusi Linux yang
paling banyak digunakan saat ini memiliki banyak daftar repository, melalui
repository ini Anda dapat melakukan instalasi aplikasi-aplikasi yang di inginkan.
Banyaknya repository ini pun mempermudah Anda ingin menggunakan repository
dari server mana saja yang terdekat dari area Anda. Hal ini akan mempercepat
daya download aplikasi dari server repository dan tentunya akan menghemat
waktu Anda.
Tutorial kali ini adalah cara untuk mendaftarkan repository distro Linux Ubuntu
versi apa saja mulai dari yang lama hingga terbaru karena caranya sama. Hal yang
membedakan adalah alamat repository yang disesuaikan dengan versi Ubuntu
yang digunakan, misalnya yang terbaru saat ini adalah Precise Pangolin (Ubuntu
12.04). Berikut dibawah ini cara untuk mendaftarkan repository baru
menggantikan repository default yang dimiliki oleh Ubuntu :
Hal pertama yang harus Anda lakukan adalah membuat backup dari file
sources.list yang dapat ditemukan di direktori /etc/apt, untuk membuat backup ini
Anda harus mengubah diri Anda menjadi superuser (#) atau hanya cukup
menggunakan sudo.
3
$ sudo cp /etc/apt/sources.list/etc/apt/sources.list.bak
Pada saat menjalankan perintah diatas Anda akan diminta memasukkan password
user yang digunakan, masukkan password kemudian tekan ENTER dan file
sources.list akan di backup menjadi sources.list.bak.
Langkah selanjutnya adalah mencari alamat repository lokal yang ingin di
daftarkan, bisa digunakan server repository antara lain :
Buaya (http://buaya.klas.or.id) Lokasi Server ada di Surabaya
Kambing (http://kambing.ui.ac.id) Lokasi Server ada di Jakarta
Telkom (http://dl2.foss-id.web.id) Server repository Telkom
Bukalah file sources.list dengan menggunakan editor, misalnya gedit, vim,
vim.tiny, atau pun nano untuk mulai mengedit.
$ sudo gedit /etc/apt/sources.list
Anda dapat menghapus semua isi dari file sources.list tersebut atau hanya
menambahkan baris berikut di bawah ini di bagian paling bawah dari file
sources.list. Berikut adalah daftar repository dari server kambing :
deb http://kambing.ui.ac.id/ubuntu/ precise mainrestricted universe multiverse
4
deb http://kambing.ui.ac.id/ubuntu/ precise-securitymain restricted universe multiverse
deb http://kambing.ui.ac.id/ubuntu/ precise-updatesmain restricted universe multiverse
Setelah baris diatas dimasukkan, kemudian simpanlah file sources.list. Sekarang
pada repository sudah terdaftar repository dari Kambing dan untuk
menggunakannya, harus melakukan update konfigurasi dari file sources.list.
Sebagai catatan saja, apapun yang dilakukan pada file sources.list usahakan untuk
melakukan update untuk memperbaharui konfigurasinya.
$ sudo apt-get update
Biarkan saja proses update berjalan hingga selesai dan jika prosesnya sudah
selesai maka pendaftaran repository lokal pada Ubuntu sudah selesai dilakukan
dan siap untuk digunakan.
Mengapa Harus repository Lokal ?
Pertanyaan ini mungkin saja selalu terbersit bagi Anda yang baru menggunakan
sistem operasi Linux, mengapa harus repository lokal bukankah sudah ada
repository default yang disertakan oleh distro Linux yang di install? Bagi Anda
yang belum mengetahui arti lokal disini adalah, server repository berada di
5
Indonesia sehingga akses download aplikasi semakin cepat dibandingkan
repository yang ada di luar negeri. Sebenarnya memang tidak ada salahnya juga
menggunakan repository default yang disertakan dan memang kadang kala tidak
semua distro Linux menyediakan repository lokalnya seperti halnya Ubuntu,
Debian, Fedora, dan distribusi terkenal lainnya.
repository lokal tidak kalah bahkan lebih baik dibandingkan repository luar negeri
terutama dari sisi kecepatan download untuk yang memiliki koneksi internet yang
pas-pasan. Jadi, pesan hari ini adalah apabila menggunakan sistem operasi Linux
yang memiliki repository lokal lebih baik menggunakannya dibandingkan
repository luar negeri walaupun memang tidak di wajibkan dan ini hanya saran
saja bagi pemula Linux. Selamat datang di dunia Open Source.
Membuat Repository Ubuntu Lokal
menggunakan debmirror
Buat direktori mirror, disini menggunakan direktori ubuntu
$ mkdir /home/user/ubuntu
Install Debmirror
$ sudo apt-get install debmirror
6
Buat file dengan nama mirrorbuild.sh dan simpan, dengan cara :
$gedit mirrorbuild.sh
kemudian isi dengan script berikut ini :
#### Start script to automate building of Ubuntu mirror#####
## THE NEXT LINE IS NEEDED THE REST OF THE LINESSTARTING WITH A # CAN BE DELETED
#!/bin/bash
## Setting variables with explanations.
#
# Don't touch the user's keyring, have our own instead
#
export GNUPGHOME=/var/data/mirrorkeyring
7
# Arch= -a # Architecture. For Ubuntu can bei386, powerpc or amd64.
# sparc, only starts in dapper, it is only the latermodels of sparc.
#
arch=i386,amd64
# Minimum Ubuntu system requires main, restricted
# Section= -s # Section (One of the following -main/restricted/universe/multiverse).
# You can add extra file with $Section/debian-installer.ex: main/debian-installer,universe/debian-installer,multiverse/debian-installer,restricted/debian-installer
#
section=main,restricted,universe,multiverse
# Release= -d # Release of the system (Dapper,Edgy, Feisty, Gutsy, Hardy, Intrepid), and the -updates
8
and -security ( -backports can be added if desired)
#
# release=jaunty,jaunty-security,jaunty-updates
# release=maverick,maverick-security,maverick-updates,maverick-backports,maverick-proposed
# release=oneiric,oneiric-backports,oneiric-proposed,oneiric-security,oneiric-updates
release=precise,precise-security,precise-updates
# Server= -h # Server name, minus the protocoland the path at the end
# CHANGE "*" to equal the mirror you want to createyour mirror from. au. in Australia ca. in Canada.
# This can be found in your own /etc/apt/sources.listfile, assuming you have Ubuntu installed.
#
# server=opensource.telkomspeedy.com:5432
# server=dl2.foss-id.web.id
9
server=125.160.17.22
# Dir= -r # Path from the main server, sohttp://my.web.server/$dir, Server dependant
#
inPath=ubuntu
# Proto= -e # Protocol to use for transfer(http, ftp, hftp, rsync)
# Choose one - http is most usual the service, and theservice must be avaialbe on the server you point at.
#
proto=http
# Outpath= # Directory to store the mirrorin
# Make this a full path to where you want to mirror thematerial.
10
#
outPath=/home/user/ubuntu
# The --nosource option only downloads debs and notdeb-src's
# The --progress option shows files as they aredownloaded
# --source \ in the place of --no-source \ if you wantsources also.
# --nocleanup Do not clean up the local mirror aftermirroring is complete. Use this option to keep olderrepository
# Start script
#
debmirror -a $arch \
--no-source \
-s $section \
-h $server \
11
-d $release \
-r $inPath \
--progress \
-e $proto \
$outPath
#### End script to automate building of Ubuntu mirror####
Rubah permisi untuk berkas tersebut
$ sudo chmod +x mirrorbuild.sh
Pastikan komputer atau server telah terinstall webserver
$ sudo apt-get install apache2 # jika anda menggunakanapache
Buat simbolik link untuk agar webserver mirror kita dapat diakses dari browser
$ sudo ln -s /home/user/ubuntu /var/www/ubuntu
Jika repo kita mau disingkronkan setiap saat, maka hal yang harus kita lakukan
12
adalah membuat penjadwalan waktu. Hal ini dapat menggunakan anacron untuk
melakukanya
$ sudo crontab -e
Isikan dengan
1,17 * * * /home/user/mirrorbuild.sh
Keterangan : server repository akan mengecek pada jam 1 dan 17
13
Sharing koneksi internet dengan
Ubuntu melalui Lan
sharing internet di ubuntu susah? tak semudah sistem operasi lainya? Justru
sebaliknya Sangat Mudah!
Dalam hal ini distro linux yang digunakan adalah distro Ubuntu yang versi 12.04,
langkah-langkah yang harus dilakukan adalah sebagai berikut
14
klik kiri di network manager Unity -> pilih “Edit Conection”
Di tab “Wired” ada “Wired Connection1" yang merupakan kartu LAN di
komputer, pilih “Wired Connection1” lalu klik edit
15
Penting!, jangan melakukan perubahan apapun disini. pada “Mac address”
copy mac addressnya lalu klik cancel
16
Nah disini kita akan buat koneksi baru khusus untuk sharing, klik Add
17
Ganti “Connection Name” menjadi “Sharing” lalu paste mac addressnya
18
Di tab ipv4 setting pada settingan “Method” pilih “shared to other
computer”
19
20
Sambungkan kabel Lan dari komputer yang digunakan ke komputer klien,
Pastikan setting Lan di komputer klien memakai automatic
Pilih koneksi “Sharing” dari network manager
Koneksi internet sekarang siap dipakai bersama
21
Berbagi Koneksi Internet di Ubuntu
dengan Wifi
Ada beberapa cara untuk sharing koneksi via wifi, dimulai dari cara yang mudah
dengan langkah-langkah sebagai berikut :
1. Aktifkan Wireless, lalu konekkan modemnya.
2. Buat koneksi.
Jalankan aplikasi Network, lalu pilih bagian wireless
22
Kemudian pilih use as Hospot,
Sekarang Sistem Operasi Ubuntu telah siap digunakan untuk sharing koneksi
internet melalui wifi.
23
Pengantar Firewall
Ilustrasi mengenai Firewall
Firewall atau dinding api adalah suatu sistem perangkat lunak yang mengizinkan
lalu lintas jaringan yang dianggap aman untuk bisa melaluinya dan mencegah lalu
lintas jaringan yang dianggap tidak aman. Umumnya, sebuah tembok-api
diterapkan dalam sebuah mesin terdedikasi, yang berjalan pada pintu gerbang
(gateway) antara jaringan lokal dengan jaringan Internet.
Tembok-api digunakan untuk membatasi atau mengontrol akses terhadap siapa
saja yang memiliki akses terhadap jaringan pribadi dari pihak luar. Saat ini, istilah
firewall menjadi istilah lazim yang merujuk pada sistem yang mengatur
komunikasi antar dua macam jaringan yang berbeda. Mengingat saat ini banyak
perusahaan yang memiliki akses ke Internet dan juga tentu saja jaringan berbadan
hukum di dalamnya, maka perlindungan terhadap perangkat digital perusahaan
tersebut dari serangan para peretas, pemata-mata, ataupun pencuri data lainnya,
24
menjadi kenyataan.
Ilustrasi mengenai Firewall dalam sebuah jaringan komputer.
25
Contoh dari user interface untuk firewall pada Ubuntu (Gufw)
Jenis-jenis Firewall
Taksonomi Firewall
Firewall terbagi menjadi dua jenis, yakni sebagai berikut
Personal Firewall: Personal Firewall didesain untuk melindungi sebuah
komputer yang terhubung ke jaringan dari akses yang tidak dikehendaki.
Firewall jenis ini akhir-akhir 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
26
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.
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. 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. 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 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.
Fungsi Firewall
Secara mendasar, firewall dapat melakukan hal-hal berikut:
Mengatur dan mengontrol lalu lintas jaringan
Melakukan autentikasi terhadap akses
27
Melindungi sumber daya dalam jaringan privat
Disamping ketiga fungsi tersebut masih ada lagi beberapa fungsi firewall, yaitu:
Firewall dapat menerapkan suatu kebijakan sekuriti (sekurity policy)
Firewall dapat menghambat pergerakan penyerang yang mencoba
menyusup.
Mencatat semua kejadian, dan melaporkan kepada administrator
Mengatur dan Mengontrol Lalu lintas jaringan
Fungsi yang paling utama dari firewall ini, dia bisa mengizinkan sekaligus
memblokir akses internet dalam sebuah jaringan. Hal ini dilakukan karena firewall
dapat melakukan tugas-tugas seperti di bawah ini:
Mencatat, mengatur dan mengontrol semua arus yang keluar dan masuk ke
dalam jaringan, serta melaporkannya kepada administrator. Firewall juga
mampu menjalankan tugas ini dengan sangat baik.
Melakukan sebuah inspeksi terhadap paket-paket, serta memantau koneksi
yang sedang dibuat.
Menyaring koneksi berdasarkan hasil inspeksi paketnya dan koneksi
tersebut.
Jika ada proses komunikasi dari luar tugas firewall lah yang menentukan
apakah komunikasi tersebut ditolak atau diizinkan berdasarkan Inspeksi
28
paket yang telah dilakukannnya. Paket tersebut lalu dibandingkan dengan
daftar kebijakan akses berdasarkan:
IP komputer sumber
Port sumber
IP komputer tujuan
Port tujuan
Header yang disimpan dalam paket
Proses inspeksi Paket
Inspeksi paket (packet inspection) merupakan proses yang dilakukan oleh firewall
untuk 'menghadang' dan memproses data dalam sebuah paket untuk menentukan
bahwa paket tersebut diizinkan atau ditolak, berdasarkan kebijakan akses (access
policy) yang diterapkan oleh seorang administrator. Firewall, sebelum
menentukan keputusan apakah hendak menolak atau menerima komunikasi dari
luar, ia harus melakukan inspeksi terhadap setiap paket (baik yang masuk ataupun
yang keluar) di setiap antarmuka dan membandingkannya dengan daftar kebijakan
akses. Inspeksi paket dapat dilakukan dengan melihat elemen-elemen berikut,
ketika menentukan apakah hendak menolak atau menerima komunikasi:
Alamat IP dari komputer sumber
Port sumber pada komputer sumber
29
Alamat IP dari komputer tujuan
Port tujuan data pada komputer tujuan
Protokol IP
Informasi header-header yang disimpan dalam paket
Koneksi dan Keadaan Koneksi
Agar dua host TCP/IP dapat saling berkomunikasi, mereka harus saling membuat
koneksi antara satu dengan lainnya. Koneksi ini memiliki dua tujuan:
1. Komputer dapat menggunakan koneksi tersebut untuk
mengidentifikasikan dirinya kepada komputer lain, yang meyakinkan bahwa
sistem lain yang tidak membuat koneksi tidak dapat mengirimkan data ke
komputer tersebut. Firewall juga dapat menggunakan informasi koneksi untuk
menentukan koneksi apa yang diizinkan oleh kebijakan akses dan
menggunakannya untuk menentukan apakah paket data tersebut akan diterima
atau ditolak.
2. Koneksi digunakan untuk menentukan bagaimana cara dua host
tersebut akan berkomunikasi antara satu dengan yang lainnya (apakah
dengan menggunakan koneksi connection-oriented, atau connectionless).
30
Ilustrasi mengenai percakapan antara dua buah host
Kedua tujuan tersebut dapat digunakan untuk menentukan keadaan koneksi antara
dua host tersebut, seperti halnya cara manusia bercakap-cakap. Jika Amir bertanya
kepada Aminah mengenai sesuatu, maka Aminah akan meresponsnya dengan
jawaban yang sesuai dengan pertanyaan yang diajukan oleh Amir; Pada saat Amir
melontarkan pertanyaannya kepada Aminah, keadaan percakapan tersebut adalah
Amir menunggu respons dari Aminah. Komunikasi di jaringan juga mengikuti
cara yang sama untuk memantau keadaan percakapan komunikasi yang terjadi.
Firewall dapat memantau informasi keadaan koneksi untuk menentukan apakah ia
hendak mengizinkan lalu lintas jaringan. Umumnya hal ini dilakukan dengan
memelihara sebuah tabel keadaan koneksi (dalam istilah firewall: state table)
yang memantau keadaan semua komunikasi yang melewati firewall. Dengan
memantau keadaan koneksi ini, firewall dapat menentukan apakah data yang
melewati firewall sedang "ditunggu" oleh host yang dituju, dan jika ya, aka
mengizinkannya. Jika data yang melewati firewall tidak cocok dengan keadaan
koneksi yang didefinisikan oleh tabel keadaan koneksi, maka data tersebut akan
31
ditolak. Hal ini umumnya disebut sebagai Stateful Inspection.
Stateful Packet Inspection
Ketika sebuah firewall menggabungkan stateful inspection dengan packet
inspection, maka firewall tersebut dinamakan dengan Stateful Packet Inspection
(SPI). SPI merupakan proses inspeksi paket yang tidak dilakukan dengan
menggunakan struktur paket dan data yang terkandung dalam paket, tapi juga
pada keadaan apa host-host yang saling berkomunikasi tersebut berada. SPI
mengizinkan firewall untuk melakukan penapisan tidak hanya berdasarkan isi
paket tersebut, tapi juga berdasarkan koneksi atau keadaan koneksi, sehingga
dapat mengakibatkan firewall memiliki kemampuan yang lebih fleksibel, mudah
diatur, dan memiliki skalabilitas dalam hal penapisan yang tinggi.
Salah satu keunggulan dari SPI dibandingkan dengan inspeksi paket biasa adalah
bahwa ketika sebuah koneksi telah dikenali dan diizinkan (tentu saja setelah
dilakukan inspeksi), umumnya sebuah kebijakan (policy) tidak dibutuhkan untuk
mengizinkan komunikasi balasan karena firewall tahu respons apa yang
diharapkan akan diterima. Hal ini memungkinkan inspeksi terhadap data dan
perintah yang terkandung dalam sebuah paket data untuk menentukan apakah
sebuah koneksi diizinkan atau tidak, lalu firewall akan secara otomatis memantau
keadaan percakapan dan secara dinamis mengizinkan lalu lintas yang sesuai
dengan keadaan. Ini merupakan peningkatan yang cukup signifikan jika
dibandingkan dengan firewall dengan inspeksi paket biasa. Apalagi, proses ini
diselesaikan tanpa adanya kebutuhan untuk mendefinisikan sebuah kebijakan
32
untuk mengizinkan respons dan komunikasi selanjutnya. Kebanyakan firewall
modern telah mendukung fungsi ini.
Melakukan autentikasi terhadap akses
Fungsi fundamental firewall yang kedua adalah firewall dapat melakukan
autentikasi terhadap akses.
Protokol TCP/IP dibangun dengan premis bahwa protokol tersebut mendukung
komunikasi yang terbuka. Jika dua host saling mengetahui alamat IP satu sama
lainnya, maka mereka diizinkan untuk saling berkomunikasi. Pada awal-awal
perkembangan Internet, hal ini boleh dianggap sebagai suatu berkah. Tapi saat ini,
di saat semakin banyak yang terhubung ke Internet, mungkin kita tidak mau siapa
saja yang dapat berkomunikasi dengan sistem yang kita miliki. Karenanya,
firewall dilengkapi dengan fungsi autentikasi dengan menggunakan beberapa
mekanisme autentikasi, sebagai berikut:
Firewall dapat meminta input dari pengguna mengenai nama pengguna
(user name) serta kata kunci (password). Metode ini sering disebut sebagai
extended authentication atau xauth. Menggunakan xauth pengguna yang
mencoba untuk membuat sebuah koneksi akan diminta input mengenai
nama dan kata kuncinya sebelum akhirnya diizinkan oleh firewall.
Umumnya, setelah koneksi diizinkan oleh kebijakan keamanan dalam
firewall, firewall pun tidak perlu lagi mengisikan input password dan
namanya, kecuali jika koneksi terputus dan pengguna mencoba
33
menghubungkan dirinya kembali.
Metode kedua adalah dengan menggunakan sertifikat digital dan kunci
publik. Keunggulan metode ini dibandingkan dengan metode pertama
adalah proses autentikasi dapat terjadi tanpa intervensi pengguna. Selain
itu, metode ini lebih cepat dalam rangka melakukan proses autentikasi.
Meskipun demikian, metode ini lebih rumit implementasinya karena
membutuhkan banyak komponen seperti halnya implementasi infrastruktur
kunci publik.
Metode selanjutnya adalah dengan menggunakan Pre-Shared Key (PSK)
atau kunci yang telah diberitahu kepada pengguna. Jika dibandingkan
dengan sertifikat digital, PSK lebih mudah diimplenentasikan karena lebih
sederhana, tetapi PSK juga mengizinkan proses autentikasi terjadi tanpa
intervensi pengguna. Dengan menggunakan PSK, setiap host akan
diberikan sebuah kunci yang telah ditentukan sebelumnya yang kemudian
digunakan untuk proses autentikasi. Kelemahan metode ini adalah kunci
PSK jarang sekali diperbarui dan banyak organisasi sering sekali
menggunakan kunci yang sama untuk melakukan koneksi terhadap host-
host yang berada pada jarak jauh, sehingga hal ini sama saja meruntuhkan
proses autentikasi. Agar tercapai sebuah derajat keamanan yang tinggi,
umumnya beberapa organisasi juga menggunakan gabungan antara metode
PSK dengan xauth atau PSK dengan sertifikat digital.
Dengan mengimplementasikan proses autentikasi, firewall dapat menjamin bahwa
34
koneksi dapat diizinkan atau tidak. Meskipun jika paket telah diizinkan dengan
menggunakan inspeksi paket (PI) atau berdasarkan keadaan koneksi (SPI), jika
host tersebut tidak lolos proses autentikasi, paket tersebut akan dibuang.
Melindungi sumber daya dalam jaringan privat
Salah satu tugas firewall adalah melindungi sumber daya dari ancaman yang
mungkin datang. Proteksi ini dapat diperoleh dengan menggunakan beberapa
pengaturan peraturan akses (access control), penggunaan SPI, application proxy,
atau kombinasi dari semuanya untuk mengamankan host yang dilindungi supaya
tidak dapat diakses oleh host-host yang mencurigakan atau dari lalu lintas jaringan
yang mencurigakan. Meskipun demikian, firewall bukan satu-satunya metode
proteksi teraman terhadap sumber daya, dan mempercayakan proteksi firewall
dari ancaman secara eksklusif adalah salah satu kesalahan fatal.
Jika sebuah host yang menjalankan sistem operasi tertentu yang memiliki lubang
keamanan yang belum ditambal dikoneksikan ke Internet, firewall mungkin tidak
dapat mencegah dieksploitasinya host tersebut oleh host-host lainnya, khususnya
jika exploit tersebut menggunakan lalu lintas yang oleh firewall telah diizinkan
(dalam konfigurasinya). Sebagai contoh, jika sebuah packet-inspection firewall
mengizinkan lalu lintas HTTP ke sebuah web server yang menjalankan sebuah
layanan web yang memiliki lubang keamanan yang belum ditambal, maka seorang
pengguna yang "iseng" dapat saja membuat exploit untuk meruntuhkan web
server tersebut karena memang web server yang bersangkutan memiliki lubang
keamanan yang belum ditambal.
35
Dalam contoh ini, web server tersebut akhirnya mengakibatkan proteksi yang
ditawarkan oleh firewall menjadi tidak berguna. Hal ini disebabkan oleh firewall
tidak dapat membedakan antara request HTTP yang mencurigakan atau tidak.
Apalagi, jika firewall yang digunakan bukan application proxy. Oleh karena itulah,
sumber daya yang dilindungi haruslah dipelihara dengan melakukan penambalan
terhadap lubang-lubang keamanan, selain tentunya dilindungi oleh firewall.
Cara Kerja Firewall
Firewall berada diantara kedua jaringan seperti internet dan komputer sehingga
firewall berfungsi sebagai pelindung. Tujuan utama adanya firewall adalah untuk
user yang tidak menginginkan lalu lintas jaringan yang berusaha masuk ke
komputer, namun tidak hanya itu saja yang bisa dilakukan firewall. Firewall juga
dapat menganalisis jaringan yang mencoba masuk ke komputer kamu, dan dapat
melakukan apa yang harus dilakukan ketika jaringan tersebut masuk. Contohnya
saja, firewall bisa diatur untuk memblokir beberapa jenis jaringan yang mencoba
keluar atau mencatat log lalu lintas jaringan yang mencurigakan.
Firewall bisa memiliki berbagai aturan yang dapat kamu tambahkan atau hapus
untuk menolak jaringan tertentu. Contohnya saja, hanya dapat mengakses alamat
IP tertentu atau mengumpulkan semua akses dari tempat lain untuk ke satu tempat
yang aman terlebih dahulu
36
Packet-Filter Firewall
Contoh pengaturan akses (access control) yang diterapkan dalam firewall
Pada bentuknya yang paling sederhana, sebuah firewall adalah sebuah router atau
komputer yang dilengkapi dengan dua buah NIC (Network Interface Card, kartu
antarmuka jaringan) yang mampu melakukan penapisan atau 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
37
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.
Cara kerja packet filter firewall
Packet-filtering router juga dapat dikonfigurasikan agar menghentikan beberapa
jenis lalu lintas jaringan dan tentu saja mengizinkannya. Umumnya, hal ini
dilakukan dengan mengaktifkan/ menonaktifkan 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 surat elektronik dari Internet masuk ke dalam jaringan
38
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.
Circuit Level Gateway
39
Cara kerja circuit level firewall
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 referensi tujuh lapis OSI (bekerja pada lapisan
sesi/session layer) daripada Packet Filter Firewall. Modifikasi ini membuat
firewall jenis ini berguna dalam rangka menyembunyikan informasi mengenai
jaringan terproteksi, meskipun firewall ini tidak melakukan penyaringan terhadap
paket-paket individual yang mengalir dalam koneksi.
Dengan menggunakan firewall jenis ini, koneksi yang terjadi antara pengguna dan
jaringan pun disembunyikan dari pengguna. 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 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 ia akses.
Firewall ini dianggap lebih aman dibandingkan dengan Packet-Filtering Firewall,
karena pengguna eksternal tidak dapat melihat alamat IP jaringan internal dalam
paket-paket yang ia terima, melainkan alamat IP dari firewall.
40
Application Level Firewall
Application Level Firewall (disebut juga sebagai application proxy atau
application level gateway)
Firewall jenis lainnya adalah Application Level Gateway (atau Application-Level
Firewall atau sering juga disebut sebagai Proxy Firewall), yang 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
41
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 klien agar dapat
berfungsi. Sebagai contoh, jika sebuah proxy FTP dikonfigurasikan di atas sebuah
application layer gateway, proxy tersebut dapat dikonfigurasikan untuk
mengizinlan 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 e-mail 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.
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
42
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.
Stateful Firewall
Cara kerja stateful firewall
Stateful Firewall merupakan sebuah firewall yang menggabungkan keunggulan
43
yang ditawarkan oleh packet-filtering firewall, NAT Firewall, Circuit-Level
Firewall dan Proxy Firewall dalam satu sistem. Stateful Firewall dapat melakukan
filtering terhadap lalu lintas berdasarkan karakteristik paket, seperti halnya
packet-filtering firewall, dan juga memiliki pengecekan terhadap sesi koneksi
untuk meyakinkan bahwa sesi koneksi yang terbentuk tersebut diizinlan. Tidak
seperti Proxy Firewall atau Circuit Level Firewall, Stateful Firewall umumnya
didesain agar lebih transparan (seperti halnya packet-filtering firewall atau NAT
firewall). Tetapi, stateful firewall juga mencakup beberapa aspek yang dimiliki
oleh application level firewall, sebab ia juga melakukan inspeksi terhadap data
yang datang dari lapisan aplikasi (application layer) dengan menggunakan layanan
tertentu. Firewall ini hanya tersedia pada beberapa firewall kelas atas, semacam
Cisco PIX. Karena menggabungkan keunggulan jenis-jenis firewall lainnya,
stateful firewall menjadi lebih kompleks.
Virtual Firewall
Virtual Firewall adalah sebutan untuk beberapa firewall logis yang berada dalam
sebuah perangkat fisik (komputer atau perangkat firewall lainnya). Pengaturan ini
mengizinkan beberapa jaringan agar dapat diproteksi oleh sebuah firewall yang
unik yang menjalankan kebijakan keamanan yang juga unik, cukup dengan
menggunakan satu buah perangkat. Dengan menggunakan firewall jenis ini,
sebuah ISP (Internet Service Provider) dapat menyediakan layanan firewall
kepada para pelanggannya, sehingga mengamankan lalu lintas jaringan mereka,
hanya dengan menggunakan satu buah perangkat. Hal ini jelas merupakan
44
penghematan biaya yang signifikan, meski firewall jenis ini hanya tersedia pada
firewall kelas atas, seperti Cisco PIX 535.
Transparent Firewall
Transparent Firewall (juga dikenal sebagai bridging firewall) bukanlah sebuah
firewall yang murni, tetapi ia hanya berupa turunan dari stateful Firewall.
Daripada firewall-firewall lainnya yang beroperasi pada lapisan IP ke atas,
transparent firewall bekerja pada lapisan Data-Link Layer, dan kemudian ia
memantau lapisan-lapisan yang ada di atasnya. Selain itu, transparent firewall
juga dapat melakukan apa yang dapat dilakukan oleh packet-filtering firewall,
seperti halnya stateful firewall dan tidak terlihat oleh pengguna (karena itulah, ia
disebut sebagai Transparent Firewall).
Intinya, transparent firewall bekerja sebagai sebuah bridge yang bertugas untuk
menyaring lalu lintas jaringan antara dua segmen jaringan. Dengan menggunakan
transparent firewall, keamanan sebuah segmen jaringan pun dapat diperkuat, tanpa
harus mengaplikasikan NAT Filter. Transparent Firewall menawarkan tiga buah
keuntungan, yakni sebagai berikut:
Konfigurasi yang mudah (bahkan beberapa produk mengklaim sebagai
"Zero Configuration"). Hal ini memang karena transparent firewall
dihubungkan secara langsung dengan jaringan yang hendak diproteksinya,
dengan memodifikasi sedikit atau tanpa memodifikasi konfigurasi firewall
tersebut. Karena ia bekerja pada data-link layer, pengubahan alamat IP pun
45
tidak dibutuhkan. Firewall juga dapat dikonfigurasikan untuk melakukan
segmentasi terhadap sebuah subnet jaringan antara jaringan yang memiliki
keamanan yang rendah dan keamanan yang tinggi atau dapat juga untuk
melindungi sebuah host, jika memang diperlukan.
Kinerja yang tinggi. Hal ini disebabkan oleh firewall yang berjalan dalam
lapisan data-link lebih sederhana dibandingkan dengan firewall yang
berjalan dalam lapisan yang lebih tinggi. Karena bekerja lebih sederhana,
maka kebutuhan pemrosesan pun lebih kecil dibandingkan dengan firewall
yang berjalan pada lapisan yang tinggi, dan akhirnya performa yang
ditunjukannya pun lebih tinggi.
Tidak terlihat oleh pengguna (stealth). Hal ini memang dikarenakan
Transparent Firewall bekerja pada lapisan data-link, dan tidak
membutuhkan alamat IP yang ditetapkan untuknya (kecuali untuk
melakukan manajemen terhadapnya, jika memang jenisnya managed
firewall). Karena itulah, transparent firewall tidak dapat terlihat oleh para
penyerang. Karena tidak dapat diraih oleh penyerang (tidak memiliki
alamat IP), penyerang pun tidak dapat menyerangnya.
Firestarter, firewall di Ubuntu
Di dalam jaringan komputer (apalagi internet) sangat rentan sekali terhadap
46
masalah security (keamanan komputer), hal ini bisa terjadi karena jaringan
komputer terdiri dari berbagai macam komputer yang salah satunya dari komputer
lain bisa saja mengidap penyakit menular seperti malware, virus, atau spyware.
Apabila ada salah satu komputer yang terkena virus atau malware maka akan bisa
menularkan ke komputer yang lain di dalam jaringan, meskipun hal seperti ini
jarang terjadi di linux Ubuntu alangkah baiknya kita mempersenjatai komputer
kita dengan aplikasi firestarter. Oleh karena untuk menghadapi masalah security di
dalam jaringan, khususnya untuk distro linux ubuntu. Di ubuntu banyak sekali
aplikasi untuk pengamanan jaringan tapi kali ini dibahas adalah firestarter.
Firestarter adalah komponen firewall yang berguna membentengi jaringan dengan
internet. Firestarter dapat diperoleh langsung dari repositori ubuntu atau DVD
repositori ubuntu, cara installnya sebagai berikut:
buka terminal atau konsol, lalu eksekusi perintah berikut:
$sudo apt-get install firestarter
Setelah proses installasi selesai otomatis firestarter langsung terinstal di komputer,
cara mengetahuinya adalah dengan mengakses menu Applications > System >
Firestarter.
selanjutnya akan dikonfigurasi firestarter sebagai firewall dengan cara :
47
Gambar 1
1. Aktifkan firestarter, jendela pertama yang akan muncul ialah welcome to
firestarter . Klik forward untuk melanjutkan ke sesi selanjutnya.
Gambar 2
2. Pada bagian network device setup, pilih pada media yang anda gunakan
48
untuk terhubung ke jaringan (biasanya ethernet/eth0) tapi dalam hal ini
diggunakan modem maka dipilih ppp0, kemudian klik forward lagi untuk
melanjutkan ke sesi selanjutnya.
Gambar 3
3. Jika komputer bertindak sebagai internet gateway maka pilih enable
connection sharing agar komputer secara otomatis akan berlaku sebagai dhcp
server. dan klik forward lagi.
49
Gambar 4
4. Pengaturan dasar selesai, firewall siap dijalankan dengan munculnya
jendela ready to start your firewal. jika ingin memulai firewall sekarang ini juga
pilih start firewall now dan klik tombol save.
50
Gambar 5
5. Setelah firestarter diaktifkan maka akan muncul jendela yang menunjukan
firestarter sudah berjalan di komputer (gambar 5).
51
Gambar 6
6. Untuk melakukan pengaturan lebih lanjut, dipilih tombol preferences
hingga muncul jendela (gambar 6).
Gambar 7
7. Lalu di bagian interfaces, bisa ditentukan apakah hendak memunculkan
ikon di tray desktop atau tidak jika "ya" bisa diklik enable tray icon (gambar 7).
52
Gambar 8
8. Pada bagian firewall anda ditentukan bagaimana firestarter akan dimulai,
apakah ketika komputer dihidupkan, ketika komputer memperoleh ip dhcp dari
server, atau ketika dial-out.
53
Gambar 9
9. Pada bagian policy editor, bisa ditentukan kapan perubahan-perubahan
akan diterapkan apabila atribut firestarter ada yang diubah.
Gambar 10
10. Pada bagian ICMP filtering, bisa ditentukan apakah filtering ICMP ingin
diaktifkan atau tidak beserta tipe-tipe paket yang akan disaring menggunakan
firewall.
54
Gambar 11
11. Pada bagian ToS filtering bisa ditentukan Type of Service Filtering yang
ingin diterapkan untuk filtering.
Gambar 12
12. Pada bagian advanced options, bisa ditentukan opsi tingkat lanjut, seperti
55
metode penolakan paket. Kemudian klik accept untuk menerapkan perubahan-
perubahan firestarter ini.
Membangun Router dengan Ubuntu
Banyak sekolah saat ini sudah memiliki akses Internet mandiri. Beberapa di
antaranya bahkan telah menggunakan koneksi broadband dengan kecepatan yang
lumayan tinggi. Pertanyaannya, bisakah koneksi Internet tersebut dibagi-pakai ke
banyak PC atau notebook di sekolah? Jawabnya bisa, dengan router!
Router yang akan dibuat — meskipun dengan sangat sederhana — dijamin
memiliki kestabilan dan keamanan kelas enterprise karena didukung dengan
sistem operasi Linux. Linux yang dipilih dari distro Ubuntu Desktop — distro
Linux termudah dan banyak digunakan sebagai terminal kerja.
Di sini kita akan menggunakan Linux Ubuntu Desktop versi 12.04 (Precise
Pangoline). Namun pengguna Ubuntu versi di bawahnya juga tetap dapat
mengikuti langkah yang sama. Router yang akan dibuat menggunakan aplikasi
Firestarter (www.fs-security.com) yang punya lisensi free 100%. Aslinya, aplikasi
ini adalah sebuah firewall dengan fitur router. Jadi router yang akan dibuat
nantinya akan memiliki fasilitas firewall.
Sebagai langkah awal, siapkan PC yang sudah ter-instal Ubuntu dan memiliki
koneksi Internet aktif sehingga bisa browsing di sana. Jangan lupa sediakan pula
56
sebuah kartu jaringan tambahan untuk menghubungkan Ubuntu ke jaringan lokal.
Instalasi Komponen Utama
Ada dua komponen utama yang harus di-install sebelum dapat memfungsikan PC
sebagai router, yaitu Firestarter dan DHCP (Dynamic Host Configuration
Protocol). Komponen DHCP hanya perlu di-install jika ingin alamat IP
dialokasikan otomatis kepada klien. Jika ingin melakukan konfigurasi alamat
secara manual, DHCP tidak wajib di-install. Untuk meng-install Firestarter dan
DHCP, silakan buka terminal kemudian ketikkan perintah :
$sudo apt-get install firestarter dhcp3-server
Konfigurasi Router
1. Jika instalasi berjalan dengan mulus, langkah berikutnya adalah
melakukan konfigurasi Firestarter agar semua koneksi dari klien bisa diteruskan
ke Internet. Jalankan Firestarter dari menu Applications > Internet > Firestarter
dan masukkan password root Ubuntu jika diminta.
2. Dari jendela utama Firestarter, klik menu Preferences di bagian atas
(pastikan tab “Status” aktif), kemudian pilih Network Setting. Perhatikan 2 kotak
drop-down yang ada di sana. Kotak drop-down paling atas adalah antarmuka
jaringan yang terkoneksi dengan Internet. Jika menggunakan kartu jaringan
Ethernet, antarmuka yang ditunjukkan kemungkinan besar adalah “eth0”.
Sementara kotak drop-down kedua menunjukkan antarmuka untuk jaringan lokal.
57
3. Jika sudah ditentukan mana jaringan Internet dan lokal, tinggal
mengaktifkan (centang) opsi “Enable Internet connection sharing” dan “Enable
DHCP for the local network” (alokasi IP klien otomatis). Rentang alokasi IP
menggunakan DHCP juga bisa ditentukan sendiri, dengan mengklik tanda panah
hitam di sebelah opsi “DCHP server details”. Opsi lain di jendela ini bisa
dibiarkan apa adanya, karena tidak terlalu dibutuhkan.
4. Setelah semua selesai disetel, klik tombol “Accept”. Dengan mengklik
tombol “Start Firewall”, PC sudah menjadi sebuah router untuk berbagi koneksi
Internet.
TIPS: Bonus Firewall
Tidak lengkap rasanya jika sebuah router tidak dilengkapi dengan pengaman
tambahan untuk menangkal serangan yang sangat mungkin datang dari sisi
Internet. Untungnya, Firestarter memang didesain untuk mengamankan PC yang
terhubung ke Internet, termasuk klien-kliennya yang terhubung melalui fasilitas
Internet Connection Sharing.
Sebenarnya, secara default, Firestarter sudah bekerja sebagai firewall sejak
pertama kali diaktifkan. Tetapi setelan default masih memiliki banyak lubang
yang jika tidak ditutup bukan tidak mungkin bakal ditembus cracker.
Apabila keamanan menjadi prioritas saat berselancar, tidak ada salahnya
mengikuti langkah-langkah sederhana berikut.
58
Menghadang Serangan dari Luar
1. Buka kembali jendela Preferences di Firestarter. Kali ini pilih “ICMP
Filtering” dan aktifkan (centang) opsi “Enable ICMP Filtering”. Abaikan opsi lain
di bawahnya jika memang tidak ada fitur lain dari protokol ICMP yang diizinkan
diterima PC. Selanjutnya, klik tombol Accept.
2. Kembali ke jendela utama Firestarter, lalu pilih tab “Policy”. Di opsi
Editing, pastikan terpilih “Inbound traffic policy” yang artinya membuat aturan
tentang “siapa saja yang boleh mengakses PC atau port dari sisi Internet”. Jika
tidak ada port yang boleh diakses dari Internet, maka pastikan daftar “Allow
connection from host”, “Allow service”, dan “Forward service” dalam keadaan
kosong. Sebaliknya, jika ingin membolehkan sebuah host dari sisi Internet
terkoneksi ke router ini, klik kanan area kosong di daftar “Allow connection from
host” dan pilih “Add rule”. Kemudian masukkan alamat IP dari host yang
diizinkan mengakses router. Jika sudah, jangan lupa klik tombol “Add” dan
“Apply”. Cara yang sama bisa dilakukan untuk membolehkan koneksi
port/service dari Internet, hanya saja harus bekerja di daftar “Allow service”.
3. Jika sudah, coba tes PC Anda dengan bantuan situs audit keamanan milik
Gibson Research (www.grc.com). Bandingkan hasil sebelum dan sesudah
konfigurasi dilakukan (lihat apakah mendapat predikat “Passed” pada TruStealth
Analysis atau tidak).
59
Membatasi Akses URLKlien
Setelah berhasil membatasi akses dari luar, sekarang akan dibuat batasan terhadap
klien yang akan mengakses Internet. Hal ini sangat berguna jika ingin menghemat
bandwidth atau mencegah pengguna di bawah umur mengakses situs yang tidak
semestinya. Begini cara melakukannya.
1. Dari jendela utama Firestarter, klik tab “Policy” dan ubah dropdown
editing menjadi “Outbound traffic policy”. Opsi ini dipakai untuk membatasi
akses klien lokal ke Internet atau kebalikan dari “Inbound traffic policy” yang
telah dibahas di atas.
2. Akan muncul dua radio button yang masing masing berisi opsi
“Permissive by default, black list traffic” dan “Restrictive by default, whitelist
traffic”. Permissive by default digunakan jika ingin mengizinkan semua lalu lintas
data dari klien ke Internet dan menggunakan daftar policy untuk memblok alamat,
host atau service/port tertentu. Sebaliknya, Restrictive by default digunakan untuk
memblok semua lalu lintas data dari klien ke Internet dan menggunakan daftar
policy untuk membolehkan akses ke alamat, host atau service/port tertentu. Jika
ingin memblokir alamat tertentu saja, pilih Permissive by default.
3. Untuk memerintahkan agar Firestarter memblokir situs tertentu, lakukan
dengan mengklik kanan area kosong di daftar “Deny connection to host”, lalu
pilih “Add rule”. Masukkan alamat IP atau nama domain (tanpa “http://”) di field
“IP, host or network”, lalu klik Add. Jika sudah, jangan lupa mengklik Apply di
60
bagian atas jendela Firestarter. Coba kunjungi alamat yang diblokir tadi
menggunakan browser.
Sharing Koneksi Internet melalui
terminal
Konfigurasi internet connection sharing (ICS) merupakan langkah awal sebelum
instalasi squid. Konfigurasi ini bisa dilakukan dengan menggunakan terminal,
dengan langkah-lagkah sebagai berikut :
Dibutuhkan sebuah komputer yang mempunyai 2 buah kartu jaringan (eth0 dan
eth1), untuk setting jaringan bisa dilakukan melalui network manager, dengan
asumsi eth0 adalah jaringan yang terkoneksi langsung ke internet, sedangkan eth1
merupakan merupakan jaringan yang terkoneksi dengan client.
Adapun konfigurasi yang digunakan dalam tiap-tiap ethernet antara lain :
eth0 :
IP address : 192.168.2.2
netmask : 255.255.255.0
gateway : 192.168.2.1
61
DNS server : 202.134.1.10,202.134.0.155
eth1 :
IP address : 10.10.10.1
netmask : 255.255.255.0
DNS server : 202.134.1.10,202.134.0.155
selanjutnya dengan menggunakan mode root, dari terminal, aktifkan proses IP
forward di sistem dengan cara mengettikkan baris berikut :
# echo 1 > /proc/sys/net/ipv4/ip_forward
Kemudian buka file /etc/sysctl.conf dan lakukan edit pada baris berikut ini dengan
menghilangkan tanda pagar (#) pada bagian depan baris
net.ipv4.ip_forward=1
kemudian lakukan perintah dibawah ini untuk mereload konfigurasi sysctl :
#sysctl -p
Jalankan perintah iptables untuk meneruskan koneksi dari eth0 ke eth1 dengan
perintah :
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
kemudian tambahkan perintah diatas ke dalam file /etc/rc.local, agar bisa diload
ketika sewaktu-waktu server tersebut harus direstart ulang.
62
Pembatasan akses internet
menggunakan Transparent Proxy
Pertama kali yang dilakukan adalah dengan install squir dengan perintah :
#apt-get install squid squid-common
Jawab (Y) jika diminta untuk melakukan konfirmasi installasi squid
Langkah selanjutnya adalah mengkonfigurasi squid, secara default squid akan
memblok semua koneksi dari jaringan LAN ke internet. untuk itu konfigurasi
ulang squid dengan mengedit file /etc/squid3/squid.conf
#nano /etc/squid3/squid.conf
Beberapa parameter yang perlu dirubah, diantaranya sebagai berikut :
ubah bagian dibawah ini :
cari kata http_port 3128 tambahkan transparent
http_port 3128 transparent
cari kata cache_mgr webmaster tulis dibawahnya
cache_mgr alamat-email@e-mail.com
63
tambahkan baris acl localnet seperti dibawah ini :
acl localnet src 10.10.10.0/24
aturan yang menyatakan nomor jaringan 10.10.10.0/24 yang digunakan dengan
nama localnet, kemudian tambahkan baris berikut ini :
http_access allow localnet
Kemudian simpan file tersebut dan restart service squid dengan perintah:
#/etc/init.d/squid restart
kemudian tambahkan perintah ini di dalam file /etc/sysctl.conf sebelum baris exit
0 dan dibawah baris ICS :
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80-j DNAT --to-destination 10.10.10.1:3128
dan
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80-j REDIRECT --to-port 3128
Perintah baris pertama berfungsi memberikan aturan routing baru pada ethernet
yang etrkoneksi ke internet (eth0) dan mengarahkan port http 80 kealamat IP kartu
jaringan yang terhubung ke jaringan lokal (eth1) dengan port 3128.
Perintah baris kedua berfungsi memberikan aturan routing baru kepada ethernet
yang terhubung dijaringan lokal (eth1) dan mengarahkan port http 80 ke port http
64
transparent proxy 3128
Memblokir alamat situs
Pemblokiran alamat situs mungkin diperlukan agar pengguna tidak melakukan
browsing terhadap situs2 yang tidak diinginkan seperti situs porno dan sebagainya,
untuk melakukan pemblokiran, pertama kali adalah membuat file yang berisi
alamat-alamat situs yang akan diblokir, dalam hal ini digunakan file porno.txt
yang berada di folder /etc/squid. Langkah-langkahnya adalah sebagai berikut :
Membuat file porno.txt yang terletak di folder /etc/squid :
#gedit /etc/squid3/porno.txt
Kemudian, isikan dengan alamat-alamat situs porno yang hendak diblokir seperti
dibawah ini :
www.playboy.com
www.17tahun.com
www.hentai.com
Jika sudah selesai, langkah berikutnya adalah menambahkan baris acl pada file
/etc/squid3/squid.conf, dengan menambahkan baris :
acl porno dstdomain “/etc/squid3/porno.txt”
Kemudian tambahkan baris http_acces untuk acl porno diatas http_access allow
localnet
65
http_access deny porno
Restart service squid agar aturan yang baru dibuat berjalan dengan baik
#/etc/init.d/squid/restart
Memblokir kata kunci
Fungsi lain dari squid, adalah untuk memblokir kata kunci, fungsi ini tidak jauh
berbeda dengan pemblokiran alamat situs, namun pemblokiran yang dilakukan
disini adalah alamat situs yang memiliki kata kunci tertentu, misal sex, xxx, dan
lain-lain.
Langkah pertama adalah membuat file, misalnya kunci.txt di folder /etc/squid
#gedit /etc/squid3/kunci.txt
Masukkan kata kunci yang hendak diblokir perbaris sama seperti ketika
memasukkan definisi untuk alamat situs porno.
xxx
sex
porn
Selanjutnya buka file squid.conf dan tambahkan aturan acl baru dengan nnama
kunci di bawah acl porno
acl kunci url_regex -I “/etc/squid3/kunci.txt”
66
Tambahkan pula http_access untuk kunci yang letaknya diatas http_acces deny
porno
http_access deny kunci
Membatasi waktu akses internet
menggunakan squid
Dengan menggunakan squid proxy ubuntu server, kita bisa membatasi hak akses
client. Kita buat penjadwalan. Sebagai contoh penggunaan squid proxy di kantor
untuk jaringan lokal. Pada jam yang disepakati karyawan tidak diperbolehkan
mengakses website tertentu yang sudah di tentukan sebelumnya, misalnya jam
kerja pkl 08:00-12:00 dan 13:00-17:00 karyawan tidak diperbolehkan mengakses
facebook, tetapi pada jam 12:00-13:00 diperbolehkan. Kita bisa setting kondisi
tersebut menggunakan squid proxy. Langkahnya adalah sebagai berikut :
Masuk ke server proxy ubuntu sebagai root
$ sudo bash
Sebelum kita konfigurasi di squid, kita buat dulu sebuah file sebagai daftar
website mana saja yang tidak diperbolehkan untuk diakses oleh client. Kita buat
filenya di /etc/squid dengan nama noaccess.squid.txt, ketik
67
# nano /etc/squid3/noaccess.squid.txt
Masukkan beberapa nama website yang tidak diperbolehkan aksesnya oleh client,
setelah itu simpan filenya. Kemudian masuk ke konfigurasi squid
# nano /etc/squid3/squid.conf
Setelah itu kita buat aturannya
acl noaccess url_regex “/etc/squid3/noaccess.squid.txt”
acl waktu_pagi time M T W H F 08:00-12:00
acl waktu_istirahat time M T W H F 12:00-13:00
acl waktu_sore time M T W H F 13:00-17:00
kemudian kita tambahkan aturan untuk http_access nya
http_access deny noaccess waktu_pagi
http_access allow noaccess waktu_istirahat
http_access deny noaccess waktu_sore
simpan konfigurasi tersebut dan restart squidnya
68
# sudo /etc/init.d/squid restart
Instalasi LAMP di Ubuntu 12.04
(Precise Pangolin) versi Desktop
Berikut langkah cepat menginstal LAMP (Linux, Apache2, MySQL 5, PHP 5) di
Ubuntu 12.04 LTS (Precise Pangolin) versi Deskop dengan berbagai ekstension
PHP yang siap digunakan untuk menjalankan aplikasi Open Source berbasis web
(Drupal 7, Moodle, YII Framework, dan sebagainya)
Install Apache:
$sudo apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils apache2-suexec libexpat1 ssl-cert
Install PHP:
$sudo apt-get install libapache2-mod-php5 libapache2-mod-ruby libapache2-mod-python php5 php5-common php5-curl php5-dev php5-gd php-pear php5-imagick php5-imapphp5-mcrypt php5-memcache php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidyphp5-xmlrpc php5-xsl php5-apc php5-intl
Install MySQL:
69
$sudo apt-get install mysql-server mysql-client
Install phpMyAdmin:
$sudo apt-get install phpmyadmin
Aktifkan module rewrite (untuk mengaktifkan URL ramah – clean URL), dengan
command:
$sudo a2enmod rewrite
Merestart web server apache untuk mengaktifkan setiap perubahan yang sudah
dilakukan dengan command:
$sudo service apache2 restart
Instalasi DNS Server dengan Bind9
DNS adalah Domain Name System, yang berfungsi sebagai media menyimpan
informasi tentang nama host atau nama domain dalam bentuk database dalam
jaringan komputer. DNS menyediakan alamat IP untuk setiap nama host dan
mendata setiap mail exchange server yang menerima e-mail dari setiap domain.
DNS server menyediakan kemudahan bagi orang untuk menghafal website,
daripada menghafal IP address, lebih baik anda menghafalkan nama host atau
nama domain. Hal inilah yang diatur oleh DNS server dalam databasenya.
70
Berkeley Internet Name Domain (BIND) adalah nama program server DNS yang
umum digunakan di Internet. Sejarah BIND sering diwarnai dengan celah-celah
keamanan yang serius. Pernah beberapa kali ada versi BIND yang mampu
dieksploitasi sedemikian hingga orang dari luar server bisa masuk ke dalam server
sebagai root.
Walaupun demikian, dengan konfigurasi yang benar, BIND dapat digunakan
sebagaiserver DNS yang cepat, aman dan tangguh. Serial BIND yang terakhir dirilis
adalah BIND seri 9.
Bind9 merupakan paket yang akan digunakan untuk mengatur DNS. Instalasinya
dengan langkah seperti berikut :
$ sudo apt-get install bind9
Edit file named.conf menggunakan editor pico atau editor lain sesuai selera
dengan perintah:
$ sudo pico /etc/bind/named.conf
Lalu tambahkan zone berikut (sesuaikan dengan kondisi server anda).
zone "xxx.com" IN {
type master;
file "/etc/bind/xxx.com.db";
allow-update
71
{ none; };
};
zone "1.168.192.inaddr.arpa" IN {
type master;
file "/etc/bind/xxx.com-ptr.db";
allow-update
{ none; };
};
Simpan konfigurasi diatas.
Setelah itu buatlah 2 file yang ada pada file named.conf yang anda buat tadi
(xxx.com.db dan xxx.com-ptr.db). Baiklah, mari kita mulai dengan xxx.com.db :
$ sudo pico /etc/bind/xxx.com.db
dan isikan dengan :
$TTL 604800
@ IN SOA xxx.com. admin.xxx.com. (
1 ; Serial
604800 ; Refresh
72
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.xxx.com.
@ IN A 192.168.1.1
localhost IN A 127.0.0.1
www IN A 192.168.1.1
ns1 IN A 192.168.1.1
Lalu buat file konfigurasi kedua, yaitu xxx.com-ptr.db :
$ sudo pico /etc/bind/xxx.com-ptr.db
dan isikan dengan parameter :
$TTL 604800
@ IN SOA xxx.com. root.xxx.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
73
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
IN NS ns1.xxx.com
1 IN PTR xxx.com.
Simpan konfigurasi.
note :
1 --> sesuaikan dengan IP address
Edit file /etc/hosts :
$ sudo pico /etc/hosts
lalu edit sesuai dengan parameter server anda :
127.0.0.1 localhost
192.168.1.1 xxx.com
Simpan kembali. Kemudian edit file resolv.conf :
$ sudo pico /etc/resolv.conf
Input parameter seperti dibawah ini (sesuaikan dengan parameter server anda) :
74
domain xxx.com
search xxx.com
nameserver 192.168.1.1
Simpan kembali perubahan tersebut. Kemudian edit file named.conf.options :
options {
directory "/var/cache/bind";
forwarders {
192.168.1.1;
};
auth-nxdomain yes; # conform to RFC1035
listen-on-v6
{ any; };
};
Langkah selanjutnya adalah merestart services Bind :
$ sudo /etc/init.d/bind9 restart
Untuk testing dapat menggunakan perintah nslookup :
$ nslookup www.xxx.com
75
Output :
Server: 192.168.1.1
Address: 192.168.1.1#53
Name: www.xxx.com
Address: 192.168.1.1
$ host xxx.com
Output :
xxx.com has address 192.168.1.1
Untuk troubleshooting, gunakan perintah :
$ sudo tail -f /var/log/syslog
Hasil dari syslog dapat anda gunakan untuk analisa kesalahan dalam konfigurasi
76
Membuat Virtual Host (multiple
domain dalam 1 server)
Virtual hosting adalah sebuah metode server seperti server web yang digunakan
untuk host lebih dari satu nama domain pada komputer yang sama, kadang-
kadang pada alamat IP yang sama. Virtual Host merupakan cara untuk mengatur
banyak website atau URL di dalam satu mesin atau satu IP. Misalkan kita
mempunyai banyak domain tapi hanya mempunyai 1 IP public (1 server). Cara
untuk mengatasi ini adalah dengan cara membuat virtualhost yang ada di settingan
apache. Virtual host bisa digunakan setelah menginstal package-package apache
dan sudah pasti web server kita sudah berjalan baik.
Virtual web hosting adalah salah satu hosting yang paling populer yang tersedia
pada saat ini-mungkin karena itulah salah satu pilihan paling efektif di pasar.
Virtual host dikenal sebagai shared web hosting, virtual hosting memungkinkan
pemilik website untuk memiliki situs web host pada server yang digunakan
bersama-sama dengan situs-situs lain. Secara sederhana, virtual server perusahaan
77
hosting akan mengalokasikan keluar layanan hosting dan bandwidth untuk lebih
dari satu situs. Virtual web hosting adalah pilihan hosting yang lebih murah
karena Anda tidak perlu membayar untuk sebuah server didedikasikan hanya host
situs Web Anda.
Virtual web hosting adalah solusi yang baik untuk usaha kecil hingga menengah
(dan bahkan sebagian besar) situs Web yang tidak terus-menerus mengunjungi
atau yang memiliki kebutuhan bandwidth yang masuk akal. Ada dua metode dasar
untuk mencapai virtual hosting: name-based, dan alamat IP atau ip-based.
Jenis Virtual Host
1. Name based
Name based virtual host menggunakan beberapa nama host untuk webserver yang
sama alamat IP. Dengan web browser yang mendukung HTTP(seperti hampir
semua sekarang lakukan), setelah tersambung ke suatu server web, browser
mengirimkan alamat yang diketik pengguna ke dalam bar alamat browser (dengan
Gambar 2.1: Ilustrasi Virtual Host
78
URL). Server dapat menggunakan informasi ini untuk menentukan situs web,
serta halaman, untuk menunjukkan pengguna. Browser menentukan alamat
dengan mengatur HostHTTP header dengan host yang ditentukan oleh pengguna.
Host header yang diperlukan dalam semua permintaan HTTP. Misalnya, server
dapat menerima permintaan untuk dua domain, www.site1.com dan
www.site2.com, keduanya menyelesaikan ke alamat IP yang sama. Untuk
www.site1.com,server akan mengirimkan file HTML dari direktori
/var/www/user/Joe/situs/ , sementara permintaan www.site2.com
akan membuat server melayani halaman dari
/var/www/user/Maria/situs/. Contoh: Sebuah blog dapat di hosting
server menggunakan basis Nama hosting.Www.blog1.blogserver.com dan
www.blog2.blogserver.com.
Kekurangan dari name based adalah jika Domain Name Sistem (DNS) tidak benar
berfungsi, itu menjadi jauh lebih sulit untuk mengakses virtual-host situs.
Pengguna dapat mencoba untuk kembali menggunakan alamat IP untuk
menghubungi sistem, seperti dalam http://10.23.45.67/. Sebuah solusi dalam hal
ini adalah dengan menambahkan alamat IP dan nama host untuk sistem klien file
hosts. Mengakses server dengan nama domain harus bekerja lagi. Pengguna harus
berhati-hati ketika melakukan hal ini, Namun, seperti perubahan apapun yang
benar pemetaan antara nama host dan alamat IP akan ditulis oleh pengaturan lokal.
Solusi ini tidak benar-benar bermanfaat bagi pengguna web, tetapi mungkin dari
beberapa menggunakan administrator situs untuk memperbaiki catatan DNS
sementara. Masalah lain dengan virtual hosting adalah ketidakmampuan untuk
79
host beberapa situs Web aman berjalan Secure socket atau SSL. Karena SSL
handshake terjadi sebelum nama host yang diharapkan dikirim ke server, server
tidak tahu mana yang sertifikat untuk hadir saat sambungan dibuat. Salah satu
solusi adalah dengan menjalankan beberapa program server web, masing-masing
masuk dari tempat berbeda yang masih memungkinkan sistem hanya
menggunakan satu alamat IP.
Contoh konfigurasi minimal Virtual host dengan Name-based :
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.websatu.com
DocumentRoot /www/web1
</VirtualHost>
<VirtualHost *:80>
ServerName www.webdua.com
DocumentRoot /www/web2
</VirtualHost>
Dengan konfigurasi seperti diatas, apache akan menjalankan 2 buah virtual host
80
websatu dan webdua. Request client ke URL http://www.websatu.com akan
diarahkan ke directory /www/web1 sedangkan request client ke URL
http://www.webdua.com akan diarahkan ke directory /www/web2. Untuk mode
Name-based kita perlu menambahkan konfigurasi “NameVirtualHost *:80″ yang
fungsinya untuk mendefinisikan Name-based virtual host dengan IP * (sembarang)
pada port 80.
2. Ip Based
Di Ip based virtual hosting setiap situs (baik sebuah DNS hostname atau
kelompok yang bertindak DNS hostname sama) menunjuk ke alamat IP yang unik.
Web server anda dikonfigurasikan dengan beberapa antarmuka jaringan fisik,
antarmuka jaringan virtual pada antarmuka fisik yang sama atau beberapa alamat
IP pada satu antarmuka.
Web server dapat memperoleh alamat koneksi TCP ini dimaksudkan untuk
menggunakan standar API dan menggunakan ini untuk menentukan situs web
untuk melayani. Klien tidak terlibat dalam proses ini dan karena itu (berbeda
dengan nama yang didasarkan virtual hosting) tidak ada masalah kompatibilitas.
Kekurangan dari jenis ip based adalah server memerlukan alamat IP yang berbeda
untuk setiap situs web yang berarti biaya lebih tinggi situs web hosting dan
mengarah ke alamat IP.
Contoh konfigurasi minimal Virtual Host dengan IP-based :
Listen 80
81
<VirtualHost 202.169.220.10>
DocumentRoot /www/web1
ServerName www.websatu.com
</VirtualHost>
<VirtualHost 202.169.220.20>
DocumentRoot /www/web2
ServerName www.webdua.com
</VirtualHost>
Dengan konfigurasi seperti diatas, apache akan menjalankan 2 buah virtual host
pada 2 buah IP 202.169.220.10 dan 202.169.220.20. Request client ke IP
202.169.220.10 akan diarahkan ke directory /www/web1 sedangkan request client
ke IP 202.169.220.20 akan diarahkan ke directory /www/web2. Konfigurasi
“Listen 80″ akan memerintahkan apache untuk melayani request pada port 80
(port http). (dikutip: http://www.ricurves.com/ networking/virtualhost/)
3. Port-based
Nomor port default untuk HTTP adalah 80. Namun, sebagian besar webservers
dapat dikonfigurasi untuk beroperasi di hampir semua nomor port, asalkan nomor
port tidak digunakan oleh program lain di server. Sebagai contoh, server mungkin
82
host website www.example.com. Namun, jika mereka ingin mengoperasikan
situs kedua, tidak memiliki akses ke konfigurasi nama domain untuk nama
domain, dan / atau tidak memiliki alamat IP lain yang bisa mereka gunakan untuk
melayani situs dari, mereka bisa alih-alih menggunakan nomor port lain,
misalnya,www.example.com:81 untuk port 81, atau www.example.com:8000
untuk port 8000.
Kekurangan pada jenis ini adalah kebanyakan orang tidak akrab dengan non-
standar menggunakan nomor port, dan nomor port yang lebih rumit mungkin lebih
sulit untuk diingat. Kebanyakan webcrawlers berasumsi port 80 (default) saat
mencoba merangkak situs dan begitu mungkin kehilangan non-standar nomor port.
Manusia juga mungkin tidak menyadari non-standar nomor port dan mungkin
tidak menyadari ke mana untuk melihat untuk mencari situs web. Non-standar
menggunakan nomor port juga dapat dilihat sebagai tidak profesional dan tidak
menarik bagi pengguna. Beberapa firewall, baik hardware atau software, blok
semua tapi port yang paling umum. Ini akan menyebabkan situs non-host pada
port standar untuk muncul tidak tersedia untuk beberapa pengguna. Namun, non-
standar nomor port telah menemukan aplikasi pada perangkat lunak berbasis
HTTP backends seperti Bit Torrent tracker mengumumkan script, yang
merupakan bagian dari perangkat lunak backend dan biasanya tidak sepenuhnya
dapat dilihat oleh pengguna.
Apache mendukung virtual hosting dengan basis IP dan nama domain, sehingga
memungkinkan 1 server memiliki banyak domain.
83
Pastikan port yang digunakan adalah port 80 (http). Edit file ports.conf dengan
perintah berikut:
$ sudo pico /etc/apache2/ports.conf
Kemudian ganti menjadi seperti dibawah ini (sesuaikan IP dengan milik anda) :
NameVirtualHost 192.168.1.1:80
Listen 80
Selanjutnya, menjalankan perintah berikut untuk menonaktifkan default virtual
host apache.
$ sudo a2dissite default
$ sudo /etc/init.d/apache2 reload
Setiap konfigurasi virtual host tersimpan dalam sebuah file yang diberi nama
domain dan terletak pada direktori /etc/apache2/sites-available/. Dalam contoh ini,
Anda akan membuat file dengan basis nama domain xxx.com, yyy.com, dan
zzz.com
Pertama buat terlebih dahulu file yyy.com (/etc/apache2/sites-available/yyy.com).
Sesuaikan IP dengan yang dimiliki.
$ sudo pico /etc/apache2/sites-available/yyy.com
84
Masukkan konfigurasi berikut :
ServerAdmin admin@yyy.com
ServerName yyy.com
ServerAlias www.yyy.com
DocumentRoot /srv/www/yyy.com/public_html/
ErrorLog /srv/www/yyy.com/logs/error.log
CustomLog /srv/www/yyy.com/logs/access.log combined
Selanjutnya, membuat file konfigurasi xxx.com (/etc/apache2/sites-
available/xxx.com) :
$ sudo pico /etc/apache2/sites-available/xxx.com
Masukkan konfigurasi berikut :
ServerAdmin admin@xxx.com
ServerName xxx.com
ServerAlias www.xxx.com
DocumentRoot /srv/www/xxx.com/public_html/
ErrorLog /srv/www/xxx.com/logs/error.log
CustomLog /srv/www/xxx.com/logs/access.log combined
85
Selanjutnya, membuat file konfigurasi zzz.com (/etc/apache2/sites-
available/zzz.com) :
$ sudo pico /etc/apache2/sites-available/zzz.com
Masukkan konfigurasi berikut :
ServerAdmin admin@zzz.com
ServerName zzz.com
ServerAlias www.zzz.com
DocumentRoot /srv/www/zzz.com/public_html/
ErrorLog /srv/www/zzz.com/logs/error.log
CustomLog /srv/www/zzz.com/logs/access.log combined
Seluruh file web akan diletakkan pada direktori /srv/www. Direktori ini dapat
disesuaikan dengan kebutuhan, tidak harus di /srv
Buat direktori yang dibutuhkan dengan perintah berikut :
$ sudo mkdir -p /srv/www/yyy.com/public_html
$ sudo mkdir /srv/www/yyy.com/logs
$ sudo mkdir -p /srv/www/xxx.com/public_html
86
$ sudo mkdir /srv/www/xxx.com/logs
$ sudo mkdir -p /srv/www/zzz.com/public_html
$ sudo mkdir /srv/www/zzz.com/logs
Aktifkan situs dengan menggunakan perintah berikut :
$ sudo a2ensite yyy.com
$ sudo a2ensite xxx.com
$ sudo a2ensite zzz.com
Terakhir, restart layanan Apache untuk mengetahui hasil perubahan yang
dilakukan :
$ sudo /etc/init.d/apache2 restart
Ketika membuat atau melakukan editing file virtual host, lakukan reload
konfigurasi dengan perintah berikut :
$ sudo /etc/init.d/apache2 reload
Masukkan konten web yang berbeda pada /srv/www/yyy.com/public_html,
/srv/www/zzz.com/public_html, dan /srv/www/xxx.com/public_html. Kemudian
Buka browser, lakukan akses ke yyy.com, xxx.com dan zzz.com untuk ujicoba.
87
Konfigurasi Bind9 untuk mendukung
virtual host
Untuk mendukung proses konfigurasi virtual host diatas, ada beberapa konfigurasi
tambahan yang diperlukan. Yaitu menambahkan file resolv dari domain ke ip
(perhatikan perbedaannya dengan konfigurasi xxx.com) yang terletak pada
/etc/bind/yyy.com.db dan /etc/bind/zzz.com.db.
Membuat file konfigurasi yyy.com :
$ sudo pico /etc/bind/yyy.com.db
Masukkan konfigurasi berikut pada file tersebut :
$TTL 604800
@ IN SOA yyy.com. admin.yyy.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
88
;
@ IN NS ns1.yyy.com.
@ IN A 192.168.1.1
localhost IN A 127.0.0.1
www IN A 192.168.1.1
ns1 IN A 192.168.1.1
Membuat file konfigurasi zzz.com :
$ sudo pico /etc/bind/zzz.com.db
Masukkan konfigurasi berikut pada file tersebut :
$TTL 604800
@ IN SOA zzz.com. admin.zzz.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
89
@ IN NS ns1.zzz.com.
@ IN A 192.168.1.1
localhost IN A 127.0.0.1
www IN A 192.168.1.1
ns1 IN A 192.168.1.1
Edit file konfigurasi /etc/bind/xxx.com-ptr.db
$ sudo pico /etc/bind/xxx.com-ptr.db
Tambahkan baris ini pada akhir konfigurasi
1 IN PTR yyy.com.
1 IN PTR zzz.com.
Kemudian tambahkan konfigurasi pada /etc/hosts, sehingga menjadi sbb :
192.168.1.1 xxx.com yyy.com zzz.com
Kemudian tambahkan baris zone berikut pada file /etc/bind/named.conf :
zone "yyy.com" IN {
type master;
file "/etc/bind/yyy.com.db";
allow-update
90
{ none; };
};
zone "zzz.com" IN {
type master;
file "/etc/bind/zzz.com.db";
allow-update
{ none; };
};
kemudian restart service bind dengan perintah :
$sudo /etc/init.d/bind9 restart
Install Webmin
Webmin merupakan System Administasi Unix yang berbasis web. Sehingga kita
bisa mengakses komputer kita melalui web browser. Dari webmin, kita bisa
mengatur user account, apache, DNS, file sharing dan banyak lagi fungsi dari
WebMin.
Untuk menginstallnya, ada beberapa langkah saja. Disini percobaan saya di
91
ubuntu dekstop 12.04.
Pertama silahkan anda download webmin dengan mengetikkan kode berikut
$wgethttp://sourceforge.net/projects/webadmin/files/webmin/1.630/ webmin_1.630_all.deb
Kemudian kita install webmin yang telah kita download dengan mengetikkan
kode berikut
$sudo dpkg -i webmin_1.630_all.deb
kemudian lakukan perintah dibawah ini untuk menambahkan dependensi yang
kurang dalam penginstallan webmin :
$sudo apt-get install -f
Dan webmin akan terinstall di system kita. Untuk masuk ke dalam webmin,
silahkan ketikkan http://no-ipserver:10000 di browser anda. Misal IP server kita
192.168.1.20 kita ketikkan http://192.168.1.20:10000 pada browser.
Kita bisa login ke WEBMIN dengan user dan password pada system anda. Misal
system anda menggunakan user user dan password user.
92
Berbagi Data dalam Jaringan dengan
Berbagai Izin Akses
Samba adalah program yang bersifat open source yang menyediakan layanan
berbagi berkas (file service) dan berbagi alat pencetak (print service), resolusi
nama NetBIOS, dan pengumuman layanan (NetBIOS service
announcement/browsing). Sebagai sebuah aplikasi file server, Samba
mengizinkan berkas, alat pencetak, dan beberapa sumber daya lainnya agar dapat
digunakan oleh banyak pengguna dalam keluarga sistem operasi UNIX, dan
mengizinkan interoperabilitas dengan sistem operasi Windows. Samba dibuat
berdasarkan protokol Server Message Block (SMB), oleh Andrew Tridgell.
Samba adalah paket pada GNU/Linux yang biasa digunakan untuk mengatur
sharing data antara GNU/Linux dan GNU/Linux maupun antara GNU/Linux dan
Microsoft Windows. Penggunaan Samba biasanya sebaga file server atau printer
server, semua tugas diatas dapat dilakukan dengan baik oleh aplikasi samba.
Samba terdiri atas dua komponen penting yaitu smbd dan nmbd yang keduanya
merupakan service yang dibutuhkan oleh samba untuk beroperasi. Smbd berfungsi
sebagai service daemon yang dibutuhkan untuk komunikasi antara sistem operasi
Linux dan Microsoft Windows sehingga bisa melakukan file sharing dan printer
sharing, nmbd berfungsi sebagai server yang melayani permintaan dari Net Bios
dengan alamat IP yang dihasilkan oleh klien SMB/CIFS pada sistem operasi
93
Microsoft Windows, nmbd juga dapat membuat protokol seperti tampilan
“Network Neighborhood”.
Instalasi
Sebelum mulai menggunakan samba, dilakukan instalasi daemon samba, biasanya
instalasi dilakukan disertai dengan dependensinya yang berfungsi sebagai
pendukung samba dalam fungsinya.
Langkah pertama yang harus dilakukan adalah melakukan instalasi samba dengan
perintah dibawah ini :
$sudo apt-get install samba
Biarkan proses instalasi berjalan sampai selesai dan pastikan tidak ada tanda-tanda
error pada saat instalasi berlangsung.
Izin Akses Folder Tanpa Password
Sekarang saatnya mulai melakukan study kasus yang mudah dahulu, yaitu
mengakses samba tanpa password. Hal ini biasa dilakukan apabila tidak
diperlukan keamanan pada data.
Buatlah direktori yang digunakan sebagai tempat sharing data sesuai dengan
kebutuhan. Dalam hal ini direktori sharing ada di folder /home/user/sharing/public
$mkdir /home/user/sharing/public
$sudo chmod -R 777 /home/user/sharing/public
94
Pada pembuatan direktori sharing, diberkan izin akses agar semua user bisa
membaca, menghapus dan menulis dengan perintah chmod. Selanjutnya, edit file
smb.conf yang ada di folder /etc/samba dengan aplikasi gedit, lagkah langkahnya
adalah sebagai berikut :
Pindahkan file orisinilnya dengan perintah :
$sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.orig
kemudian buat file smb.conf dengan perintah :
$sudo gedit /etc/samba/smb.conf
Kemudian isikan sesuai dengan baris dibawah ini :
[Global]
workgroup = WORKGROUP
netbios name = FILESERVER
server string = UbuntuSambaServer
security = share
host allow = 192.168.0.0/24 127.0.0.1
[Public]
path = /home/user/sharing/public
95
comment = Ubuntu File Sharing
public = yes
read only = no
browseable = yes
Berikut ini adalah keterangan dari konfigurasi diatas :
Opsi security = share
Opsi untuk mengizinkan akses file tanpa harus login dan memasukkan pasword
Opsi host allow
Nomor jaringan yang hanya dapat mengakses samba
Opsi path
Letak direktori sharing yang akan digunakan
Opsi public = yes
Direktori sharing bersifat publik
Opsi read only = no
Berarti semua isi folder dapat ditulis, dibaca dan dihapus
Opsi browseable
96
Folder sharing dapat dibuka oleh semua user
Setelah selesai, simpan file kemudian restart daemon samba, supaya konfigurasi
yang dimasukkan berjalan dalam sistem dengan perintah :
$sudo /etc/init.d/smbd restart
Izin Akses Folder Read Only
Kali ini adalah skenario untuk membuat akses tanpa password tapi folder yang
ada di folder sharing hanya bisa dibaca tetapi tidak bisa ditulis dan dihapus.
Ubah file smb.conf menjadi seperti dibawah ini :
[Global]
workgroup = WORKGROUP
netbios name = FILESERVER
server string = UbuntuSambaServer
security = share
host allow = 192.168.0.0/24 127.0.0.1
[Public]
path = /home/user/sharing/public
comment = Ubuntu File Sharing
97
public = yes
read only = yes
browseable = yes
Berikut ini adalah keterangan dari konfigurasi diatas :
Opsi security = share
Opsi untuk mengizinkan akses file tanpa harus login dan memasukkan pasword
Opsi read only = yes
Berarti semua isi folder sharin hanya dapat dibaca, tidak dapat dihapus ataupun
ditambahkan.
Setelah dilakukan edit pada file smb.conf ada baiknya dilakukan restart samba
daemon agar konfigurasi dapat berjalan lancar
Otentifikasi User Samba
Tahap selanjutnya adalah membuat file sharing dengan otentifikasi user. Pada saat
mengakses folder samba akan dimintai password user yang berwenang. Biasanya
user tersebut masuk ke dalam group tertentu.
Buatlah user yang akan didaftarkan untuk melakukan akses terhadap samba, user
yang dibuat bukan untuk login ke dalam server sebagai user sistem, berikut ini
adalah perintah penambahan user beserta group yang dimilikinya, contohnya
98
seperti pada dibawah ini :
satu user untuk group Matematika
satu user untuk group Fisika
satu user untuk group Kimia
satu user memiliki group Matematika, Fisika dan Kimia.
$sudo useradd -s /sbin/nologin matematika
$sudo useradd -s /sbin/nologin fisika
$sudo useradd -s /sbin/nologin kimia
$sudo useradd -s /sbin/nologin -G matematika supriyanto
$sudo useradd -s /sbin/nologin -G fisika budi
$sudo useradd -s /sbin/nologin -G kimia yanti
$sudo useradd -s /sbin/nologin -Gmatematika,fisika,kimia dedi
Berikut ini adalah penelasan user diatas:
user supriyanto tergabung pada group matematika
user budi tergabung pada group fisika
user yanti tergabung pada group kimia
99
user dedi tergabung pada group matematika, fisika dan kimia
opsi -s /sbin/nologin akan membuat user tidak dapat melakukan login ke
dalam sistem GNU/Linux
opsi -G adalah opsi unuk menambahkan group tempat user tergabung
nantinya
Sekarang dilakukan pembuatan password, password ini sangat berguna apabila
samba menggunakan keamanan untuk mengakses folder atau file yang dikelola
file server
$sudo smbpasswd -a supriyanto
$sudo smbpasswd -a budi
$sudo smbpasswd -a yanti
$sudo smbpasswd -a dedi
Masukkan password untuk tiap-tiap user samba, user dan password ini akan
digunakan untuk mengakses samba.
Persiapan terakhir adalah membuat folder sebagai tempat untuk penampungan
data yang akan di-shared kepada user yang telah dibuat sebelumnya. Dalam kasus
ini folder yang digunakan terletak pada /home/user/sharing, berikan juga izin hak
akses kepada tiap-tiap folder sesuai izin akses yang ditentukan dengan perintah
chmod, dengan langkah-langkah berikut :
100
$sudo mkdir -p /home/user/sharing/matematika
$sudo chmod 775 /home/user/sharing/matematika
$sudo chown matematika.matematika/home/user/sharing/matematika
$sudo mkdir -p /home/user/sharing/fisika
$sudo chmod 775 /home/user/sharing/fisika
$sudo chown fisika.fisika /home/user/sharing/fisika
$sudo mkdir -p /home/user/sharing/kimia
$sudo chmod 775 /home/user/sharing/kimia
$sudo chown kimia.kimia /home/user/sharing/kimia
Direktori /home/user/sharing merupakan direktori utama sebagai tempat
penampungan data group matematik, fisika dan kimia.
Sekarang, dengan menggunakan group-group yang telah dibuat sebelumnya, dan
user-user yang telah dibuat sebelumnya, dan user-user tersebut telah tergabung
dalam group masing-masing, dan hanya bisa menggunakan folder sharing yang
sesuai dengan groupnya tersebut.
Kemudian edit file /etc/samba/smb.conf menjadi seperti berikut :
[Global]
101
workgroup = WORKGROUP
netbios name = FILESERVER
server string = UbuntuSambaServer
security = user
host allow = 192.168.0.0/24 127.0.0.1
[Public]
comment = Public Directory Sharing
path = /home/user/sharing/public
writable = yes
browseable = yes
create mask = 0777
force create mode = 0777
directory mask = 0777
force directory mode = 0777
[matematika]
102
comment = Matematika
path = /home/user/sharing/matematika
writable = yes
browseable = yes
create mask = 0775
force create mode = 0755
directory mask = 0755
force directory mode = 0775
[fisika]
comment = Fisika
path = /home/user/sharing/fisika
writable = yes
browseable = yes
create mask = 0775
force create mode = 0755
directory mask = 0755
103
force directory mode = 0775
[kimia]
comment = Kimia
path = /home/user/sharing/kimia
writable = yes
browseable = yes
create mask = 0775
force create mode = 0755
directory mask = 0755
force directory mode = 0775
Opsi terpenting disini adalah :
Opsi security = user
Setiap user yang akan mengakses samba akan diminta memasukkan password
sesuai dengan yang telah dibuat sebelumnya
Opsi create mask dan force create mode
Berfungsi mengubah izin akses file yang dibuat oleh user secara otomatis
104
Opsi directory mask dan force directory mode
Berfungsi mengubah izin akses direktori yang dibuat oleh user secara otomatis
Langkah selanjutnya adalah melakukan restarting layanan samba dengan perintah :
$sudo /etc/init.d/smbd restart
Konfigurasi diatas sesuai dengan user yang bergabung pada groupnya masing-
masing. Hal-hal yang hanya dapat dilakukan oleh setiap user antara lain sebagai
berikut :
Supriyanto hanya bisa melakukan baca dan tulis pada folder matematika
Yanti hanya bisa melakukan baca dan tulis pada folder kimia
Budi hanya bisa melakukan baca dan tulis pada folder fisika
Dedi, karena tergabung pada semua group, dapat melakukan baca tulis
pada semua folder Matematika, Fisika dan Kimia.
Instalasi Dhcp3-Server Pada Ubuntu
12.04 Server
Dynamic Host Configuration Protocol (DHCP) adalah protokol yang berbasis
arsitektur client/server yang dipakai untuk memudahkan pengalokasian alamat IP
105
dalam satu jaringan. Sebuah jaringan lokal yang tidak menggunakan DHCP harus
memberikan alamat IP kepada semua komputer secara manual. Jika DHCP
dipasang di jaringan lokal, maka semua komputer yang tersambung di 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.
Untuk menginstall DHCP Server ketikkan perintah berikut pada terminal :
$sudo apt-get instal dhcp3-server
setelah paket dhcp3-server terinstall dengan baik, berikutnya adalah melakukan
konfigurasi file /etc/dhcp3/dhcpd.conf, sebelum melakukan konfigurasi file
/etc/dhcp3/dhcpd.conf, ada baiknya dilakukan penggantian file asli dari
/etc/dhcp3/dhcpd.conf menjadi misalnya /etc/dhcp3/dhcpd.conf-orig dengan
perintah :
$sudo mv /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf-orig
Dalam mengkonfigurasi DHCP Server, kita biasanya membutuhkan informasi :
DNS Server, misalnya, 202.134.1.10, 202.134.0.155
Gateway / router, misalnya, 192.168.0.1
Range alokasi IP address, misalnya, 192.168.0.11 s/d 192.168.0.200
106
subnet, misalnya, 192.168.0.0
netmask, misalnya, 255.255.255.0
kemudian buat file /etc/dhcp3/dhcpd.conf dengan perintah sebagai berikut :
$sudo gedit /etc/dhcp3/dhcpd.conf
dan isi file /etc/dhcp3/dhcpd.conf dengan konfigurasi seperti dibawah ini :
#sample /etc/dhcp3/dhcpd.cof
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers
192.168.0.1,202.134.1.10, 202.134.0.155;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.11 192.168.1.200;
Penjelasan konfigurasi diatas :
opsi domain-name-servers : Digunakan untuk pemberian alamat dns yang
107
akan digunakan pada PC client
opsi routers : Digunakan untuk pemberian gateway yang akan digunakan
pada PC client
opsi range : Adalah jarak/batasan ip yang akan di salurkan ke DHCP Client
Simpan file /etc/dhcp3/dhcpd.conf kemudian restart service DHCP server dengan
perintah :
$sudo /etc/init.d/dhcp3-server restart
108
FTP dengan VSFTPD di Ubuntu 12.04
File Transfer Protocol (FTP) adalah sebuah protokol Internet yang berjalan di
dalam lapisan aplikasi yang merupakan standar untuk pengiriman berkas (file)
komputer antar mesin-mesin dalam sebuah jaringan. FTP merupakan salah satu
protokol Internet yang paling awal dikembangkan, dan masih digunakan hingga
saat ini untuk melakukan pengunduhan (download) dan penggugahan (upload)
berkas-berkas komputer antara klien FTP dan server FTP. Sebuah Klien FTP
merupakan aplikasi yang dapat mengeluarkan perintah-perintah FTP ke sebuah
109
server FTP, sementara server FTP adalah sebuah Windows Service atau daemon
yang berjalan di atas sebuah komputer yang merespons perintah-perintah dari
sebuah klien FTP. Perintah-perintah FTP dapat digunakan untuk mengubah
direktori, mengubah modus pengiriman antara biner dan ASCII, menggugah
berkas komputer ke server FTP, serta mengunduh berkas dari server FTP. Sebuah
server FTP diakses dengan menggunakan Universal Resource Identifier (URI)
dengan menggunakan format ftp://namaserver. Klien FTP dapat
menghubungi server FTP dengan membuka URI tersebut.
FTP menggunakan protokol Transmission Control Protocol (TCP) untuk
komunikasi data antara klien dan server, sehingga di antara kedua komponen
tersebut akan dibuatlah sebuah sesi komunikasi sebelum pengiriman data dimulai.
Sebelum membuat koneksi, port TCP nomor 21 di sisi server akan
"mendengarkan" percobaan koneksi dari sebuah klien FTP dan kemudian akan
digunakan sebagai port pengatur (control port) untuk membuat sebuah koneksi
antara klien dan server, untuk mengizinkan klien untuk mengirimkan sebuah
perintah FTP kepada server dan juga mengembalikan respons server ke perintah
tersebut. Sekali koneksi kontrol telah dibuat, maka server akan mulai membuka
port TCP nomor 20 untuk membentuk sebuah koneksi baru dengan klien untuk
mengirim data aktual yang sedang dipertukarkan saat melakukan pengunduhan
dan penggugahan.
FTP hanya menggunakan metode autentikasi standar, yakni menggunakan
username dan password yang dikirim dalam bentuk tidak terenkripsi. Pengguna
110
terdaftar dapat menggunakan username dan password-nya untuk mengakses, men-
download, dan meng-upload berkas-berkas yang ia kehendaki. Umumnya, para
pengguna terdaftar memiliki akses penuh terhadap beberapa direktori, sehingga
mereka dapat membuat berkas, membuat direktori, dan bahkan menghapus berkas.
Pengguna yang belum terdaftar dapat juga menggunakan metode anonymous login,
yakni dengan menggunakan nama pengguna anonymous dan password yang
diisi dengan menggunakan alamat e-mail.
Cara Membangun FTP Server dengan VSFTPD
VSFTPD Merupakan salah satu aplikasi untuk membangun ftp server
111
dilingkungan GNU/Linux dengan lisensi GPL. Untuk informasi detail silahkan ke
https://security.appspot.com/vsftpd.html. Kenapa VSFTPD? Sangat mudah untuk
di konfigurasi dan mendukung penerapan chroot.
Langkah-langkah instalasi vsftpd adalah sebagai berikut, pertama instalasi dengan
perintah :
$sudo apt-get install vsftpd
Pastikan tidak ada pesan error dan pastikan service ftp dengan aplikasi vstpd
sudah berjalan dengan menggunakan aplikasi nmap, jalankan aplikasi nmap
dengan perintah :
$sudo nmap localhost
PORT STATE SERVICE
21/tcp open ftp
kemudian lakukan pemeriksaan ulang dengan menggunakan aplikasi netstat, dan
jalankan netstat dengan perintah :
$sudo netstat -tanp | grep ftp
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN34983/vsftpd
Backup file konfigurasi vsftpd, yang berada di folder /etc dengan perintah :
$sudo mv /etc/vsftpd.conf /etc/vsftpd.conf.asli
112
Biasakan untuk membackup file konfigurasi sebelum melakukan perubahan,
dalam banyak kasus kesalahan dalam mengedit file konfigurasi mengakibatkan
service tidak jalan/error. File konfigurasi yang masih orisinil tentunya akan sangat
membantu untuk memulai mendeteksi letak kesalahan.
Edit file konfigurasi Sesuai Kebutuhan
$sudo gedit /etc/vsftpd.conf
kemudian isi file /etc/vsftpd.conf seperti dibawah ini :
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
ftpd_banner= FTP Service : Layanan FTP Server
#chroot_local_user=YES
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/allowed
NOTE:
113
opsi diatas ada masalah dengan ubuntu 12.04 ternyata
solusi:
downgrade vsftpdnya atau korbankan permission /home/user menjadi
chmod 555 /home/user
Buat list user ftp dengan perintah :
$sudo mkdir /etc/vsftpd$sudo gedit /etc/vsftpd/allowed
kemudian isi file /etc/vsftpd/allowed dengan nama-nama user yang bisa
mengakses layanan ftp, contohnya seperti dibawah ini :
wiwin
fui
Kemudian ubah permision file /etc/vsftpd/allowed menjadi rules 644 dengan
perintah :
$sudo chmod 644 /etc/vsftpd/allowed
Buat user untuk ftp
$sudo useradd -s /sbin/nologin wiwin
$sudo useradd -s /sbin/nologin fui
Restart Service untuk mendapatkan perubahan terbaru lakukan restart service
114
vsftpd
$sudo service vsftpd restart
vsftpd start/running, process 55383
Testing Layanan FTP Lakukan dari komputer client
$ ftp 192.168.1.254
Connected to 192.168.1.254.
220 FTP Service : Layanan FTP Server!
Name (192.168.1.254:wiwin): wiwin
331 Please specify the password.
Password: ketik passwd user diserver lalu enter
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
Ftp>
Sampai disini layanan FTP anda sudah siap digunakan. Saat ini FTP Server dapat
diakses dari aplikasi-aplikasi FTP Client seperti gFTP, FileZilla. Atau gunakan
fasilitas nautilus (file – Connect to Server – pilih FTP with login).
Recommended