Anda di halaman 1dari 13

DASAR-DASAR PERINTAH PROGRAM

IPTABLES
IPTables adalah paket aplikasi (program berbasis Linux) yang saat ini sudah menjadi platform
untuk membuat (mensetup) firewall hampir di kebanyakan distro Linux. Dengan menggunakan
IPtables seorang pengguna admin jaringan bisa mengatur lalulintas paket data yang keluar
masuk pada router atau ser!er yang menjadi gateway (pintu gerbang) antara jaringan
perusahaanlokal (L"#) dengan jaringan publik ($"#internet).
%eberapa literatur dan proje&t tentang IPtables
Pengembangan IPTables (en)
Prosedur dasar iptable (en)
$ikipedia.orgiptables
http'tipstrik(id.blogspot.&om
blogger yoyok
)ntuk melihat apakah di dalam sistem kita sudah terinstal paket(paket iptables* ketikkan perintah
berikut'
# rpm -qa | grep iptables
+ika memang belum terinstal* ketikkan perintah berikut'
# yum -y install iptables*
"gar iptables dapat berjalan otomatis setelah restart* gunakan perintah'
# chkconfig iptables on
)ntuk melihat status iptables* gunakan perintah'
# service iptables status
)ntuk menyalakan iptables* gunakan perintah'
# /etc/init.d/iptables start
)ntuk mematikan iptables* gunakan perintah'
# /etc/init.d/iptables stop
)ntuk merestart iptables* gunakan perintah'
# /etc/init.d/iptables restart
Sintaks Iptables
,e&ara umum* sintaks iptables dapat dituliskan seperti berikut'
# iptables [-t table] command [match] [target/ump]
Penjelasan dari sintaks di atas dapat dijelaskan di bawah ini'
1. Table
IPTables memiliki beberapa buah tabel yaitu #"T* -"#.L/* dan 0ILT/1. Penjelasannya
adalah'
a. Table Mangle' tabel yang bertanggung jawab untuk melakukan penghalusan (mangle) paket
seperti merubah 2uality of ser!i&e (34,)* TTL* dan -"15 di header T6P. %iasanya tabel ini
jarang digunakan di lingkungan ,474.
b. Table Filte' yaitu tabel yang bertanggung jawab untuk pemfilteran paket. Tabel ini
mempunyai 8 rantai (&hain) yaitu'
9. Rantai F!"a# yaitu rantai yang memfilter paket(paket yang akan ke ser!er yang
dilindungi oleh firewall. 1antai ini digunakan ketika paket(paket datang dari IP Publik
dan bukan dari IP lokal.
:. Rantai Inp$t% yaitu rantai yang memfilter paket(paket yang ditujukan ke firewall.
8. Rantai O$tp$t' yaitu rantai yang memfilter paket(paket yang berasal dari firewall.
&. Tabel NAT' yaitu rantai yang bertanggung jawab untuk melakukan Network Address
Translation (#"T). #"T yaitu mengganti field asal atau alamat tujuan dari sebuah paket. Pada
tabel ini terdapat : rantai* yaitu'
9. Rantai Pe-R!$ting% -erubah paket(paket #"T dimana alamat tujuan dari paket(paket
tersebut terjadi perubahan. %iasanya dikenal dengan destination #"T atau D#"T.
:. Rantai P!st-R!$ting' -erubah paket(paket #"T dimana alamat sumber dari paket(
paket tersebut terjadi perubahan. %iasanya dikenal dengan sour&e #"T atau ,#"T.
"lur kerja IPTables dapat dilihat pada gambar di bawah ini'
+alannya sebuah paket melalui gambar diatas bisa di&ontohkan sebagai berikut'
1. Pe&alanan Paket 'ang #i(!"a# ke )!st 'ang lain
a. Paket berada pada jaringan fisik (#etwork) dan masuk ke interfa&e jaringan
b. Paket masuk ke rantai P1/14)TI#. pada tabel -"#.L/ dan tabel #"T
&. Paket mengalami 1outing apakah akan diproses oleh host lokal atau diteruskan ke host lain
d. Paket masuk ke rantai 041$"1D pada tabel -"#.L/ dan tabel 0ILT/1
e. Paket masuk ke rantai P4,T14)TI#. pada tabel -"#.L/ dan tabel #"T
f. Paket keluar menuju ke interfa&e jaringan
g. Paket kembali pada jaringan fisik (#etwork)
*. Pe&alanan paket 'ang #it$&$kan bagi )!st l!kal
a. Paket berada pada jaringan fisik (#etwork) dan masuk ke interfa&e jaringan
b. Paket masuk ke rantai P1/14)TI#. pada tabel -"#.L/ dan tabel #"T
&. Paket mengalami 1outing
d. Paket masuk ke rantai I#P)T pada tabel -"#.L/ dan tabel 0ILT/1 untuk mengalami
proses penyaringan
e. Paket akan masuk ke proses lokal (Lo&al Pro&ess)
+. Pe&alanan paket 'ang beasal #ai )!st l!kal
a. "plikasi lokal menghasilkan paket data yang akan dikirimkan melalui jaringan
b. Paket masuk ke rantai 4)TP)T pada tabel -"#.L/* lalu ke tabel #"T* kemudian ke tabel
0ILT/1
&. Paket mengalami 1outing
d. Paket masuk ke rantai P4,T14)TI#. pada tabel -"#.L/ dan tabel #"T
e. Paket keluar menuju ke interfa&e jaringan
f. Paket kembali pada jaringan fisik (#etwork)
*. ,!--an#
6ommand 5eterangan
("
;append
Perintah ini menambahkan aturan pada akhir &hain. "turan akan
ditambahkan di akhir baris pada &hain yang bersangkutan* sehingga akan
dieksekusi terakhir
(D
;delete
Perintah ini menghapus suatu aturan pada &hain. Dilakukan dengan &ara
menyebutkan se&ara lengkap perintah yang ingin dihapus atau dengan
menyebutkan nomor baris dimana perintah akan dihapus.
(1
;repla&e
Penggunaannya sama seperti ;delete* tetapi &ommand ini menggantinya
dengan entry yang baru.
(I
;insert
-emasukkan aturan pada suatu baris di &hain. "turan akan dimasukkan
pada baris yang disebutkan* dan aturan awal yang menempati baris tersebut
akan digeser ke bawah. Demikian pula baris(baris selanjutnya.
(L
;list
Perintah ini menampilkan semua aturan pada sebuah tabel. "pabila tabel
tidak disebutkan* maka seluruh aturan pada semua tabel akan ditampilkan*
walaupun tidak ada aturan sama sekali pada sebuah tabel. 6ommand ini
bisa dikombinasikan dengan option ;! (!erbose)* (n (numeri&) dan ;x
(exa&t).
(0
;flush
Perintah ini mengosongkan aturan pada sebuah &hain. "pabila &hain tidak
disebutkan* maka semua &hain akan di(flush.
(#
;new(&hain
Perintah tersebut akan membuat &hain baru.
(<
;delete(&hain
Perintah ini akan menghapus &hain yang disebutkan. "gar perintah di atas
berhasil* tidak boleh ada aturan lain yang menga&u kepada &hain tersebut.
(P
;poli&y
Perintah ini membuat kebijakan default pada sebuah &hain. ,ehingga jika
ada sebuah paket yang tidak memenuhi aturan pada baris(baris yang telah
didefinisikan* maka paket akan diperlakukan sesuai dengan kebijakan
default ini.
(/
;rename(&hain
Perintah ini akan merubah nama suatu &hain.
+. Opti!n
4ption digunakan dikombinasikan dengan &ommand tertentu yang akan menghasilkan suatu
!ariasi perintah.
4ption 6ommand Pemakai 5eterangan
(!
;!erbose
;list
;append
;insert
;delete
;repla&e
-emberikan output yang lebih detail* utamanya
digunakan dengan ;list. +ika digunakan dengan
;list* akan menampilkam 5 (x9.===)*
- (9.===.===) dan . (9.===.===.===).
(x
;exa&t
;list -emberikan output yang lebih tepat.
(n
;numeri&
;list -emberikan output yang berbentuk angka. "lamat
IP dan nomor port akan ditampilkan dalam bentuk
angka dan bukan hostname ataupun nama
aplikasiser!is.
;line(number ;list "kan menampilkan nomor dari daftar aturan. 7al
ni akan mempermudah bagi kita untuk melakukan
modifikasi aturan* jika kita mau meyisipkan atau
menghapus aturan dengan nomor tertentu.
;modprobe "ll -emerintahkan IPTables untuk memanggil modul
tertentu. %isa digunakan bersamaan dengan semua
&ommand.
.. Genei, Mat,)es
.eneri& -at&hes artinya pendefinisian kriteria yang berlaku se&ara umum. Dengan kata lain*
sintaks generi& mat&hes akan sama untuk semua protokol. ,etelah protokol didefinisikan* maka
baru didefinisikan aturan yang lebih spesifik yang dimiliki oleh protokol tersebut. 7al ini
dilakukan karena tiap(tiap protokol memiliki karakteristik yang berbeda* sehingga memerlukan
perlakuan khusus.
-at&h 5eterangan
(p
;proto&ol
Digunakan untuk menge&ek tipe protokol tertentu. 6ontoh protokol yang
umum adalah T6P* )DP* I6-P dan "LL. Daftar protokol bisa dilihat
pada et&proto&ols.
Tanda in!ersi juga bisa diberlakukan di sini* misal kita menghendaki
semua protokol ke&uali i&mp* maka kita bisa menuliskan ;protokol >
i&mp yang berarti semua ke&uali i&mp.
(s
;sr&
;sour&e
5riteria ini digunakan untuk men&o&okkan paket berdasarkan alamat IP
asal. "lamat di sini bisa berberntuk alamat tunggal seperti 9?:.9@A.9.9*
atau suatu alamat network menggunakan netmask misal
9?:.9@A.9.=:BB.:BB.:BB.=* atau bisa juga ditulis 9?:.9@A.9.=:C yang
artinya semua alamat 9?:.9@A.9.x. 5ita juga bisa menggunakan in!ersi.
(d
;dst
;destination
Digunakan untuk me&o&okkan paket berdasarkan alamat tujuan.
Penggunaannya sama dengan mat&h ;sr&
(i
;in(interfa&e
-at&h ini berguna untuk men&o&okkan paket berdasarkan interfa&e di
mana paket datang. -at&h ini hanya berlaku pada &hain I#P)T*
041$"1D dan P1/14)TI#.
(o
;out(interfa&e
%erfungsi untuk men&o&okkan paket berdasarkan interfa&e di mana paket
keluar. Penggunannya sama dengan
;in(interfa&e. %erlaku untuk &hain 4)TP)T* 041$"1D dan
P4,T14)TI#.
/. I-pli,it Mat,)es
Impli&it -at&hes adalah mat&h yang spesifik untuk tipe protokol tertentu. Impli&it -at&h
merupakan sekumpulan rule yang akan diload setelah tipe protokol disebutkan. "da 8 Impli&it
-at&h berlaku untuk tiga jenis protokol* yaitu T6P mat&hes* )DP mat&hes dan I6-P mat&hes.
a. T6P mat&hes
-at&h 5eterangan
;sport
;sour&e(port
-at&h ini berguna untuk me&o&okkan paket berdasarkan port asal. Dalam
hal ini kia bisa mendefinisikan nomor port atau nama ser!i&e(nya. Daftar
nama ser!i&e dan nomor port yang bersesuaian dapat dilihat di et&ser!i&es.
;sport juga bisa dituliskan untuk range port tertentu. -isalkan kita ingin
mendefinisikan range antara port :: sampai dengan A=* maka kita bisa
menuliskan ;sport ::'A=.
+ika bagian salah satu bagian pada range tersebut kita hilangkan maka hal
itu bisa kita artikan dari port =* jika bagian kiri yang kita hilangkan* atau
@BB8B jika bagian kanan yang kita hilangkan. 6ontohnya ;sport 'A= artinya
paket dengan port asal nol sampai dengan A=* atau ;sport 9=:C' artinya
paket dengan port asal 9=:C sampai dengan @BB8B.-at&h ini juga mengenal
in!ersi.
;dport
;destination(port
Penggunaan mat&h ini sama dengan mat&h ;sour&e(port.
;t&p(flags Digunakan untuk men&o&okkan paket berdasarkan T6P flags yang ada pada
paket tersebut. Pertama* penge&ekan akan mengambil daftar flag yang akan
diperbandingkan* dan kedua* akan memeriksa paket yang di(set 9* atau on.
Pada kedua list* masing(masing entry(nya harus dipisahkan oleh koma dan
tidak boleh ada spasi antar entry* ke&uali spasi antar kedua list. -at&h ini
mengenali ,D#*"65*0I#*1,T*)1.* P,7. ,elain itu kita juga menuliskan
"LL dan #4#/. -at&h ini juga bisa menggunakan in!ersi.
;syn -at&h ini akan memeriksa apakah flag ,D# di(set dan "65 dan 0I# tidak
di(set. Perintah ini sama artinya jika kita menggunakan mat&h ;t&p(flags
,D#*"65*0I# ,D#
Paket dengan mat&h di atas digunakan untuk melakukan re2uest koneksi
T6P yang baru terhadap ser!er
b. )DP -at&hes
5arena bahwa protokol )DP bersifat &onne&tionless* maka tidak ada flags yang mendeskripsikan
status paket untuk untuk membuka atau menutup koneksi. Paket )DP juga tidak memerlukan
a&knowledgement. ,ehingga Impli&it -at&h untuk protokol )DP lebih sedikit daripada T6P.
"da dua ma&am mat&h untuk )DP'
;sport atau ;sour&e(port
;dport atau ;destination(port
&. I6-P -at&hes
Paket I6-P digunakan untuk mengirimkan pesan(pesan kesalahan dan kondisi(kondisi jaringan
yang lain. 7anya ada satu impli&it mat&h untuk tipe protokol I6-P* yaitu '
;i&mp(type
0. E1pli,it Mat,)es
a. -"6 "ddress
-at&h jenis ini berguna untuk melakukan pen&o&okan paket berdasarkan -"6 sour&e address.
Perlu diingat bahwa -"6 hanya berfungsi untuk jaringan yang menggunakan teknologi
ethernet.
iptables ;" I#P)T ;m ma& ;ma&(sour&e =='=='=='=='=='=9

b. -ultiport -at&hes
/kstensi -ultiport -at&hes 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 mat&hing standard dan multiport mat&hing
dalam waktu yang bersamaan.
iptables ;" I#P)T ;p t&p ;m multiport ;sour&e(port ::*B8*A=*99=
&. 4wner -at&hes
Penggunaan mat&h ini untuk men&o&okkan paket berdasarkan pembuat atau pemilikowner paket
tersebut. -at&h ini bekerja dalam &hain 4)TP)T* akan tetapi penggunaan mat&h ini tidak
terlalu luas* sebab ada beberapa proses tidak memiliki owner (EE).
iptables ;" 4)TP)T ;m owner ;uid(owner B==
5ita juga bisa memfilter berdasarkan group ID dengan sintaks ;gid(owner. ,alah satu
penggunannya adalah bisa men&egah user selain yang dikehendaki untuk mengakses internet
misalnya.
d. ,tate -at&hes
-at&h ini mendefinisikan state apa saja yang &o&ok. "da C state yang berlaku* yaitu #/$*
/,T"%LI,7/D* 1/L"T/D dan I#F"LID. #/$ digunakan untuk paket yang akan memulai
koneksi baru. /,T"%LI,7/D digunakan jika koneksi telah tersambung dan paket(paketnya
merupakan bagian dari koneki tersebut. 1/L"T/D digunakan untuk paket(paket yang bukan
bagian dari koneksi tetapi masih berhubungan dengan koneksi tersebut* &ontohnya adalah 0TP
data transfer yang menyertai sebuah koneksi T6P atau )DP. I#F"LID adalah paket yang tidak
bisa diidentifikasi* bukan merupakan bagian dari koneksi yang ada.
iptables ;" I#P)T ;m state ;state 1/L"T/D*/,T"%LI,7/D
2. Taget34$-p
Target atau jump adalah perlakuan yang diberikan terhadap paket(paket yang memenuhi kriteria
atau mat&h. +ump memerlukan sebuah &hain yang lain dalam tabel yang sama. 6hain tersebut
nantinya akan dimasuki oleh paket yang memenuhi kriteria. "naloginya ialah &hain baru nanti
berlaku sebagai prosedurfungsi dari program utama. ,ebagai &ontoh dibuat sebuah &hain yang
bernama t&pGpa&kets. ,etelah ditambahkan aturan(aturan ke dalam &hain tersebut* kemudian
&hain tersebut akan direferensi dari &hain input.
iptables ;" I#P)T ;p t&p ;j t&pGpa&kets
Target 5eterangan
(j "66/PT
;jump "66/PT
5etika paket &o&ok dengan daftar mat&h dan target ini diberlakukan* maka
paket tidak akan melalui baris(baris aturan yang lain dalam &hain tersebut
atau &hain yang lain yang mereferensi &hain tersebut. "kan tetapi paket masih
akan memasuki &hain(&hain pada tabel yang lain seperti biasa.
(j D14P
;jump D14P
Target ini men(drop paket dan menolak untuk memproses lebih jauh. Dalam
beberapa kasus mungkin hal ini kurang baik* karena akan meninggalkan dead
so&ket antara &lient dan ser!er.
Paket yang menerima target D14P benar(benar mati dan target tidak akan
mengirim informasi tambahan dalam bentuk apapun kepada &lient atau
ser!er.
(j 1/T)1#
;jump 1/T)1#
Target ini akan membuat paket berhenti melintasi aturan(aturan pada &hain
dimana paket tersebut menemui target 1/T)1#. +ika &hain merupakan
sub&hain dari &hain yang lain* maka paket akan kembali ke superset &hain di
atasnya dan masuk ke baris aturan berikutnya. "pabila &hain adalah &hain
utama misalnya I#P)T* maka paket akan dikembalikan kepada kebijakan
default dari &hain tersebut.
(j -I1141 "pabila kompuuter " menjalankan target seperti &ontoh di atas* kemudian
komputer % melakukan koneksi http ke komputer "* maka yang akan mun&ul
pada browser adalah website komputer % itu sendiri. 5arena fungsi utama
target ini adalah membalik sour&e address dan destination address.
Target ini bekerja pada &hain I#P)T* 041$"1D dan P1/14)TI#. atau
&hain buatan yang dipanggil melalui &hain tersebut.
%eberapa target yang lain biasanya memerlukan parameter tambahan'
a. L4. Target
"da beberapa option yang bisa digunakan bersamaan dengan target ini. Dang pertama adalah
yang digunakan untuk menentukan tingkat log. Tingkatan log yang bisa digunakan adalah debug*
info* noti&e* warning* err* &rit* alert dan emerg.Dang kedua adalah (j L4. ;log(prefix yang
digunakan untuk memberikan string yang tertulis pada awalan log* sehingga memudahkan
pemba&aan log tersebut.
iptables ;" 041$"1D ;p t&p ;j L4. ;log(le!el debug
iptables ;" I#P)T ;p t&p ;j L4. ;log(prefix HI#P)T Pa&ketsI
b. 1/+/6T Target
,e&ara umum* 1/+/6T bekerja seperti D14P* yaitu memblok paket dan menolak untuk
memproses lebih lanjut paket tersebut. Tetapi* 1/+/6T akan mengirimkan error message ke host
pengirim paket tersebut. 1/+/6T bekerja pada &hain I#P)T* 4)TP)T dan 041$"1D atau
pada &hain tambahan yang dipanggil dari ketiga &hain tersebut.
iptables ;" 041$"1D ;p t&p ;dport :: ;j 1/+/6T ;reje&t(with i&mp(host(unrea&hable
"da beberapa tipe pesan yang bisa dikirimkan yaitu i&mp(net(unrea&hable* i&mp(host(
unrea&hable* i&mp(port(unrea&hable* i&mp(proto(unra&hable* i&mp(net(prohibited dan i&mp(host(
prohibited.
&. ,#"T Target
Target ini berguna untuk melakukan perubahan alamat asal dari paket (,our&e #etwork "ddress
Translation). Target ini berlaku untuk tabel nat pada &hain P4,T14)TI#.* dan hanya di
sinilah ,#"T bisa dilakukan. +ika paket pertama dari sebuah koneksi mengalami ,#"T* maka
paket(paket berikutnya dalam koneksi tersebut juga akan mengalami hal yang sama.
iptables ;t nat ;" P4,T14)TI#. ;o eth= ;j ,#"T ;to(sour&e 9?C.:8@.B=.9BB(
9?C.:8@.B=.9@='9=:C(8:===
d. D#"T Target
%erkebalikan dengan ,#"T* D#"T digunakan untuk melakukan translasi field alamat tujuan
(Destination #etwork "ddress Translation) pada header dari paket(paket yang memenuhi kriteria
mat&h. D#"T hanya bekerja untuk tabel nat pada &hain P1/14)TI#. dan 4)TP)T atau
&hain buatan yang dipanggil oleh kedua &hain tersebut.
iptables ;t nat ;" P1/14)TI#. ;p t&p ;d 9B.CB.:8.@J ;dport A= ;j D#"T ;to(destination
9?:.9@A.=.:
e. -",3)/1"D/ Target
,e&ara umum* target -",3)/1"D/ bekerja dengan &ara yang hampir sama seperti target
,#"T* tetapi target ini tidak memerlukan option ;to(sour&e. -",3)/1"D/ memang didesain
untuk bekerja pada komputer dengan koneksi yang tidak tetap seperti dial(up atau D76P yang
akan memberi pada kita nomor IP yang berubah(ubah.
,eperti halnya pada ,#"T* target ini hanya bekerja untuk tabel nat pada &hain P4,T14)TI#..
iptables ;t nat ;" P4,T14)TI#. ;o ppp= ;j -",3)/1"D/
f. 1/DI1/6T Target
Target 1/DI1/6T digunakan untuk mengalihkan jurusan (redire&t) 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. 6ontohnya kita ingin mengalihkan semua
koneksi yang menuju port http untuk memasuki aplikasi http proxy misalnya s2uid. Target ini
hanya bekerja untuk tabel nat pada &hain P1/14)TI#. dan 4)TP)T atau pada &hain buatan
yang dipanggil dari kedua &hain tersebut.
iptables ;t nat ;" P1/14)TI#. ;i eth9 ;p t&p ;dport A= ;j 1/DI1/6T ;to(port 89:A
Tutuorial ,2uid bisa dilihat di bagian Proxy ,er!er.
F. 6onne&tion Tra&king
iptables mengandung sebuah modul yang mengijinkan para administrator untuk memeriksa dan
membatasi ser!i&e(ser!i&e yang tersedia pada sebuah jaringan internal menggunakan sebuah
metode yang disebut &onne&tion tra&king. 0itur ini merupakan fitur baru di dalam firewall yang
ditambahkan sejak kernel :.C.x. 5emampuan dari &onne&tion tra&king adalah untuk menyimpan
dan menjaga informasi koneksi seperti koneksi baru atau koneksi yang sudah ada yang disertai
dengan jenis protokol* alamat IP asal dan alamat IP tujuan. Dengan menggunakan fitur ini* para
administrator dapat menolak atau mengijinkan berbagai ma&am koneksi. 6onne&tion tra&king
mempunyai beberapa keadaan'( NE5 ;K ,ebuah klien mere2ues koneksi melalui firewall.
-aksudnya ser!er9 menghubungi ser!er: dengan mengirimkan paket ,D# (Synchronize)
( RELATED ;K ,ebuah koneksi yang mere2ues sebuah re2ues baru tetapi masih merupakan
bagian dari koneksi yang sudah ada. -aksudnya ser!er: menerima paket ,D# dari ser!er 9 dan
kemudian merespon dengan sebuah paket ,D#("65 (Synchronize-Acknowledgment)
( ESTABLISHED ;K ,ebuah koneksi yang merupakan bagian dari koneksi yang sudah ada.
-aksudnya ser!er 9 menerima paket ,D#("65 dan kemudian merespon dengan paket "65
(Acknowledgment).
( IN6ALID ;K ,ebuah keadaan dimana tidak ada keadaan seperti 8 keadaan di atas)ntuk lebih
jelasnya perhatikan &ontoh dibawah ini'
-isalnya kita ingin menggunakan ser!i&e ftp pada IPL98:.CB@.JA.?* maka pada saat kita
mengetikkan
# ftp !"#.$%&.'(.)
perintah tersebut akan membuka koneksi baru (#/$)
Lalu pada saat kita ingin mengambil sebuah file dari IP tersebut* misalnya paket yang bernama
file.tar.gM* maka pada saat kita mengetikkan'
ftp* get file.tar.g+
itu berarti kita telah membuat keadaan koneksi /,T"%LI,7/D.
+ika kita menggunakan sebuah koneksi ftp pasif* dimana port koneksi &lien adalah := tetapi port
transfer menggunakan port 9=:C atau yang lebih besar* maka pada saat kita mengetikkan
ftp* pass
,assive mode on
kita harus menggunakan keadaan koneksi 1/L"T/D pada firewall jika kita mengijinkan akses
ftp se&ara pasif.
0ungsi lain dari &onne&tion tra&king yaitu ketika kita sudah mendefinisikan sebuah rule di &hain
tertentu* maka trafik network yang terkait dengan rule tersebut tidak perlu disebutkan lagi.
-isalnya kita ingin menolak ssh dari sebuah IP* maka kita &ukup mendefinisikan rule tersebut di
&hain I#P)T saja* yang di outputnya tidak perlu lagi. 6aranya adalah'
# iptables -- -.,/0 -m state --state 12340256270483-7925 - 4::2,0
# iptables -- ;/0,/0 -m state --state 12340256270483-7925 - 4::2,0
# iptables -- <;1=415 -m state --state 12340256270483-7925 - 4::2,0
Di bawah ini adalah &ontoh iptables untuk mengijinkan ser!i&e ssh dengan IP 98:.CB@.JA.?
masuk dan keluar serta hanya mengijinkan koneksi baru dan establlished untuk ser!i&e ssh
tersebut.
# iptables -4 -.,/0 -p tcp -s >/> --sport %!"?&%%"% -d &$.&'."".'& --dport ##
-m state --state .2=6270483-7925 - 4::2,0
# iptables -4 ;/0,/0 -p tcp -s !"#.$%&.'(.)--sport ## -d >/> --dport
%!"?&%%"% -m state --state 270483-7925 - 4::2,0
6I. 7!nt!)-7!nt!)
"da dua pendekatan di dalam Iptables yaitu pendekatan positif dan pendekatan negatif.
Pendekatan positif yaitu dimana seluruh port ditutup sedangkan pendekatan negatif yaitu dimana
seluruh port dibuka. )ntuk melihat apakah sistem iptables kita menggunakan pendekatan positif
atau negatif (namun* pada umumnya linux se&ara default menggunakan pendekatan negatif)
ketikkan iptables (L dan lihat kata setelah kata P4LI6D. +ika ada kata "66/PT maka berarti
pendekatan yang digunakan adalah negatif. Di tutorial ini kita akan menggunakan pendekatan
negatif. %erikut adalah &ontoh(&ontohnya'1. Me-bl!k paket 'ang #atang #ai seb$a) IP
# iptables -- -.,/0 -s !)#.!&(.>.!$) - 12@2:0
Peritah di atas digunakan untuk memblok paket dari IP 9?:.9@A.=.9C?. "da : opsi yang
digunakan sebenarnya yaitu D14P dan 1/+/6T. Perbedaan dari keduanya adalah kalau
1/+/6T* perintah ini akan memblok paket namun akan memberitahukan bahwa paket tersebut
ditolak. ,edangkan kalau D14P* perintah ini akan memblok paket namun tidak diberitahu
apakah paket tersebut ditolak atau tidak.*. Meng)ap$s iptables
# iptables -5 -.,/0 "
-enghapus iptables pada tabel input di baris ke 8
# iptables -<
-enghapus seluruh iptables
# iptables -< <;1=415
-enghapus seluruh iptables yang hanya berada di tabel forward+. Men$t$p P!t
# iptables -4 -.,/0 -p tcp --dport ## - 12@2:0
Perintah di atas memblok port :: yang biasa digunakan untuk ssh
# iptables -4 -.,/0 -p tcp -i eth> --dport #" - 12@2:0
Perintah di atas memblok port :: yang biasa digunakan untuk telnet
# iptables -- -.,/0 -s !)#.!&(.>.#%> -p tcp --dport #" - 12@2:0
Perintah di atas untuk memblok ser!i&e telnet dari IP 9?:.9@A.=.:B=
.. Meli)at tabel iptables
# iptables -3
Perintah di atas digunakan untuk melihat daftar (list) iptables
# iptables -3 --line-number
Perintah di atas digunakan untuk melihat daftar (list) iptables dan disertai dengan nomor baris
# iptables -3 -v --line-number
Perintah di atas digunakan untuk melihat daftar (list) iptables dan disertai dengan nomor baris
serta dengan mode !erbose
# iptables -3 -v --line-number -t nat
Perintah di atas digunakan untuk melihat daftar (list) iptables dan disertai dengan nomor baris
dengan mode !erbose serta menampilkan tabel #"T
/. Meng$ba) P!li,'
# iptables -, -.,/0 51;,
-engubah &hain I#P)T menjadi D14P
# iptables -, ;/0,/0 51;,
-engubah &hain 4)TP)T menjadi D14P
# iptables -, <;1=415 51;,
-engubah &hain 041$"1D menjadi D14P
0. Lain-Lain
# iptables -4 -.,/0 -m mac -mac-source >>-!$-(%-$'-(%-2%
-emblok komputer yang mempunyai ma& address ==(9C(AB(CJ(AB(/B
# iptables -4 -.,/0 -p tcp -m multiport --source-port ##6%"6(>
-emblok port(port ::*B8* dan A=
2. Mengg$nakan L!g
)ntuk menggunakan log di dalam iptables* maka kita harus menambahkan skrip di file file
syslog.&onf pada folder et&. Di dalam skrip tersebut* tambahkan skrip sebagai berikut'
kern.* /var/log/fireAall.log
,etelah itu* simpan file tersebut dan restart syslog dengan &ara'
# service syslog restart
Dengan demikian* segala hal yang terjadi pada iptables akan di&atat di
!arlogfirewall.logPenentuan posisi log juga berpengaruh terhadap pen&atatan log itu sendiri.
,ebaiknya posisi log ditempatkan di baris paling atas karena akan men&atat segala yang terjadi
pada paket(paket sebelum paket(paket tersebut diperlakukan sesuai dengan rule yang ada di
dalam iptables. )ntuk lebih jelasnya* perhatikan &ontoh berikut. 5ita akan membuat ser!er linux
di !mware dengan : ethernet. eth= dengan IP 9?:.9@A.=.:CA dan eth9 dengan IP 9?:.9@A.:.:.
Lalu di iptables kita buat aturan sebagai berikut'
# iptables -, -.,/0 51;,
# iptables -- -.,/0 -s !)#.!&(.>.! -d !)#.!&(.>.#$( - 4::2,0
# iptables -4 -.,/0 -p 433 -m state --state .2= - 3;B --log-prefiC
D-,048327? E-.,/0-12@2:0FD
# iptables -4 -.,/0 -i eth! - 12@2:0
Perintah pertama dapat dijelaskan bahwa poli&y default untuk rantai I#P)T adalah D14P yang
berarti akan memblok seluruh inputan. Perintah iptables kedua akan menerima inputan dari IP
9?:.9@A.=.9 dengan tujuan IP 9?:.9@A.=.:CA. Perintah iptables ketiga akan men&atat seluruh
inputan yang men&oba masuk ke ser!er selain yang sudah ditentukan. Perintah iptables keempat
akan memblok seluruh inputan yang menuju eth9 atau yang ber( IP 9?:.9@A.:.:. ,ekarang &oba
ping 9?:.9@A.=.:CA dari komputer yang ber(IP 9?:.9@A.=.9* dan akan terlihat hasil sebagai
berikut'
Dan kalau kita lihat di log firewall di !arlogfirewall akan terlihat tidak ada akti!itas apa(apa di
dalam file tersebut. Tetapi pada saat kita menge(ping 9?:.9@A.:.:* maka akan terlihat gambar
seperti di bawah ini'
Itu berarti IP tersebut di blok. ,ekarang lihat di log firewall* seharusnya akan terlihat gambar
berikut ini'
6ontoh yang lain lagi misalnya kita mempunyai IP publik yang ada di eth9 dan kita ingin
memblok seluruh IP publik yang ada untuk mengakses IP publik kita* namun kita juga ingin
mengetahui IP(IP mana saja yang mengakses IP Publik kita maka sintaksnya seperti berikut'
# iptables -- -.,/0 -p 4ll -i eth! -s G !)#.!&(.>.>/#$ -m state --state .2=
- 3;B --log-prefiC D-,048327? E-.,/0-12@2:0F D
# iptables -4 -.,/0 -i eth! -s G !)#.!&(.>.>/#$ - 12@2:0
,intaks di atas dapat dijelaskan bahwa seluruh IP akan ditolak namun hanya IP(IP publik saja
yang akan di &atat dalam log.
8. Me-ba,k$p #an -eest!e iptables
+ika kita sudah mengatur konfigurasi iptables* maka sebaiknya kita langsung menyimpan iptables
tersebut. 5arena jika tidak* konfigurasi iptables kita akan hilang jika ser!er kita restart atau kita
menggunakan perintah restart iptables dan kita harus menyusunnya kembali. %erikut adalah
langkah(langkah untuk menyimpan iptables'
# service iptables save
-aka perintah(perintah iptables akan disimpan di file iptables pada folder et&sys&onfig. +ika
misalnya kita sudah menyimpan iptables yang sudah kita konfigurasi sebelumnya* maka jika
ser!er kita restart atau iptables kita restart maka iptables kita bisa terestore se&ara otomatis.
)ntuk merestore iptables yang sudah kita simpan sebelumnya* maka ketikkan perintah'
# service iptables restart

Anda mungkin juga menyukai