Ad Code

Responsive Advertisement

PRAKTIKUM : IPTABLES

1.   Summary IPTABLES
IPTables adalah suatu command-line jaringan pada Linux dimana interface yang menuju ke kernel menyediakan modul Netfilter.

Prinsip kerja iptables
Paket masuk diproses berdasarkan tujuan :
·         destination IP untuk Firewall, maka masuk proses input
·         destination IP bukan untuk Firewall tapi diteruskan, maka masuk proses FORWARD
      

Lalu IP dicocokkan berdasarkan tabel policy yang dimiliki oleh Firewall apakah diaccept atau didrop. Jika diaccept, maka jalur akan dibuka atau ip tersebut dapat diakses. Jika didrop, maka kita tidak dapat mengakses ip tersebut.

Dari gambar di atas, paket akan masuk. Lalu paket tersebut akan dilakukan pengecekan apakah untuk Firewall atau tidak. Jika ya, maka paket akan dibaca sebagai INPUT. Lalu paket akan masuk proses LOKAL dan akan keluar sebagai output. Jika tidak, maka paket akan diteruskan dan masuk dalam proses FORWARD dan paket akan keluar sebagai output.



Dari suatu jaringan akan melakukan pengaksesan salah satu ip address. Maka proses ini akan masuk ke dalam proses PREROUTING (Mangle dan NAT). Setelah masuk ke dalam proses tersebut, maka router akan melakukan pengecekan apakah paket tersebut memiliki ip         tujuan / ip destination untuk Firewall itu sendiri atau tidak. Jika ip destinationnya adalah Firewall itu sendiri, maka akan masuk ke dalam proses INPUT yang berisi Mangle dan Filter.        Lalu akan di deklarasikan Local Process dan akan masuk ke dalam proses OUTPUT (Mangle,   Nat, dan Filter). Lalu akan melakukan reroute jika paket diubah dalam rantai OUTPUT. Lalu POSTROUTING dilakukan.

Jika ip destinationnya tidak untuk sistem Firewall, maka paket akan diteruskan atau masuk ke dalam proses FORWARD (Mangle dan Filter) dan paket langsung di POSTROUTING.

Target Iptables
·         ACCEPT                     : setiap paket langsung diterima
·         DROP                        : paket datang langsung dibuang
·         FORWARD                 : meneruskan paket

Match Iptables
·         Mencocokkan paket berdasarkan nomor MAC Address
iptables -m mac -mac-address 44:45:53:54:00:FF
·         Mendefinisikan banyak port / multiport
iptables -m multiport -source-port 22,25,110,80 -j ACCEPT
·         Mendefinisikan state dari koneksi
iptables -A INPUT -m state NEW, ESTABLISH -j ACCEPT



2.      Bagaimana membuat rule IPTABLES persistent di system anda ?
Untuk membuat rule IPTABLES persitent / permanen, langsung saja perintah iptables masukkan ke dalam file rc.local. File tersebut adalah file yang dieksekusi saat system booting.

#nano /etc/rc.local

Masukkan perintah iptables di atas “exit 0”.


3.      Buat rule firewall untuk : 



Lakukan konfigurasi ip forwarding pada file sysctl.conf dengan mengetikkan command
#nano /etc/sysctl.conf


Pada baris #net.ipv4.ip_forward=1 awalnya disable. Untuk mengaktifkan ip forwarding, hilangkan tanda #, maka itu berarti ip forwarding enable. Lalu simpan hasil konfigurasi.

Ketikkan perintah di bawah ini agar jaringan yang ada pada router bisa saling berhubungan.



a)      Drop icmp dari network 10.252.108.0/24


Dari command diatas berarti kita telah mengatur iptables, yaitu melakukan drop semua paket icmp dengan tipe echo-request yang masuk ke PC router dan yang diforward. Sehingga, jika ada ip dari jaringan tersebut melakukan request, maka jalur paket tersebut langsung di drop.

Kemudian lakukan ping dari komputer 10.252.108.239 ke komputer 192.168.11.1 dan 192.168.11.3



Saat dilakukan ping ke router maupun ke host lain berhasil di drop.

Lalu kita coba ping dari jaringan 192.168.11.0/24




Karena yang didrop hanya imcp request, maka icmp reply masih bisa berjalan, ping dari jaringan 192.168.11.0/24 berhasil.

a)      Drop seluruh paket data dari network 192.168.x.0/24 kecuali paket yang berisi protokol HTTP dan SSH.


Dua baris pertama akan menggizinkan paket ssh dan http untuk lewat. Baris ketiga, memblokir semua paket TCP. Pembacaan rule iptables runtut dari atas, jadi rule yang dimasukkan pertama akan berada paling atas. Dapat dilihat pada gambar di bawah ini.


Jadi saat pertama kali paket akan dicek sesuai rule iptables, bila ada rule yg cocok dengan paket tersebut, maka rule akan dijalankan.

Percobaan pada port 80



Percobaan port 22



Percobaan port 443 (https)



Pada saat membuka port 443 yaitu https, otomatis akan didrop.


       Kesimpulan
Iptables adalah suatu command-line pada Linux dimana interfacenya yang menuju ke kernel menyediakan modul netfilter. Iptables akan diproses berdasarkan 2 tujuan, yaitu ip destinationnya untuk firewall dan bukan untuk firewall.

Didalam iptables akan dilakukan konfigurasi terhadap sebuah ip dimana ip tersebut dapat melakukan request / pengiriman paket ke ip tujunnya atau tidak. Ada 3 target yang dapat dilakukan yaitu accept (menerima semua paket secara langsung), drop (membuang semua paket yang datang), dan forward (meneruskan paket).

 Jika rule iptables belum diatur, maka kita bisa melakukan koneksi ke beberapa host yang ada. Jika kita memberikan rule hanya input dan di drop paketnya, dan saat kita melakukan request maka pada router langsung di drop, namun tetap bisa melakukan ping ke host lain. Seharusnya kita tidak bisa meneruskan paket. Sehingga rule iptables ditambah FORWARD untuk mendrop semua paket ke semua host.

Sehingga yang perlu kita pehatikan adalah membuat semua rule untuk semua ip atau host guna dalam transaksi paket.

Pada saat komputer dinyalakan pertama kali, di dalam konfigurasi komputer tersebut tidak memiliki tabel NAT untuk alur lalu lintas paket. Sehingga komunikasi akan di DENY semua. Lalu jika kita membuat tabel NAT, secara default konfigurasi adalah ALLOW ALL, dimana semua paket maupun protokol diberikan akses untuk saling berkomunikasi. Baik itu fungsi INPUT dan OUTPUT. Sedangkan untuk FORWARD nilai defaultnya DISABLE

Jika kita memberikan suatu rule, misalnya pada FORWARD tcp itu kita berikan rule DROP, maka semua paket tcp akan di drop (tidak bisa melakukan FORWARD semua paket tcp).

Jadi, semua paket yang dapat dilewatkan tergantung dengan rule yang diberikan pada paket tersebut.