Anda di halaman 1dari 26

IMPLEMETASI IPTABLES SEBAGAI FILTERING FIREWALL

Disusun untuk memenuhi tugas mata kuliah Bahasa Indonesia

Disusun Oleh :
YUNIKO DWI ANGGORO
M3209091
TEKNIK INFORMATIKA - D

PROGRAM D3 TEKNIK INFORMATIKA


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SEBELAS MARET SURAKARTA
SURAKARTA
2010
ABSTRAK

Anggoro, Yuniko Dwi. 2010. Karya Tulis Ilmiah. Implementasi IPTables Sebagai
Filtering Firewall. Universitas Sebelas Maret Surakarta. Kata kunci
IPTables, Filtering, Firewall.

Karya tulis ini mengambil tema pengaruh implementasi IPTables sebagai


filtering firewall. Dalam hal penelitian, penulis menggunakan metode literature
yang relevan dengan bahan penelitian. Firewall adalah sebuah sistem pengaman,
jadi firewall bisa berupa apapun baik hardware maupun software. Firewall dapat
digunakan untuk memfilter paket-paket dari luar dan dalam jaringan di mana ia
berada. Jika pada kondisi normal semua orang dari luar jaringan dapat bermain-
main ke komputer, dengan firewall semua itu dapat diatasi dengan mudah.
Firewall merupakan perangkat jaringan yang berada di dalam kategori perangkat
Layer 3 (Network layer) dan Layer 4 (Transport layer) dari protocol 7 OSI layer.
IPTables memilki banyak sekali keunggulan dalam implementasinya diantaranya:
IPTables memiliki kemampuan untuk melakukan Connection Tracking Capability
yaitu kemampuan untuk inspeksi paket serta bekerja sama dengan ICMP dan UDP
sebagaimana koneksi TCP, Menyederhanakan perilaku paket-paket dalam
negosiasi built in chain, dan lain-lainnya. Tapi Yang terpenting adalah
Implementasi IPTables sebagai firewall sangat murah dan memiliki tingkat
kemanan yang baik.
KATA PENGANTAR

Dengan memanjatkan puji syukur kehadlirat allah SWT. atas segala


rahmat, taufiq serta hidayahnya, sehingga tersusun karya tulis yang sederhana ini.
Shalawat serta salam semoga tetap tercurahkan kepada junjungan kita Nabi
Muhammad SAW. yang telah menyampaikan dan menjelaskan hukum-hukum
yang telah ditentukan oleh Allah SWT.
Atas berkat rahmat serta hidayah Allah SWT. maka Penulis dapat
menyelesaikan penyusunan Karya Tulis ini. Adapun tujuan penulisan karya tulis
ini diharapkan dapat menambah pengetahuan dan wawasan kita dalam
menghadapi kemajuan teknologi informasi dan komunikasi di era globalisasi ini.
Sebagai latihan dasar dalam pembuatan Karya Tulis, maka dalam
kesempatan ini Penulis memberi judul " Implementasi IPTables Sebagai
Filtering Firewall ". Harapan penulis dengan sedikit sumbangsih ini dapat
memberikan sesuatu yang bermanfaat kepada Penulis khususnya dan khalayak
ramai pada umumnya. Mudah-mudahan Karya Tulis yang singkat lagi sederhana
ini dapat mendorong penyusun untuk lebih giat belajar serta menuntut ilmu
dengan sebaik-baiknya.
Penulis menyadari bahwa masih banyak kekurangan dalam penyusunan
karya tulis ini. Karena terbatasnya pengetahuan penulis, penulis mengharapkan
kritik dan saran yang bersifat membangun untuk kesempurnan karya tulis ini.
Akhir kata semoga karya tulis ini bermanfaat bagi penulis dan bagi
pembaca budiman, semoga Allah SWT. senantiasa memberikan Rahmat, Taufiq
Hidayah, dan Inayah-Nya kepada kita semua. Amin

Surakarta, November 2010

Penulis
DAFTAR ISI

Halaman Judul........................................................................................... i
Abstrak....................................................................................................... ii
Kata Pengantar........................................................................................... iii
Daftar Isi.................................................................................................... iv

BAB I. PENDAHULUAN
A. Latar Belakang............................................................................... a
B. Rumusan Masalah.......................................................................... a
C. Tujuan Penulisan........................................................................... a
D. Metode Penelitian.......................................................................... a

BAB II. LANDASAN TEORI


A. Firewall.......................................................................................... a

BAB III. ISI


A. As
BAB I
PENDAHULUAN

A. Latar Belakang
Keamanan jaringan, PC, server-server, dan perangkat komputer
yang lainnya memang merupakan faktor yang cukup penting untuk
diperhatikan saat ini. Jika beberapa dekade yang lalu keamanan jaringan
masih ditempatkan pada urutan prioritas yang rendah, namun akhir-akhir
ini perilaku tersebut harus segera diubah. Pasalnya, kejahatan dengan
menggunakan bantuan komputer, media komunikasi, dan perangkat
elektronik lainnya meningkat sangat tajam belakangan. Hal ini sangat
kontras dengan perkembangan kebutuhan perangkat komputer untuk
kehidupan sehari-hari yang juga semakin meninggi. Tidak hanya di dalam
kegiatan bisnis saja, kehidupan rumah tangga pun sudah sangat relevan
jika dilengkapi dengan sebuah komputer. Maka dari itulah, mengapa
keamanan jaringan komputer dan PC menjadi begitu penting untuk
diperhatikan saat ini.
Apalagi jika kebutuhannya sudah berhubungan dengan kegiatan
bisnis, dan kegiatan bisnis tersebut banyak berhubungan dengan server
yang dapat diakses dari mana saja atau dengan koneksi Internet yang aktif
24x7. Tentu keamanan komunikasi data harus menjadi
prioritas nomor satu. Mengapa demikian, karena semua fasilitas tersebut
bisa juga diartikan sebagai titik celah baru menuju ke jaringan pribadi.
Tidak bisa membiarkan begitu saja perangkat komputer tanpa perlindungan
dalam dunia Internet yang sebenarnya. Jika dibiarkan, tentu segala macam
jenis pengganggu akan muncul di komputer. Mulai dari virus sampai hacker
yang menanam backdoor akan menggunakan komputer sebagai alat
bersenang-senang.
Sangat penting memang untuk rajin melakukan patch dan update
terhadap software-software bug yang gunakan di komputer. Karena hal ini
cukup menolong untuk sedikit menyulitkan para hacker dan pengganggu
lain untuk bisa bersenang-senang dengan komputer. Namun rasanya, patch
yang up-to-date saja belum cukup untuk melindungi resource yang
berharga di dalam komputer. Maka dari itu, rasanya cukup penting untuk
bisa membatasi apa dan siapa saja yang boleh masuk dan keluar dari dan
ke perangkat komputer. Semua proses ini bisa dilakukan dengan
mengandalkan sebuah sistem pengaman khusus yang biasanya disebut
dengan istilah firewall atau IP filter.

B. Rumusan Masalah
Rumusan masalah yang diangkat dalam penelitian ini adalah :
Bagaimana implementasi IPTables sebagai filtering firewall ?

C. Tujuan Penulisan
Adapun Tujuan penulis membuat karya tulis ini adalah sebagai berikut :
1. Pembaca mengetahui alasan penulis mebuat IPTables sebagai solusi
dalam implementasi Firewall untuk kemanan Jaringan komputer.
2. Pembaca mengetahui Karakteristik IPTables.
3. Pembaca mengetahui Syntax pada IPTables dalam implementasinya.
4. Pembaca memiliki pandangan kedepan mengenai pengamanan
jaringan komputer.

D. Metode Penelitian
Metode penelitian yang dilakukan oleh penulis adalah metode
literature, yaitu dengan literature dari materi – materi yang ada pada buku
dan internet. Selain itu metode yang digunakan adalah metode observasi
dengan pengumpulan data menggunakan indera.
BAB II
LANDASAN TEORI

Mungkin banyak orang khususnya mahasiswa ilmu komputer yang sudah


akrab dengan istilah ini. Namun pada saat ini saya coba memberi penjelasan
singkat mengenai firewall. Firewall atau dalam arti harafiahnya adalah tembok api
merupakan sebuah sistem yang memiliki tugas utama menjaga keamanan dari
jaringan komputer dan semua perangkat yang ada di dalamnya.
Firewall adalah sebuah sistem pengaman, jadi firewall bisa berupa apapun
baik hardware maupun software. Firewall dapat digunakan untuk memfilter paket-
paket dari luar dan dalam jaringan di mana ia berada. Jika pada kondisi normal
semua orang dari luar jaringan dapat bermain-main ke komputer, dengan firewall
semua itu dapat diatasi dengan mudah.
Firewall merupakan perangkat jaringan yang berada di dalam kategori
perangkat Layer 3 (Network layer) dan Layer 4 (Transport layer) dari protocol 7
OSI layer. Seperti diketahui, layer 3 adalah layer yang mengurus masalah
pengalamatan IP, dan layer 4 adalah menangani permasalahan port-port
komunikasi (TCP/UDP). Pada kebanyakan firewall, filtering belum bisa dilakukan
pada level data link layer atau layer 2 pada 7 OSI layer. Jadi dengan demikian,
sistem pengalamatan MAC dan frame-frame data belum bisa difilter. Maka dari
itu, kebanyakan firewall pada umumnya melakukan filtering dan pembatasan
berdasarkan pada alamat IP dan nomor port komunikasi yang ingin dituju atau
diterimanya.
Firewall yang sederhana biasanya tidak memiliki kemampuan melakukan
filterin terhadap paket berdasarkan isi dari paket tersebut. Sebagai contoh, firewall
tidak memiliki kemampuan melakukan filtering terhadap e-mail bervirus yang
download atau terhadap halaman web yang tidak pantas untuk dibuka. Yang bisa
dilakukan firewall adalah melakukan blokir terhadap alamat IP dari mail server
yang mengirimkan virus atau alamat halaman web yang dilarang untuk dibuka.
Dengan kata lain, firewall merupakan sistem pertahanan yang paling depan untuk
jaringan.
Tetapi, apakah hanya sampai di situ saja fungsi dari perangkat firewall?
Ternyata banyak firewall yang memiliki kelebihan lain selain daripada filtering IP
address saja. Dengan kemampuannya membaca dan menganalisis paket-paket data
yang masuk pada level IP, maka firewall pada umumnya memiliki kemampuan
melakukan translasi IP address. Translasi di sini maksudnya adalah proses
mengubah sebuah alamat IP dari sebuah alamat yang dikenal oleh jaringan diluar
jaringan pribadi, menjadi alamat yang hanya dapat dikenal dan dicapai dari
jaringan lokal saja. Kemampuan ini kemudian menjadi sebuah fasilitas standar
dari setiap firewall yang ada di dunia ini. Fasilitas ini sering kita kenal dengan
istilah Network Address Translation (NAT).

Gambar 1. Firewall

How to make Firewall ?


Firewall bisa didapatkan dengan berbagai cara. Jika tidak ingin repot-repot
membuat dari nol, Harus mengeluarkan uang yang cukup banyak untuk membeli
perangkat keras firewall yang sudah jadi dan tinggal pasang saja di jaringan.
Tetapi perlu diingat, tidak semua perangkat keras firewall dapat bekerja hebat
dalam melakukan IP filtering. Jadi akan percuma saja uang yang dikeluarkan jika
membeli firewall yang tidak andal.
Jika mau sedikit repot, namun hasilnya mungkin akan memuaskan, buat
saja sendiri perangkat firewall. Yang perlukan hanyalah sebuah PC dengan
processor dan memory yang lumayan besar dan sebuah aplikasi firewall yang
canggih dan lengkap yang dapat memenuhi semua kebutuhan.
Aplikasi firewall yang lengkap dan canggih pada umumnya juga
mengharuskan mengeluarkan kocek yang tidak sedikit. Seperti misalnya
Checkpoint yang sudah sangat terkenal dalam aplikasi firewall, untuk
memilikinya harus merogoh kocek yang lumayan banyak pula.
Namun jika pecinta produk-produk open source dan sudah sangat familiar
dengan lingkungan open source seperti misalnya operating system Linux, ada satu
aplikasi firewall yang sangat hebat. Aplikasi ini tidak hanya canggih dan banyak
fasilitasnya, namun aplikasi ini juga tidak akan membuat kantong dirogoh dalam-
dalam. Bahkan bisa mendapatkannya gratis karena aplikasi ini pada umumnya
merupakan bawaan default setiap distro Linux. Aplikasi dan system firewall di
sistem open source tersebut dikenal dengan nama IPTables.
Dengan menggunakan IPTables, dapat membuat firewall yang cukup
canggih dengan program open source yang bisa dengan mudah dapatkan di
Internet. Memang perlu diakui, firewall dengan menggunakan IPTables cukup
sulit bagi pemula baik di bidang networking maupun pemula di bidang operating
system Linux. Namun jika pelajari lebih lanjut, sebenarnya firewall ini memiliki
banyak sekali fitur dan kelebihan yang luar biasa.

Why IPTABLES ?
IPTables merupakan sebuah fasilitas tambahan yang tersedia pada setiap
perangkat komputer yang diinstali dengan sistem operasi Linux dan resmi
diluncurkan untuk massal pada LINUX 2.4 kernel pada January 2001
(www.netfilter.org). Harus mengaktifkannya terlebih dahulu fitur ini pada saat
melakukan kompilasi kernel untuk dapat menggunakannya. IPTables merupakan
fasilitas tambahan yang memiliki tugas untuk menjaga keamanan perangkat
komputer dalam jaringan. Atau dengan kata lain, IPTables merupakan sebuah
firewall atau program IP filter build-in yang disediakan oleh kernel Linux untuk
tetap menjaga agar perangkat aman dalam berkomunikasi.
Mengapa Linux bersusah payah menyediakan fasilitas ini untuk? Karena
dari dulu Linux memang terkenal sebagai operating system yang unggul dalam
segi keamanannya. Mulai dari kernel Linux versi 2.0, Linux sudah memberikan
fasilitas penjaga keamanan berupa fasilitas bernama ipfwdm. Kemudian pada
kernal 2.2, fasilitas bernama ipchain diimplementasikan di dalamnya dan
menawarkan perkembangan yang sangat signifikan dalam menjaga keamanan.
Sejak kernel Linux memasuki versi 2.4, sistem firewall yang baru
diterapkan di dalamnya. Semua jenis firewall open source yang ada seperti
ipfwadm dan ipchains dapat berjalan di atasnya. Tidak ketinggalan juga, IPTables
yang jauh lebih baru dan canggih dibandingkan keduanya juga bisa berjalan di
atasnya. Maka itu, IPTables sangatlah perlu untuk dipelajari untuk yang sedang
mempelajari operating system Linux atau bahkan yang sudah menggunakannya.
Karena jika menguasai IPTables, mengamankan jaringan pribadi orang lain
menjadi lebih hebat.

Fitur yang dimiliki IPTables:


1. Connection Tracking Capability yaitu kemampuan unutk inspeksi paket
serta bekerja dengan icmp dan udp sebagaimana koneksi TCP.
2. Menyederhanakan perilaku paket-paket dalam melakukan negosiasi built
in chain (input,output, dan forward).
3. Rate-Limited connection dan logging capability. Kita dapat membatasi
usaha-usaha koneksi sebagai tindakan preventif serangan Syn flooding
denial of services(DOS).
4. Kemampuan untuk memfilter flag-flag dan opsi tcp dan address-address
MAC.
BAB III
PEMBAHASAN
IPTABLES
Iptables mengizinkan user untuk mengontrol sepenuhnya jaringan melalui
paket IP dengan system LINUX yang diimplementasikan pada kernel Linux.
Sebuah kebijakan atau Policy dapat dibuat dengan iptables sebagai polisi
lalulintas jaringan. Sebuah policy pada iptables dibuat berdasarkan sekumpulan
peraturan yang diberikan pada kernel untuk mengatur setiap paket yang datang.
Pada iptable ada istilah yang disebut dengan Ipchain yang merupakan daftar
aturan bawaan dalam Iptables. Ketiga chain tersebut adalah INPUT, OUTPUT
dan FORWARD.

Gambar 2.Diagram Perjalanan Paket data pada IPTables


Pada diagram tersebut, persegipanjang yaitu filter INPUT, filter OUTPUT, dan
filter FORWARD menggambarkan ketiga rantai atau chain. Pada saat sebuah
paket sampai pada salah satu persegipanjang diantara IPchains, maka disitulah
terjadi proses penyaringan. Rantai akan memutuskan nasib paket tersebut.
Apabila keputusannnya adalah DROP, maka paket tersebut akan di-drop. Tetapi
jika rantai memutuskan untuk ACCEPT, maka paket akan dilewatkan melalui
diagram tersebut.
Sebuah rantai adalah aturan-aturan yang telah ditentukan. Setiap aturan
menyatakan “jika paket memiliki informasi awal (header) seperti ini, maka inilah
yang harus dilakukan terhadap paket”. Jika aturan tersebut tidak sesuai dengan
paket, maka aturan berikutnya akan memproses paket tersebut. Apabila sampai
aturan terakhir yang ada, paket tersebut belum memenuhi salah satu aturan, maka
kernel akan melihat kebijakan bawaan (default) untuk memutuskan apa yang
harus dilakukan kepada paket tersebut. Ada dua kebijakan bawaan yaitu default
DROP dan default ACCEPT.
Jalannya sebuah paket melalui diagram tersebut bisa dicontohkan sebagai berikut:
Perjalanan paket yang diforward ke host yang lain
1. Paket berada pada jaringan fisik.
2. Paket masuk ke interface jaringan.
3. Paket masuk ke chain PREROUTING pada table Mangle. Chain ini berfungsi
untuk me- mangle (menghaluskan) paket, seperti merubah TOS, TTL dan lain-
lain.
4. Paket masuk ke chain PREROUTING pada tabel NAT. Chain ini fungsi
utamanya untuk melakukan DNAT (Destination Network Address Translation).
5. Paket mengalami keputusan routing, apakah akan diproses oleh host lokal atau
diteruskan ke host lain.
6. Paket masuk ke chain FORWARD pada tabel filter. Disinlah proses pemfilteran
yang utama terjadi.
7. Paket masuk ke chain POSTROUTING pada tabel NAT. Chain ini berfungsi
utamanya untuk melakukan SNAT (Source Network Address Translation).
8. Paket keluar menuju interface jaringan.
9. Paket kembali berada pada jaringan fisik.
Perjalanan paket yang ditujukan bagi host lokal
1. Paket berada dalam jaringan fisik.
2. Paket masuk ke interface jaringan.
3. Paket masuk ke chain PREROUTING pada tabel mangle.
4. Paket masuk ke chain PREROUTING pada tabel NAT.
5. Paket mengalami keputusan routing.
6. Paket masuk ke chain INPUT pada tabel filter untuk mengalami proses
penyaringan.
7. Paket akan diterima oleh aplikasi lokal.
Perjalanan paket yang berasal dari host lokal
1. Aplikasi lokal menghasilkan paket data yang akan dikirimkan melalui jaringan.
2. Paket memasuki chain OUTPUT pada tabel mangle.
3. Paket memasuki chain OUTPUT pada tabel NAT.
4. Paket memasuki chain OUTPUT pada tabel filter.
5. Paket mengalami keputusan routing, seperti ke mana paket harus pergi dan
melalui interface mana.
6. Paket masuk ke chain POSTROUTING pada tabel NAT.
7. Paket masuk ke interface jaringan
8. Paket berada pada jaringan fisik.

Instalasi IPTables
Untuk Melakukan instalasi IPTABLES di computer Linux, kita akan
memerlukan kernel versi 2.4.x atau diatasnya. Distribusi Linux belakangan ini
sudah menggunakan kernel 2.4.x (bahkan 2.6.x) sudah mendukung paket filter
untuk firewall. Maka dari itu kita tidak perlu repot melakukan kompilasi kernel
agar IPTables bekerja dengan baik di computer linux .
Kernel Sendiri terdiri dari dua macam, modularized kernel dan monolithic
kernel. Saat linux pertama kali diinstal, model kernel yang dimilikinya adalah
modularized, jadi kita bisa mengelurakan modu-modul yang kita butuhkan tanpa
harus melakukan kompilasi kernel.Bila kita tetap ingin melakukan kompilasi
kernel untuk mengoptimasi server linux kita maka IPTABLES membutuhkan
beberapa opsi dalam kernel yang harus dipilih dan ini dapat dapatkan di buku
tutorial IPtabales dan internet.
Syntax Pada IPTables
1. Table
IPTables memiliki 3 buah tabel, yaitu NAT, MANGLE dan FILTER.
Penggunannya disesuaikan dengan sifat dan karakteristik masing-masing. Fungsi
dari masing-masing tabel tersebut sebagai berikut :
1. NAT : Secara umum digunakan untuk melakukan Network Address
Translation. NAT adalah penggantian field alamat asal atau alamat tujuan dari
sebuah paket.
2. MANGLE : Digunakan untuk melakukan penghalusan (mangle) paket,
seperti TTL, TOS dan MARK.
3. FILTER : Secara umum, inilah pemfilteran paket yang sesungguhnya.. Di
sini bisa dintukan apakah paket akan di-DROP, LOG, ACCEPT atau REJECT

2. Command
Command pada baris perintah IPTables akan memberitahu apa yang harus
dilakukan terhadap lanjutan sintaks perintah. Umumnya dilakukan penambahan
atau penghapusan sesuatu dari tabel atau yang lain.
Command Keterangan
-A Perintah ini menambahkan aturan pada
–append akhir chain. Aturan akan ditambahkan di
akhir baris pada chain yang bersangkutan,
sehingga akan dieksekusi terakhir
-D Perintah ini menghapus suatu aturan pada
–delete chain. Dilakukan dengan cara
menyebutkan secara lengkap perintah yang
ingin dihapus atau dengan menyebutkan
nomor baris dimana perintah akan
dihapus.
-R Penggunaannya sama seperti –delete,
–replace tetapi command ini menggantinya dengan
entry yang baru.
-I Memasukkan aturan pada suatu baris di
–insert 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 Perintah ini menampilkan semua aturan
–list pada sebuah tabel. Apabila tabel tidak
disebutkan, maka seluruh aturan pada
semua tabel akan ditampilkan, walaupun
tidak ada aturan sama sekali pada sebuah
tabel. Command ini bisa dikombinasikan
dengan option –v (verbose), -n (numeric)
dan –x (exact).
-F Perintah ini mengosongkan aturan pada
–flush sebuah chain. Apabila chain tidak
disebutkan, maka semua chain akan di-
flush.
-N Perintah tersebut akan membuat chain
–new-chain baru.
-X Perintah ini akan menghapus chain yang
–delete-chain disebutkan. Agar perintah di atas berhasil,
tidak boleh ada aturan lain yang mengacu
kepada chain tersebut.
-P Perintah ini membuat kebijakan default
–policy 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.
-E Perintah ini akan merubah nama suatu
–rename- chain.
chain
3. Option
Option digunakan dikombinasikan dengan command tertentu yang akan
menghasilkan suatu variasi perintah.
Option Command Keterangan
Pemakai
-v –list Memberikan output yang
–verbose –append lebih detail, utamanya
–insert digunakan dengan –list. Jika
–delete digunakan dengan
–replace –list, akan menampilkam K
(x1.000),
M (1.000.000) dan G
(1.000.000.000).
-x –list Memberikan output yang
–exact lebih tepat.
-n –list Memberikan output yang
–numeric berbentuk angka. Alamat IP
dan nomor port akan
ditampilkan dalam bentuk
angka dan bukan hostname
ataupun nama aplikasi/servis.
–line- –list Akan menampilkan nomor
number dari daftar aturan. Hal ni akan
mempermudah bagi kita untuk
melakukan modifikasi aturan,
jika kita mau meyisipkan atau
menghapus aturan dengan
nomor tertentu.
–modprobe All Memerintahkan IPTables
untuk memanggil modul
tertentu. Bisa digunakan
bersamaan dengan semua
command.
4. Generic Matches
Generic Matches artinya pendefinisian kriteria yang berlaku secara umum.
Dengan kata lain, sintaks generic matches akan sama untuk semua protokol.
Setelah protokol didefinisikan, maka baru didefinisikan aturan yang lebih spesifik
yang dimiliki oleh protokol tersebut. Hal ini dilakukan karena tiap-tiap protokol
memiliki karakteristik yang berbeda, sehingga memerlukan perlakuan khusus.
Match Keterangan
-p Digunakan untuk mengecek tipe protokol
–protocol tertentu. Contoh protokol yang umum
adalah TCP, UDP, ICMP dan ALL. Daftar
protokol bisa dilihat pada /etc/protocols.
Tanda inversi juga bisa diberlakukan di
sini, misal kita menghendaki semua
protokol kecuali icmp, maka kita bisa
menuliskan –protokol ! icmp yang berarti
semua kecuali icmp.
-s Kriteria ini digunakan untuk
–src mencocokkan paket berdasarkan alamat IP
–source asal. Alamat di sini bisa berberntuk alamat
tunggal seperti 192.168.1.1, atau suatu
alamat network menggunakan netmask
misal 192.168.1.0/255.255.255.0, atau
bisa juga ditulis 192.168.1.0/24 yang
artinya semua alamat 192.168.1.x. Kita
juga bisa menggunakan inversi.
-d Digunakan untuk mecocokkan paket
–dst berdasarkan alamat tujuan.
–destination Penggunaannya sama dengan match –src
-i Match ini berguna untuk mencocokkan
–in-interface paket berdasarkan interface di mana paket
datang. Match ini hanya berlaku pada
chain INPUT, FORWARD dan
PREROUTING
-o Berfungsi untuk mencocokkan paket
–out-interface berdasarkan interface di mana paket
keluar. Penggunannya sama dengan
–in-interface. Berlaku untuk chain
OUTPUT, FORWARD dan
POSTROUTING
5. Implicit Matches
Implicit Matches adalah match yang spesifik untuk tipe protokol tertentu. Implicit
Match merupakan sekumpulan rule yang akan diload setelah tipe protokol
disebutkan. Ada 3 Implicit Match berlaku untuk tiga jenis protokol, yaitu TCP
matches, UDP matches dan ICMP matches.
a. TCP matches
Match Keterangan
–sport Match ini berguna untuk mecocokkan
–source-port paket berdasarkan port asal. Dalam hal ini
kia bisa mendefinisikan nomor port atau
nama service-nya. Daftar nama service dan
nomor port yang bersesuaian dapat dilihat
di /etc/services.
–sport 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.
–dport Penggunaan match ini sama dengan match
–destination- –source-port.
port
–tcp-flags Digunakan untuk mencocokkan paket
berdasarkan TCP flags yang ada pada
paket tersebut. Pertama, pengecekan akan
mengambil daftar flag yang akan
diperbandingkan, dan kedua, akan
memeriksa paket yang di-set 1, atau on.
Pada kedua list, masing-masing entry-nya
harus dipisahkan oleh koma dan tidak
boleh ada spasi antar entry, kecuali spasi
antar kedua list. Match ini mengenali
SYN,ACK,FIN,RST,URG, PSH. Selain
itu kita juga menuliskan ALL dan NONE.
Match ini juga bisa menggunakan inversi.
–syn Match ini akan memeriksa apakah flag
SYN di-set dan ACK dan FIN tidak di-set.
Perintah ini sama artinya jika kita
menggunakan match –tcp-flags
SYN,ACK,FIN SYN
Paket dengan match di atas digunakan
untuk melakukan request koneksi TCP
yang baru terhadap server
b. UDP Matches
Karena bahwa protokol UDP bersifat connectionless, maka tidak ada flags
yang mendeskripsikan status paket untuk untuk membuka atau menutup koneksi.
Paket UDP juga tidak memerlukan acknowledgement. Sehingga Implicit Match
untuk protokol UDP lebih sedikit daripada TCP
Ada dua macam match untuk UDP:
–sport atau –source-port
–dport atau –destination-port
c. ICMP Matches
Paket ICMP digunakan untuk mengirimkan pesan-pesan kesalahan dan kondisi-
kondisi jaringan yang lain. Hanya ada satu implicit match untuk tipe protokol
ICMP, yaitu : –icmp-type
6. Explicit Matches
a. MAC Address
Match jenis ini berguna untuk melakukan pencocokan paket berdasarkan MAC
source address. Perlu diingat bahwa MAC hanya berfungsi untuk jaringan yang
menggunakan teknologi ethernet.
iptables –A INPUT –m mac –mac-source 00:00:00:00:00:01
b. Multiport Matches
Ekstensi Multiport Matches digunakan untuk 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.
iptables –A INPUT –p tcp –m multiport –source-port 22,53,80,110
c. Owner Matches
Penggunaan match ini untuk mencocokkan paket berdasarkan pembuat atau
pemilik/owner paket tersebut. Match ini bekerja dalam chain OUTPUT, akan
tetapi penggunaan match ini tidak terlalu luas, sebab ada beberapa proses tidak
memiliki owner (??).
iptables –A OUTPUT –m owner –uid-owner 500
Kita juga bisa memfilter berdasarkan group ID dengan sintaks –gid-owner. Salah
satu penggunannya adalah bisa mencegah user selain yang dikehendaki untuk
mengakses internet misalnya.
d. State Matches
Match ini 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.
iptables –A INPUT –m state –state RELATED,ESTABLISHED
7. Target/Jump
Target atau jump adalah perlakuan yang diberikan terhadap paket-paket yang
memenuhi kriteria atau match. Jump memerlukan sebuah chain yang lain dalam
tabel yang sama. Chain tersebut nantinya akan dimasuki oleh paket yang
memenuhi kriteria. Analoginya ialah chain baru nanti berlaku sebagai
prosedur/fungsi dari program utama. Sebagai contoh dibuat sebuah chain yang
bernama tcp_packets. Setelah ditambahkan aturan-aturan ke dalam chain tersebut,
kemudian chain tersebut akan direferensi dari chain input.
iptables –A INPUT –p tcp –j tcp_packets
Target Keterangan
-j ACCEPT Ketika paket cocok dengan daftar match
–jump dan target ini diberlakukan, maka paket
ACCEPT tidak akan melalui baris-baris aturan yang
lain dalam chain tersebut atau chain yang
lain yang mereferensi chain tersebut. Akan
tetapi paket masih akan memasuki chain-
chain pada tabel yang lain seperti biasa.
-j DROP Target ini men-drop paket dan menolak
–jump DROP untuk memproses lebih jauh. Dalam
beberapa kasus mungkin hal ini kurang
baik, karena akan meninggalkan dead
socket antara client dan server.
Paket yang menerima target DROP benar-
benar mati dan target tidak akan mengirim
informasi tambahan dalam bentuk apapun
kepada client atau server.
-j RETURN Target ini akan membuat paket berhenti
–jump melintasi aturan-aturan pada chain dimana
RETURN paket tersebut menemui target RETURN.
Jika chain merupakan subchain dari chain
yang lain, maka paket akan kembali ke
superset chain di atasnya dan masuk ke
baris aturan berikutnya. Apabila chain
adalah chain utama misalnya INPUT,
maka paket akan dikembalikan kepada
kebijakan default dari chain tersebut.
-j MIRROR Apabila kompuuter A menjalankan target
seperti contoh di atas, kemudian komputer
B melakukan koneksi http ke komputer A,
maka yang akan muncul pada browser
adalah website komputer B itu sendiri.
Karena fungsi utama target ini adalah
membalik source address dan destination
address.
Target ini bekerja pada chain INPUT,
FORWARD dan PREROUTING atau
chain buatan yang dipanggil melalui chain
tersebut.
Beberapa target yang lain biasanya memerlukan parameter tambahan:

a. 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.
iptables –A FORWARD –p tcp –j LOG –log-level debug
iptables –A INPUT –p tcp –j LOG –log-prefix “INPUT Packets”
b. 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 host pengirim paket tersebut. REJECT bekerja
pada chain INPUT, OUTPUT dan FORWARD atau pada chain tambahan yang
dipanggil dari ketiga chain tersebut.
iptables –A FORWARD –p tcp –dport 22 –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.
c. 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. Jika paket
pertama dari sebuah koneksi mengalami SNAT, maka paket-paket berikutnya
dalam koneksi tersebut juga akan mengalami hal yang sama.
iptables –t nat –A POSTROUTING –o eth0 –j SNAT –to-source 194.236.50.155-
194.236.50.160:1024-32000
d. 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 atau chain buatan yang dipanggil oleh
kedua chain tersebut.
iptables –t nat –A PREROUTING –p tcp –d 15.45.23.67 –dport 80 –j DNAT –to-
destination 192.168.0.2

e. 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 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.
iptables –t nat –A POSTROUTING –o ppp0 –j MASQUERADE
f. 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 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 atau pada chain buatan yang dipanggil dari kedua chain tersebut.

BAB IV
KESIMPULAN

Pada akhir bab ini penulis mencoba mengambil kesimpulan dari apa yang
telah dibahas sebelumnya. Penulis memberikan solusi IPTables sebagai Firewall
karena memiliki beberapa keunggulan:
1. Implementasinya yang murah karena telah terdapat pada Linux System Version
2.4
Dan gratis.
2. Connection Tracking Capability yaitu kemampuan unutk inspeksi paket serta
bekerja dengan icmp dan udp sebagaimana koneksi TCP.
3. Menyederhanakan perilaku paket-paket dalam melakukan negosiasi built in chain
(input,output, dan forward).
4. Rate-Limited connection dan logging capability. Kita dapat membatasi usaha-
usaha koneksi sebagai tindakan preventif serangan Syn flooding denial of
services(DOS).
5. Kemampuan untuk memfilter flag-flag dan opsi tcp dan address-address MAC.

DAFTAR PUSTAKA

1. Michael Rash, Linux Firewalls. William Pollock Publishing, 2007


2. Deris Stiawan, Sistem Keamanan Komputer. Elex media Komputindo, 2005
3. Janner Simarmata, Pengamanan istem Keamanan Komputer. Penerbit ANDI ,
2006
4. Rakhmat Farunuddin, Membangun Firewall dengan IPTables di Linux. Elex
Media Komputindo, 2005
5. http://www.netfilter.org
6. http://garfield-cisco.blogspot.com/2007/08/dasar-iptables.html
7. http://www.pcmedia.co.id

Anda mungkin juga menyukai