Top Banner
i KATA PENGANTAR 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
117

Modul Repository & Keamanan Jaringan

Oct 26, 2015

Download

Documents

hattaboy

Petunjuk tentang Repository & keamanan jaringan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Modul Repository & Keamanan Jaringan

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

Page 2: Modul Repository & Keamanan Jaringan

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

Page 3: Modul Repository & Keamanan Jaringan

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

Page 4: Modul Repository & Keamanan Jaringan

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

Page 5: Modul Repository & Keamanan Jaringan

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.

Page 6: Modul Repository & Keamanan Jaringan

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

Page 7: Modul Repository & Keamanan Jaringan

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

Page 8: Modul Repository & Keamanan Jaringan

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

Page 9: Modul Repository & Keamanan Jaringan

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

Page 10: Modul Repository & Keamanan Jaringan

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

Page 11: Modul Repository & Keamanan Jaringan

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

Page 12: Modul Repository & Keamanan Jaringan

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.

Page 13: Modul Repository & Keamanan Jaringan

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 \

Page 14: Modul Repository & Keamanan Jaringan

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

Page 15: Modul Repository & Keamanan Jaringan

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

Page 16: Modul Repository & Keamanan Jaringan

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

Page 17: Modul Repository & Keamanan Jaringan

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

Page 18: Modul Repository & Keamanan Jaringan

15

Penting!, jangan melakukan perubahan apapun disini. pada “Mac address”

copy mac addressnya lalu klik cancel

Page 19: Modul Repository & Keamanan Jaringan

16

Nah disini kita akan buat koneksi baru khusus untuk sharing, klik Add

Page 20: Modul Repository & Keamanan Jaringan

17

Ganti “Connection Name” menjadi “Sharing” lalu paste mac addressnya

Page 21: Modul Repository & Keamanan Jaringan

18

Di tab ipv4 setting pada settingan “Method” pilih “shared to other

computer”

Page 22: Modul Repository & Keamanan Jaringan

19

Page 23: Modul Repository & Keamanan Jaringan

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

Page 24: Modul Repository & Keamanan Jaringan

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

Page 25: Modul Repository & Keamanan Jaringan

22

Kemudian pilih use as Hospot,

Sekarang Sistem Operasi Ubuntu telah siap digunakan untuk sharing koneksi

internet melalui wifi.

Page 26: Modul Repository & Keamanan Jaringan

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,

Page 27: Modul Repository & Keamanan Jaringan

24

menjadi kenyataan.

Ilustrasi mengenai Firewall dalam sebuah jaringan komputer.

Page 28: Modul Repository & Keamanan Jaringan

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

Page 29: Modul Repository & Keamanan Jaringan

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

Page 30: Modul Repository & Keamanan Jaringan

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

Page 31: Modul Repository & Keamanan Jaringan

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

Page 32: Modul Repository & Keamanan Jaringan

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).

Page 33: Modul Repository & Keamanan Jaringan

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

Page 34: Modul Repository & Keamanan Jaringan

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

Page 35: Modul Repository & Keamanan Jaringan

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

Page 36: Modul Repository & Keamanan Jaringan

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

Page 37: Modul Repository & Keamanan Jaringan

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.

Page 38: Modul Repository & Keamanan Jaringan

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

Page 39: Modul Repository & Keamanan Jaringan

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

Page 40: Modul Repository & Keamanan Jaringan

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

Page 41: Modul Repository & Keamanan 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

Page 42: Modul Repository & Keamanan Jaringan

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.

Page 43: Modul Repository & Keamanan Jaringan

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

Page 44: Modul Repository & Keamanan Jaringan

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

Page 45: Modul Repository & Keamanan Jaringan

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

Page 46: Modul Repository & Keamanan Jaringan

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

Page 47: Modul Repository & Keamanan Jaringan

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

Page 48: Modul Repository & Keamanan Jaringan

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

Page 49: Modul Repository & Keamanan Jaringan

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 :

Page 50: Modul Repository & Keamanan Jaringan

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

Page 51: Modul Repository & Keamanan Jaringan

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.

Page 52: Modul Repository & Keamanan Jaringan

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.

Page 53: Modul Repository & Keamanan Jaringan

50

Gambar 5

5. Setelah firestarter diaktifkan maka akan muncul jendela yang menunjukan

firestarter sudah berjalan di komputer (gambar 5).

Page 54: Modul Repository & Keamanan Jaringan

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).

Page 55: Modul Repository & Keamanan Jaringan

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.

Page 56: Modul Repository & Keamanan Jaringan

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.

Page 57: Modul Repository & Keamanan Jaringan

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

Page 58: Modul Repository & Keamanan Jaringan

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

Page 59: Modul Repository & Keamanan Jaringan

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.

Page 60: Modul Repository & Keamanan Jaringan

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.

Page 61: Modul Repository & Keamanan Jaringan

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).

Page 62: Modul Repository & Keamanan Jaringan

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

Page 63: Modul Repository & Keamanan Jaringan

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

Page 64: Modul Repository & Keamanan Jaringan

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.

Page 65: Modul Repository & Keamanan Jaringan

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 [email protected]

Page 66: Modul Repository & Keamanan Jaringan

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

Page 67: Modul Repository & Keamanan Jaringan

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

Page 68: Modul Repository & Keamanan Jaringan

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”

Page 69: Modul Repository & Keamanan Jaringan

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

Page 70: Modul Repository & Keamanan Jaringan

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

Page 71: Modul Repository & Keamanan Jaringan

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:

Page 72: Modul Repository & Keamanan Jaringan

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.

Page 73: Modul Repository & Keamanan Jaringan

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

Page 74: Modul Repository & Keamanan Jaringan

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

Page 75: Modul Repository & Keamanan Jaringan

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

Page 76: Modul Repository & Keamanan Jaringan

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) :

Page 77: Modul Repository & Keamanan Jaringan

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

Page 78: Modul Repository & Keamanan Jaringan

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

Page 79: Modul Repository & Keamanan Jaringan

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

Page 80: Modul Repository & Keamanan Jaringan

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

Page 81: Modul Repository & Keamanan Jaringan

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

Page 82: Modul Repository & Keamanan Jaringan

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

Page 83: Modul Repository & Keamanan Jaringan

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

Page 84: Modul Repository & Keamanan Jaringan

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

Page 85: Modul Repository & Keamanan Jaringan

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.

Page 86: Modul Repository & Keamanan Jaringan

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

Page 87: Modul Repository & Keamanan Jaringan

84

Masukkan konfigurasi berikut :

ServerAdmin [email protected]

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 [email protected]

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

Page 88: Modul Repository & Keamanan Jaringan

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 [email protected]

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

Page 89: Modul Repository & Keamanan Jaringan

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.

Page 90: Modul Repository & Keamanan Jaringan

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

Page 91: Modul Repository & Keamanan Jaringan

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

;

Page 92: Modul Repository & Keamanan Jaringan

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

Page 93: Modul Repository & Keamanan Jaringan

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

Page 94: Modul Repository & Keamanan Jaringan

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.

Page 95: Modul Repository & Keamanan Jaringan

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

Page 96: Modul Repository & Keamanan Jaringan

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

Page 97: Modul Repository & Keamanan Jaringan

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

Page 98: Modul Repository & Keamanan Jaringan

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

Page 99: Modul Repository & Keamanan Jaringan

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

Page 100: Modul Repository & Keamanan Jaringan

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

Page 101: Modul Repository & Keamanan Jaringan

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

Page 102: Modul Repository & Keamanan Jaringan

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 :

Page 103: Modul Repository & Keamanan Jaringan

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]

Page 104: Modul Repository & Keamanan Jaringan

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]

Page 105: Modul Repository & Keamanan Jaringan

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

Page 106: Modul Repository & Keamanan Jaringan

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

Page 107: Modul Repository & Keamanan Jaringan

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

Page 108: Modul Repository & Keamanan Jaringan

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

Page 109: Modul Repository & Keamanan Jaringan

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

Page 110: Modul Repository & Keamanan Jaringan

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

Page 111: Modul Repository & Keamanan Jaringan

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

Page 112: Modul Repository & Keamanan Jaringan

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

Page 113: Modul Repository & Keamanan Jaringan

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

Page 114: Modul Repository & Keamanan Jaringan

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

Page 115: Modul Repository & Keamanan Jaringan

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:

Page 116: Modul Repository & Keamanan Jaringan

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

Page 117: Modul Repository & Keamanan Jaringan

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).