bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
Mengadministrasi Server Dalam Jaringan
1. 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 :
Klien
DNS Server
Internet
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 langkahlangkah konfigurasi DNS Server :
a. Login sebagai root, setiap akan melakukan konfigurasi pastikan
login sebagai user root.
1
2. 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
/etc/bind/named.conf.local
dengan
perintah
#pico
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
3. (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 :
Gambar 2.9 Mengcopy file forward dan revers
f. Edit
file
db.sekolah.sch.iddengan
perintah
#pico
/etc/bind/db.sekolah.sch.id
3
4. 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
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
4
5. 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
Gambar 2.11 Konfigurasi file db.100.192.168
5
6. Keterangan script
Parameter-parameter lain disamakan dengan file forward
PTR
: menyatakan
Dalam
pointer,
praktek
192.168.100.1
ini
yaitu
reversed-address.
menyatakan
dipetakan
ke
bahwa
nama
IP
domain
sekolah.sch.id. Inilah proses penerjemahan IP
Address menjadi alamat domain
h. Kemudian
restart
service
#/etc/init.d/bind9 restart
bind
dengan
perintah
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
/etc/resolv.conf
resolv.conf
dengan
perintah
#pico
seperti berikut :
Gambar 2.14 Konfigurasi file resolv.conf
6
7. 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
Gambar 2.17 Tes dengan perintah dig
7
8. 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.
c. Menentukan forward dari DNS server berikutnya apabila request
dari klien tidak dilayaninya, seperti klien menanyakan domain yang
tidak menjadi tanggung jawabhnya.
8
9. 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
Kemudian ikuti langkah-langkah berikut :
a. Login sebagai root
9
10. 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
/etc/dhcp3/dhcpd.conf
dengan
perintah
#pico
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
utama (Preferred) dan yang kedua sebagai alternatif (Alternate)
jika DNS server yang pertama down.
10
11. 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.
Gambar 2.24 Konfigurasi dhcpd.conf2
Keterangan Script
subnet 172.16.16.16 netmask 255.255.255.240 {
11
12. 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/dhcp3server 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).
g. Untuk memastikan tidak terdapat error, lihat file log system dengan
perintah #cat /var/log/syslog
12
13. 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
i. Untuk melihat IP Address yang kita dapatkan pada local area
connection klik details maka akan terlihat IP Address yang
didapatkan dari server DHCP.
13
14. 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
15. 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
/etc/squid/squid.conf
squid.conf
dengan
perintah
#pico
kemudian lakukan konfigurasi sebagai
berikut, konfigurasi ini adalah konfigurasi minimal agar proxy
dapat berjalan.
Gambar 2.34 Konfigurasi port proxy
15
16. 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
16
17. network 192.168.100.0/24. Ini berarti seluruh Alamat IP yang
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 manager
17
18. Keterangan
cache_mgr jadmiko@ymail.com
Menentukan
email
administrator
dari
proxy
server
yaitu
jadmiko@ymail.com
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
19. 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 -–toport 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
20. 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
21. 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
22. 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
23. 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
/etc/apache2/apache2.conf
dengan
perintah
#pico
dan tambahkan script ServerName
dibawah ServerRoot
Gambar 2.49 Konfigurasi server name
23
24. 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/sitesavailable/default
dan edit baris script ServerAdmin.
Gambar 2.50 Konfigurasi Server Admin
Keterangan script
ServerAdmin jadmiko@ymail.com
Menentukan alamat email dari administrator yang mengelola
web server yaitu jadmiko@ymail.com
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
25. 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
26. 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
27. 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
28. 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
29. 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 username@sekolah.sch.id
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
30. 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
31. 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
32. 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
33. 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
/etc/postfix/main.cf
Maildir/
main.cf
dengan
perintah
#pico
dan tambahkan script home_mailbox =
pada baris paling bawah. (Perhatikan penggunaan huruf
besar dan kecilnya)
Gambar 2.78Konfigurasi main.cf
33
34. 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
/etc/apache2/apache2.conf
dengan
perintah
#pico
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
35. 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
36. 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
/etc/bind/db.sekolah.sch.id
dengan
perintah
#pico
dan tambahkan script untuk
catatan untuk mail exchange serverdan sub domain webmail.
36
37. 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
memproses
exchanger
atau
serveryang
meneruskan
mail
digunakan
yang
untuk
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
38. Gambar 2.86 Mengaktifkan virtualhost pada apache
Keterangan
<VirtualHost *:80>
Mengaktifkan virtual host pada port 80, yaitu seolah-olah
memiliki
2
host
/
www.sekolah.sch.id
komputer
dan
sebagai
sebagai
web
mail
server
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
39. 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 pureftpd.
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
40. 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
41. 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 nonanonymous
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
42. 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
43. 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
44. 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
45. 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
46. 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
47. 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
48. 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 opsiopsi / 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
49. -
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
50. 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
51. 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
52. 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
53. 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-data
21
TCP, UDP
ftp
22
TCP, UDP
SSH
Putty
23
TCP, UDP
telnet
Telnet
24
TCP, UDP
25
TCP, UDP
smtp
Simple 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
pop2
110
TCP, UDP
pop3
123
TCP, UDP
ntp
137
TCP, UDP
netbios-ns
138
TCP, UDP
139
TCP, UDP
File Transfer Protocol (default
data)
File Transfer Protocol (control),
connection dialog
Any private mail system
netbiosdgm
netbiosssn
Post Office Protocol version 2
(POP2); alias = postoffice
Post Office Protocol version 3
(POP3); alias = postoffice
Network Time Protocol; alias =
ntpd ntp
NetBIOS Name Service
NetBIOS Datagram Service
NetBIOS Session Service
53
54. 143
TCP, UDP
imap2
Interim Mail Access Protocol v2
161
TCP, UDP
snmp
Simple Network Management
Protocol
162
TCP, UDP
snmptrap
SNMP TRAP
194
TCP, UDP
irc
220
TCP, UDP
imap3
Internet Relay Chat (IRC)
Protocol
Interactive 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.
1
2
Klien IP Address
192.168.100.5
Web Server IP Address
192.168.100.1
Gambar 2.106 Cara Kerja Mail Server
Packet data dari klien maupun server sebelum dikirimkan selalu
melalui proses encapsulasi data, pada proses inilah data diberi
54
55. 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 :
Protokol
TCP
IP Asal
192.168.100.5
IP Tujuan
192.168.100.1
ISI DATA
request
Port Asal
1135
Port Tujuan
80
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 :
Protokol
TCP
IP Asal
192.168.100.1
IP Tujuan
192.168.100.5
ISI DATA
respon
Port Asal
80
Port Tujuan
1135
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 masingmasing 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 :
a. Tabel mangle memiliki 4 chain / kolom yaitu pre-routing, forward,
input, output dan post-routing.
55
56. 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
57. 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, postrouting), 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
58. 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 masingmasing 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
59. 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
1
0
2
3
3
8
4
30
Keterangan
Echo reply (untuk memberikan jawaban kepada
klien yang mengirimkan echo request / ping)
Destination unreachable (untuk memberikan
jawaban jika tujuan tidak mampu dijangkau baik
host, network, port, dll)
Echo Request (Untuk mengirimkan packet ping)
Traceroute (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
60. 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
-t mangle
-t nat
-t filter
Keterangan
Menentukan perintah iptables berjalan
pada table mangle
Menentukan perintah iptables berjalan
pada table nat
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
Perintah ini menambahkan aturan pada akhir chain.
--append Aturan akan ditambahkan di akhir baris pada chain
60
61. yang bersangkutan, sehingga akan dieksekusi
terakhir
-D
Perintah ini menghapus suatu aturan pada chain.
--delete Dilakukan dengan cara menyebutkan secara
lengkap perintah yang ingin dihapus atau dengan
menyebutkan nomor baris dimana perintah akan
dihapus
-I
Memasukkan aturan pada suatu baris di chain.
--insert Aturan akan dimasukkan pada baris yang
disebutkan, dan aturan awal yang menempati baris
tersebut akan digeser ke bawah. Demikian pula
baris-baris selanjutnya.
-L
Perintah ini menampilkan semua aturan pada
--list
sebuah tabel. Apabila tabel tidak disebutkan, maka
seluruh aturan pada semua tabel akan ditampilkan,
walaupun tidak ada aturan sama sekali pada sebuah
tabel.
-F
Perintah ini mengosongkan aturan pada sebuah
--flush
chain. Apabila chain tidak disebutkan, maka semua
chain akan di-flush.
-P
Perintah ini membuat kebijakan default pada
--policy 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
-A POSTROUTING
-P FORWARD DROP
-L
Keterangan
Menambahkan aturan pada chain post
routing
Membuat default policy drop pada
chain forward
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
62. 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
-p
--protocol
-s
--src
--source
-d
--dst
--destination
-i
--in-interface
-o
--out-interface
Keterangan
Digunakan untuk mengecek tipe
protokol tertentu. Contoh protokol
yang umum adalah TCP, UDP,
ICMP dan ALL.
Mencocokkan packet berdasarkan
alamat IP asal. Alamat di sini bisa
berbentuk alamat tunggal seperti atau
suatu alamat network menggunakan
netmask atau CIDR.
Mecocokkan packet berdasarkan
alamat tujuan. Penggunaannya sama
dengan match –src
Mencocokkan packet berdasarkan
interface di mana packet datang.
Berlaku
pada
chain
INPUT,
FORWARD dan PREROUTING
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
63. TCP matches
Matches
-sport
--source-port
-dport
--destination-port
--tcp-flags
--syn
Keterangan
Mencocokkan packet berdasarkan
port asal.
Mencocokkan packet berdasarkan
port tujuan. Penggunaan match ini
sama dengan match --source-port.
Mencocokkan paket berdasarkan
TCP flags yang ada pada paket
tersebut, seperti SYN, ACK, FIN,
RST, URG, PSH, atau NONE dan
ALL
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
-sport
--source-port
-dport
--destination-port
Keterangan
Mencocokkan packet berdasarkan
port asal.
Mencocokkan packet berdasarkan
port tujuan.
Tabel 2.14 UDP Matches iptables
63
64. ICMP Matches
Matches
--icmp-type
Keterangan
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
65. 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
Target ini akan menerima packet apabila
sesuai
dengan
kriteria/match
yang
ditetapkan.
Target ini akan menolak packet apabila
sesuai
dengan
kriteria/match
yang
ditetapkan, tanpa mengirim informasi
tambahan kepada host pengirim.
Target ini akan mengembalikan packet ke
chain diatasnya atau pada aturan default
dari chain tersebut.
Target ini akan membalik source address
menjadi destination address.
-j ACCEPT
-j DROP
-j RETURN
-j MIRROR
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
66. 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-netunreachable, icmp-host-unreachable, icmp-port-unreachable,
icmp-proto-unrachable, icmp-net-prohibited dan icmp-hostprohibited.
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
67. 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
68. 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 :
Klien
Firewall
Internet
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
69. -
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