Pengenalan
Iptables
Iptables adalah salah satu tools
firewall default pada system operasi linux. Perintah 'iptables'
digunakan untuk mengelola, memaintain, menginspeksi rule-rule IP
packet filter dalam kernel linux.
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 :
NAT : Secara umum digunakan untuk
melakukan Network Address Translation. NAT adalah penggantian field
alamat asal atau alamat tujuan dari sebuah paket.
MANGLE : Digunakan untuk
melakukan penghalusan (mangle) paket, seperti TTL, TOS dan MARK.
FILTER : Secara umum, inilah
pemfilteran paket yang sesungguhnya.. Di sini bisa dintukan apakah
paket akan di-DROP, ACCEPT atau REJECT
IPTables memiliki tiga macam
daftar aturan bawaan dalam tabel penyaringan, daftar tersebut
dinamakan rantai firewall (firewall chain) atau sering disebut chain
saja. Ketiga chain tersebut adalah INPUT, OUTPUT dan FORWARD.Pada
diagram tersebut, lingkaran menggambarkan ketiga rantai atau chain.
Pada saat sebuah paket sampai pada sebuah lingkaran, 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.
Konsep chain :
- INPUT=> semua paket yang masuk ke komputer melalui chain/rantai ini.
- OUTPUT=> semua paket yang keluar ke komputer melalui chain/rantai ini.
- FORWARD=>paket data yang diterima dari satu jaringan dan diteruskan ke jaringan lainya.
Perintah
umum iptables :$iptables
[-t table] command [match] [target/jump]
Berikut
beberapa option dasar yang cukup sering dalam mengkonfigurasi
iptables :
-A
: Tambahkan
aturan ini ke rantai aturan yang ada. Rantai
atau chain yang valid adalah INPUT, FORWARD, dan OUTPUT. Biasanya
lebih banyak menggunakan rantai INPUT yang berdampak pada paket data
yang masuk
-L
: Memperlihatkan daftar aturan yang telah dipasang di iptables.
-m state: Menjelaskan daftar dari
kondisi / state bagi aturan untuk di bandingkan. Beberapa state yang
valid, adalah :
NEW => sambungan baru dan
belum pernah terlihat sebelumnya
RELATED
=> sambungan baru, tapi berhubungan dengan sambungan lain telah
diizinkan.
ESTABLISHED => sambungan yang
telah terjadi.
INVALID => lalu lintas paket
data yang karena berbagai alasan tidak bisa diidentifikasi
-m limit : Dibutuhkan oleh aturan
jika ingin melakukan pembandingan dan pencocokan dalam waktu / jumlah
tertentu. Mengizinkan penggunaan option –limit. Berguna untuk
membatasi aturan logging.
--limit : Kecepatan maksimum
pencocokan, diberikan dalam bentuk angka yang diikuti oleh
”/seconf”,”/minute”,”/hour”, atau ”/day” tergantung
seberapa sering kita ingin melakukan pencocokan aturan. Jika option
ini tidak digunakan maka secara defaultnya adalah ”3/hour”
-p :
Protokol yang digunakan untuk sambungan.
--dport : Port tujuan yang
digunakan oleh aturan iptables. Bisa berupa satu port, bisa juga satu
batasan jangkauan ditulis sebagai start:end, yang akan mencocokan
semua port start sampai end.
-j : Jump ke target spesifik.
Iptables mempunyai empat target default, yaitu:
ACCEPT
- Accept / menerima paket dan berhenti memproses aturan dalam rantai aturan ini.
REJECT
- Reject /tolak paket data dan beritahu ke pengirim bahwa aturan firewall menolak paket data tersebut, stop pemrosesan aturan dalam rantai aturan ini
DROP
- Diam-diam mengacuhkan paket ini, dan stop pemrosesan aturan di rantai aturan ini.
LOG
- Log/catat paket, dan teruskan pemrosesan aturan di rantai aturan ini.
- Mengijinkan penggunaan option --log –prefix dan --log –level
-i :
Melakukan pencocokan jika paket yang masuk dari interface tertentu.
-I :
Memasukan aturan ke iptables.
-v :
Menampilkan lebih banyak informasi di layar
Untuk
dapat melihat manual
iptables, silakan ketik perintah ini pada terminal :
$man
iptables
Manualnya
akan terlihat seperti pada gambar dibawah ini :
Perintah
dasar Iptables :
- Untuk melihat aturan yang sudah ada di iptables :
$iptables -L
Jika komputer baru diinstall,
aturan yang terpasang akan terlihat seperti ini :
- Untuk mengijinkan sesi sambungan yang terbentuk untuk menerima lalu lintas paket data
$iptables
-A INPUT -m state –state ESTABLISHED, RELATED -j accept
Contohnya
kita akan mengijinkan semua lalu lintas paket data di jaringan untuk
masuk adalah sebagai berikut :
$iptables -A INPUT -p tcp
–dport 80 -j ACCEPT
Contoh
lain, kita akan mengijinkan lalu lintas paket data masuk ke defaut
port SSH nomor 22, maka harus mengizinkan semua TCP paket data masuk
ke port 22, perintahnya :
$iptables
-A INPUT -p tcp --dport ssh -j ACCEPT
Dari
perintah diatas, kita dapat mengetahui bahwa aturan iptables tersebut
mangatur agar masukan aturan ini ke rantai input (-A INPUT) artinya
kita melihat lalu lintas paket data yang masuk cek protokol yang
digunakan adalah TCP (-p tcp). Jika
TCP, apakah paket data menuju port SSH (--dport ssh). Jika
ya, maka paket diterima,
- Untuk melakukan pemblokiran paket data.
Apabila aturan telah memutuskan
untuk menerima paket data (ACCEPT), maka aturan selanjutnya tidak
akan berefek pada paket data tersebut. Karena aturan yang kita buat
mengijinkan SSH dan Web traffic, selama aturan untuk memblok semua
traffic kita letakan terakhir sesudah aturan mengijinkan SSH dan Web,
maka kita akan tetap dapat menerima traffic SSH dan Web yang kita
inginkan. Jadi kita harus menambahkan (-A) aturan untuk mem-block
traffic di akhir.
Perintahnya
:
$iptables
-A INPUT -j DROP
- Untuk melakukan pencatatan paket yang di log , perintah yang paling cepat adalah :
$iptables
-I INPUT 5 -m limit --limit 5/min -j LOG --log-prefix "iptables
denied: " --log-level 7




Tidak ada komentar:
Posting Komentar