mengadministrasi server dalam jaringan
DESCRIPTION
Mengadministrasikan Server dalam Jaringan. Konfigurasi server linux, Setting DNS Server, DHCP Server, Proxy, Web Server, dan FTP Server.TRANSCRIPT
2.1.1 Langkah-Langkah Konfigurasi DNS Server Pada Linux Debian
Lenny
Sebelum melakukanpraktik membangun DNS Server, terlebih
dahulu perhatikan hal-hal berikut :
a. Topologi yang dibangun sebagai berikut :
Gambar 2.6Topologi yang akan dibangun
b. Server DNS sekaligus merangkap sebagai router gateway
c. Konfigurasi IP Address WAN Server menyesuaikan
d. Konfigurasi IP Address LAN Server 192.168.100.1/24
e. Domain yang akan dibangun sekolah.sch.id dengan IP Address
192.168.100.1 (IP Address LAN Server)
f. Sub domain yang akan dibangun adalah www.sekolah.sch.i.d
g. Type DNS Server master.
h. Konfigurasi IP Address Klien menyesuaikan (dalam hal ini saya
menggunakan 192.168.200.5/24
i. Pastikan klien sudah terkoneksi dengan baik dengan server dan
internet.
j. Koneksi internet disini tidak dibutuhkan dalam konfigurasi DNS
server.
k. System Operasi Server Linux Debian Lenny, Aplikasi DNS yang
digunakan adalah bind9
Setelah memastikan hal-hal tersebut diatas, berikut langkah-
langkah konfigurasi DNS Server :
a. Login sebagai root, setiap akan melakukan konfigurasi pastikan
login sebagai user root.
1
Klien DNS Server Interne
t
b. Lakukan instalasi packet bind9 dengan perintah #apt-get
install bind9, packet terdapat pada disc 1 serta pastikan tidak
menemukan error pada proses instalasi.
Gambar 2.7 Instalasi packet bind9
c. Buka file named.conf.local dengan perintah #pico
/etc/bind/named.conf.local kemudian ketik script di bawah
ini.
Gambar 2.8 Konfigurasi file named.conf.local
Keterangan script :
zone “sekolah.sch.id” bagian ini mendefinisikan domain /
zone yang akan dibangun yakni sekolah.sch.id, bagian ini
disebut forward master zone yang berfungsi mengubah alamat
nama / domain (sekolah.sch.id) menjadi alamat IP Address.
type master;bagian ini menentukan type DNS server yang
dibangun yaitu master. Option pada bagian ini adalah master
2
(untuk master server), slave (untuk slave server), hint (untuk
cache server) dan forward (untuk forward server).
file“/etc/bind/db.sekolah.sch.id”bagian
inimenentukan file konfigurasi data-data dari zone
yang dibangun. Nama file sebenarnya bebas,
tetapi disarankan disesuaikan dengan fungsi dan
domain yang dibangun agar memudahkan
pengelolaan domain.
zone “100.168.192”bagian ini mendefinisikan IP
Address yang digunakan oleh alamat domain
yang dibangun yakni 192.168.100.1. Bagian ini
disebut revers master zone yang berfungsi
mengubah alamat IP Address menjadi alamat
nama / domain. Dalam hal ini penulisan IP
Address di ambil alamat networknya dan disusun
terbalik.
type master;bagian ini menentukan type DNS
Server yang akan dibangun, harus sama dengan
forward master zone.
file “/etc/bind/db.100.168.192” bagian ini
menentukan file konfigurasi data-data revers
yang dibangun.
d. Kemudian buat file yang berisi data-data dari domain
sekolah.sch.id baik forward master zone, maupun revers master
zone sesuai dengan nama file yang telah ditentukan masing-masing.
Untuk memudahkan pembuatannya, dapat mengcopy dari file
localhost kemudian edit isinya.
e. Copy file db.local untuk membuat file forward dan copy file
db.127 untuk membuat file revers seperti berikut :
3
Gambar 2.9 Mengcopy file forward dan revers
f. Edit file db.sekolah.sch.iddengan perintah #pico
/etc/bind/db.sekolah.sch.id
Gambar 2.10 Konfigurasi file db.sekolah.sch.id
Keterangan script :
Baris komentar sesuaikan dengan isi filenya
$TTL : Mendefinisikan nilai default Time To Live untuk
suatu zone.
@ : Shortcut yang menyatakan nama domain yang
bersesuaian dengan zona ini
IN : Kata kunci protokol internet
SOA : (Start of Authority) mengawali file zona, berisi
data-data waktu sebuah domain atau subdomain
(Nama record SOA) dan email administrator yang
bertanggung jawab terhadap domain tersebut.
Serial : Adalah nomor seri database-cache domain. Jika
ada perubahan data pada berkas zone domain,
misal menambahkan sub domain, maka harus
merubah/menambah nomor serinya. Sebaiknya
digunakan format tahun-bulan-tanggal-jam untuk
nomor serialnya. Fungsi dari serial ini adalah untuk
4
memberitahukan kepada Slave Name Server untuk
meng-update database-cache-nya jika ada
perubahan pada Primary Name Server yaitu
dengan melakukan pengecekan nomor serial. Jika
nomor serial berubah/bertambah maka Slave Name
Serverakan segera melakukan zone-transfer dari
Primary Name Server.
Refresh : Interval waktu yang digunakan Slave Name Server
(DNS Server Slave) untuk mengontak Primary
Name Server (DNS Server Master)
Retry : Waktu tunggu yang digunakan oles Secondary NS
bila Primary NSdown atau crash
Expire : Masa berlaku zona untuk Secondary NS tanpa
harus melakukan refresh pada Primary NS jika
Primary NS Down
Negative : Nilai default untuk masa berlaku data yang
disimpan dalam cache.
NS : Menyatakan Name Server.
IN : Menyatakan Address Internet atau alamat IP dari
mesin yang ditangani oleh DNS.Dalam praktek ini
menyatakan domain sekolah.sch.id dipetakan pada
IP Address 192.168.100.1. Inilahproses
penerjemahan alamat domain menjadi IP Address.
www : sub domain yang dibuat dari domain
sekolah.sch.id, yaitu www.sekolah.sch.id dengan
IP 192.168.100.1
g. Kemudian edit file db.100.168.192 dengan perintah #pico
/etc/bind/db.100.168.192
5
Gambar 2.11 Konfigurasi file db.100.192.168
Keterangan script
Parameter-parameter lain disamakan dengan file forward
PTR : menyatakan pointer, yaitu reversed-address.
Dalam praktek ini menyatakan bahwa IP
192.168.100.1 dipetakan ke nama domain
sekolah.sch.id. Inilah proses penerjemahan IP
Address menjadi alamat domain
h. Kemudian restart service bind dengan perintah
#/etc/init.d/bind9 restart dan pastikan tidak terjadi error.
Gambar 2.12 Restart service bind9
i. Untuk memastikan tidak terdapat error, dapat kita lihat pada file
log system dengan perintah #cat /var/log/syslog
Gambar 2.13 Cek file syslog
j. Jika menemukan error periksa kembali file konfigurasi sesuai
dengan error yang ditunjukkan.
k. Kemudian edit file resolv.conf dengan perintah #pico
/etc/resolv.conf seperti berikut :
6
Gambar 2.14 Konfigurasi file resolv.conf
l. Isikan dengan DNS server yang kita bangun. Kemudian kita
lakukan pengujian DNS server baik dari server itu sendiri maupun
dari klien.
m. Pengujian DNS server paling sederhana adalah menggunakan
perintah ping, yaitu dengan melakukan ping pada alamat domain
yang kita bangun baik dari server maupun dari klien.
Gambar 2.15 Tes DNS server dengan ping
n. Atau dengan perintah nslookup, dan dig, namun jika perintah ini
belum ada, install terlebih dahulu dengan perintah #apt-get
install dnsutils Kemudian jalankan kedua perintah
tersebut.
Gambar 2.16 Tes DNS Server dengan nslookup
o. Uji dengan perintah dig
7
Gambar 2.17 Tes dengan perintah dig
p. Untuk pengujian dari klien pastikan setting DNS Server pada klien
sudah benar menggunakan IP DNS server yang kita bangun.
Pengujian pada klien windows dapat dilakukan dari Command
promt dengan perintah ping dan nslookup.
Gambar 2.18 Konfigurasi DNS Server klien
q. Pengujian dengan ping dan nslookup
Gambar 2.19 Uji DNS Server dari klien
2.1.2 Konfigurasi Tambahan
Untuk konfigurasi tambahan terdapat pada file named.conf.options,
konfigurasi yang dapat ditambahkan diantaranya :
a. Menentukan klien yang dapat mengakses DNS Server, baik
berdasarkan network maupun berdasarkan IP Address. Option
0.0.0.0/0 berarti seluruh IP Address dan seluruh network.
b. Menentukan DNS Server bersifat authoritative only atau tidak.
8
c. Menentukan forward dari DNS server berikutnya apabila request
dari klien tidak dilayaninya, seperti klien menanyakan domain yang
tidak menjadi tanggung jawabhnya.
d. Menentukan IP Address yang menerima request dari klien (jika
memiliki lebih dari 1 IP Address.
e. dll
Sebagai contoh berikut agar DNS Server dapat diakses oleh
seluruh klien baik dalam 1 network maupun tidak 1 network dengan
DNS server. Untuk konfiugurasi lain silakan dikembangkan sendiri.
Gambar 2.20 Konfigurasi file named.conf.options
2.1.3 Langkah-Langkah Konfigurasi DHCP Server
Sebelum melakukan konfigurasi DHCP Server, perhatikan hal-hal
sebagai berikut :
a. Topologi sama dengan praktik sebelumnya
b. Alokasi IP Address untuk klien adalah 192.168.100.10/24 sampai
192.168.100.50/24
c. Default gateway untuk klien adalah 192.168.100.1
d. DNS Server untuk klien adalah 192.168.100.1 dan 192.168.202.23
e. Siapkan DVD Master instalasi
9
Kemudian ikuti langkah-langkah berikut :
a. Login sebagai root
b. Install packet dhcp3-server dengan perintah #apt-get install
dhcp3-server
Gambar 2.22 Instalasi DHCP Server
c. Pilih OK dan pastikan proses instalasi tidak mengalami error
d. Edit file dhcpd.conf dengan perintah #pico
/etc/dhcp3/dhcpd.conf seperti di bawah ini
Gambar 2.23 Konfigurasi dhcpd.conf1
Keterangan Script
option domain-name “sekolah.sch.id”;
menentukan domain yang dimiliki oleh network yang
dibangun, yaitu sekolah.sch.id.
option domain-name-servers 192.168.100.1,
192.168.202.23;
menentukan DNS Server yang akan digunakan oleh klien,
dapat di isi 1 saja atau 2, yang pertama sebagai DNS server
10
utama (Preferred) dan yang kedua sebagai alternatif (Alternate)
jika DNS server yang pertama down.
default-lease-time 600;
menentukan lama waktu penggunaan IP Address
oleh klien (waktu sewa) dalam satuan detik. Jika
waktu habis maka klien akan melakukan
permintaan ulang untuk dapat kembali
menggunakan IP Address (seperti perpanjangan
kontrak).
max-lease-time 7200;
menentukan masa berlaku IP Address yang diberikan kepada
klien, artinya sebelum waktu ini habis setiap kali klien
melakukan permintaan ulang (perpanjangan kontrak) setelah
waktu penggunaan habis maka klien akan tetap mendapatkan
IP Address yang sama. Jika sampai waktu ini habis klien tidak
pernah melakukan permintaan ulang (perpanjangan kontrak)
maka masa berlaku dinggap habis dan IP Address tersebut
dapat diberikan kepada klien lain ketika ada permintaan. Jika
klien yang samamelakukan permintaan IP Address maka akan
diberikan IP Address yang baru sesuai range yang masih
dimiliki oleh server DHCP. Selama masa berlaku ini belum
habis maka IP Address tidak akan diberikan kepada klien lain
yang melakukan permintaan IP Address, meskipun klien yang
bersangkutan dalam keadaan off.
11
Gambar 2.24 Konfigurasi dhcpd.conf2
Keterangan Script
subnet 172.16.16.16 netmask 255.255.255.240 {
mendefinisikan alamat network yang tidak digunakan untuk
dhcp yaitu network pada interface WAN (dalam hal ini eth0).
Konfigurasi ini bersifat optional (tidak mutlak diperlukan) dan
karena kita memiliki 2 interface yaitu eth0 dan eth1, sedangkan
kita hanya akan menggunakan eth1 untuk dhcp server, maka
konfigurasi ini dapat kita isi dengan alamat network eth0 yang
tidak kita gunakan untuk dhcp server.
subnet 192.168.100.0 netmask 255.255.255.0 {
menentukan alamat network dan netmask yang digunakan
untuk dhcp server. Dalam hal ini kita isi dengan alamat
network pada eth1, nantinya layanan dhcp akan diberikan pada
klien melalui eth1 ini.
range 192.168.100.10 192.168.100.50;
menentukan range IP Address yang akan diberikan kepada
klien yaitu mulai dari 192.168.100.10 sampai 192.168.100.50.
option routers 192.168.100.1;
menentukandefault gateway yang diberikan kepada klien yaitu
192.168.100.1.
e. Restart service dhcp dengan perintah #/etc/init.d/dhcp3-
server restart
Gambar 2.25 Restart service dhcp
f. Tampilan failed pada saat restart service dhcp pertama kali itu
dikarenakan proses penghentian (stoping) service dhcp yang belum
dikonfigurasi, maka hasilnya error, setelah itu baru menjalankan
kembali dengan konfigurasi yang telah kita tentukan (starting).
12
g. Untuk memastikan tidak terdapat error, lihat file log system dengan
perintah #cat /var/log/syslog
Gambar 2.26 Cek log dari dhcp
h. Untuk konfigurasi pada klien windows 7 kita tinggal merubah cara
setting IP Address dari manual menjadi dynamic, kemudian klik
OK dan tunggu proses konfigurasi IP Address dari server DHCP.
Gambar 2.27 Setting IP Dynamic pada windows 7
13
i. Untuk melihat IP Address yang kita dapatkan pada local area
connection klik details maka akan terlihat IP Address yang
didapatkan dari server DHCP.
Gambar 2.28 IP Address yang di dapatkan klien
j. Perhatikan Value dari Property yang ditampilkan, harus sesuai
dengan yang kita tentukan pada konfigurasi DHCP server,
diantaranya :
Connection-specific DNS = option domain-name
IPv4 Address = range
IPv4 Subnet Mask = subnet
Lease Expires = default-lease-time
IPv4 Default Gateway = option routers
Ipv4 DNS Server = option domain-name-servers
k. Jika proses ini gagal tetapi konfigurasi dhcp server sudah berjalan
dengan benar, maka periksa media koneksi yang digunakan untuk
menghubungkan klien ke server dhcp (kabel / nirkabel).
14
2.1.4 Langkah-langkah konfigurasi proxy server
Sebelum melakukan konfigurasi proxy server, terlebih dahulu
perhatikan hal-hal berikut ini :
a. Topologi sama dengan praktik sebelumnya
b. IP Address proxy server untuk adalah 192.168.100.1/24, untuk
klien menyesuaikan
c. Jenis Proxy server yang akan dibangun adalah forward http proxies
untuk proxy untuk menangani aplikasi http / web.
d. Menggunakan aplikasi squid pada linux debian lenny dan port 3128
e. Siapkan DVD Master instalasi
Kemudian ikuti langkah-langkah berikut :
a. Lakukan instalasi paket squid dengan perintah #apt-get install
squid dan pastikan tidak menemukan error.
Gambar 2.33 Install paket squid
b. Buka file konfigurasi squid.conf dengan perintah #pico
/etc/squid/squid.conf kemudian lakukan konfigurasi sebagai
berikut, konfigurasi ini adalah konfigurasi minimal agar proxy
dapat berjalan.
Gambar 2.34 Konfigurasi port proxy
15
Keterangan script
http_port 3128 transparent
Menentukan proxy bekerja pada port 3128 secara transparant
c. Kemudian tutup / non aktifkan baris script acl localnet dengan
memberi tanda pagar (#), untuk acl nantinya akan kita definisikan
sendiri sesuai dengan network yang kita bangun.
Gambar 2.35 Menutup acl localnet
d. Kemudian kita definisikan network yang kita bangun, perhatikan
penempatannya karena script akan dibaca urut dari atas ke bawah
Gambar 2.36 Membuat acl jaringan sendiri
Keterangan script
acl jaringanku src 192.168.100.0/24
mendefinisikanacl (Access control list) untuk jaringan yang
akan kita kontrol hak aksesnya yaitu jaringan dengan alamat
network 192.168.100.0/24. Ini berarti seluruh Alamat IP yang
16
valid dari alamat network 192.168.100.0/24 termasuk dalam
acl ini.
http_access allow jaringanku
memberikan akses http (browsing) untuk acl jaringanku, jika
ingin menutup akses http (browsing) maka kata allow cukup
diganti deny
e. Kemudian setting visible hostname, yaitu mendefinisikan nama
komputer untuk server proxy sesuai DNS yang kita bangun
(FQDN).
Gambar 2.37 Konfigurasi visible_hostname
Keterangan
visible_hostname proxy.sekolah.sch.id
menentukan hostname (nama komputer) untuk server proxy yaitu
proxy.sekolah.sch.id
f. Menentukan cache manager (email administrator dari proxy server)
Gambar 2.38 Konfigurasi cache managerKeterangan
17
cache_mgr [email protected]
Menentukan email administrator dari proxy server yaitu
g. Kemudian tutup / non aktifkan icp access untuk acl localnet, hal ini
karena proxy server yang kita bangun tidak mempunyai hirarki
(tingkatan).
Gambar 2.39 Menutup icp access
h. Kemudian keluar dan simpan file tersebut. Selanjutnya buat
direktori cache squid dengan perintah #squid –z, terlebih dahulu
stop service squid dengan perintah #/etc/init.d/squid stop
i. Kemudian jalankan kembali service squid dengan perintah #/etc/init.d/squid start
Gambar 2.40 Langkah menjalankan squid pertama kali
j. Untuk memastikan tidak terdapat error, cek melalui file system log
dengan perintah #tail –f /var/log/syslog
18
Gambar 2.41 Log system squid
k. Kemudian kita lakukan pengalihan paket browsing agar masuk
pada aplikasi proxy dengan menggunakan iptables, buka file
rc.local dengan perintah #pico /etc/rc.local kemudian
tambahkan script seperti berikut
Gambar 2.42 Konfigurasi NAT untuk proxy
Keterangan
iptables –t nat –A PREROUTING –i eth1 –s
192.168.100.0/24 –p tcp -–dport 80 –j REDIRECT -–to-
port 3128
Mengalihkan paket yang menuju port 80 (browsing) yang masuk ke
eth1 yang berasal dari network 192.168.100.0/24 menuju port
proxy server yaitu 3128
l. Kemudian jalankan file rc.local dengan perintah #/etc/rc.local
atau restart PC Server.
19
m. Kemudian uji dengan browsing dari klien dan pada saat bersamaan
buka file access.log untuk melihat aktifitas browsing klien dengan
perintah #tail –f /var/log/squid/access.log
Gambar 2.43 Log access squid
Keterangan
Dapat dilihat klien dengan IP Address sedang mengakses
(broswsing) situs www.detik.com
n. Kemudian untuk melakukan pemblokiran terhadap situs-situs
tertentu, maka kita tambahkan acl untuk memblokir situs-situs
tersebut, misalkan kita akan memblokir situs facebook.com dan
youtube.com. Perhatikan letak acl nya, tidak boleh salah karena
script akan dibaca secara berurutan dari atas ke bawah.
Pemblokiran ini dapat berdasarkan alamat tujuan (domain)
sepertiwww.facebook.com, artinya klien tidak diizinkan mengakses
situs dengan alamat www.facebook.com. Pada pengembangan lebih
lanjut pemblokiran tidak hanya berdasarkan alamat situs, tetapi
juga dapat berdasarkan kata, misalkan kata porno, jadi setiap
alamat situs yang terdapat kata porno akan diblokir. Lebih lanjut
jika jumlah situs yang akan diblokir banyak maka kita dapat
buatkan file terpisah untuk menuliskan daftar situs-situs yang
diblokir tersebut sehingga lebih mudah dalam pengelolaannya.
20
Gambar 2.44 Konfigurasi blokir situs
Keterangan
acl situsdilarang dstdomain –i www.facebook.com
www.youtube.com
membuat acl dengan nama situsdilarang yang isinya alamat
situs yang tidak boleh diakses www.facebook.com dan
www.youtube.com. Option –i berarti incase sensitive, yang
akan menganggap sama antara huruf besar dan huruf kecil.
http_access deny situsdilarang
menutup akses http klien untuk acl situsdilarang
o. Reconfigure squid dengan perintah #squid –k reconfigure,
perintah ini harus dijalankan setiap ada perubahan konfigurasi
squid. Tujuanya untuk membaca ulang konfigurasi squid tanpa
melakukan restart terhadap service squid.
Gambar 2.45 Reconfigure squid
p. Kemudian uji pada klien dengan browsing kepada alamat yang kita
blokir tadi
21
Gambar 2.46 Tampilan situs yang diblokir
q. Maka akan tampil halaman yang menunjukkan akses terhadap situs
youtube.com diblokir oleh proxy. Perhatikan juga email
administrator dan hostname dari server proxy sesuai dengan yang
dikonfigurasi pada file squid.conf
r. Untuk konfigurasi lainnya dapat dikembangkan lebih lanjut agar
proxy server dapat bekerja lebih maksimal terutama untuk
menjalankan fungsi caching untuk meningkatkan kecepatan akses
internet klien dan menghemat bandwith yang kita miliki.
22
2.1.5 Langkah-langkah konfigurasi web server
Sebelum melakukan konfigurasi web server, harus diperhatikan terlebih
dahulu hal-hal berikutini :
a. Topologi sama dengan praktrik sebelumnya
b. IP Web server adalah 192.168.100.1/24
c. Aplikasi web server yang digunakan adalah apache2
Berikut langkah-langkah konfigurasi web server apache di linux debian
lenny :
a. Install paket apache2 dengan perintah #apt-get install apache2
dan pastikan tidak menemukan error pada proses instalasi
Gambar 2.48 Instalasi paket apache2
b. Buka file apache2.conf dengan perintah #pico
/etc/apache2/apache2.conf dan tambahkan script ServerName
dibawah ServerRoot
Gambar 2.49 Konfigurasi server name
23
Keterangan script
ServerName sekolah.sch.id
Mendefinisikan Nama Server untuk web server yaitu sekolah.sch.id
c. Buka file default dengan perintah #pico /etc/apache2/sites-
available/default dan edit baris script ServerAdmin.
Gambar 2.50 Konfigurasi Server Admin
Keterangan script
ServerAdmin [email protected]
Menentukan alamat email dari administrator yang mengelola
web server yaitu [email protected]
DocumentRoot /var/www/
Letak (directory) untuk meletakkan file-file web yang dibuat,
yaitu dalam directory /var/www. Direktori inilah yang
akandiakses oleh klien melalui program browser. Di dalam
directoy ini dapat kita buatkan direktori-direktori lain sesuai
dengan kebutuhan website, misalkan gambar, lagu dll.
d. Restart service apache2 dengan #/etc/init.d/apache2 restart
dan pastikan tidak ada error
Gambar 2.51 Restart service apache2
e. Untuk melihat pesan jika terjadi kesalahan dalam konfigurasi dapat
dilihat pada file error.log dengan perintah #tail –f
/var/log/apache2/error.log
24
f. Akses webserver memalui program browser pada komputer klien
dengan mengetikkan alamat server pada address bar (IP/Domain)
Gambar 2.52 Tampilan index default
g. Secara default webserver akan menjalankan file dengan nama index
pada directory DocumentRoot dan directory di bawahnya, jika tidak
ditemukan file index maka akan ditampilkan apa adanya, secara
default apache hanya mendukung file web dengan format / standart
html. Untuk lebih memahaminya, masuk ke direkctory /var/www
dengan perintah #cd /var/www, directory ini merupakan
DocumentRoot dari webserver apache.
h. Kemudian tampilkan isinya dengan perintah #ls, disana akan
terdapat file index.html
Gambar 2.53 File index.html
i. Coba Edit File tersebut dengan perintah #pico index.html dan
refresh halaman browser pada klien, perhatikan perubahannya.
Gambar 2.54 Tampilan index edit
25
j. Coba Hapus file tersebut dengan perintah #rm index.html dan
refresh tampilan browser, perhatikan perubahannya. Kemudian
buatlah beberapa directory, misalkan gambar, lagu, file dokumen
dll, dengan perintah mkdir dan refresh kembali halaman browser,
dan perhatikan perubahanya.
Gambar 2.55 Membuat direktori pada web server
k. Lihat tampilan pada browser
Gambar 2.56 Tampilan directori pada browser
l. Kita dapat memasukkan file-file pada directory tersebut dan dapat
diakses dari klien melalui program browser. File-file website yang
kita buat juga kita tempatkan pada directory ini sehingga dapat
diakses oleh klien.
m. Agar webserver apache dapat menjalankan file php maka harus
diisntall terlebih dahulu paket php5 dengan perintah #apt-get
install php5 dan pastikan tidak menemukan error
pada proses instalasi.
Gambar 2.57 Instalasi paket php5
26
n. Untuk mengujinya buat sebuah file php (info.php) pada directory
/var/www dengan perintah #pico /var/www/info.php dan
ketikkan script berikut
Gambar 2.58 Script php info
o. Restart service apache2 dengan perintah #/etc/init.d/apache2
restart Kemudian buka kembali dari browser klien dan klik file
info.php maka akan tampil konfigurasi dari php itu sendiri.
Gambar 2.59 Tampilan php info
p. Untuk aplikasi database juga harus diisntall terlebih dahulu seperti
mysql (untuk database) dan phpmyadmin (untuk mengelola database
mysql dari web browser). Untuk konfigurasi lain-lain agar
webserver berfungsi lebih optimal termasuk faktor keamanan
(security) dapat dipelajari lebih lanjut.
27
2.1.6 Langkah-langkah konfigurasi mail server pada linux debian lenny
Sebelum melakukan konfigurasi terlebih dahulu perhatikan hal-hal
berikut ini :
a. MTA yang digunakan : postfix
b. MDA yang digunakan : courier imap dan courier pop
c. MUA yang digunakan : squirrelmail (berbasis web)
d. IP Server : 192.168.100.1/24
e. Domain : sekolah.sch.id
f. Subdomain : webmail.sekolah.sch.id
g. Aplikasi-lain yang diperlukan dan harus sudah terinstall yaitu
Apache web server support php karena MUA yang kita gunakan
berbasis web dan aplikasinya dibangun dengan bahasa php
Berikut langkah-langkah konfigurasi email server dengan linux debian
lenny.
a. Install postfix dengan perintah #apt-get install posfix
Gambar 2.61 Instalasi postfix
b. Pilih OK, kemudian tekan enter
Gambar 2.62 Konfigurasi internet site postfix
28
c. Pilih internet site, kemudian pilih OK, kemudian tekan enter
Gambar 2.62 Konfigurasi domain name posfix
d. Kemudian masukkan domain yang kita bangun yaitu sekolah.sch.id
kemudian pilih OK, enter. Nantinya user akan memiliki email
address [email protected]
e. Install paket courier-imap dengan perintah #apt-get install
courier-imapdan pastikan tidak mengalami error dalam proses
instalasi.
Gambar 2.63 Instalasi courier imap
f. Ketik y kemudian tekan enter
Gambar 2.64 Konfigurasi courier base
g. Pilih Yes kemudian tekan enter
29
h. Install paket courier-pop dengan perintah #apt-get install
courier-pop
Gambar 2.65 Instalasi courier pop
i. Install paket squirrelmail dengan perintah #apt-get install
squirrelmaildan pastikan tidak mengalami error dalam proses
instalasi.
Gambar 2.66 Instalasi squirrelmail
j. Konfigurasi ulang paket postfix dengan perintah #dpkg-
reconfigure postfix
Gambar 2.67 Konfigurasi ulang postfix
30
k. Pilih OK, kemudian tekan enter
Gambar 2.68 Konfigurasi internet site postfix
l. Pilih Internet Site kemdian pilih OK , lalu tekan enter
Gambar 2.69 Konfigurasi domain name postfix
m. Pastikan domain sudah tertulis dengan benar, pilih OK kemudian
tekan enter
Gambar 2.70 Konfigurasi postmaster postfix
n. Pilih OK, Kemudian tekan enter
Gambar 2.71 Konfigurasi domain name postfix
31
o. Pastihkan domain telah tertulis dengan benar, pilih OK kemudian
tekan enter
Gambar 2.72 Syncronisasi update
p. Pilih No, kemudian tekan enter
Gambar 2.73 Konfigurasi network local postfix
q. Ketikkan alamat network server yaitu 192.168.100.0/24 kemudian
pilih OK dan tekan enter
Gambar 2.74 Konfigurasi procmail
r. Pilih No kemudian tekan enter
Gambar 2.75Konfigurasi mailbox size postfix
32
s. Pilih OK lalu tekan enter
Gambar 2.76 Konfigurasi local address extention postfix
t. Pilih OK lalu tekan enter
Gambar 2.77 Konfigurasi versi IP Address postfix
u. Pilih ipv4 kemudian pilih OK dan tekan enter
v. Kemudian buka file main.cf dengan perintah #pico
/etc/postfix/main.cf dan tambahkan script home_mailbox =
Maildir/ pada baris paling bawah. (Perhatikan penggunaan huruf
besar dan kecilnya)
Gambar 2.78Konfigurasi main.cf
33
w. Kemudian ketikkan perintah #maildirmake /etc/skel/Maildir
agar ketika proses pembuatan user akan otomatis dibuatkan
directory Maildir. (perhatikan penggunaan huruf besar dan
kecilnya)
x. Kemudian buat 2 user, misalkan jadmiko dan admin dengan
perintah #adduser jadmiko, #adduser admin
Gambar 2.79Pembuatan user baru
y. Kemudian edit file apache2.conf dengan perintah #pico
/etc/apache2/apache2.conf dan tambahkan script Include
/etc/squirrelmail/apache.conf pada baris paling bawah.
Gambar 2.80Konfigurasi apache untuk squirrelmail
z. Restart service yang diperlukan mulai dari apache sampai courier
dengan perintah :
#/etc/init.d/apache2 restart
#/etc/init.d/postfix restart
#/etc/init.d/courier-imap restart
#/etc/init.d/courier-pop restart
34
Untuk melihat pesan jika terjadi kesalahan dalam konfigurasi dapat
dilihat pada file mail.log dengan perintah #tail –f
/var/log/mail.log
Gambar 2.81Restart service untuk mail server
a. Uji pada browser klien, pada address bar ketikkan alamat
server,dapat IP Addresshttp://192.168.100.1/squirrelmailatau
Alamat domain http://www.sekolah.sch.id/squirrelmail(tambahkan
squirrelmail di belakang alamat)kemudian masukkan user dan
password untuk login
Gambar 2.82Tampilan squirrelmail login
b. Cobalah dengan mengirim email antar user tadi.
Gambar 2.83Tes mengirim email antar user
35
d. Jika email berhasil dikirim, maka email tersebut akan masuk pada
inbox dari user admin. Untuk mengeceknya login dengan user
admin dan lihat pada inbox / kotak masuk.
Gambar 2.84 Email masuk pada inbox user
e. Untuk membaca isi email tersebut cukup klik judul / topik dari
email tersebut, untuk menghapus atau membalasnya cukup klik
menu masing-masing yang tersedia sebagaimana mengoperasikan
email pada yahoo atau gmail.
Untuk memudahkan dalam mengakses alamat mail server maka
dibuatkan subdomain yang akan langsung menampilkan halaman login
bila kita mengaksesnya. Susunan alamatnya adalah :
a. Domain : sekolah.sch.id
b. Subdomain 1 : www.sekolah.sch.id
c. Subdomain 2 : webmail.sekolah.sch.id
Untuk alamat sekolah.sch.id dan www.sekolah.sch.id jika
diakses melalui browser akan menampilkan index pada web server
(/var/www/) sedangkan alamar webmail.sekolah.sch.id akan
menampilkan halaman login squirrelmail. Berikut langkah-langkakhnya
:
a. Edit file db.sekolah.sch.id dengan perintah #pico
/etc/bind/db.sekolah.sch.id dan tambahkan script untuk
catatan untuk mail exchange serverdan sub domain webmail.
36
Gambar 2.85Menambahkan subdomain pada DNS
Keterangan
@ IN MX 10 webmail.sekolah.sch.id
Menentukan mail server untuk domain sekolah.sch.id yaitu
komputer dengan namawebmail.sekolah.sch.id. Nilai 10 sebagai
nilai preferensi (preference value) untuk menunjukkan tingkat
prioritas mail exchanger serveryang digunakan untuk
memproses atau meneruskan mail yang menuju
domainsekolah.sch.id. Misal kita memiliki 2 mail server dengan
nilai preferensi 10 dan 20, maka ketika ada email yang menuju
domain sekolah.sch.id akan terlebih dulu dikirim ke mail server
yang nilai preferensinya lebih rendah (10) jika gagal maka akan
dikirimkan ke mail server berikutnya (20) sesuai dengan nilai
preferensi dan begitu seterusnya.
webmail IN A 192.168.100.1
mendefinisikan subdomain / host webmail.sekolah.sch.id pada
alamat IP 192.168.100.1
b. Kemudian restart service bind dan pastikan subdomain
webmail.sekolah.sch.id dapat di ping dari klien.
c. Edit file apache.conf pada squirrelmail dengan mengetikkan
perintah #pico /etc/squirrelmail/apache.confuntuk
mengaktifkan script virtual hostuntuk membuat subdomain.
37
Gambar 2.86 Mengaktifkan virtualhost pada apache
Keterangan
<VirtualHost *:80>
Mengaktifkan virtual host pada port 80, yaitu seolah-olah
memiliki 2 host / komputer sebagai web server
www.sekolah.sch.id dan sebagai mail server
webmail.sekolah.sch.id.
DocumentRoot /usr/share/squirrelmail
Mendefinisikan documen root, dari virtual host ini, artinya
ketika diakses oleh klien akan diarahkan ke
/usr/share/squirrelmail
ServerName webmail.sekolah.sch.id
Mendefinisikan Server Name yang akan mengakses ke virtual
host ini yaitu webmail.sekolah.sch.id.
d. Kemudian restart service apache dan pastikan tidak ada error.
e. Kemudian coba akses dari browser klien dengan mengetikkan
alamat webmail.sekolah.sch.id pada address bar. Jika benar akan
tampil halaman login squirrelmail.
Gambar 2.87Halaman login squirrelmail
38
f. Kemudian coba juga mengakses alamat www.sekolah.sch.id, jika
benar maka akan tampil halaman utama dari webserver.
Gambar 2.88Tampilan utama web server
2.1.7 Langkah-langkah konfigurasi FTP server pada linux debian lenny
Sebelum melakukan konfigurasi FTP Server kita harus
memperhatikan hal-hal berikut :
a. IP Address server adalah 192.168.100.1/24
b. Packet yang digunakan sebagai aplikasi FTP Server adalah vsftpd.
Selain itu masih banyak aplikasi FTP Server lain seperti, ftpd,
proftpd, wu-ftpd (Widle Used FTP Daemon), wzdftpd,
dan pure-ftpd.
c. Metode akses yang digunakan adalah non-
anonymous
Berikut langkah-langkah konfigurasi FTP Server pada linux
debian lenny.
a. Login sebagai root
b. Install packet vsftpd dengan perintah #apt-get instll vsftpd
dan pastikan proses instalasi tidak mengalami error.
Gambar 2.90 Menginstall packet vsftpd
39
c. Jika proses instalasi tidak mengalami error maka FTP Server sudah
berjalan dengan mode anonymous. Untuk mengaksesnya dapat
menggunakan browser maupun windows explorer degan
mengetikkan alamat ftp://192.168.100.1 atau ftp://sekolah.sch.id
pada address bar (browser) atau location (windows explorer).
Gambar 2.91 Akses FTP dengan browser
d. Pada mode ini FTP Klien akan membaca directory /home/ftp
sebagai document root dengan hak akses 022 yang berarti read only
(user hanya bisa membaca isi direktory). Coba isi directory
tersebut dengan beberapa directory / file seperti pada web server
dan lihat perubahannya.
Gambar 2.92 Membuat direktory dalam FTP
e. Untuk konfigurasi agar menjalankan mode non anynomous, buka
file vfstpd.conf dengan perintah #pico /etc/vsftpd.conf dan
konfigurasi seperti di bawah ini.
40
Gambar 2.93 Script vsftpd.conf1
Keterangan script
listen=YES
vsftpd akan dijalankan dalam mode standalone.
anonymous enable=NO
menentukan metode akses FTP Server, yaitu
anonymous atau non-anonymaous, YES berarti
menjalankan metode anonymous dan NO berarti
menjalankan metode non-anonymous
local enable=YES
user local server diijinkan mengakses ftp dan
menggunakan home direktorinya masing-masing
sebagai default direktori saat login ke ftp server.
write enable=YES
mengijinkan user membuat, memodifikasi atau
mengkopi file dan direktori ke server.
Gambar 2.94 Script vsftpd.conf2
local umask=022
permission default saat pembuatan file oleh user
local
41
Gambar 2.95 Script vsftpd.conf3
Keterangan script
chroot local user=YES
lokal user hanya dibatasi hanya diperbolehkan
mengakses home direktorinya sendiri.
f. Untuk konfigurasi lain seperti merubah home directory, merubah
baner ketika login, merubah hak akses file, dll dapat dikembangkan
sendiri agar FTP Server dapat berjalan dengan lebih aman dan
efisien.
g. Restart service vfstpd dengan perintah #/etc/init.d/vsftpd
restart dan pastikan tidak terjadi error.
Gambar 2.96 Restart service ftp
h. Untuk memantau file log vsftpd dapat dilihat dengan perintah #tail –f /var/log/vsftpd.log
i. Buka kembali FTP Server dengan menggunakan browser maka
akan tampil kotak dialog login yang meminta kita memasukkan
username dan password untuk mengakses FTP Server. Saya
menggunakan user jadmiko.
42
Gambar 2.97 Login FTP dengan browser
j. Jika user dan password benar maka akan dapat mengakses FTP
server dan akan membaca home direcotry dari user tersebut.
Gambar 2.98 Akses FTP dengan user
k. Cara lain untuk mengakses FTP Server adalah :
Menggunakan Windows Explorer dengan mengetikkan alamat
FTP Server (IP Address atau Domain) pada locationmaka akan
tampil kotak dialog untuk memasukkan username dan
password.
Gambar 2.99 Login FTP dengan windows explorer
Setelah berhasil login maka kita dapat mengoperasikan
sebagaimana windows explorer untuk melakukan pengelolaan
berkas (file), seperti membuat, mengcopy ataupun
memindahkan file dan direktori.
43
Menggunakan DOS / Command Prompt dengan cara buka
Command Prompt dan ketikkan perintah ftp 192.168.100.1 (IP
Address / Domain) kemudian tekan enter dan masukkan user
dan password.
Gambar 2.100 Login FTP dengan DOS
Untuk mengoperasikannya mengguankan perintah-perintah
sperti pada DOS, Cara ini memang lebih rumit karena
menggunakan text mode (CLI : Command Line Interface)
untuk mengoperasikannya. Tetapi memiliki keunggulan dapat
dijalankan pada semua sistem operasi (windows, linux, dll)
karena semua sistem operasi memiliki mode CLI. Beberapa
perintah dasar diantaranya
- dir : menampilkan isi directory
- get : mengcopy file dari FTP Server ke FTP Klien
(download)
- put : mengcopy file dari FTP Klien ke FTP Server
(upload)
- cd : pindah antar directory
- bye : keluar dari FTP Server (logout)
Selengkapnya dapat dilihat dengan mengetikkan tanda tanya
(?) kemudian tekan enter.
Menggunakan Program FTP Client, Cara ini paling
direkomendasikan, yaitu dengan menggunakan program
aplikasi yang dibuat sebagai program FTP Client. Salah satu
program FTP Client yang dapat digunakan adalah FileZilla.
Install dan jalankan program filezilla, kemudian masukkan
44
host (alamat FTP Server), username (user yang digunakan),
password (password dari user yang bersangkutan) serta port
(port yang digunakan : 21) seperti pada gambar.
Gambar 2.101 Login FTP dengan filezilla
Untuk mengoperasikannya hampir sama dengan windows
explorer, dan juga bisa melakukan copy data dengan click and
drag.
45
2.2 Kegiatan Belajar 8 : Konfigurasi Firewall
2.2.1 Pengenalan firewall
Firewall adalah sebuah aplikasi yang dapat memberikan otorisasi pada
lalu lintas jaringan (packet data) yang dianggapnya aman melaluinya
dan melakukan pencegahan terhadap lalu lintas jaringan (packet data)
yang dianggap tidak aman melaluinya.
Fungsi utama firewalladalah :
a. Mengatur dan mengontrol lalu lintas jaringan, dengan melakukan
pemeriksaan(inspection) setiap packet data yang melaluinya
sehingga dapat memutuskan packet-packet mana saja yang
diizinkan untuk lewat dan tidak sesuai dengan aturan yang telah
ditetapkan oleh administrator.
b. Melakukan autentikasi terhadap akses jaringan, untuk mengetahui
dengan pasti siapa yang melakukan akses jaringan, beberapa metode
autentikasi firewall diantaranya :
Extended Authentication (xauth). Dengan metode ini ketika
pengguana melakukan akses jaringan maka firewall akan
meminta untuk memasukkan nama pengguna (username) dan
kata kunci (password) sebelum akhirnya diizinkan oleh firewall.
Izin ini berlaku sampai koneksi terputus dan akan meminta
autentikasi ulang ketika kembali melakukan akses jaringan.
Menggunakan sertifikat digital dan kunci publik. Keunggulan
metode ini adalah proses autentikasi dapat terjadi tanpa campur
tangan pengguna (user) dan prosesnya lebih cepat. Meskipun
dalam implementasinya lebih rumit.
Menggunakan Pre-Shared Key (PSK) atau kunci yang telah
diberitahukan kepada pengguna. Metode ini lebih mudah
diterapkan karena lebih sederhana, dimana setiap host / user
diberikan sebuah kunci yang telah ditentukan sebelumnya untuk
proses autentikasi.Tetapi PSK juga mendukung proses
autentikasi dapat terjadi tanpa campur tangan pengguna (user).
46
c. Melindungi sumber daya dalam jaringan privat. Perlindungan ini
didapat dengan menggunakan beberapa pengaturan seperti Akses
Kontrol, Menggunakan SPI (Stateful Packet Inspection) yang
merupakan penggabungan dari packet inspection dan stateful
inspection,Aplication Proxy dll. Meskipun demikian firwall
bukanlah dapat melindungi semuanya, terutama jika celah
keamanan terletak pada sistem operasi yang menjalankan aplikasi
server yang telah diizinkan oleh firwall, karena firewall tidak dapat
membedakan packet data yang baik dan yang jahat (bertujuan
mengeksploitasi kelemahan tersebut) karena sama-sama
mengguanakn packet data yang telah diizinkan oleh firewall.
d. Mencatat semua kejadian dan melaporkannya pada
administrator. Dengan fungsi ini seorang administrator dapat
memeriksa lalu lintas jaringan secara berkala dengan membuka file
log dari firewall. Karena firewall akan mencatata semua lalu lintas
yang terjadi baik yang diizinkan maupun tidak. Dalam
perkembangannya firewall mampu secara langsung memberikan
alarm atau mengirim email kepada administrator jika terjadi hal-hal
yang tidak diinginkan.
2.2.2 Jenis-jenis firewall
a. Berdasarkan bentuk fisiknya
Firewall Aplikasi
Yaitu berupa aplikasi firewall yang dipasang pada sistem
komputer, baikterintegrasi dengan sistem operasi tersebut,
atapun berupa program tambahan.
Firewall Dedicated
Yaitu hardware yang dibuat secara khsusus untuk menjalankan
aplikasi firewall.
47
b. Berdasarkan letak pemasangannya
Personal Firewall
Yaitu firewall yang didesain untuk melindungi sebuah komputer
dari akses jaringan yang tidak dikehendaki dan biasanya
dipasang pada masing-masing komputer tersebut.Pada saat ini
aplikasi ini berkembang sehingga dapat memberikan
perlindungan pada komputer secara keseluruhan dengan
beberapa fitur tambahan seperti anti virus, anti spam, anti
spyware bahkan dilengkapi dengan fungsi IDS (Intrusion
Detection System).Contoh firewall jenis ini adalah Microsoft
Windows Firewall,Norton Personal Firewall, dll.
Network Firewall
Yaitu firewall yang didesain untuk melindungi sebuah
network/jaringan secara keseluruhan dari berbagai
serangan.Biasanya jenis ini berupa firewall dedicatet (hardware)
ataupun firewall aplikasi (software) yang dipasang pada server /
gateway yang penghubung antara network lokal dan network
public. Contoh firewall jenis ini adalah Microsoft Internet
Security and Acceleration Server (ISA Server) dalam sistem
operasi Windows server, Cisco PIX, Cisco ASA, iptables dalam
sistem operasi GNU/Linux, SunScreen dalam sistem operasi Sun
Solaris.
c. Berdasarkan cara kerjanya
Packet Filter Firewall
Firewall jenis ini melakukan filterisasi packet berdasarkan opsi-
opsi / aturan-aturan yang sudah ditetapkan terhadap packet
tersebut dan membuat keputusan terhadap packet tersebut
(diizinkan/ditolak).
Terdapat 2 tipe dalam penetapan aturan-aturan atau opsi
terhadap packet yaitu :
- Static filtering, jika modifikasi aturan-aturan terhadap
packet harus dilakukan secara manual oleh administrator.
48
- Dynamic filtering, apabila aturan-aturan terhadap packet
dapat berubah jika terjadi proses-proses tertentu.
Gambar 2.102 Cara Kerja Packet Filter Firewall
Firewall jenis ini beropasi pada layer network pada model
referensi OSI 7 Layer karenanya proses inspection packet dapat
didasarkan pada :
- Alamat Asal dan Tujuan,
Alamat asal dan tujuan dapat berupa IP Address ataupun
alamat domain, tergantung dari kemampuan jenis
firewallyang digunakan.
- Jenis Protokol
Yaitu protokol yang bekerja pada layer network (layer ke 3
dalam model referensi OSI 7 Layer), seperti TCP, UDP dan
ICMP dll.
- No Port Tujuan dan Asal
Port dalam hal ini dapat diibaratkan pintu rumah yang harus
dibuka jika penghuninya ingin keluar atau ada pengunjung
yang ingin masuk. Dengan no port inilah sistem mengetahui
layanan apa yang dikehendaki dari sebuah packet.
- Keadaan koneksi
Yaitu keadaan koneksi packet data tersebut seperti jika
packet tersebut merupakan koneksi baru (new) masuk ke
komputer tersebut, (request). Atau koneksi packet data
49
tersebut merupakan respon / jawaban yang sudah ditunggu
(established) oleh komputer tersebut. Dalam firewall
kondisi ini disebut state, sehingga proses ini disebut stateful
inspection.
Circuit Level Gateways / Circuit Level Firewall
Firwall jenis ini pada umumnya berupa komponen dalam proxy
server dan bekerja pada layer session pada model referensi OSI
7 layer.
Gambar 2.103 Cara Kerja Circuit Level Firewall
Firewall jenis ini mampu menyembunyikan informasi mengenai
jaringan yang dilindungi. Firewall ini dinilai lebih aman karena
pengguna eksternal tidak dapat melihat alamat IP jaringan
internal dalam packet-packet yang ia terima, melainkan alamat
IP dari firewall.
Aplication Level Gateways / Aplication Level Firewall
Sering disebut juga proxy firewall yang pada umumnya juga
merupakan kompoenen dari proxy server.Firewall jenis ini
bekerja pada layer aplikasi pada model referensi OSI 7 layer.
50
Gambar 2.104 Cara Kerja Aplication Level Firewall
Firewall ini tidak mengizinkan packet yang datang melewati
firewall secara langsung, melainkan aplikasi firewall yang akan
meneruskan packet tersebut kepada layanan yang dikehendaki.
Hybrid Firewalls / Stateful firewall
Adalah firewall yang menggabungkan keunggulan yang dimiliki
oleh Packet Filtering Firewall, Nat Firewall, Circuit Level
Firewall dan Aplication Level Firewall dalam satu system
sehingga dapat melakukan filterisasi packet secara maksimal.
Gambar 2.105 Cara Kerja Hybrid Firewall
2.2.3 Port dalam komputer
Port dalam komputer dibedakan menjadi 2 yaitu port fisik dan
port logikal, port fisik ialah port yang digunakan untuk menghubungkan
komputer dengan peralatan / device lain, seperti USB, Serial, COM1,
LPT, RJ45 dll, sedangkan port logikal adalah port yang digunakan
51
dalam jaringan komputer untuk menghubungkan komputer dengan
komputer lainnya. Karena logikal maka port ini hanya dapat dilihat
secara software. Port ini bisa diibaratkan sebuah pintu dalam rumah,
Anda harus membuka pintu jika ingin keluar rumah menuju rumah
lainnya, ataupun anda harus membukakan pintu ketika ada kunjungan
dari rumah lain. Melalui pintu inilah kita dapat keluar rumah dan
melalui pintu ini pula pencuri dapat masuk dalam rumah kita.Artinya
ketika kita menutup semua pintu rumah maka pencuri memang tidak
bisa masuk, tetapi kita juga tidak bisa keluar ke mana-mana. Hal ini
sama dengan dalam jaringan komputer, sehingga tidak mungkin tidak
membuka sebuah port ketika akan melakukan komunikasi dengan
komputer lain.
Port dapat dikenali dengan angka 16-bit (dua byte) yang disebut
dengan Port Number dan diklasifikasikan dengan jenis protokol
transportapa yang digunakan yaitu dalam Port TCP dan Port UDP.
Karena memiliki angka 16-bit, maka total maksimum jumlah port untuk
setiap protokol transport yang digunakan adalah 65536 buah (0-65535).
Penggunaan port ini baik TCP maupun UDP diatur agar tidak
terjadi benturan antar aplikasi, karena semua aplikasi jaringan
membutuhkan port untuk menjalankan fungsinya, dan dibagi menjadi 3
jenis
a. Well-known Port:yaitu port yang berkisar antara 0 hingga 1023.
Port number yang termasuk ke dalam well-known port, selalu
merepresentasikan layanan jaringan yang sama, dan ditetapkan oleh
Internet Assigned Number Authority (IANA). Beberapa di antara
port-port yang berada di dalam range Well-Known Port masih
belum ditetapkan dan direservasikan untuk digunakan oleh layanan
yang bakal ada pada masa depan. Well-known port didefinisikan
dalam RFC 1060.
b. Registered Port: Port-port yang digunakan oleh vendor-vendor
komputer atau jaringan yang berbeda untuk mendukung aplikasi
dan sistem operasi yang mereka buat. Registered port juga
52
diketahui dan didaftarkan oleh IANA tapi tidak dialokasikan secara
permanen, sehingga vendor lainnya dapat menggunakan port
number yang sama. Range registered port berkisar dari 1024 hingga
49151 dan beberapa port di antaranya adalah Dynamically Assigned
Port.
c. Dynamically Assigned Port: merupakan port-port yang ditetapkan
oleh sistem operasi atau aplikasi yang digunakan untuk melayani
request dari pengguna sesuai dengan kebutuhan. Dynamically
Assigned Port berkisar dari 1024 hingga 65536 dan dapat
digunakan atau dilepaskan sesuai kebutuhan.
Berikut beberapa well known port yang telah ditetapkan
penggunaannya oleh IANA.
No Port Protokol Keyword Digunakan oleh
20 TCP, UDP ftp-dataFile Transfer Protocol (default data)
21 TCP, UDP ftpFile Transfer Protocol (control), connection dialog
22 TCP, UDP SSH Putty
23 TCP, UDP telnet Telnet
24 TCP, UDP Any private mail system
25 TCP, UDP smtpSimple Mail Transfer Protocol; alias = mail
53 TCP, UDP domain Domain Name System Server
66 TCP, UDP sql*net Oracle SQL*NET
67 TCP, UDP bootpc DHCP/BOOTP Protocol Server
68 TCP, UDP bootpc DHCP/BOOTP Protocol Server
80 TCP, UDP www World Wide Web HTTP
109 TCP, UDP pop2Post Office Protocol version 2 (POP2); alias = postoffice
110 TCP, UDP pop3Post Office Protocol version 3 (POP3); alias = postoffice
123 TCP, UDP ntpNetwork Time Protocol; alias = ntpd ntp
137 TCP, UDPnetbios-ns
NetBIOS Name Service
138 TCP, UDPnetbios-dgm
NetBIOS Datagram Service
139 TCP, UDP netbios- NetBIOS Session Service
53
ssn
143 TCP, UDP imap2 Interim Mail Access Protocol v2
161 TCP, UDP snmpSimple Network Management Protocol
162 TCP, UDP snmptrap SNMP TRAP
194 TCP, UDP ircInternet Relay Chat (IRC) Protocol
220 TCP, UDP imap3Interactive Mail Access Protocol versi 3
Selengkapnya lihat http://tools.ietf.org/html/rfc1060
Tabel 2.5 Tabel penggunaan port dalam jaringan
Sebagai contohkomunikasi 2 komputer (klien dan server) adalah
kita browsing ke situs sekolah.sch.id maka komputer klien akan
membuka port diatas 1024 yang ditentukan secara acak oleh sistem
misalkan 1135 dan membuka port 80 pada server sekolah.sch.id. Dalam
hal ini terdapat 2 port yang terbuka yaitu port di komputer klien dan
port di komputer server. Hal ini dapat dilogikakan dengan ketika kita
akan membeli baju toko maka kita harus membuka pintu rumah agar
kita dapat berjalan menuju pintu toko. Dan toko baju kita tuju juga
harus membuka pintunya agar kita dapat masuk dan membeli baju
kemudian keluar menuju rumah kembali.Klien boleh membuka pintu
berapa saja, tetapi setiap toko baju harus membuka pintu 80. Jika ada
toko baju yang tidak membuka pintu 80 maka tidak akan bisa dikenali
oleh klien. Karena memang begitulah aturannya dalam jaringan
komputer.
Gambar 2.106 Cara Kerja Mail Server
54
1
2Klien IP Address
192.168.100.5
Web Server IP Address
192.168.100.1
Packet data dari klien maupun server sebelum dikirimkan selalu
melalui proses encapsulasi data, pada proses inilah data diberi
tambahan-tambahan informasi berupa IP Address Asal, IP Address
Tujuan, Protokol, Port Asal, Port Tujuan dll. Seperti pada gambar
ketika klien dengan IP Address 192.168.100.5 melakukan komunikasi
kepada server dengan IP Address 192.168.100.1 menggunakan layanan
web server, maka packet data yang dikirim (No.1) dari klien ke server
dapat digambarkan sebagai berikut :
ProtokolTCP
IP Asal192.168.100.5
IP Tujuan192.168.100.1
ISI DATArequest
Port Asal1135
Port Tujuan80
Gambar 2.107 Packet data request
Kemudian server yang menerima data permintaan (request) dari
klien akan memberikan jawaban (respon) sesuai dengan permintaan
klien dan membuat packet data yang akan dikirim kepada klien, paket
data jawaban (No.2) tersebut dapat digambarkan sebagai berikut :
ProtokolTCP
IP Asal192.168.100.1
IP Tujuan192.168.100.5
ISI DATArespon
Port Asal80
Port Tujuan1135
Gambar 2.108 Packet data respon
Perhatikan informasi tambahan yang disertakan dalam proses
encapsulasi data baik pada klien maupun pada server, dengan melihat
informasi tambahan yang disertakan maka klien dapat mengetahui
bahwa packet yang diterimanya benar-benar berasal dari server yang
diharapkan.
2.2.4 Perjalanan packet data dalam firewall
Dalam firewall terdapat 3 tables utama yang di dalam masing-
masing tabel memiliki beberapa chain / kolom sebagai tempat
dilakukannya proses inspection packet (pemeriksann packet) dan
pengambilan keputusan terhadap packet tersebut sesuai dengan aturan
yang ditetapkan oleh administrator. Masing-masing tabel memiliki
chain sebagai berikut :
55
a. Tabel mangle memiliki 4 chain / kolom yaitu pre-routing, forward,
input, output dan post-routing.
b. Tabel nat memiliki 3 chain / kolom yaitu pre-routing, output dan
post-routing.
c. Tabel filter memiliki 3 chain / kolom yaitu input, forward dan
output.
Gambar 2.109 Perjalanan packet firrewall
Setiap packet data yang masuk / keluar dari suatu host /
komputer harus melalui jalur sesuai gambar diatas. Yang mana setiap
packet data akan melewati chain-chain dari firewall sebagai sebagai
tempat dilaksanakannya proses inspection packet (pemeriksaan packet)
dan pengambilan keputusan terhadap packet tersebut sesuai dengan
aturan yang ditetapkan administrator.
a. Tampak pada gambar paket data masuk melalui interface kemudian
akan berjalan melewati jalur dan melewati beberapa pos
pemeriksaan (tabel dan kolom pada firewall). Pada pos-pos inilah
firewall melakukan packet inspection(pemerikasaan paket) terhadap
packet-packet data yang lewat sesuai dengan aturan yang telah
ditetapkan, kemudian akan membuat keputusan terhadap paket
tersebut.
56
b. Secara berturut-turut packet data akan melewati pemeriksaan pada
tabel mangle prerouting dan nat preprouting sesuai dengan aturan
yang ditetapkan pada tabel tersebut.
c. Kemudian packet data akan mengalami proses routing yang mana
packet data akan dilihat berdasarkan tujuannya :
Jika tujuan packet data adalah bukan untuk komputer itu sendiri
maka packet data akan diarahkan menuju tabel mangle forward
dan seterusnya.
Jika tujuan packet data adalah untuk komputer itu sendiri, maka
packet data akan diarahkan menuju tabel mangle input dan
seterusnya.
d. Proses pengambilan keputusan apakah paket diizinkan atau tidak
terjadi pada tabel filter baik input, forward, maupun output, dengan
pilihan :
Accept, packet data diterima (diizinkan lewat/masuk)
Drop, packet data ditolak dan dihancurkan
Reject, packet data ditolak dan dihancurkan tetapi sistem
mengirimkan pemberitahuan kepada pengirim packet bahwa
packet ditolak.
e. Pada tabel mangle (pre-routing, input, forward, output, post-
routing), keputusan yang dapat diambil bisanya berupa penghalusan
(mangle) paket, seperti TTL (Time To Live), TOS (Type Of Service),
dan MARK (Penandaan Packet).
f. Pada tabel nat (pre-routing, output, post routing) keputusan yang
dapat diambil biasanya berkaitan dengan network address
translation berupa :
Source nat, merubah alamat asal
Destination nat, merubah alamat tujuan
Masquerade, menyembunyikan alamat asal
Redirect, mengalihkan port packet data, dll
Dalam melakukan packet inspection pada masing-masing chain
terdapat 2 metode yang digunakan yaitu :
57
a. Black list
Yaitu dengan membuat daftar (list) terhadap packet-packet yang
tidak diizinkan melewati firewall. Pada metode ini selain packet
data yang berada pada daftar black list akan diizinkan untuk
melewati firewall.
b. White list
Metode ini merupakan kebalikan dari metode black list yaitu
dengan membuat daftar (list) terhadap packet-packet data yang
diizinkan melewati firewall. Pada metode ini berarti selain packet
data yang berada pada daftar white list tidak akan diizinkan
melewati firewall.
Dua meode ini memiliki kelebihan dan kekurangan masing-
masing yang mana seorang administrator harus dapat menentukan
metode mana yang lebih baik digunakan sesuai dengan aturan yang
akan ditetapkan pada firewall.
Secara default firewall tidak melakukan inspection packet
(pemeriksaan packet) jika kita tidak menentukannya, artinya secara
default firewall akan mengizinkan semua lalu lintas jaringan yang
melewatinya tanpa adanya suatu pemeriksaan.
2.2.5 Implementasi firewall dengan iptables pada linux debian lenny
Sebelum melakukan aturan pada firewall kita harus memahami
3 hal pokok yaitu :
a. Karakteristik packet-packet datayang akan kita saring lalu
lintasnya dengan firewall, karakteristik ini berdasarkan protokol
dan port yang akan digunakan untuk membedakan packet data satu
dengan yang lainnya, berikut ini karakteristik packet data yang
sering kita gunakan dalam aktifitas jaringan sehari-hari.
No Aplikasi Protokol Port
1 Ping ICMP Tidak menggunakan port.
2 DNS UDP 53
3 DHCP UDP 67 dan 68
58
4 Proxy Server TCP 3128 atau 8080
5 Web Server TCP 80
6 Mail Server TCP 25, 143 dan 110
7 FTP TCP 21
8 SSH TCP 22
9 Telnet TCP 23
Tabel 2.7 Port yang sering digunakan
Ping adalah aplikasi yang bekerja menggunakan protokol ICMP
dan menggunakan type untuk membedakan antar packet data, tidak
menggunakan port sebagaimana protokol TCP dan UDP. Type
tersebut diantaranya
No Type Keterangan
1 0Echo reply (untuk memberikan jawaban kepada klien yang mengirimkan echo request / ping)
2 3Destination unreachable (untuk memberikan jawaban jika tujuan tidak mampu dijangkau baik host, network, port, dll)
3 8 Echo Request (Untuk mengirimkan packet ping)
4 30Traceroute (untuk melakukan trace pada host tujuan)
Selengkapnya lihat http://en.wikipedia.org/wiki/Internet_Control_Message_Protocol
Tabel 2.8 Type packet icmp
b. Pemahaman terhadap topologi jaringan yang dibangun sangatlah
penting untuk mempermudahkan dalam menetapkan suatu aturan
pada firewall. Pemahaman yang paling penting berupa topologi
fisik dan pengaturan IP Address, karena firewall akan
menggunakan IP Address (baik per host maupun per network)
sebagai salah satu data yang digunakan dalam proses packet
inspection (pemeriksaan packet)
c. Pemahaman terhadap aplikasi firewall yang digunakan, hal in
sangat penting karena masing-masing aplikasi memiliki format
perintah atau cara konfigurasi yang berbeda-beda meskipun
tujuannya sama. Dalam sistem operasi linux aplikasi firewall yang
59
digunakan adalah iptables yang biasanya sudah terinstall
bersamaan dengan proses instalasi sistem operasi itu sendiri.
Iptables adalah sebuah tool dalam sistem operasi linux yang
berfungsi sebagai firewall yang secara default diinstall dihampir semua
distribusi linux. Iptables memiliki format perintah (sintaks) seperti
berikut :
iptables [-t table] command [match] [target/jump]
Gambar 2.110 Format perintah iptables
Penjelasannya sebagai berikut :
a. iptables
Mengaktifkan perintah iptables
b. –t tables
Menentukan tabel untuk menjalankan perintah iptables, iptables
memiliki 3 tabel utama yaitu mangle, nat, filter, penggunannya
disesuaikan dengan sifat dan karakteristik masing-masing.
Tables Keterangan-t mangle Menentukan perintah iptables berjalan
pada table mangle-t nat Menentukan perintah iptables berjalan
pada table nat-t filter Menentukan perintah iptables berjalan
pada table filter
Tabel 2.9 Tabel pada iptables
c. Command
Command pada baris perintah iptables akan memberitahukan apa
yang harus dilakukan terhadap lanjutan sintaks perintah. Umumnya
dilakukan penambahan atau penghapusan sesuatu dari tabel atau
yang lain. Beberapa command yang sering digunakan adalah :
Command Keterangan-A--append
Perintah ini menambahkan aturan pada akhir chain. Aturan akan ditambahkan di akhir baris pada chain
60
yang bersangkutan, sehingga akan dieksekusi terakhir
-D--delete
Perintah ini menghapus suatu aturan pada chain. Dilakukan dengan cara menyebutkan secara lengkap perintah yang ingin dihapus atau dengan menyebutkan nomor baris dimana perintah akan dihapus
-I--insert
Memasukkan aturan pada suatu baris di chain. Aturan akan dimasukkan pada baris yang disebutkan, dan aturan awal yang menempati baris tersebut akan digeser ke bawah. Demikian pula baris-baris selanjutnya.
-L--list
Perintah ini menampilkan semua aturan pada sebuah tabel. Apabila tabel tidak disebutkan, maka seluruh aturan pada semua tabel akan ditampilkan, walaupun tidak ada aturan sama sekali pada sebuah tabel.
-F--flush
Perintah ini mengosongkan aturan pada sebuah chain. Apabila chain tidak disebutkan, maka semua chain akan di-flush.
-P--policy
Perintah ini membuat kebijakan default pada sebuah chain. Sehingga jika ada sebuah paket yang tidak memenuhi aturan pada baris-baris yang telah didefinisikan, maka paket akan diperlakukan sesuai dengan kebijakan default ini.
Tabel 2.10 Command iptables
Contoh penggunaan command adalah sebagai berikut :
Sintaks Keterangan-A POSTROUTING Menambahkan aturan pada chain post
routing-P FORWARD DROP Membuat default policy drop pada
chain forward-L Menampilkan isi aturan pada satu
tabel
Tabel 2.11 Contoh command iptables
Selain itu command juga dapat dikombinasikan denan option
tertentu sehingga menghasilkan suatu variasi perintah seperti –v,
-n, -x, --modprobe dll
d. Match
Macth adalah pendefinisian kriteria terhadap packet data yang
diperiksa yang mana bila ditetmukan kecocokan antara kriteria
61
yang telah ditetapkan dengan packet data yang lewat maka akan
dilakukan pengambilan keputusan sesuai dengan aturan yang telah
ditetapkan. Match dibagi dalam beberapa kategori yaitu :
Generic Matches, yang berisi pendefinisian kriteria yang
berlaku secara umum, seperti :
Matches Keterangan-p--protocol
Digunakan untuk mengecek tipe protokol tertentu. Contoh protokol yang umum adalah TCP, UDP, ICMP dan ALL.
-s--src--source
Mencocokkan packet berdasarkan alamat IP asal. Alamat di sini bisa berbentuk alamat tunggal seperti atau suatu alamat network menggunakan netmask atau CIDR.
-d--dst--destination
Mecocokkan packet berdasarkan alamat tujuan. Penggunaannya sama dengan match –src
-i--in-interface
Mencocokkan packet berdasarkan interface di mana packet datang. Berlaku pada chain INPUT, FORWARD dan PREROUTING
-o--out-interface
Mencocokkan paket berdasarkan interface di mana paket keluar. Berlaku untuk chain OUTPUT, FORWARD dan POSTROUTING
Tabel 2.12 Generic matches iptables
Tanda inversi juga bisa diberlakukan di sini, misal kita
menghendaki semua protokol kecuali icmp, maka kita bisa
menuliskan --protokol !icmp yang berarti semua prptokol
kecuali icmp.
Implicit Matches, match yang spesifik untuk tipe protokol
tertentu. Implicit Match merupakan sekumpulan rule (aturan)
yang akan diload setelah tipe protokol disebutkan. Ada 3
Implicit Match berlaku untuk tiga jenis protokol, yaitu TCP
matches, UDP matches dan ICMP matches.
62
TCP matches
Matches Keterangan-sport--source-port
Mencocokkan packet berdasarkan port asal.
-dport--destination-port
Mencocokkan packet berdasarkan port tujuan. Penggunaan match ini sama dengan match --source-port.
--tcp-flags Mencocokkan paket berdasarkan TCP flags yang ada pada paket tersebut, seperti SYN, ACK, FIN, RST, URG, PSH, atau NONE dan ALL
--syn Memeriksa apakah flag SYN di-set dan ACK dan FIN tidak di-set
Tabel 2.13 TCP Matches iptables
Port dapat dituliskan dalam bentuk port tungga misal 80, 143,
juga bisa dituliskan untuk range port tertentu. Misalkan kita
ingin mendefinisikan range antara port 22 sampai dengan 80,
maka kita bisa menuliskan --sport 22:80.
Jika bagian salah satu bagian pada range tersebut kita
hilangkan maka hal itu bisa kita artikan dari port 0, jika bagian
kiri yang kita hilangkan, atau 65535 jika bagian kanan yang
kita hilangkan. Contohnya --sport :80 artinya paket
dengan port asal nol sampai dengan 80, atau --sport 1024:
artinya paket dengan port asal 1024 sampai dengan
65535.Match ini juga mengenal inversi.
UDP Matches
Matches Keterangan-sport--source-port
Mencocokkan packet berdasarkan port asal.
-dport--destination-port
Mencocokkan packet berdasarkan port tujuan.
Tabel 2.14 UDP Matches iptables
63
ICMP Matches
Matches Keterangan--icmp-type Mencocokkan packet berdasarkan type
icmp
Tabel 2.15 ICMP Matches iptables
Explicit Matches, yaitu match yang ditetapkan tidak tidak
spesifik berdasarkan protokol tertentu, seperti :
MAC Address Matches, berfungsi melakukan pencocokan
paket berdasarkan MAC source address, Contoh sintaksnya :
–m mac –mac-source00:00:00:00:00:01
Multiport Matches,mendefinisikan port atau port range lebih
dari satu, yang berfungsi jika ingin didefinisikan aturan yang
sama untuk beberapa port. Tapi hal yang perlu diingat bahwa
kita tidak bisa menggunakan port matching standard dan
multiport matching dalam waktu yang bersamaan. Contoh
sintaksnya :
–m multiport --source-port 22,53,80,110
State Matches, mendefinisikan state apa saja yang cocok. Ada
4 state yang berlaku, yaitu NEW, ESTABLISHED, RELATED
dan INVALID. NEW digunakan untuk paket yang akan
memulai koneksi baru. ESTABLISHED digunakan jika
koneksi telah tersambung dan paket-paketnya merupakan
bagian dari koneki tersebut. RELATED digunakan untuk
paket-paket yang bukan bagian dari koneksi tetapi masih
berhubungan dengan koneksi tersebut, contohnya adalah FTP
data transfer yang menyertai sebuah koneksi TCP atau UDP.
INVALID adalah paket yang tidak bisa diidentifikasi, bukan
merupakan bagian dari koneksi yang ada. Contoh sintaksnya
adalah :
–m state --state RELATED,ESTABLISHED
64
e. target/jump
Target/jump adalah perlakuan yang diberikan terhadap paket-paket
yang memenuhi kriteria atau match yang telah ditetapkan.
Beberapa target yang tidak memerlukan option tambahan
diantaranya :
Target Keterangan-j ACCEPT Target ini akan menerima packet apabila
sesuai dengan kriteria/match yang ditetapkan.
-j DROP Target ini akan menolak packet apabila sesuai dengan kriteria/match yang ditetapkan, tanpa mengirim informasi tambahan kepada host pengirim.
-j RETURN Target ini akan mengembalikan packet ke chain diatasnya atau pada aturan default dari chain tersebut.
-j MIRROR Target ini akan membalik source address menjadi destination address.
Tabel 2.16 Target iptables
Sedangkan beberapa target yang memerlukan option tambahan
diantaranya :
LOG Target
Ada beberapa option yang bisa digunakan bersamaan dengan
target ini. Yang pertama adalah yang digunakan untuk
menentukan tingkat log. Tingkatan log yang bisa digunakan
adalah debug, info, notice, warning, err, crit, alert dan
emerg.Yang kedua adalah -j LOG --log-prefix yang
digunakan untuk memberikan string yang tertulis pada awalan
log, sehingga memudahkan pembacaan log tersebut. Contoh
sintaksnya adalah :
–j LOG --log-level debug
–j LOG --log-prefix “INPUT Packets”
REJECT Target
Secara umum, REJECT bekerja seperti DROP, yaitu memblok
paket dan menolak untuk memproses lebih lanjut paket
tersebut. Tetapi, REJECT akan mengirimkan error message ke
65
host pengirim paket tersebut. REJECT bekerja pada chain
INPUT, OUTPUT dan FORWARD atau pada chain tambahan
yang dipanggil dari ketiga chain tersebut. Contoh sintaksnya
adalah :
–j REJECT --reject-with icmp-host-unreachable
Ada beberapa tipe pesan yang bisa dikirimkan yaitu icmp-net-
unreachable, icmp-host-unreachable, icmp-port-unreachable,
icmp-proto-unrachable, icmp-net-prohibited dan icmp-host-
prohibited.
SNAT Target
Target ini berguna untuk melakukan perubahan alamat asal
dari paket (Source Network Address Translation).Target ini
berlaku untuk tabel nat pada chain POSTROUTING, dan
hanya di sinilah SNAT bisa dilakukan.Contoh sintaksnya
adalah :
–j SNAT --to-source 194.236.50.155
DNAT Target
Berkebalikan dengan SNAT, DNAT digunakan untuk
melakukan translasi field alamat tujuan (Destination Network
Address Translation) pada header dari paket-paket yang
memenuhi kriteria match.DNAT hanya bekerja untuk tabel nat
pada chain PREROUTING dan OUTPUT. Contoh sintaksnya
adalah :
-j DNAT --to-destination 192.168.0.2
Target SNAT atau DNAT juga dapat diberi option tambahan
dengan no port dan dipisahkan dengan tanda titik dua (:)
setelah IP Address contoh :
-j SNAT --to-source 194.236.50.160:1024-32000
-j DNAT --to-destination 192.168.0.2:3128
MASQUERADE Target
Secara umum, target MASQUERADE bekerja dengan cara
yang hampir sama seperti target SNAT, tetapi target ini tidak
memerlukan option --to-source. MASQUERADE memang
66
didesain untuk bekerja pada komputer dengan koneksi yang
tidak tetap, seperti dial-up atau DHCP yang akan memberi
pada kita nomor IP yang berubah-ubah.Seperti halnya pada
SNAT, target ini hanya bekerja untuk tabel nat pada chain
POSTROUTING. Contoh sintaksnya adalah :
–j MASQUERADE
REDIRECT Target
Target REDIRECT digunakan untuk mengalihkan jurusan
(redirect) paket ke mesin itu sendiri.Target ini umumnya
digunakan untuk mengarahkan paket yang menuju suatu port
tertentu untuk memasuki suatu aplikasi tertentu, misalkan
proxy, lebih jauh lagi hal ini sangat berguna untuk membangun
sebuah sistem jaringan yang menggunakan transparent
proxy.Contohnya kita ingin mengalihkan semua koneksi yang
menuju port http untuk memasuki aplikasi http proxy misalnya
squid.Target ini hanya bekerja untuk tabel nat pada chain
PREROUTING dan OUTPUT. Contoh sintaksnya adalah :
–j REDIRECT --to-port 3128
Untuk memasukkan perintah iptables dalam linux terdapat
beberapa cara yang dapat digunakan :
a. Diketik langsung pada konsole linux. Cara ini merupakan cara
paling mudah, dan perintah iptables juga akan langsung dijalankan
(execute) setelah kita menekan enter. Cara ini akan menyimpan
perintah iptables pada cache linux, sehingga jika komputer mati
atau restart maka perintah tersebut hilang dan kita harus
mengetikkan lagi.
b. Diketik pada file rc.local. Dengan cara ini perintah iptables
diketik dan disimpan pada file rc.local sehingga perintah iptables
akan dijalankan bersamaan dengan kita menjalankan file rc.local
baik dengan cara dipanggil (execute) melalui konsole linux atau
ketika komputer dihidupkan. File rc.local adalah file yang selalu
67
dijalankan oleh sistem operasi linux ketika proses booting. Cara ini
akan efektif jika perintah iptables sedikit dan akan menyulitkan
ketika perintah iptables banyak, terutama jika terjadi maintenance
dan error.
c. Diketik pada file tersendiri kemudian file tersebut dijalankan
(execute) melalui file rc.local agar ketika booting file tersebut juga
ikut dijalankan. Cara ini paling baik dan paling disarankan terutama
jika perintah iptables banyak dan kompleks. Untuk dapat
dijalankan file tersebut harus memiliki hak akses 755.
Sebelum membuat aturan pada firewall, terlebih dahulu kita pahami
topologi jaringan yang kita bangun yaitu seperti gambar berikut :
Gambar 2.6 Topologi yang dibangun
Dari gambar kita dapat definisikan hal-hal berikut :
a. Alamat IP Klien : 192.168.100.5/24
b. Alamat Network Klien : 192.168.100.0/24
c. IP Internal Firewall : 192.168.100.1/24
d. IP eksternal Firewall : 172.16.16.23/28 (menyesuaikan)
e. Network Internal : Network klien
f. Network Ekternal : Network internet
Sebagai contoh kita akan menetapkan aturan firewall (rule)
sebagai berikut pada komputer server dengan metode black list.
a. Network komputer klien tidak diizinkan melakukan ping terhadap
network external (internet).
- Aturan ini diletakkan pada chain forward tabel filter.
- Nantinya komputer klien tidak dapat melakukan ping ke
internet, tetapi masih dapat ping ke komputer server.
68
Klien Firewall Interne
t
- Format sintaksnya adalah :
iptables –t filter –A FORWARD –s 192.168.100.0/24 –p
icmp –j DROP
b. IP komputer klien tidak diizinkan mengakses layanan web server
pada server.
- Aturan ini diletakkan pada chain input tabel filter
- Nantinya komputer klien (IP klien) tidak dapat mengakses
webserver, tetapi dapat mengakses webserver di internet. Jika IP
Klien diganti maka akan tetap dapat mengakses webserver.
- Format sintaksnya adalah :
iptables –t filter –A INPUT –s 192.168.100.5 –p tcp
–dport 80 –j DROP.
Selanjutnya ketik 2 perintah iptables tersebut pada
file rc.local seperti pada gambar berikut :
69