Iptables

  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Iptables as PDF for free.

More details

  • Words: 4,300
  • Pages: 27
2008 Teknik Informatika Billingual Fakultas Ilmu Komputer University Sriwijaya 2007-2008 Muhar Syarif 5906 1002 006

[ Implementasi IPTables sebagai filtering Firewall ]

IMPLEMETASI IPTABLES SEBAGAI FILTRING FIREWALL Abstrak Tujuan Pembuatan Jurnal ini adalah untuk mengetahui pengertian, karakteristik, dan implementasi IPtables sebagai firewall. Dan sebagai Tugas Akhir pada mata kuliah Kemanan Jaringan Komputer. Hasil dari pembuatan jurnal menunjukkan bahwa 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.

BAB I PENDAHULUAN 1. Latar Belakang Keamanan jaringan, PC, server-server, dan perangkat komputer Anda 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

menggunakan

harus

bantuan

segera komputer,

diubah. media

Pasalnya,

kejahatan

komunikasi,

dan

dengan

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 anda. Anda tidak bisa membiarkan begitu saja perangkat komputer anda tanpa perlindungan dalam dunia Internet yang sebenarnya. Jika anda biarkan, tentu segala macam jenis pengganggu akan bercokol di komputer Anda. Mulai dari virus sampai hacker yang menanam backdoor akan menggunakan komputer Anda sebagai alat bersenang-senang.

Sangat penting memang untuk rajin melakukan patch dan update terhadap software-software bug yang anda gunakan di komputer anda. Karena hal ini cukup menolong untuk sedikit menyulitkan para hacker dan pengganggu lain untuk bisa bersenang-senang dengan komputer anda. Namun rasanya, patch yang up-to-date saja belum cukup untuk melindungi resource anda yang berharga di dalam komputer. Maka dari itu, rasanya cukup penting untuk anda bisa membatasi apa dan siapa saja yang boleh masuk dan keluar dari dan ke perangkat komputer Anda. Semua proses ini bisa Anda lakukan dengan mengandalkan sebuah sistem pengaman khusus yang biasanya disebut dengan istilah firewall atau IP filter. Tujuan Adapun Tujuan penulis membuat makalah 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.

Metode Penelitian Metode penelitian yang dilakukan oleh penulis adalah metode literature, yaitu dengan literature dari materi – materi yang ada pada buku dan internet.

BAB II LANDASAN TEORI Mungkin banyak orang khususnya mahasiswa ilmu komputer sudah

yang

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 anda dapat bermain-main ke komputer anda, 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 Anda 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 Anda. 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 Anda, 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 Anda dapatkan dengan berbagai cara. Jika tidak ingin repot-repot membuat dari nol, Anda harus mengeluarkan uang yang cukup banyak untuk membeli perangkat keras firewall yang sudah jadi dan tinggal Anda 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 anda keluarkan jika anda membeli firewall yang tidak andal. Jika anda mau sedikit repot, namun hasilnya mungkin akan memuaskan anda, buat saja sendiri perangkat firewall anda. Yang anda perlukan hanyalah sebuah PC dengan processor dan memory yang lumayan besar dan sebuah aplikasi firewall yang canggih dan lengkap yang dapat memenuhi semua kebutuhan Anda. Aplikasi

firewall

yang

lengkap

dan

canggih

pada

umumnya

juga

mengharuskan Anda mengeluarkan kocek yang tidak sedikit. Seperti

misalnya Checkpoint yang sudah sangat terkenal dalam aplikasi firewall, untuk memilikinya anda harus merogoh kocek yang lumayan banyak pula. Namun jika anda 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

Anda

dirogoh

dalam-dalam.

Bahkan

Anda

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, Anda dapat membuat firewall yang cukup canggih dengan program open source yang bisa dengan mudah Anda 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 Anda 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). Anda 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 anda 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 anda aman dalam berkomunikasi.

Mengapa Linux bersusah payah menyediakan fasilitas ini untuk Anda? 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 Anda yang sedang mempelajari operating system Linux atau bahkan yang sudah menggunakannya. Karena jika menguasai IPTables, mengamankan jaringan Anda atau 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 addressaddress 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 didrop. 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 anda dapatkan di buku tutorial IPtabales dan internet karena pada jurnal ini tidak saya lampirkan. 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 -A –append

Keterangan Perintah ini menambahkan aturan pada akhir chain. Aturan akan ditambahkan di akhir baris pada chain yang bersangkutan,

-D –delete

sehingga akan dieksekusi terakhir Perintah ini menghapus suatu aturan pada chain. Dilakukan dengan cara menyebutkan secara lengkap perintah yang ingin dihapus atau dengan menyebutkan nomor baris

-R –replace -I –insert

dimana perintah akan dihapus. Penggunaannya sama seperti –delete, tetapi command ini menggantinya dengan entry yang baru. Memasukkan aturan pada suatu baris di chain. Aturan akan dimasukkan pada baris yang disebutkan, dan aturan awal yang menempati baris tersebut akan digeser ke bawah. Demikian pula baris-baris

-L –list

selanjutnya. Perintah ini menampilkan semua aturan pada sebuah tabel. Apabila tabel tidak disebutkan, maka seluruh aturan pada semua tabel akan ditampilkan, walaupun tidak ada aturan sama sekali pada sebuah tabel. Command ini bisa dikombinasikan dengan option –v (verbose), -n (numeric)

-F

dan –x (exact). Perintah ini mengosongkan aturan pada sebuah chain. Apabila chain tidak

disebutkan, maka semua chain akan di–flush -N

flush. Perintah tersebut akan membuat chain baru.

–new-chain -X

Perintah ini akan menghapus chain yang

–deletechain -P –policy

disebutkan. Agar perintah di atas berhasil, tidak boleh ada aturan lain yang mengacu kepada chain tersebut. Perintah ini membuat kebijakan default pada sebuah chain. Sehingga jika ada sebuah paket yang tidak memenuhi aturan pada baris-baris yang telah didefinisikan, maka paket akan diperlakukan sesuai dengan

-E –renamechain

kebijakan default ini. Perintah ini akan merubah nama suatu chain.

3. Option Option digunakan dikombinasikan dengan command tertentu yang akan menghasilkan suatu variasi perintah. Option

Command Keterangan

-v

Pemakai –list

–verbose

Memberikan output yang lebih detail, utamanya digunakan

–append –insert

dengan –list. Jika digunakan dengan –list, akan menampilkam K

–delete

(x1.000), M (1.000.000) dan G

–replace

(1.000.000.000).

-x –exact -n

–list

Memberikan output yang lebih tepat.

–list

Memberikan output yang berbentuk angka. Alamat IP dan

–numeric

nomor port akan ditampilkan dalam bentuk angka dan bukan hostname ataupun nama –linenumber

–list

aplikasi/servis. Akan menampilkan nomor dari daftar aturan. Hal ni akan mempermudah bagi kita untuk melakukan modifikasi aturan, jika kita mau meyisipkan atau menghapus aturan dengan

–modprobe

All

nomor tertentu. 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 tiaptiap protokol memiliki karakteristik yang berbeda, sehingga memerlukan perlakuan khusus. Match -p –protocol

Keterangan Digunakan untuk mengecek tipe protokol 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 -s –src

icmp. Kriteria ini digunakan untuk mencocokkan paket berdasarkan alamat IP asal. Alamat di sini bisa berberntuk alamat tunggal

–source

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

-d –dst

menggunakan inversi. Digunakan untuk mecocokkan paket berdasarkan alamat tujuan. Penggunaannya sama dengan match –src

–destination -i –in-interface

Match ini berguna untuk mencocokkan paket berdasarkan interface di mana paket datang. Match ini hanya berlaku pada chain

-o –out-interface

INPUT, FORWARD dan PREROUTING Berfungsi untuk mencocokkan paket 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 –sport –source-port

Keterangan Match ini berguna untuk mecocokkan 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

–dport –destinationport

inversi. Penggunaan match ini sama dengan match –source-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

–syn

juga bisa menggunakan inversi. 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 -j ACCEPT

Keterangan Ketika paket cocok dengan daftar match dan

target ini diberlakukan, maka paket tidak –jump ACCEPT

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-

-j DROP –jump DROP

chain pada tabel yang lain seperti biasa. Target ini men-drop paket dan menolak 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 benarbenar mati dan target tidak akan mengirim informasi tambahan dalam bentuk apapun

-j RETURN –jump RETURN

kepada client atau server. Target ini akan membuat paket berhenti melintasi aturan-aturan pada chain dimana 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

-j MIRROR

chain tersebut. 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-hostunreachable

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.155194.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 –todestination 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 –tosource. 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 membatasi

connection usaha-usaha

dan

logging

koneksi

capability.

sebagai

Kita

tindakan

dapat

preventif

serangan Syn flooding denial of services(DOS). 5. Kemampuan untuk memfilter flag-flag dan opsi tcp dan addressaddress 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

Related Documents

Iptables
June 2020 8
Iptables
May 2020 7
Iptables
October 2019 13
Iptables Tutorial
December 2019 8
Cccam Iptables
December 2019 5