IPTables (Pengertian, Tables & Chains, Rules, Command)

 

Pengertian

IPTables adalah suatu tools firewall yang berjalan pada sistem operasi linux yang berfungsi sebagai alat untuk melakukan filter (penyaringan) terhadap (trafic) lalu-lintas data yang masuk dan keluar jaringan. Semua paket yang masuk dan keluar harus melewati firewall, yang di fungsikan dalam sebuah router server linux. Router server memiliki 2 buah interface jaringan yakni menuju jaringan internet dan meneruskan nya ke jaringan local.

Dalam konfigurasi IPTables terdiri dari beberapa table, kemudian table berisi beberapa chain. Chain ada yang tersedia default dan bisa ditambah oleh sysadmin. Chain dapat berisi beberapa rule untuk paket.


A. Tables & Chains

IPTables memiliki 4 built-in tables yaitu :

1. Filter Table

Filter adalah default table untuk IPTables. Jika sysadmin tidak mendefinisikan table sendiri, digunakanlah filter table. Filter table memiliki built-in chains :

  • INPUT chain : Untuk menyaring paket yang menuju ke server.
  • OUTPUT chain : Untuk menyaring paket yang keluar dari server.
  • FORWARD chain : Untuk menyaring paket yang menuju ke NIC lain dalam sever atau host lain.


2. NAT Table

Chain pada NAT table :

  • PREROUTING chain : Mengubah paket sebelum routing. Paket ditranslasi setelah paket masuk ke sistem sebelum routing. Ini untuk membantu menerjemahkan alamat IP tujuan (destination IP address) dari paket ke sesuatu yang cocok dengan perutean di server. Ini digunakan untuk DNAT (Destination NAT).
  • POSTROUTING chain : Mengubah paket setelah routing. Paket ditranslasi ketika paket tersebut meninggalkan sistem. Ini untuk membantu menerjemahkan alamat IP sumber (source IP address) ke sesuatu yang cocok dengan perutean pada destinasi. Ini digunakan untuk SNAT (Source NAT).
  • OUTPUT chain : NAT untuk paket yang dibuat secara lokal di server.


3. Mangle Table

Mangle table adalah unuk pengubahan paket khusus. Ini mengubah bit QOS di header TCP. Chain pada Mangle table :

  • PREROUTING chain
  • OUTPUT chain
  • FORWARD chain
  • INPUT chain
  • POSTROUTING chain


4. Raw Table

Raw table adalah untuk pengecualian konfigurasi. Chain pada Raw table antara lain :

  • PREROUTING chain
  • OUTPUT chain



B. Rules

Berikut ini poin-poin penting yang harus diingat dalam IPTables rules, antara lain :

1. Rule mengandung kriteria dan target.

2. Jika kriteria tersebut cocok, menuju ke rule yang ditentukan dalam target atau mengeksekusi nilai-nilai khusus yang disebutkan dalam target.

3. Jika kriteria tidak cocok, pindah ke rule berikutnya.


Target Values

Berikut ini value yang dapat dipasangkan pada target.

  • ACCEPT : Firewall akan menerima paket.
  • DROP : Firewall akan menghancurkan paket.
  • QUEUE : Firewall akan meneruskan paket ke userspace.
  • RETURN : Firewall akan berhenti mengeksekusi rule berikutnya dalam chain saat ini khusus untuk paket ini. Kontrol akan dikembalikan ke calling chain.



C. Command

Iptables memiliki beberapa command yang bisa di gunakan yaitu :

1). -A = Append

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

Contoh :

# iptables -A FORWARD -p tcp --dport 80 -s 192.168.10.1 -j ACCEPT.


2). -D = Delete

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

Contoh :

# iptables -D INPUT 1

=> Menghapus baris perintah pada baris ke 1 pada chain INPUT.


3). -R = Replace

Penggunaannya sama seperti –delete, tetapi command ini menggantinya dengan entry yang baru.

Contoh :

# iptables -R FORWARD 1 -p tcp --dport 443 -s 192.168.10.0/24 -j ACCEPT

=> Mengganti baris 1 pada chain FORWARD dengan perintah di atas.


4). -I = Insert

Memasukkan aturan pada suatu baris di chain. Aturan akan dimasukkan pada baris yang disebutkan, dan aturan awal yang menempati baris tersebut akan digeser ke bawah, dan juga untuk baris-baris perintah selanjutnya.

Contoh 1 :

# iptables -I INPUT -p icmp -s 192.168.10.2 -j REJECT

=> Melakukan insert perintah, secara otomatis akan menempati baris paling atas.

Contoh 2 :

# iptables -I INPUT 10 -p icmp -s 192.168.10.2 -j REJECT

=> Melakukan insert perintah pada baris no 10 dengan perintah diatas.


5). -L = List

Perintah ini menampilkan semua aturan pada sebuah tabel. Apabila tabel tidak disebutkan, maka seluruh aturan pada semua tabel akan ditampilkan.

Contoh :

# iptables -L

atau

# iptables -L --line-numbers


6). -F = Flush

Perintah ini menghapus aturan pada sebuah chain. Apabila nama chain tidak disebutkan, maka semua aturan pada masing masing chain akan dihapus.

Contoh :

# iptables -F

atau

# iptables -F INPUT, iptables -F FORWARD, iptables -F OUTPUT


7). -N = New-chain

Perintah tersebut akan membuat chain baru.

Contoh :

# iptables -N Nama-chain-baru


8). -X = Delete Chain

Perintah ini akan menghapus chain yang dibuat.

Contoh :

# iptables -X Nama-chain-yang-dihapus


9). -P = Policy

Perintah ini digunakan untuk mengubah kebijakan seperti ACCEPT, REJECT, DROP.

Contoh :

# iptables -P INPUT ACCEPT

# iptables -P FORWARD DROP

# iptables -P OUTPUT REJECT


10). -E = Rename Chain

Perintah ini di gunakan untuk merubah nama suatu chain, untuk chain default tidak bisa di ubah.


11). -s = Search

Perintah ini digunakan untuk mencari address yang akan dituju.


12). -p = Protocol

Perintah ini digunakan untuk memilih protocol.


13). -j = Jump

Perintah ini digunakan untuk memilih target rule.


14). -t = Table

Perintah untuk memanipulasi table.


15). -w = Wait

Perintah untuk memberi waktu sebelum me-load table.


16). --dport = Destination Port

Perintah ini digunakan untuk memilih destinasi port.




Oke itu saja yang dapat saya sampaikan,

Semoga bermanfaat :)

Jangan lupa untuk bookmark blog Ini.


See You Next Time Guys ●‿○

Post a Comment

0 Comments