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 ●‿○
0 Komentar